【发布时间】:2021-02-15 07:28:44
【问题描述】:
我有两个大小相同的数组 N,array1 和 array2。您基本上可以将其视为具有形状 (N,2) 的单个数组。条目都是数字。我有一个条件列表,我想看看有多少条目满足所有这些条件,最好使用矢量化。例如,条件可能是这样的:
- array1 中的元素 > 2
- array1 中的元素
- array2 中的元素 > 4
- array2 中的元素
- array2 中的元素可被 2 整除
我想计算索引“i”的数量,以使 array1[i] 和 array2[i] 满足上述所有条件。例如,如果
array1 = np.array([1,2,3,4,5])
array2 = np.array([3,4,5,6,7])
那么满足上述条件的唯一索引将是 3,因此满足约束的索引数量将只有 1。我正在考虑使用多个 numpy.logical_and,但这看起来相当难看。我不知道是否有更简洁的方法将多个 and 语句串在一起。
【问题讨论】:
-
在这种情况下,numpy.logical_and 将是你最好的朋友。即使它不“看起来很漂亮”,它也是最好的解决方案。
标签: python arrays numpy vectorization