繁体   English   中英

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

[英]What is fastest way to check conditions in two python numpy arrays?

有什么方法可以使以下代码更快?

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

在这里,我正在处理两个数组。 我认为,如果只处理一个数组,我们可以使其更快。 例如,

original_data[original_data == 0] = np.nan

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

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

用2个(或更多)数组定义布尔掩码很容易:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM