numpy.array
numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0)
创建array。
参数: | object :array_like 一个数组,任何暴露数组接口的对象, 其剩余的__array__方法返回数组的对象, 或任何(嵌套的)序列。 dtype : 数组所需的数据类型。如果没有给出, 则类型将被确定为保存序列中对象所需的最小类型。 copy : 如果为true(默认),则复制该对象。否则, 只有当剩余__array__ 返回副本时,如果obj是嵌套序列, 或者如果需要副本来满足其他任何要求(dtype, order,等等), 才会产生副本。 order: 指定数组的内存布局。如果对象不是一个数组, 新创建的数组将是C顺序(行主格式),除非'F'被指定, 在这种情况下,它将是Fortran顺序(列主格式)。 如果对象是一个数组,则如下所示。 order no copy copy=True ‘K’ unchanged 保留F&C order, 否则最相似的order ‘A’ unchanged 如果输入是F而不是C,则为F order, 否则为C order ‘C’ C order C order ‘F’ F order F order 当 结果与 默认顺序为‘K’。 subok: 如果为 返回的数组将被强制为基类数组(默认)。 ndmin: 指定结果数组应具有的最小维数。 可以根据需要预先添加shape。 |
返回值: | out : 满足指定要求的数组对象。 |
Notes
如果order为'A'
并且object是既不是'C'
也不是'F'
的数组,并且由于dtype
的改变而强制执行复制,则结果的顺序不一定是预期的'C'
。 这可能是一个错误。
例子
1)创建一维数组
import numpy as np # 创建一维数组 array_1d = np.array([1, 2, 3]) print(array_1d)
2)Upcasting(类型提升)
当包含不同数据类型的元素时,NumPy 会自动将它们转换为兼容的共同类型。
import numpy as np # 类型提升示例 array_upcast = np.array([1, 2, 3.0]) print(array_upcast)
3)创建多维数组
import numpy as np # 创建二维数组 array_2d = np.array([[1, 2], [3, 4]]) print(array_2d)
4)指定最小维度为2
import numpy as np # 创建一维数组并指定最小维度为2 array_ndmin = np.array([1, 2, 3], ndmin=2) print(array_ndmin)
5)提供特定的数据类型
import numpy as np # 创建一维数组并指定数据类型为复数 array_dtype = np.array([1, 2, 3], dtype=complex) print(array_dtype)
6)数据类型包含多个元素
import numpy as np # 创建包含多种数据类型的二维数组 array_multidtype = np.array([(1, 2), (3, 4)], dtype=[('a', '<i4'), ('b', '<i4')]) print(array_multidtype) print(array_multidtype['a'])
7)从子类创建数组
import numpy as np # 从 np.mat 创建数组 matrix_array = np.array(np.mat('1 2; 3 4')) print(matrix_array) # 从 np.mat 创建数组并保留其子类 matrix_subok = np.array(np.mat('1 2; 3 4'), subok=True) print(matrix_subok)