我有一个 numpy 数组:
a = np.array([-1,2,3,-1,5,-2,2,9])
我只想在数组中保留出现次数超过 2 次的值,所以结果应该是:
a = np.array([-1,2,-1,2])
有没有办法只使用 numpy 来做到这一点? 我有一个使用字典和字典过滤的解决方案,但这有点慢,我想知道是否有仅使用 numpy 的更快的解决方案。
谢谢!
最佳答案
import numpy as np
a = np.array([-1, 2, 3, -1, 5, -2, 2, 9])
values, counts = np.unique(a, return_counts=True)
values_filtered = values[counts >= 2]
result = a[np.isin(a, values_filtered)]
print(result) # return [-1 2 -1 2]
关于python - 删除 numpy 数组中第一次出现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74840692/