如何从 numpy 数组中删除特定元素


您可以使用以下方法从 NumPy 数组中删除特定元素:

方法一:删除等于特定值的元素

 #remove elements whose value is equal to 12
new_array = np. delete (original_array, np. where (original_array == 12))

方法二:删除列表中等于某个值的元素

 #remove elements whose value is equal to 2, 5, or 12
new_array = np. setdiff1d (original_array, [2, 5, 12])

方法 3:根据索引位置删除项目

 #remove elements in index positions 0 and 6
new_array = np. delete (original_array, [0, 6])

以下示例展示了如何在实践中使用每种方法。

示例 1:删除等于特定值的元素

以下代码显示如何从 NumPy 数组中删除值等于 12 的所有元素:

 import numpy as np

#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])

#remove elements whose value is equal to 12
new_array = np. delete (original_array, np. where (original_array == 12))

#view new array
print (new_array)

[1 2 2 4 5 7 9]

请注意,等于 12 的两个数组元素已被删除。

示例2:删除列表中等于某个值的元素

以下代码展示了如何从 NumPy 数组中删除所有值等于 2、5 或 12 的元素:

 import numpy as np

#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])

#remove elements whose value is equal to 2, 5, or 12
new_array = np. setdiff1d (original_array, [2, 5, 12])

#view new array
print (new_array)

[1 4 7 9]

请注意,任何值为 2、5 或 12 的项目均已被删除。

示例3:根据索引位置删除项目

以下代码显示如何从 NumPy 数组中删除索引位置 0 和 6 处的元素:

 import numpy as np

#define original array of values
original_array = np. array ([1, 2, 2, 4, 5, 7, 9, 12, 12])

#remove elements in index positions 0 and 6
new_array = np. delete (original_array, [0, 6])

#view new array
print (new_array)

[2 2 4 5 7 12 12]

请注意,索引位置0 (值为 1)和索引位置6 (值为 9)的元素均已从 NumPy 数组中删除。

其他资源

以下教程解释了如何在 Python 中执行其他常见操作:

如何用值填充 NumPy 数组
如何替换 NumPy 数组中的元素
如何从 NumPy 数组中获取特定行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注