python中np.stack
时间: 2024-05-03 21:23:37 浏览: 15
`np.stack`是numpy库中的函数之一,用于沿着新的轴将数组堆叠起来。它可以在多维数组中将多个数组按照指定的轴方向堆叠起来。
具体而言,`np.stack`的语法为:
```python
np.stack(arrays, axis=0)
```
其中,`arrays`是要堆叠的数组序列,可以是元组、列表或numpy数组对象;`axis`是指定的新轴的位置,它是一个整数值,表示将数组堆叠到哪个轴上。默认值为0,也就是沿着第一个维度(行)堆叠。
举个例子,如果有两个3行2列的二维数组`a`和`b`:
```python
a = np.array([[1, 2], [3, 4], [5, 6]])
b = np.array([[7, 8], [9, 10], [11, 12]])
```
如果想要将它们沿着行的方向堆叠起来,可以使用`np.stack`函数:
```python
c = np.stack((a, b), axis=0)
print(c)
```
运行结果为:
```
array([[[ 1, 2],
[ 3, 4],
[ 5, 6]],
[[ 7, 8],
[ 9, 10],
[11, 12]]])
```
在这个例子中,`np.stack`函数将`a`和`b`两个数组沿着新的轴0方向堆叠起来,生成了一个3维数组`c`。`c`的第一维是两个二维数组的序号(0表示第一个数组,1表示第二个数组),第二维是原来的行,第三维是原来的列。因此,`c[0]`就是第一个数组,`c[1]`就是第二个数组。