我可以使用xarray替换NetCDF中的nan值,如下所示:
hndl_nc = hndl_nc.fillna(0.0)
有没有办法用0替换inf值?
答案 0 :(得分:2)
Numpy的isfinite
同时捕获np.inf
和np.nan
。
hndl_nc.where(hndl_nc.apply(np.isfinite)).fillna(0.0)
请注意,下一版xarray(0.10)将允许您直接在where method
中指定填充值。
答案 1 :(得分:0)
尝试类似:
def replace_inf_with_zero(dataset):
for varname in dataset.data_vars.keys():
array = hndl_nc[varname]
array[array == np.inf] = 0.