在Python中,我想要創建一個n-by-100
矩陣,其中n
的值在開始時未知。這種創建涉及在矩陣中連續添加一行。我已經嘗試了這種代碼是:將行附加到NumPy數組
x = numpy.zeros(100)
while true:
y = loadrow(); # Load a 1-by-100 NumPy array for the new row
x = numpy.append(x, y, 0)
然而,有三個問題與上面,這我有困難解決:
線
x = numpy.zeros(100)
初始化的矩陣的行100個零。但是,我希望第一行成爲我加載的第一行。如何創建一個空矩陣,只有在追加第一行時纔會給出數據?該行
x = numpy.append(x, y, 0)
不會向矩陣x
添加另一行。相反,它只是在第一行的末尾添加y
,以創建更長的行。但如果我嘗試x = numpy.append(x, y, 1)
,這樣我追加到軸1,那麼我得到的錯誤:TypeError: Required argument 'object' (pos 1) not found
。當我連續追加這樣的行時,似乎我一直在製作原始數組的副本,而隨着數組的增長,效率會很低。當我不知道最終數組的大小是什麼時,有沒有其他方法可以做到這一點?
謝謝!
請參閱我的回答類似的問題[這裏](http://stackoverflow.com/questions/35818395/add-a-column-在-A-numpy的陣列-蟒/ 35828879#35828879)。 – bunji
考慮使用列表,並在循環後,將其轉換爲numpy數組。 – Evert