當我使用resize
方法縮小numpy數組時(即數組因爲resize
而變小),是否保證不做複製?將NumPy數組的大小調整爲較小的大小而無需複製
例子:
a = np.arange(10) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a.resize(5, refcheck=False) # array([0, 1, 2, 3, 4])
從我的理解這應該是儘可能不進行復制。我的問題:這個實現是否確實確保這種情況總是如此?不幸的是,resize的文檔沒有提到它。
如果您的新尺寸總是會更小,爲什麼不切片數組並分配給自己? – EdChum
@EdChum:你的意思是'a = a [:5]'?說實話,我沒有想到這個選擇。不過,我不知道內部是如何切片的。這是否會在沒有任何數據副本的情況下工作? – luator