我一直在研究几种解决方案,但找不到所需的解决方案。

我有两个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长度相同的布尔数组,该数组为True,其中x的元素位于y中,否则为False。但是,如果没有其他方法来获取我的final_x,我该如何使用它呢?

最佳答案

只需将np.in1d返回的布尔数组的取反形式传递给数组x

>>> x = np.array([1,2,3,4,5,6,7,8,9])
>>> y = [3,4,5]
>>> x[~np.in1d(x, y)]
array([1, 2, 6, 7, 8, 9])

关于python - 比较两个numpy数组并删除元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27269476/

10-14 19:22
查看更多