我有一个相当大的 netCDF 文件(~10 GB),其填充值为 -1.0
当我像这样使用xarray的fillna时:
hndl_nc = hndl_nc.fillna(0.0)
它很慢(约 2 分钟),是否有另一个可能更快的操作员?或者,考虑到文件的大小,这是可以预料的?
我有一个相当大的 netCDF 文件(~10 GB),其填充值为 -1.0
当我像这样使用xarray的fillna时:
hndl_nc = hndl_nc.fillna(0.0)
它很慢(约 2 分钟),是否有另一个可能更快的操作员?或者,考虑到文件的大小,这是可以预料的?
大约 85MB/s,这是向量化 NumPy/xarray 操作的典型性能。我认为您不太可能通过简单地使用另一个内置操作来显着改善这一点。
您可能仍然可以通过一些实验来提高性能。首先要做的是分析并查看 CPU 使用情况,以确定时间花在哪里。
.load()
),在不压缩的情况下重写文件,或者尝试使用带有 Dask 分布式或多处理的 xarray v0.9.0 或更高版本(当前处于候选版本中)。engine='scipy'
可以更快,如果你有 netCDF3 文件scale_factor
/add_offset
以压缩数据int16
而不是更大的浮点类型