!=将NaN与非NaN值进行任何比较(除之外)将始终返回False:
>>> x < -1000array([False, False, False, True, False, False], dtype=bool)
因此,您可以简单地忽略数组中已经存在NaN的事实,然后执行以下操作:
>>> x[x < -1000] = np.nan>>> xarray([ nan, 1., 2., nan, nan, 5.])
编辑 当我执行以上操作时,我没有看到任何警告,但是如果您确实需要远离NaN,则可以执行以下操作:
mask = ~np.isnan(x)mask[mask] &= x[mask] < -1000x[mask] = np.nan



