从另一个numpy数组中删除一个numpy数组中的元素

ham*_*iqi 2 python numpy python-3.x

我想从另一个不存在的numpy数组中减去元素。

例:

a = np.array([1,2,3,4])
b = np.array([1,2])
Run Code Online (Sandbox Code Playgroud)

结果:

[3, 4]
Run Code Online (Sandbox Code Playgroud)

MrG*_*eek 5

您可以使用Numpy的setdiff1d函数:

import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([1, 2])

c = np.setdiff1d(a, b)

print(c)
Run Code Online (Sandbox Code Playgroud)

输出:

[3 4]
Run Code Online (Sandbox Code Playgroud)

如果不删除重复值,则可以使用Numpy in1d函数:

import numpy as np

a = np.array([3, 1, 4, 2, 3, 4])
b = np.array([1, 2])

c = a[~np.in1d(a, b)]

print(c)
Run Code Online (Sandbox Code Playgroud)

输出:

[3 4 3 4]
Run Code Online (Sandbox Code Playgroud)