如何使用numpy删除数组内出现次数为偶数的元素
可以通过numpy实现,具体实现代码如下:
首先导入numpy并转换数组格式:
import numpy as np A = np.array([0,0,3,6,6,7,8,11,11,22])
然后统计数组中每个元素的出现次数,筛选出出现次数为奇数的元素:
# 得到所有唯一值以及对应的出现次数 unique_vals, counts = np.unique(A, return_counts=True) # 筛选出现次数为奇数的元素 target_vals = unique_vals[counts % 2 == 1]
最后从原数组中提取符合要求的元素即可:
res = A[np.isin(A, target_vals)]
运行后输出的res为array([ 3, 7, 8, 22]),和你预期的结果完全一致。
如果后续需要处理元素出现奇数次且要保留所有重复项的场景(比如某元素出现3次需要全部保留),这套逻辑也直接适用。
内容的提问来源于stack exchange,提问作者BRHSM
相关产品推荐
相关产品推荐

