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
(可选)- 删除值的轴
注意:默认情况下,axis
为 None
,数组将被展平。
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]