使用NumPy的ndarray对象查看维度

NumPy是Python数值计算中最重要的数组对象ndarray,在Python中,通常需要使用NumPy来查看数组维度。ndarray有一个属性shape,它是一个元组,表示每个维度的数组大小。举例来说,一个二维数组(矩阵),shape就会显示它的行数和列数。

 import numpy as np # 创建2x3的二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 使用shape属性查看数组维度。 print(array_2d.shape) # 输出:(2, 3) 

这里(2, 3)数组有2行3列,即数组是2维的。

对高维数组的维度查询

shape属性仍然可以用于高于二维数组的数组。举例来说,如果我们有一个三维数组,shape就会在三个维度上显示它的大小。

 import numpy as np # 建立一个2x3x4的三维数组 array_3d = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]]) # 使用shape属性查看数组维度。 print(array_3d.shape) # 输出:(2, 3, 4) 

这里(2, 3, 表示数组有2个2维面,每个面有3行4列。

数组维数由NumPy的ndim属性获得。

NumPy数组还有一个ndim属性,表示数组的维数(轴的数量)。任何数组的维数都可以通过ndim属性直接知道,不需要数shape元组的长度。

 import numpy as np # 创建2x3的二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 使用ndim属性查看数组的维数。 print(array_2d.ndim) # 输出:2 

在此输出2表示array_2d是一个二维数组。

查看数组元素的总数,使用NumPysize属性。

size属性可以获得数组中元素的总数,这有助于我们了解数组的规模。

 import numpy as np # 创建2x3的二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 使用size属性查看数组元素的总数。 print(array_2d.size) # 输出:6 

此处输出6表示array_2d共有6个元素。

处理数组维度时应注意的事项?

在处理高维数组时,我们通常需要仔细考虑维度的顺序。例如,在图像处理中,常见的三维数组维度是(高度、宽度和颜色通道数),而在NumPy中则是(颜色通道数、高度和宽度)。在操作数组时,有必要考虑这些细节。

使用reshape法改变数组维度。

有时候我们需要修改数组的维度,然后我们可以使用reshape方法。这种方法将返回一个新维度的数组,但不会改变原始数组。

 import numpy as np # 创建1x6的一维数组 array_1d = np.array([1, 2, 3, 4, 5, 6]) # 使用reshape法将其转换为2x3的二维数组。 array_2d_reshaped = array_1d.reshape(2, 3) # 查看新数组的维度 print(array_2d_reshaped.shape) # 输出:(2, 3) 

在这里,我们通过reshape将原来的一维数组转换为二维数组,维度为(2)。 3)。