我有一个形状为 (16,2) 的 numpy 数组
[[-109.12722222 1454. ]
[-109.12694444 1459. ]
[-109.12666667 1463. ]
[-109.12638889 1465. ]
[-109.12611111 1464. ]
[-109.12583333 1464. ]
[-109.12555556 1464. ]
[-109.12527778 1464. ]
[-109.125 1464. ]
[-109.12472222 1465. ]
[-109.12444444 1465. ]
[-109.12416667 1463. ]
[-109.12388889 1462. ]
[-109.12361111 1461. ]
[-109.12333333 1459. ]
[-109.12305556 1454. ]]
我想知道如何重塑它,使其成为(4,4,2)。
[[-109.12722222 1454. ] [-109.12694444 1459. ][-109.12666667 1463. ][-109.12638889 1465. ]
[-109.12611111 1464. ] [-109.12583333 1464. ] [-109.12555556 1464. ][-109.12527778 1464. ]
[-109.125 1464. ][-109.12472222 1465. ][-109.12444444 1465. ][-109.12416667 1463. ]
[-109.12388889 1462. ][-109.12361111 1461. ][-109.12333333 1459. ][-109.12305556 1454. ]]
我试过这个:
numpy_array = np.reshape(4, 4, 2)
但它抛出:
ValueError:无法将大小为 1 的数组重塑为形状 (4,)
最佳答案
您可以使用 numpy.newaxis
import numpy as np
a = np.zeros((16, 2))
b = a[:, :, np.newaxis]
c = b.reshape(4, 4, 2)
print(c.shape)
关于python-3.x - 向 ndarray 添加维度并重塑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57620467/