numpy.delete¶
-
numpy.
delete
(arr, obj, axis=None)[source]¶ 返回具有沿着轴删除的子数组的新数组。对于一维数组,这返回未由arr [obj]返回的条目。
参数: arr:array_like
输入数组。
obj:slice,int或int的数组
指示要删除的子数组。
axis:int,可选
要删除由obj定义的子阵列的轴。如果axis为None,则obj应用于展平的数组。
返回: out:ndarray
删除了由obj指定的元素的arr副本。请注意,
delete
不会原地发生。如果axis为None,则out是一个展平的数组。笔记
通常优选使用布尔掩码。例如:
>>> 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])