在 python 的 netcdf 中用 0 替换 inf 值
replace inf values with 0 in netcdf in python
我可以像这样使用 xarray 替换 NetCDF 中的 nan 值:
hndl_nc = hndl_nc.fillna(0.0)
有没有办法将 inf 值也替换为 0?
试试这样的东西:
def replace_inf_with_zero(dataset):
for varname in dataset.data_vars.keys():
array = hndl_nc[varname]
array[array == np.inf] = 0.
Numpy 的 isfinite
捕获了 np.inf
和 np.nan
。
hndl_nc.where(hndl_nc.apply(np.isfinite)).fillna(0.0)
请注意,下一版本的 xarray (0.10) 将允许您直接在 where method
中指定填充值。
我可以像这样使用 xarray 替换 NetCDF 中的 nan 值:
hndl_nc = hndl_nc.fillna(0.0)
有没有办法将 inf 值也替换为 0?
试试这样的东西:
def replace_inf_with_zero(dataset):
for varname in dataset.data_vars.keys():
array = hndl_nc[varname]
array[array == np.inf] = 0.
Numpy 的 isfinite
捕获了 np.inf
和 np.nan
。
hndl_nc.where(hndl_nc.apply(np.isfinite)).fillna(0.0)
请注意,下一版本的 xarray (0.10) 将允许您直接在 where method
中指定填充值。