使用 NumPy 的布尔索引可以轻松高效地删除数组中等于特定值的元素。

假设您有一个 NumPy 数组:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

删除单个值

要删除等于 '3' 的元素,可以使用以下代码:

arr = arr[arr != 3]

arr != 3 会返回一个布尔数组,表示哪些元素不等于 '3'。然后将这个布尔数组作为索引,得到一个新的数组,其中不包含等于 '3' 的元素。最后将这个新数组赋值给原始数组,完成删除操作。

删除多个值

如果要删除多个值,可以使用 ~ 符号取反:

arr = arr[~np.isin(arr, [3, 5])]

np.isin(arr, [3, 5]) 会返回一个布尔数组,表示哪些元素等于 '3' 或 '5'。然后用 ~ 符号取反,得到一个布尔数组,表示哪些元素不等于 '3' 或 '5'。将这个布尔数组作为索引,得到一个新的数组,其中不包含等于 '3' 或 '5' 的元素。最后将这个新数组赋值给原始数组,完成删除操作。

总结

使用 NumPy 的布尔索引可以快速高效地删除数组中等于特定值的元素。通过理解布尔索引的原理,您可以轻松地应用此方法来处理各种数据操作任务。

NumPy 数组删除特定值元素 - 快速高效方法

原文地址: https://www.cveoy.top/t/topic/m0Ow 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录