NumPy数组形状

2025年1月5日 | 阅读 3 分钟

每个维度中的元素数量定义了数组的形状。维度是描述每个唯一成员所需的索引或下标的数量。

如何获取数组的形状?

我们将使用 NumPy 的 shape 属性,它会返回一个元组,其成员与相应数组维度的长度相匹配。

语法

参数

数组被作为参数传递。

返回

一个元组,其分量对应于相关数组维度的长度。

NumPy 中的形状操作

以下示例将帮助我们学习如何在 Python 的 NumPy 中进行形状操作

示例 1:数组形状

打印多维数组的形状。此示例中生成了两个 NumPy 数组 arr1 和 arr2,分别代表一个二维数组和一个三维数组。将打印每个数组的形状,显示其在每个维度上的大小和测量值。

程序说明

给定的 Python 代码使用 NumPy 模块创建并打印了两个数组 arr1 和 arr2 的状态。arr1 的元素是 2x4,而 arr2 的元素是 2x2x2。NumPy 数组的 shape 属性提供了有关数组维度的信息。代码通过使用 print 函数打印 arr1 和 arr2 的状态来显示每个数组的相关维度。

输出

Shape of arr1: (2, 4)
Shape of arr2: (2, 2, 2)

示例 2:使用 ndim 获取数组形状

在此示例中,我们使用 ndmin 创建一个包含数字 2, 4, 6, 8, 10 的向量数组,并检查最后一个维度的值。

程序说明

这个 Python 程序通过使用 ndmin 参数和 NumPy 包,演示了如何创建一个具有六个维度的单层数组。之后,将打印该数组以揭示其六维结构。最后,该程序通过打印和检查其形状来确认数组的大小为五,并特别关注最后一个维度。

输出

Array with 6 dimensions:
 [[[[[[ 2  4  6  8 10]]]]]]
Shape of the array: (1, 1, 1, 1, 1, 5)

示例 3:元组数组的形状

在此示例中,我们将创建一个 NumPy 数组,其中每个条目都是一个元组。我们还将向您展示如何确定此类数组的形状。

程序说明

使用 NumPy 模块,给定的 Python 代码创建了一个元组数组,并报告了数组及其形状。使用 NumPy 的 array 函数将元组列表转换为 NumPy 数组。然后访问并打印数组的 shape 属性以显示数组的维度。这段简短的代码解释了 NumPy 如何处理元组数组以及如何获取其形状信息。

输出

Array of Tuples:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
Shape of the Array: (4, 2)