9
如果你有array = np.array([1,2,3,4])
並且你有index = np.array([0,1,2])
並且你想要刪除數組中的索引元素,那麼沒有循環的最好方法是什麼?用pythonic方法從numpy數組中刪除元素
如果你有array = np.array([1,2,3,4])
並且你有index = np.array([0,1,2])
並且你想要刪除數組中的索引元素,那麼沒有循環的最好方法是什麼?用pythonic方法從numpy數組中刪除元素
您使用numpy.delete
:
smaller_array = np.delete(array,index)
+1但是對於完整性,請在[此的其他問題(http://stackoverflow.com/a/15706171/110026),@askewchan發現,建立一個布爾掩碼比使用'np.delete'快,即'mask = np.ones(array.shape,dtype = np.bool); mask [index] = False; smaller_array = array [mask]'。 – Jaime
速度差異應該基本消失,因爲刪除基本上是1.8中的速記。和稍後(對於更小的切片和單個整數有一些更快的路徑)。儘管如此,直到有點長的時候,出界/負或布爾指數還是有一些差異。 – seberg