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

标签 python python-3.x numpy

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

例子:

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

结果:

[3, 4]

最佳答案

您可以使用 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)

输出:

[3 4]

如果不想删除重复值,那么可以使用 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)

输出:

[3 4 3 4]

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

相关文章:

python - 通过交换维度重组列表并转换为 numpy

python - 在可能的情况下,将字符串转换为所有 pandas 列中的 float

python - GET 方法返回不同的错误值

python - keyPressEvent() 方法不适用于 PyQt5/Python 3+

python - 使用条件检查从 numpy 数组中删除某些元素

python - import arcpy 导致 ImportError : cannot import name shares_memory

python - 如何将函数应用于 pandas 数据框中列中的每个值?

python - 在 pandas 中,根据顺序和值创建一个新列

python - 使用 sharey=<other_axis> 删除子图上的 y 轴刻度标签

python-3.x - 身份验证 OneDrive Python API