numpy.删除#

麻木的。删除( arr , obj , axis = None ) [来源] #

返回一个新数组,其中沿轴删除了子数组。对于一维数组,这将返回 arr[obj]未返回的那些条目。

参数
arr类似数组

输入数组。

obj切片、整数或整数数组

指示要沿指定轴删除的子数组的索引。

版本 1.19.0 中的更改:布尔索引现在被视为要删除的元素的掩码,而不是转换为整数 0 和 1。

int,可选

删除obj定义的子数组所沿的轴。如果axis为 None,则 obj将应用于展平数组。

返回
输出数组

arr的副本,其中删除了obj指定的元素。请注意,这delete不会就地发生。如果axis为 None,则 out是一个展平数组。

也可以看看

insert

将元素插入数组。

append

将元素追加到数组末尾。

笔记

通常最好使用布尔掩码。例如:

>>> 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)

例子

>>> 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])