如何在 python 中设置 netCDF4 的块大小?
How to set chunk size of netCDF4 in python?
我可以在 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]
有没有人可以帮忙设置一下?
您可以使用 xarray 读取 netcdf 文件并设置块,例如
import xarray as xr
ds = xr.open_dataset('/datasets/volcano.nc', chunks={'time': 10})
有点不清楚您要做什么。 data.chunking()
告诉您存储在文件中的变量的块大小。如果你想改变这个,你需要在磁盘上重新写入文件,为每个变量设置块大小。使用 netCDF4
库,您可以使用 netCDF4.CreateVariable()
的 chunksizes
keword 参数来完成此操作。在此处找到的文档:
http://unidata.github.io/netcdf4-python/#netCDF4.Dataset.createVariable
我可以在 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]
有没有人可以帮忙设置一下?
您可以使用 xarray 读取 netcdf 文件并设置块,例如
import xarray as xr
ds = xr.open_dataset('/datasets/volcano.nc', chunks={'time': 10})
有点不清楚您要做什么。 data.chunking()
告诉您存储在文件中的变量的块大小。如果你想改变这个,你需要在磁盘上重新写入文件,为每个变量设置块大小。使用 netCDF4
库,您可以使用 netCDF4.CreateVariable()
的 chunksizes
keword 参数来完成此操作。在此处找到的文档:
http://unidata.github.io/netcdf4-python/#netCDF4.Dataset.createVariable