numpy多维数组的轴
时间: 2025-04-26 07:13:25 浏览: 31
### NumPy 中多维数组轴的概念
在NumPy中,数组的维度被称为轴(axis)。对于一个多维数组而言:
- 一维数组只有一个轴,即`axis=0`。
- 对于二维数组,存在两个轴:第一个轴是垂直方向上的行(`axis=0`);第二个轴则是水平方向上的列(`axis=1`)。
- 类似地,在三维及以上的情况下,会继续增加新的轴来描述更高层次的空间结构。
当涉及到操作这些数组时,“轴”的概念非常重要。许多函数允许指定沿着哪个轴执行特定运算[^1]。
例如,考虑一个形状为(3,4)的二维数组A:
```python
import numpy as np
A = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(A.sum(axis=0)) # 输出每一列之和 [15 18 21 24]
print(A.sum(axis=1)) # 输出每一行之和 [10 26 42]
```
这段代码展示了如何通过设置不同的`axis`参数值来计算不同方向上元素的总和。
### 使用 `np.min()` 函数处理多维数组中的最小值查询
针对给定的一个或多个人数未知大小的多维数组,可以利用`.min()`方法找到整个数组或者沿某一特定轴方向上的最小值。此过程同样依赖于理解并正确应用“轴”的定义。
假设有一个名为B的四维随机整型数组:
```python
B = np.random.randint(low=-100, high=100, size=(2,3,4))
print(B.min()) # 获取全局最小值
print(B.min(axis=0)) # 沿着第零个轴求取每一对应位置处的最小值
print(B.min(axis=1)) # 沿着第一个轴求取...
print(B.min(axis=2)) # 沿着第二个轴求取...
```
上述例子说明了怎样基于所选轴获取相应的最小值信息。
### 数据筛选实例——依据条件提取子集
如果想要从未知尺寸但已知结构特征(如训练样本数量、输入特征数目等)的大规模数据集中挑选符合条件的部分,则可以通过布尔索引来实现这一点。这通常涉及创建一个与目标数组具有相同长度的一维逻辑向量作为过滤器[^4]。
举个具体的例子来说,如果有如下形式的数据集用于机器学习模型训练:
```python
x_train = np.zeros((3000, 5, 4), dtype=float) # 构建模拟训练数据
labels = np.random.choice([0, 1, 2, 3, 4], size=3000)
# 找到所有属于类别'1'的数据项
filtered_data = x_train[labels == 1]
print(filtered_data.shape)
```
这里演示的是如何根据标签列表`labels`内的数值等于1的位置去截取出对应的三阶张量片段。
阅读全文
相关推荐

















