gpt4 book ai didi

python - 加速 xarray 的 fillna

转载 作者:行者123 更新时间:2023-11-30 22:43:23 33 4
gpt4 key购买 nike

我有一个相当大的 netCDF 文件(~10 GB),其填充值为 -1.0

当我像这样使用xarray的fillna时:

hndl_nc = hndl_nc.fillna(0.0)

速度很慢(约 2 分钟),是否有其他运算符(operator)可能会更快?或者,考虑到文件的大小,这是可以预料的?

最佳答案

速度约为 85MB/s,这是矢量化 NumPy/xarray 操作的典型性能范围。我认为您不太可能通过简单地使用另一个内置操作来显着改进这一点。

您也许仍然可以通过一些实验来提高性能。要做的第一件事是分析并查看 CPU 使用情况,以确定时间花在哪里。

  • 如果您在 Python 中受 CPU 限制:如果您尚未使用 Dask 来并行化操作,请尝试使用它
  • 如果您在 netCDF/HDF5 进程中受到 CPU 限制:这可能是使用文件内 zlib 压缩的 netCDF4 文件的症状(速度相当慢)。提前将数据加载到内存中(使用 .load()),在不压缩的情况下重写文件,或者尝试使用 xarray v0.9.0 或更高版本(当前处于候选版本中)与 Dask 分布式或多版本-处理。
  • 如果您受 IO 限制,请考虑:
    • engine='scipy' 如果您有 netCDF3 文件,速度会更快
    • 切换到 scale_factor/add_offset 以压缩 int16 格式的数据,而不是更大的浮点类型

关于python - 加速 xarray 的 fillna,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41795399/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com