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'>