我正在使用 numpy 在 while 回圈中對大型矩陣進行數百萬次的線性代數運算,在每次迭代開始時,我需要陣列全為零。
通過將所有元素設定為零來重用現有陣列是否最有效,即:array[:, :, :] = 0或創建一個全為零的新陣列,即:array = np.zeros((a, b, c))
我認為將元素設定為零是最好的,但我不知道。
uj5u.com熱心網友回復:
在 10M 單元上設定新陣列似乎快 1000 倍
新陣列
%%timeit
a = np.zeros((1000,10000))
輸出:
20.2 μs ± 1.56 μs per loop (mean ± std. dev. of 7 runs, 100000 loops each)
填充現有陣列
%%timeit
a[:,:] = 0
輸出:
19.4 ms ± 1.77 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/353452.html
下一篇:np.where()轉換失敗
