numpy delete
在numpy中,delete()
函数用于删除数组中的某些元素或子数组。它接受三个参数:输入数组、要删除的索引或索引范围、要删除的轴。
语法
numpy.delete(arr, obj, axis=None)
- arr: 输入数组
- obj: 要删除的索引或索引范围
- axis: 沿着哪个轴删除,默认为None,表示展平数组后删除
示例
删除一维数组中的元素
下面我们来看一个简单的示例,删除一维数组中的元素。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2)
print(new_arr)
输出为:
[1 2 4 5]
在这个示例中,我们删除了数组中索引为2的元素,即3。
删除多维数组中的元素
接下来我们看一个多维数组的示例,删除矩阵中的行和列。
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
new_arr_row = np.delete(arr, 1, axis=0)
new_arr_col = np.delete(arr, 1, axis=1)
print(new_arr_row)
print(new_arr_col)
输出为:
[[1 2 3]
[7 8 9]]
[[1 3]
[4 6]
[7 9]]
在上面的示例中,我们分别删除了矩阵的第二行和第二列。
删除多个元素
我们还可以通过传入一个索引范围来删除多个元素。
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, [1, 3])
print(new_arr)
输出为:
[1 3 5]
在这个示例中,我们删除了数组中索引为1和3的元素,即2和4。
总结
通过numpy.delete()
函数,我们可以方便地删除数组中的元素或子数组。这对于数据处理和清洗非常有用。