Skip to main content
 首页 » 编程设计

python之比较两个 numpy 数组并删除元素

2025年05月04日14emanlee

我已经尝试过多种解决方案,但找不到我需要的解决方案。

我有两个 numpy 数组。让我们在这里举一个小例子。

x = [1,2,3,4,5,6,7,8,9] 
y = [3,4,5] 

我想比较 x 和 y,并删除那些在 y 中的 x 值。

所以我希望我的 final_x 是

final_x = [1,2,6,7,8,9] 

我发现 np.in1d返回一个与 x 长度相同的 bool 数组,当 x 的元素在 y 中时为 True,否则为 False。但是我该如何使用它,如果没有任何其他方法来获取我的 final_x.??

请您参考如下方法:

如果你真的有 numpy 数组,那么你可以使用 numpy.setdiff1d如下

import numpy as np 
 
x = np.array([1,2,3,4,5,6,7,8,9]) 
y = np.array([3,4,5]) 
 
z = np.setdiff1d(x, y) 
# array([1, 2, 6, 7, 8, 9])