dask.array.delete

dask.array.delete

dask.array.delete(arr, obj, axis)[源代码]

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

此文档字符串是从 numpy.delete 复制而来的。

Dask 版本可能存在一些不一致性。

注意:如果 obj 是一个 dask 数组,当调用此函数时,它会隐式计算。

参数
arrarray_like

输入数组。

obj切片, 整数或整数数组

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

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

int, 可选

要删除由 obj 定义的子数组的轴。如果 axis 为 None,则 obj 应用于展平后的数组。

返回
ndarray

一个移除了 obj 指定元素的 arr 副本。注意 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),但允许进一步使用 mask

示例

>>> import numpy as np  
>>> 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])