gpt4 book ai didi

python - 检查不同 numpy 数组中的相同行

转载 作者:行者123 更新时间:2023-12-01 14:02:49 25 4
gpt4 key购买 nike

在逐行真/假数组的结果中,如何在两个数组之间进行逐行比较?

给定数据:

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

结果步骤 1:
c = np.array([True, True,False,True])

结果决赛:
a = a[c]

那么我如何获得数组 c ???

P.S.:在这个例子中,数组 ab已排序,如果在您的解决方案中对数组进行排序很重要,请提供信息

最佳答案

这是一个矢量化的解决方案:

res = (a[:, None] == b).all(-1).any(-1)

print(res)

array([ True, True, False, True])

请注意 a[:, None] == b比较 a 的每一行与 b元素方面。然后我们使用 all + any推断是否有任何行都是 True对于每个子数组:
print(a[:, None] == b)

[[[ True True]
[False True]
[False False]]

[[False True]
[ True True]
[False False]]

[[False False]
[False False]
[False False]]

[[False False]
[False False]
[ True True]]]

关于python - 检查不同 numpy 数组中的相同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55215605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com