numpy.delete
numpy.delete(arr, obj, axis=None) [source]
返回一个新的数组,该数组具有沿删除的轴的子数组。 对于一维数组,这将返回arr[obj]未返回的那些条目。
参数 : | arr :array_like 输入数组。 obj : 指示要沿指定轴删除的子数组的索引。 在1.19.0版中进行了更改: 布尔索引现在被视为要删除的元素的掩码, 而不是强制转换为整数0和1。 axis : 删除obj定义的子数组所沿的轴。 如果axis为None, 则obj将应用于扁平化数组。 |
返回值 : | out :ndarray arr的副本,其中删除了由obj指定的元素。 请注意,
|
Notes
通常,最好使用布尔掩码。 例如:
>>> arr = np.arange(12) + 1
>>> mask = np.ones(len(arr), dtype=bool)
>>> mask[[0,2,4]] = False
>>> result = arr[mask,...]
等效于np.delete(arr,[0,2,4],axis = 0),但允许进一步使用mask。
例子
>>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
>>> arr
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]])
>>> np.delete(arr, 1, 0)
array([[ 1, 2, 3, 4],
[ 9, 10, 11, 12]])
>>> np.delete(arr, np.s_[::2], 1)
array([[ 2, 4],
[ 6, 8],
[10, 12]])
>>> np.delete(arr, [1,3,5], None)
array([ 1, 3, 5, 7, 8, 9, 10, 11, 12])