返回

Python 中 shape[0]、shape[1] 和 shape[-1] 的用法详解

电脑技巧

深入理解 NumPy 中 shape[0]、shape[1] 和 shape[-1] 的用法

shape[0]:获取数组或矩阵的行数

NumPy 数组和矩阵拥有 shape 属性,可提供有关其维度的重要信息。shape[0] 特别用于获取数组或矩阵的行数。对于二维数组或矩阵,shape[0] 的值对应于行数。对于多维数组或张量,shape[0] 表示最外层维度的长度。

import numpy as np

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

print(array.shape[0])  # 输出:2

在这个例子中,array 是一个二维数组,shape[0] 的值为 2,表明该数组有 2 行。

shape[1]:获取数组或矩阵的列数

与 shape[0] 类似,shape[1] 用于获取数组或矩阵的列数。对于二维数组或矩阵,shape[1] 的值对应于列数。对于多维数组或张量,shape[1] 表示第二外层维度的长度。

import numpy as np

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

print(array.shape[1])  # 输出:3

在这个例子中,array 是一个二维数组,shape[1] 的值为 3,表明该数组有 3 列。

shape[-1]:获取数组或矩阵的最后一个维度的长度

shape[-1] 是一个方便的快捷方式,用于获取数组或矩阵的最后一个维度的长度。对于一维数组,shape[-1] 的值等于数组的长度。对于多维数组或张量,shape[-1] 表示最后一个维度的长度。

import numpy as np

array = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

print(array.shape[-1])  # 输出:3

在这个例子中,array 是一个三维数组,shape[-1] 的值为 3,表明该数组的最后一个维度有 3 个元素。

注意事项:仅适用于 NumPy 数组

值得注意的是,shape[0]、shape[1] 和 shape[-1] 仅适用于 NumPy 数组和张量。对于其他类型的数据结构(如列表),这些属性可能不存在或返回错误的结果。

总结:维度信息的宝贵来源

shape[0]、shape[1] 和 shape[-1] 是 NumPy 中非常有用的属性,可以轻松获取数组或矩阵的维数信息。它们对于数据处理、机器学习和科学计算等领域至关重要。

常见问题解答

  1. shape[0] 和 shape[1] 有什么区别?

shape[0] 表示行数,而 shape[1] 表示列数。对于二维数组或矩阵,它们分别对应于数组的高度和宽度。

  1. shape[-1] 与 shape[0] 和 shape[1] 有何不同?

shape[-1] 表示最后一个维度的长度,而 shape[0] 和 shape[1] 分别表示行数和列数。对于一维数组,shape[-1] 等于数组的长度。

  1. 如何使用 shape 属性检查数组的维度?

您可以使用以下语法:

array.shape

这将返回一个元组,其中每个元素表示数组的一个维度。

  1. shape 属性是否适用于所有数据类型?

否,shape 属性仅适用于 NumPy 数组和张量。对于其他数据类型,如列表和元组,它们可能不存在或返回错误的结果。

  1. 如何在多维数组或张量中使用 shape[-1]?

对于多维数组或张量,shape[-1] 表示最后一个维度的长度。例如,对于三维数组,shape[-1] 表示深度。