我有一個numpy數組,我想刪除數組的前3個元素。我想這個解決方案:從數組中刪除元素
a = np.arange(0,10)
i=0
while(i<3):
del a[0]
i=i+1
這給了我一個錯誤,「ValueError異常:不能刪除數組元素」。我不明白爲什麼會這樣。我會感謝幫助,謝謝!
我有一個numpy數組,我想刪除數組的前3個元素。我想這個解決方案:從數組中刪除元素
a = np.arange(0,10)
i=0
while(i<3):
del a[0]
i=i+1
這給了我一個錯誤,「ValueError異常:不能刪除數組元素」。我不明白爲什麼會這樣。我會感謝幫助,謝謝!
Numpy數組的大小是固定的,因此你不能簡單地從它們中刪除一個元素。達到你想要什麼,最簡單的方法是使用切片:
a = a[3:]
這將創建起與原陣列的第四元素的新數組。
對於某些情況,切片是不夠的。如果你想創建原始數組由特定元素的子數組,你可以使用另一個陣列來選擇指數:
>>> a = arange(10, 20)
>>> a[[1, 4, 5]]
array([11, 14, 15])
所以基本上,a[[1,4,5]]
將返回由元素1,4和數組5原始數組。
numpy數組不支持元素刪除。你爲什麼不使用切片來實現你想要的?
a = a[3:]
我想你是指'[3:]'...? –
@尼爾:你說得對。這實際上是我的第一個版本,但之後,出於某種扭曲的原因,我將其更改爲4. –
謝謝!這工作:) – dawnoflife