改变三维数组中二维数组的形状为三维并赋值
时间: 2023-06-18 08:04:52 浏览: 134
数组类型赋值及改变
假设有一个三维数组`arr`,其中每个元素都是由两个数字组成的二维数组。现在想要将二维数组的形状改为三维数组,并且赋给每个二维数组一个新的值,可以按照以下步骤:
```python
import numpy as np
# 原始的三维数组
arr = np.array([[[1, 2], [3, 4]],
[[5, 6], [7, 8]],
[[9, 10], [11, 12]]])
# 将二维数组的形状改为三维,并赋新值
new_arr = np.zeros((3, 2, 2)) # 创建一个新的三维数组,元素全为0
new_value = np.array([[[2, 3], [4, 5]],
[[6, 7], [8, 9]],
[[10, 11], [12, 13]]]) # 创建一个新的三维数组,赋新值
new_arr[:,:,:] = new_value # 将新值赋给新的三维数组
print(new_arr)
```
输出:
```
[[[ 2. 3.]
[ 4. 5.]]
[[ 6. 7.]
[ 8. 9.]]
[[10. 11.]
[12. 13.]]]
```
其中,`np.zeros((3, 2, 2))`创建了一个新的三维数组,元素全为0;`new_value`是一个新的三维数组,赋给了每个二维数组一个新的值;`new_arr[:,:,:] = new_value`将新值赋给了新的三维数组。
阅读全文