![](/img/trans.png)
[英]How to import netCDF4 file with xarray when index names have multiple dimensions?
[英]How to add aggregation dimensions to netcdf4 file with the Python library Xarray?
我正在根据来自带有 xarray 的 Pandas Dataframe 的数据创建一个 netcdf 文件。 数据是一维的,只有时间作为维度。 然后,我使用此文件的软件使用 libray netcdf4 中的 MFdataset() 打开和加载数据。 每次我使用to_netcdf()
函数可用的任何引擎或格式创建 netcdf 文件(例如称为test3.nc
)时,我to_netcdf()
错误OSError: master dataset test3.nc does not have a aggregation dimension
在使用MFDataset('test3.nc')
打开它时OSError: master dataset test3.nc does not have a aggregation dimension
MFDataset('test3.nc')
import pandas as pd
import xarray as xr
from netcdf4 import MFDataset
# create a dataframe
df = pd.Dataframe()
# [logic to add data with one column as time]
# convert dataframe to Dataset
fo = xr.Dataset.from_dataframe(df.set_index('time'))
# add variable attributes here
# convert xarray Dataset to a netcdf file:
fo.to_netcdf('test3.nc', mode='w',format='NETCDF4_CLASSIC')
MFDataset('test3.nc')
然后控制台中出现以下错误,尽管时间是一个维度:
MFDataset('test3.nc')
Traceback (most recent call last):
File "/home/arcticsnow/anaconda3/envs/dataAna/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-26-94430718f30a>", line 1, in <module>
MFDataset('test3.nc')
File "netCDF4/_netCDF4.pyx", line 5917, in netCDF4._netCDF4.MFDataset.__init__
OSError: master dataset test3.nc does not have a aggregation dimension
答案是在to_netcdf()
函数中使用以下参数:
fo.to_netcdf('test.nc', unlimited_dims={'time':True}, format='NETCDF4_CLASSIC')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.