2014-08-27 88 views
0

我想屏蔽网格的值。 例如,我想掩盖“t < 0”的所有值以进行计算。 我尝试使用conditionnal如果,但它不工作...Python - 屏蔽网格的特定值

import numpy as np 

Lx=10. 
Ly=10. 

x0 = 2 

YA, XA = np.mgrid[0:Ly, 0:Lx] 

t = XA - 2 

回答

1

你需要解释一下你想要做你掩盖阵列什么。你想改变未被屏蔽的值吗?然后

mask = t < 0 
YA[~mask] = ... 

可能是你所需要的。

在另一方面,如果你需要计算与屏蔽值数组的统计数据,你会发现使用NumPy masked arrays更方便:

YA = np.ma.masked_array(YA, mask)