如果与另一个[重复项]共享任何entris,则为数组创建布尔值

问题描述 投票:0回答:1

我想采用一种方法来获取2个数组A和B,并在B中的条目与A中的任何条目匹配的所有地方创建一个B形状为true的布尔值。目前,我正在通过以下方式运行它:

boolean = np.zeros(np.shape(B))
for i in A:
    boolean += 1*(B == i)

但是,这很慢,我想要一个更快的解决方案

谢谢

python arrays numpy pycharm boolean
1个回答
0
投票

对于不太大的数组,您可以像这样使用广播:

A = np.array([1,2,3,4])
B = np.array([1,10,6,9,3])

(B==A[:,None]).any(1)
# array([ True, False,  True, False])
© www.soinside.com 2019 - 2024. All rights reserved.