【问题标题】:How to set chunk size of netCDF4 in python?如何在 python 中设置 netCDF4 的块大小?
【发布时间】:2016-12-16 01:36:02
【问题描述】:

我可以在 netCDF4 库中看到默认的分块设置,但我不知道如何更改块大小。

from netCDF4 import Dataset    
volcgrp = Dataset('datasets/volcano.nc', 'r')
data = volcgrp.variables['abso4']
print data.shape
print data.chunking()
>(8, 96, 192)
>[1, 96, 192]

有人可以帮忙设置吗?

【问题讨论】:

    标签: python netcdf chunks chunking netcdf4


    【解决方案1】:

    您可以使用xarray 读取 netcdf 文件并设置块,例如

    import xarray as xr
    
    ds = xr.open_dataset('/datasets/volcano.nc', chunks={'time': 10})
    

    【讨论】:

      【解决方案2】:

      有点不清楚您要做什么。 data.chunking() 告诉您存储在文件中的变量的块大小。如果你想改变这个,你需要在磁盘上重新写入文件,为每个变量设置块大小。使用netCDF4 库,您可以通过netCDF4.CreateVariable()chunksizes keword 参数来执行此操作。在此处找到文档:

      http://unidata.github.io/netcdf4-python/#netCDF4.Dataset.createVariable

      【讨论】:

      • 这里有一个小而重要的错字,正确的关键字是 chunksizes 而不是 chunksize。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 2010-11-20
      相关资源
      最近更新 更多