NumPy Ndarray

17 Mar 2025 | 6 分钟阅读

Ndarray 是 numpy 中定义的 n 维数组对象,它存储相似类型元素的集合。 换句话说,我们可以将 ndarray 定义为数据类型 (dtype) 对象的集合。

可以使用基于 0 的索引访问 ndarray 对象。 数组对象的每个元素在内存中都包含相同的大小。

创建 ndarray 对象

可以使用 numpy 模块的 array 例程创建 ndarray 对象。 为此,我们需要导入 numpy。

请参考下图。

NumPy Ndarray

我们还可以将集合对象传递到 array 例程中以创建等效的 n 维数组。 语法如下所示。

参数在下表中描述。

序号参数描述
1object它表示集合对象。 它可以是列表、元组、字典、集合等。
2dtype我们可以通过将此选项更改为指定的类型来更改数组元素的数据类型。 默认值为 none。
3副本它是可选的。 默认情况下,它是 true,这意味着对象被复制。
4顺序此选项可以分配 3 个可能的值。 它可以是 C(列顺序)、R(行顺序)或 A(任意)
5subok默认情况下,返回的数组将是基类数组。 我们可以通过将此选项设置为 true 来更改此设置,以使子类可以通过。
6ndmin它表示结果数组的最小维度。

要使用列表创建数组,请使用以下语法。

NumPy Ndarray

要创建多维数组对象,请使用以下语法。

NumPy Ndarray

要更改数组元素的数据类型,请在集合中提及数据类型的名称。

NumPy Ndarray

查找数组的维度

ndim 函数可用于查找数组的维度。

NumPy Ndarray

查找每个数组元素的大小

itemsize 函数用于获取每个数组项的大小。 它返回每个数组元素占用的字节数。

请看以下示例。

示例

输出

Each item contains 8 bytes.

查找每个数组项的数据类型

要检查每个数组项的数据类型,请使用 dtype 函数。 请考虑以下示例来检查数组项的数据类型。

示例

输出

Each item is of the type int64

查找数组的形状和大小

要获取数组的形状和大小,请使用与 numpy 数组关联的大小和形状函数。

请看以下示例。

示例

输出

Array Size: 7
Shape: (1, 7)

重塑数组对象

通过数组的形状,我们指的是多维数组的行数和列数。 但是,numpy 模块为我们提供了一种通过更改多维数组的行数和列数来重塑数组的方法。

与 ndarray 对象关联的 reshape() 函数用于重塑数组。 它接受两个参数,指示数组新形状的行和列。

让我们重塑下图给出的数组。

NumPy Ndarray

示例

输出

printing the original array..
[[1 2]
 [3 4]
 [5 6]]
printing the reshaped array..
[[1 2 3]
 [4 5 6]]

数组中的切片

NumPy 数组中的切片是从数组中提取一系列元素的方法。 数组中的切片以与在 python 列表中执行切片相同的方式执行。

请考虑以下示例来打印数组的特定元素。

示例

输出

2
5

上面的程序打印数组的第 0th 索引中的第 2nd 个元素,以及第 2nd 索引中的第 0th 个元素。

Linspace

linspace() 函数返回给定间隔内均匀分布的值。 以下示例返回给定间隔 5-15 上 10 个均匀分隔的值

示例

输出

[ 5.          6.11111111  7.22222222  8.33333333  9.44444444 10.55555556
 11.66666667 12.77777778 13.88888889 15.        ]

查找数组元素的最大值、最小值和总和

NumPy 提供了 max()、min() 和 sum() 函数,分别用于查找数组元素的最大值、最小值和总和。

请看以下示例。

示例

输出

The array: [ 1  2  3 10 15  4]
The maximum element: 15
The minimum element: 1
The sum of the elements: 35

NumPy 数组轴

NumPy 多维数组由轴表示,其中轴 0 表示列,轴 1 表示行。 我们可以提及轴以执行行级别或列级别的计算,例如添加行或列元素。

NumPy Ndarray

要计算每列中的最大元素、每行中的最小元素以及所有行元素的总和,请考虑以下示例。

示例

输出

The array: [[1  2  30]
		   [10  15  4]]
The maximum elements of columns: [10 15 30]
The minimum element of rows [1 4]
The sum of all rows [33 29]

查找平方根和标准差

与 numpy 数组关联的 sqrt() 和 std() 函数分别用于查找数组元素的平方根和标准差。

标准差是指数组的每个元素与 numpy 数组的平均值的偏差程度。

请看以下示例。

示例

输出

[[1.         1.41421356 5.47722558]
 [3.16227766 3.87298335 2.        ]]
10.044346115546242

数组上的算术运算

numpy 模块允许我们直接对多维数组执行算术运算。

在以下示例中,算术运算在两个多维数组 a 和 b 上执行。

示例

数组连接

numpy 为我们提供了垂直堆叠和水平堆叠,这允许我们垂直或水平连接两个多维数组。

请看以下示例。

示例

输出

Arrays vertically concatenated
 [[ 1  2 30]
 [10 15  4]
 [ 1  2  3]
 [12 19 29]]
Arrays horizontally concatenated
 [[ 1  2 30  1  2  3]
 [10 15  4 12 19 29]]

下一个主题NumPy 数据类型