NumPy delete()

delete() 方法用于删除指定索引处的元素。

示例

import numpy as np

array1 = np.array([0, 1, 2, 3])

# delete at index 2 array2 = np.delete(array1, 2)
print(array2) # Output: [0 1 3]

delete() 语法

delete() 的语法是

numpy.delete(array, obj, axis = None)

delete() 参数

delete() 方法接受四个参数

  • array - 要从中删除元素的数组
  • obj - 要删除值的索引
  • axis(可选)- 删除值的轴

注意:默认情况下,axisNone,数组将被展平。


delete() 返回值

delete() 方法返回一个删除了值的数组。


示例 1:删除给定索引处的数组元素

import numpy as np

array1 = np.array([0, 1, 2, 3])

# delete values from array1 at index 2 newArray = np.delete(array1, 2)
print(newArray)

输出

[0 1 3]

示例 2:删除给定索引处的数组元素

我们可以删除不同索引处的不同数组元素。

import numpy as np

array1 = np.array([0, 1, 2, 3])
indices = [1, 2]

# delete values at indices 1 and 2 array3 = np.delete(array1, obj = indices)
print(array3)

输出

[0 3]

示例 3:删除二维数组的元素

与一维数组类似,我们可以删除二维数组中任何索引处的元素。

我们还可以使用 axis 参数删除整行或整列。如果 axis = 0,则删除行;如果 axis = 1,则删除列。

import numpy as np

array1 = np.array([[0, 1], [2, 3]])

# no axis, element at index 1 is deleted array3 = np.delete(array1, 1)
print('Array after deleting element at index 1\n', array3)
# axis = 0, row 1 is deleted array4 = np.delete(array1, 1, axis = 0)
print('\nArray after deleting row 1\n', array4)
# axis = 1, column 1 is deleted array5 = np.delete(array1, 1, axis = 1)
print('\nArray after deleting column 1\n', array5)

输出

Array after deleting element at index 1
[0 2 3]

Array after deleting row 1
 [[0 1]]

Array after deleting column 1
 [[0]
 [2]]

示例 4:删除二维数组的多个元素

import numpy as np

array1 = np.array([[0, 1, 2],
   		   [3, 4, 5],
    		   [6, 7, 8],
   		   [9, 10, 11]])

# delete elements at indices 0 and 1 array3 = np.delete(array1, [0, 1])
print('\nArray after deleting elements at indices 0 and 1\n', array3)
# axis=0, delete elements of row 0 and 1 array4 = np.delete(array1, [0, 1], axis=0)
print('\nArray after deleting row 0 and 1\n', array4)
# axis=1, delete elements of column 0 and 1 array5 = np.delete(array1, [0, 1], axis=1)
print('\nArray after deleting column 0 and 1\n', array5)

输出

Array after deleting elements at indices 0 and 1
[ 2  3  4  5  6  7  8  9 10 11]

Array after deleting row 0 and 1
 [[ 6  7  8]
 [ 9 10 11]]

Array after deleting column 0 and 1
 [[ 2]
 [ 5]
 [ 8]
 [11]]

示例 5:根据条件删除数组

我们还可以使用 delete() 来消除数组中满足给定条件的项。

import numpy as np

array1 = np.array([0, 1, 2, 3, 4, 5])

# delete elements that satisfies the condition array5 = np.delete(array1, array1[array1%2 == 1])
print('Array after deleting odd elements \n', array5)

输出

Array after deleting odd elements 
[0 2 4]

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战