Python 中的 numpy.array()

2024 年 8 月 29 日 | 4 分钟阅读

同构多维数组是 NumPy 的主要对象。它本质上是一个元素表,所有元素都具有相同类型,并由正整数元组索引。这些维度在 NumPy 中称为轴。

NumPy 的数组类被称为 ndarray别名数组。 numpy.array 与标准 Python 库类 array.array 不同。 array.array 仅处理一维数组并提供较少的功能。

语法

参数

numpy.array() 函数有以下参数。

1) object: array_like

任何公开数组接口的对象,其 __array__ 方法返回任何嵌套序列或数组。

2) dtype : 可选数据类型

此参数用于定义数组元素的所需参数。 如果我们不定义数据类型,它将确定类型作为保持序列中对象所需的最小类型。 此参数仅用于向上转换数组。

3) copy: bool(可选)

如果我们设置 copy 等于 true,则会复制对象,否则当对象是嵌套序列时,或者需要副本来满足任何其他要求(例如 dtype、order 等)时,将创建副本。

4) order : {'K', 'A', 'C', 'F'}, 可选

order 参数指定数组的内存布局。 当对象不是数组时,除非指定 'F',否则新创建的数组将按 C 顺序(行头或行优先)。 指定 F 时,它将采用 Fortran 顺序(列头或列优先)。 当对象是一个数组时,它具有以下顺序。

顺序不复制copy=True
'K'未更改保留 F 和 C 顺序。
'A'未更改当输入为 F 而不是 C 时,则为 F 顺序,否则为 C 顺序
'C'C 顺序C 顺序
'F'F 顺序F 顺序

当 copy=False 或因其他原因进行复制时,结果将与 copy= True 相同,但 A 除外。默认顺序为 'K'。

5) subok : bool(可选)

当 subok=True 时,子类将传递; 否则,返回的数组将强制为基类数组(默认)。

6) ndmin : int(可选)

此参数指定结果数组应具有的最小维数。 可以根据需要将用户添加到形状的前面以满足此要求。

返回值

numpy.array() 方法返回一个 ndarray。 ndarray 是一个满足指定要求的数组对象。

示例 1:numpy.array()

输出

array([1, 2, 3])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们只传递了元素,没有传递轴。
  • 最后,我们尝试打印 arr 的值。

在输出中,显示了一个数组。

示例 2

输出

array([1., 2., 3.])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们传递了不同类型的元素,例如整数、浮点数等。
  • 最后,我们尝试打印 arr 的值。

在输出中,显示了一个包含元素的数组,其类型需要最小内存来保存序列中的对象。

示例 3:多个维度

输出

array([[1., 2., 3.],
       	[4., 5., 7.]])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们在不同的方括号中传递了元素的数量。
  • 最后,我们尝试打印 arr 的值。

在输出中,显示了一个多维数组。

示例 4:最小维度:2

输出

array([[1., 2., 3.]])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们在方括号中传递了元素的数量和维度来创建 ndarray。
  • 最后,我们尝试打印 arr 的值。

在输出中,显示了一个二维数组。

示例 5:提供类型

输出

array([12.+0.j, 45.+0.j,  3.+0.j])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们在方括号中传递了元素并将 dtype 设置为 complex。
  • 最后,我们尝试打印 arr 的值。

在输出中,'arr' 元素的值以复数的形式显示。

示例 6:从子类创建数组

输出

array([[1, 2],
       [3, 4]])
matrix([[1, 2],
        [3, 4]])

在上面的代码中

  • 我们使用别名 np 导入了 numpy。
  • 我们声明了 'arr' 变量并分配了 np.array() 函数返回的值。
  • 在 array() 函数中,我们使用 np.mat() 函数以矩阵的形式传递元素,并将 subok=True 设置。
  • 最后,我们尝试打印 arr 的值。

在输出中,显示了一个多维数组。