NumPy:基于另一个掩码掩码数组

时间:2021-06-12 13:28:00

标签: python arrays numpy

我正在根据给定的掩码过滤数组,但我也想保留原始形状。到现在为止,我一直在对每个面具进行 AND 运算,并将该面具用作我的最终面具。但是第一个过滤器很特殊,因为它会从原始数组中删除 NAN。

考虑这个玩具示例

a = np.array([1,0,-1,2,0])

b = a != 1
c = a[b] != 0
c &= a[b] == 2

此代码块后的输出为 [False False True False]。但是,我想实现[False False False True False]。因此结果只会指向 2

我以为我可以 OR bc 但掩码不是连续的。这里的问题是我不能在这里做 for 循环,因为原始数组包含超过 100 万个元素并且有超过 10 个过滤器。所以很高兴知道我如何利用 NumPy 的广播功能。

0 个答案:

没有答案