[英]Deleting last values in array (using Numpy)
我有一個Array[0]
與len(Array[0]) = 40
我想在此數組中刪除最后3個值。
np.delete(Array[0],[36,39])
按預期工作。 然而,
np.delete(Array[0],[len(Array[0])-4,len(Array[0])-1])
僅刪除最后一個數字(而不是最后一個數字)。
np.delete(Array[0],[-3,-1])
什么都不做,給我警告: main :1:FutureWarning:將來numpy.delete
不會忽略負面指數。
這樣做的正確方法是什么?
您可以使用range(37, 40)
以及axis
關鍵字參數來刪除最后三列。 這是一個人為的例子:
In [88]: arr = np.random.random_sample((3, 10))
In [89]: arr.shape
Out[89]: (3, 10)
In [90]: new_arr = np.delete(arr, range(7, 10), axis=1)
In [91]: new_arr.shape
Out[91]: (3, 7)
請注意, numpy.delete()
將返回一個新的子數組。 如果你對內存要求很謹慎,你應該像Divakar建議的那樣切片 。
sliced_arr = Array[0][:-3]
但是在修改切片數組時要小心,因為這是原始數組的視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.