同大小的三维np.array 保持最后一维维数不变 互相连接
时间: 2024-09-23 15:06:12 浏览: 38
python实现把两个二维array叠加成三维array示例
5星 · 资源好评率100%
当你有一个三维NumPy数组(`np.array`),并且想要将两个或更多的数组沿着它们的最后一维进行堆叠或连接,你可以使用`numpy.concatenate`或`numpy.vstack`函数。这两个函数通常用于处理二维数据,但是如果你确保所有数组的形状除了最后一维都相同,你可以通过指定axis=1(对于横向连接)或轴=-1(对于纵向连接)来适应三维数组。
例如,假设你有三个形状为`(n, m, k)`的数组arr1、arr2和arr3:
```python
import numpy as np
# 假设 arr1, arr2 和 arr3 的前两维相同
arr1 = np.random.rand(10, 5, 3)
arr2 = np.random.rand(10, 5, 3)
arr3 = np.random.rand(10, 5, 3)
# 连接最后一维
stacked_arr = np.concatenate((arr1, arr2, arr3), axis=-1)
```
或者,如果你想垂直堆叠它们:
```python
stacked_arr = np.vstack((arr1.reshape(-1, arr1.shape[-1]), arr2.reshape(-1, arr2.shape[-1]), arr3.reshape(-1, arr3.shape[-1])))
stacked_arr = stacked_arr.reshape(arr1.shape[0], arr1.shape[1], -1) # 回到原始维度
```
阅读全文