NumPy 数组属性


NumPy 的数组属性包含了许多对数组进行描述和操作的方法和属性,本文将对其进行详细的介绍,以帮助读者更好地理解和使用这些功能。

  1. 数组的形状

NumPy 可以使用 shape 属性获取数组的形状,它返回一个元组,该元组中的每个元素代表数组在对应维度上的大小。例如,对于一个二维数组 arr,可以使用 arr.shape 获取数组的形状:

>>> import numpy as np
>>> arr = np.zeros([2, 3])
>>> arr.shape
(2, 3)
>>> arr.ndim
2

在上面的例子中,我们使用 np.zeros 函数创建了一个 2 行 3 列的全 0 矩阵。结果表明这是一个二维的数组,它有两个维度,分别是 2 行和 3 列。

  1. 数组的类型

NumPy 可以使用 dtype 属性获取数组的类型,它返回一个表示数据类型的对象。例如,对于一个整型数组 arr,可以使用 arr.dtype 获取它的类型:

>>> arr = np.array([1, 2, 3])
>>> arr.dtype
dtype('int32')

在上面的例子中,我们使用 np.array 函数创建了一个包含 1、2 和 3 的整型数组。结果表明该数组的数据类型是 int32(即 32 位整型)。

  1. 数组的大小

NumPy 可以使用 size 属性获取数组的大小,它返回一个整数,表示数组中元素的总个数。例如,对于一个三维数组 arr,可以使用 arr.size 获取数组的大小:

>>> arr = np.ones([2, 3, 4])
>>> arr.size
24

在上面的例子中,我们使用 np.ones 函数创建了一个 2 行 3 列 4 层的全 1 矩阵。结果表明该数组中有 24 个元素。

  1. 数组的维度

NumPy 可以使用 ndim 属性获取数组的维度,它返回一个整数,表示数组的维度数。例如,对于一个四维数组 arr,可以使用 arr.ndim 获取数组的维度数:

>>> arr = np.random.rand(2, 3, 4, 5)
>>> arr.ndim
4

在上面的例子中,我们使用 np.random.rand 函数创建了一个 2 行 3 列 4 层 5 轴的随机数组。结果表明该数组有 4 个维度。

  1. 数组的数据

NumPy 可以使用 data 属性获取数组的数据,它返回一个表示数组数据的内存区域的对象。例如,对于一个一维数组 arr,可以使用 arr.data 获取数组的数据:

>>> arr = np.arange(10)
>>> arr.data
<memory at 0x000002B0F3F3D730>

在上面的例子中,我们使用 np.arange 函数创建了一个包含 0 到 9 值的一维数组。结果表明该数组的数据保存在内存的一个地址中,我们可以使用指针访问该地址中的数据。

  1. 数组的元素访问

NumPy 可以使用数组下标访问数组的元素,下标从 0 开始。可以使用一个下标访问一维数组中的一个元素,使用两个下标访问二维数组中的一个元素,以此类推。例如,对于一个二维数组 arr,可以使用 arr[i, j] 获取它的第 i 行、第 j 列的元素:

>>> arr = np.array([[1, 2, 3], [4, 5, 6]])
>>> arr[1, 2]
6

在上面的例子中,我们使用 np.array 函数创建了一个 2 行 3 列的二维数组。结果表明该数组的第 1 行第 2 列的元素是 6。

综上所述,NumPy 的数组属性包括了形状、类型、大小、维度、数据和元素访问等多个功能,可以帮助我们更好地描述、操作和处理数组。