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

use*_*243 1 python numpy

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

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

x = [1,2,3,4,5,6,7,8,9]
y = [3,4,5]
Run Code Online (Sandbox Code Playgroud)

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

所以我希望我的final_x是

final_x = [1,2,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我发现np.in1d返回一个布尔数组,该数组的长度与xTrue 相同,其中of的元素x位于其中y,否则为False。但是,如果没有其他方法,该如何使用它呢final_x

Ffi*_*ydd 5

如果确实有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])
Run Code Online (Sandbox Code Playgroud)