NumPy 数组删除特定值元素 - 快速高效方法
使用 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 的布尔索引可以快速高效地删除数组中等于特定值的元素。通过理解布尔索引的原理,您可以轻松地应用此方法来处理各种数据操作任务。
原文地址: https://www.cveoy.top/t/topic/m0Ow 著作权归作者所有。请勿转载和采集!