在 python 中的 2 个数组之间使用布尔运算

Using boolean opeation between 2 arrays in python

我有两个数组,比方说:

a = np.array([1,2,3,4,5,6,7])
b = np.array([1,2,10,18,3,4,7])

现在我想应用 双重条件,2<a<62<b<6。现在我如何获得 ab 的那些 对象 2<a<62<b<6

我试过了

condition_a = a[(a>2)*(a<6)]
condition_b = b[(b>2)*(b<6)]

new_a = a[(condition_a) and (condition_b)]
new_b = b[(condition_a) and (condition_b)]

但是没用!!

mask = (a>2) & (a<6) & (b>2) & (b<6)
new_a = a[mask]
new_b = b[mask]

使用&给出与*相同的结果,但由于我们在这里执行logical_and,我认为使用&更清楚。