检查两个python numpy数组中的条件的最快方法是什么?

时间:2018-03-20 01:58:57

标签: python arrays numpy

有没有办法让下面的代码更快?

<script type="text/javascript" src="/apple/dist/main.js"></script>

这里我要处理两个数组。如果我们只处理一个数组,我认为,我们可以让它更快。例如,

for q in range (1155): for p in range(1683): if original_data[q, p] == 0 and rain100[q, p] == 0: original_data[q, p] = np.nan rain100[q, p] = np.nan

我认为这比通过索引运行循环索引要快得多。

如果我们处理两个数组,有没有办法做类似的事情?

1 个答案:

答案 0 :(得分:2)

使用2个(或更多)数组定义布尔掩码非常简单:

mask = (original_data == 0) & (rain100 == 0)
original_data[mask] = np.nan
rain100[mask] = np.nan