2017-10-12 72 views
2

我正在嘗試將一個長度爲179的數組重塑爲一個使用重塑的9 x 20數組,我該如何做20箇中的8個和19箇中的1個?重塑一個具有1值的numpy數組

lst2 = np.array(np.random.rand(180)) 
lst2.reshape(9, 20) 

ValueError: cannot reshape array of size 179 into shape (9,20) 
+1

問候@ thomas.mac。爲什麼不在'lst2'的末尾添加一個虛擬值(或'None'),以便可以使用9x20大小進行重新整形。這個'無'將在你的數組的第9行和第20列 – Arief

+0

我試圖找到每個數組的總和......但只是將其重構爲np.cumsum(lst [:: 20]) –

+0

這有助於未來儘管參考,謝謝 –

回答

0

np.array(random.rand(180))創建一個長度的數組180所以lst2.reshape(9,20)的偉大工程。

如果你想重塑至8×20,這意味着你應該刪除一些數據(20個值),如以下:

lst[0:-20].reshape(8,20)