关于numpy.shape函数的理解

函数功能:显示数组的维度

例子:

import numpy as np
a=np.ones([23,45,56])#生成一个23*45*56三维数组

print(a.shape)#输出三个维度(23, 45, 56)

print(a.shape[0])#输出第一个维度23,如果第二个维度则为a.shape[1]

print(a.shape[:2])#输出第一个和第二个维度(23,45)
### 使用 `numpy.shape` 获取数组维度 在 Python 中,`numpy` 提供了一个属性 `.shape` 来获取数组的形状(即各维度上的大小)。`.shape` 返回的是一个元组,表示该数组每一维的长度。如果是一个二维数组,则返回 `(行数, 列数)`;如果是三维或多维数组,则依次类推。 以下是具体说明: #### 基本语法 对于任意 Numpy 数组 `arr`,可以通过以下方式访问其形状: ```python import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.shape) # 输出 (2, 3),表示有两行三列 ``` 上述代码展示了如何通过 `.shape` 属性来查看数组的具体尺寸[^1]。 #### 多维数组的情况 当处理更高维度的数据时,`.shape` 同样适用。例如,创建一个三维数组并打印其形状: ```python b = np.arange(24).reshape(2, 3, 4) print(b.shape) # 输出 (2, 3, 4),表示这是一个 2×3×4 的三维数组 ``` 这里可以看到,`np.arange(24).reshape(2, 3, 4)` 创建了一个具有指定形状的三维数组,并且 `.shape` 正确反映了这一结构[^2]。 #### 修改数组形状后的效果 需要注意的是,在调用某些函数修改数组形状之后,原数组的 `.shape` 可能会发生变化。比如使用 `ravel()` 或者重新设置 `.shape` 属性都会影响到最终的结果。例如: ```python c = b.ravel() print(c.shape) # 输出 (24,),因为 ravel 将多维数组展平成了一维数组 ``` 此例子表明,经过 `ravel()` 方法处理后,原本复杂的多维数据被转换成了单一的一维向量形式[^3]。 另外一种情况是对现有数组直接调整其外形参数: ```python d = np.arange(12).reshape(3, 4) d.shape = (6, 2) print(d.shape) # 输出 (6, 2),显示新的行列配置已经生效 ``` 这段程序片段进一步验证了我们能够灵活操控 ndarray 对象的空间布局而不必担心底层存储模式的变化。 综上所述,无论是简单的矩阵还是复杂的大规模张量,都可以借助于 `.shape` 轻松读取它们当前所处的状态信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值