我在 xarray 数据集中有一些复杂的数据(numpy dtype complex128),我想用 to_netcdf 保存它们。我收到以下错误:
TypeError: illegal primitive data type, must be one of dict_keys(['S1', 'i1', 'u1', 'i2', 'u2', 'i4', 'u4', 'i8', 'u8', 'f4', 'f8']), got complex128
Run Code Online (Sandbox Code Playgroud)
我确实知道我正在将数据类型传递给不受支持的底层 netCDF4。我还发现https://unidata.github.io/netcdf4-python/有关 netcdf4 的复合数据类型。但不幸的是,我不知道如何将其应用于我的问题,因为我没有直接使用 netcdf4 库。
我可以将数据类型complex128的数据保存到netcdf,同时保留数据类型(使用xarray.DataArray.to_netcdf)吗?
微量元素:
import numpy as np
import xarray as xr
complex = [np.complex(1.0, 1.0), np.complex(2.0, 1.0), np.complex(3.0, 1.0), np.complex(4.0, 1.0)]
data = xr.DataArray(complex)
data.to_netcdf(r'test.nc')
Run Code Online (Sandbox Code Playgroud)