我想采用一种方法来获取2个数组A和B,并在B中的条目与A中的任何条目匹配的所有地方创建一个B形状为true的布尔值。目前,我正在通过以下方式运行它:
boolean = np.zeros(np.shape(B))
for i in A:
boolean += 1*(B == i)
但是,这很慢,我想要一个更快的解决方案
谢谢
对于不太大的数组,您可以像这样使用广播:
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])