numpy.
delete
返回一个新数组,其中子数组沿删除的轴排列。对于一维数组,这将返回 arr[obj] .
输入数组。
指示要沿指定轴删除的子数组的索引。
在 1.19.0 版更改: 布尔索引现在被视为要删除的元素的掩码,而不是转换为整数0和1。
删除由定义的子阵列的轴 obj .如果 axis 没有, obj 应用于扁平数组。
一份 arr 元素由指定 obj 远离的。注意 delete 不在适当位置发生。如果 axis 没有, 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) ,但允许进一步使用 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])