gpt4 book ai didi

python - 根据另一个数组的元素从numpy数组中删除元素

转载 作者:行者123 更新时间:2023-12-04 07:56:04 25 4
gpt4 key购买 nike

我将如何根据另一个数组的内容从数组中删除元素,例如:

a = np.array([25, 2, 49, 3,90, 24, 45, 23, 9])
b = [3,45,23]
...
为了获得输出:
>>>a
25, 2, 49,90,24, 9
b 是常规列表还是 numpy 数组对我来说并不重要。我见过很多类似的问题,但它们都根据索引删除数组元素,或者如果它们确实根据元素删除它们,则列表会作为结果进行排序,例如使用 np.setdiff1d。我想知道是否有任何 numpy 方法可以让我执行类似于 np.setdiff1d 的操作,但无需对数组进行排序。如果不是,还有另一种方法来删除元素,因为我不熟悉 numpy.提前致谢

最佳答案

只需利用 argwhere()找到存在于 'a' 和 isin() 中的那些 'b' 值的索引的方法检查 'b' 中的值的方法是否存在于 'a' 中:-

indices=np.argwhere(np.isin(a,b))
最后只需使用 delete() 删除这些值方法:-
a=np.delete(a,indices)
现在,如果您打印 a你会得到你想要的输出:-
array([25,  2, 49, 90, 24,  9])

关于python - 根据另一个数组的元素从numpy数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66695622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com