3 回答

TA貢獻1876條經驗 獲得超5個贊
你可以改造成(350, 277, 3):
>>> a = np.array([(x,x,x) for x in range(10)])
>>> a.reshape((2,5,3))
array([[[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4]],
[[5, 5, 5],
[6, 6, 6],
[7, 7, 7],
[8, 8, 8],
[9, 9, 9]]])
從技術上講,結果不會是一個 350x277 的 3 元組的 2D 數組,而是一個 350x277x3 的 3D 數組,但您array_of_tuple的實際“元組數組”也不是一個 2D 數組。

TA貢獻1895條經驗 獲得超3個贊
reshaped_array=np.reshape(array_of_tuple,(350,-1))
reshaped_array.shape
給出 (350, 831)
由于覆蓋數組的整個元素的列號和行號不匹配,您收到錯誤
350*831= 290850 where as
350*277=96950
因此 numpy 不知道如何處理數組的附加元素,您可以嘗試減小數組的原始大小以減少元素數量。如果您不想刪除元素,則
reshape(350,277,3)
是一種選擇
添加回答
舉報