i*m*n的数组,将第二三维度所有位置的所有数据分别提取成m*n个长度为i的数组
时间: 2023-11-29 08:05:08 浏览: 77
matlab数组长度matlab
可以使用numpy的reshape函数来实现这个操作。首先将原始数组reshape成一个(i, m*n)的二维数组,再将每一列reshape成一个(m, n)的二维数组。具体实现如下:
```python
import numpy as np
# 原始数组
arr = np.random.rand(2, 3, 4)
# 将二三维度展开成一个二维数组
arr_reshaped = arr.reshape(arr.shape[0], -1)
# 将每一列reshape成一个(m, n)的二维数组
result = arr_reshaped.reshape((arr.shape[1], arr.shape[2], -1))
print(result.shape) # 输出 (3, 4, 2)
```
其中,第二个reshape函数中的-1表示根据数组的大小自动计算该维度的大小。
阅读全文