Python numpy.array函数方法的使用

numpy.array 函数是用于创建 NumPy 数组的最基本方法之一。它可以将列表、元组或其他序列类型的数据转换为 NumPy 数组,支持多种选项来控制数组的维度、数据类型等。本文主要介绍一下NumPy中array方法的使用。

numpy.array

numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0)

创建array。

参数:

object :array_like

一个数组,任何暴露数组接口的对象,

其剩余的__array__方法返回数组的对象,

或任何(嵌套的)序列。

dtype :data-type, 可选

数组所需的数据类型。如果没有给出,

则类型将被确定为保存序列中对象所需的最小类型。

copy :bool, 可选

如果为true(默认),则复制该对象。否则,

只有当剩余__array__ 返回副本时,如果obj是嵌套序列,

或者如果需要副本来满足其他任何要求(dtype, order,等等),

才会产生副本。

order{‘K’, ‘A’, ‘C’, ‘F’}, 可选

指定数组的内存布局。如果对象不是一个数组,

新创建的数组将是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

copy = False且由于其他原因进行复制时,

结果与copy = True相同,但A例外,请参见注释部分。 

默认顺序为‘K’。

subokbool, 可选

如果为True,则将传递子类,否则,

返回的数组将被强制为基类数组(默认)。

ndmin:int, 可选

指定结果数组应具有的最小维数。

 可以根据需要预先添加shape。

返回值:

outndarray

满足指定要求的数组对象。

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)

推荐阅读
cjavapy编程之路首页