Numpy delete() 函数
Numpy delete() 函数用于返回一个新数组,其中指定的子数组已从输入数组中删除。如果未提供 axis 参数,则在删除之前会展平输入数组。
此函数用于从数组中删除元素、行或列。
语法
以下是 Numpy delete() 函数的语法 -
Numpy.delete(arr, obj, axis)
参数
以下是 Numpy delete() 函数的参数 -
- arr: 输入数组
- obj: 可以是切片,即一个整数或整数数组,表示要从输入中删除的子数组数组。
- axis: 沿其删除给定子数组的轴。如果没有指定,则输入数组 (arr) 会被展平。
示例 1
以下是 Numpy delete() 函数的基本示例,该函数删除索引 5 处的元素 -
import numpy as np # 创建一个形状为 (3, 4) 的数组 a = np.arange(12).reshape(3, 4) print('第一个数组:') print(a) print(' ') # 从展平后的数组中删除索引 5 处的元素 print('由于未使用轴,数组在删除操作前已展平:') print(np.delete(a, 5))
输出
第一个数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 由于未使用轴,删除操作前数组已展平: [ 0 1 2 3 4 6 7 8 9 10 11]
示例 2
在此示例中,我们借助 delete() 函数从二维数组中删除特定列 -
import numpy as np # 创建一个 3x4 数组 a = np.arange(12).reshape(3, 4) print('原始数组:') print(a) print(' ') # 删除第二列(索引 1) result = np.delete(a, 1, axis=1) print('删除第 2 列后的数组:') print(result)
输出
原始数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 删除第 2 列后的数组: [[ 0 2 3] [ 4 6 7] [ 8 10 11]]
示例 3
我们可以借助切片操作从数组中删除多个元素。在下面的示例中,我们将切片模式作为参数与输入数组一起传递给 delete() 函数 -
import numpy as np # 创建一维数组 a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print('原始数组:') print(a) print(' ') # 删除每个第二个元素 result = np.delete(a, np.s_[::2]) print('删除每个第二个元素后的数组:') print(result)
输出
原始数组: [ 1 2 3 4 5 6 7 8 9 10] 删除每个第二个元素后的数组: [ 2 4 6 8 10]