我有幾個我想要初始化的數組。我想遍歷每個數組,以便該數組不包含任何數據,它會通過某種方法初始化,但如果它保存了數據,則會通過numpy.stack
將新數據添加到該數組中。我嘗試這樣做:numpy,連接或初始化之間的循環選擇
a = np.array(0)
b = np.array(0)
c = np.array(0)
while True:
data_set_num = infile.readline()
if not data_set_num: break
for arr in (a, b, c):
new_arr = get_new_array(infile)
try:
arr = np.stack((arr, new_arr))
except:
arr = np.array(new_arr)
但循環執行後,我沒有什麼:
>>> a.shape
()
同爲b
和c
。很明顯,我不明白arr
如何引用這三個數組。任何人都知道如何做我想做的事情?當然,我可以展開內部循環,但這似乎是非常「不合理」的。
即使您糾正了錯誤,重複連接也是一種效率極低的數組處理方式。 – user2357112
'arr'一個接一個地引用數組。然後它被np.stack((arr,new_arr))或'np.array(new_arr)'取代,兩者都返回新的數組。名稱'arr'被綁定到新的引用,而不是'a'或'b'或'c'。 –
@Mad物理學家是的,我現在明白了。現在我的問題是如何做我需要做的事情?謝謝。 –