shape 函数详解掌握 NumPy 数组形状操作的核心工具
在 Python 的科学计算库 NumPy 中,shape 并不是一个函数,而是 ndarray(多维数组)对象的一个属性。
它用于返回一个表示数组各维度大小的元组(tuple)。
例如,一个 3 行 4 列的二维数组,其 shape 为 (3, 4)。
import numpy as np
# 创建一个二维数组
arr = np.array([[1, 2, 3],
[4, 5, 6]])
print(arr.shape) # 输出: (2, 3)
你可以通过直接赋值来改变数组的 shape,前提是新形状的元素总数不变:
arr = np.array([1, 2, 3, 4, 5, 6])
print(arr.shape) # (6,)
arr.shape = (2, 3)
print(arr)
# 输出:
# [[1 2 3]
# [4 5 6]]
⚠️ 注意:如果新形状的元素数量与原数组不一致,会抛出 ValueError。
np.reshape():返回一个新形状的数组,不修改原数组。arr.resize():可改变数组本身,允许改变元素总数(会填充或截断)。arr.shape = ...:就地修改,要求元素总数不变。(height, width, channels))。shape 是 (n,),不是 (n)(后者是整数)。shape 是 ()(空元组)。len(arr.shape) 可快速获取数组的维度数(即“秩”)。