numpy.asanyarray
numpy.asanyarray(a, dtype=None, order=None) [source]
参数: | a :array_like 可转换为数组的任何形式的输入数据。 这包括标量、列表、元组列表、元组的元组、列表的元组和ndarray。 dtype : 默认情况下,数据类型是从输入数据推断出来的。 order : 是使用行-主格式(C-style)还是列-主格式(Fortran-style)内存表示。 默认为 |
返回值: | out :ndarray或ndarray子类 a的数组解释。如果a是ndarray或ndarray的子类, 它将按原样返回,不执行复制。 |
例子
1)将列表转换为数组
import numpy as np
# 创建一个列表
a = [1, 2]
# 使用 np.asanyarray 将列表转换为数组
array_data = np.asanyarray(a)
print(array_data)
# 输出: array([1, 2])
2)ndarray 子类的实例按原样传递
import numpy as np
# 创建一个复合数据类型的 ndarray 并视为 recarray
a = np.array([(1.0, 2), (3.0, 4)], dtype='f4,i4').view(np.recarray)
# 使用 np.asanyarray 保留其类型
array_data = np.asanyarray(a)
print(array_data is a)
# 输出: True
3)使用示例
import numpy as np
# 示例 1: 将列表转换为 ndarray
list_data = [1, 2, 3, 4]
array_data = np.asanyarray(list_data)
print(array_data)
# 输出: [1 2 3 4]
# 示例 2: 将元组转换为 ndarray
tuple_data = (1, 2, 3, 4)
array_data = np.asanyarray(tuple_data)
print(array_data)
# 输出: [1 2 3 4]
# 示例 3: 将标量转换为 ndarray
scalar_data = 5
array_data = np.asanyarray(scalar_data)
print(array_data)
# 输出: 5
# 示例 4: 保留子类数组的类型
matrix_data = np.matrix([[1, 2], [3, 4]])
array_data = np.asanyarray(matrix_data)
print(array_data)
print(type(array_data))
# 输出:
# [[1 2]
# [3 4]]
# <class 'numpy.matrix'>