NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中delete方法的使用。

numpy.delete

numpy.delete(arr, obj, axis=None)      [source]

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

参数 :

arr :array_like

输入数组。

objslice, int 或 int类型的array

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

 在1.19.0版中进行了更改:

布尔索引现在被视为要删除的元素的掩码,

而不是强制转换为整数0和1。

axisint, 可选

删除obj定义的子数组所沿的轴。 如果axis为None,

则obj将应用于扁平化数组。

返回值 :

out :ndarray

arr的副本,其中删除了由obj指定的元素。 请注意,

delete不会就地发生。 如果axis为None,则out是一个扁平数组。

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

文档numpy.delete.html

推荐文档

相关文档

大家感兴趣的内容

随机列表