to_netcdfで保存したいxarrayデータセットに複雑なデータ(numpy dtype complex128)があります。私は次のエラーを取得する:complex128データを含むxarray.DataArrayを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
私はサポートされていない基礎となるnetCDF4にデータ型を渡していますことを理解します。また、netcdf4の複合データ型でhttps://unidata.github.io/netcdf4-python/が見つかりました。しかし、残念ながら私はnetcdf4ライブラリを直接使っていないので、私は自分の問題にどのように適用できるのか分かりません。
データ型complex128のデータをnetcdfにデータ型を保存して(xarray.DataArray.to_netcdf
を使用して)保存できますか?
MWE:
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')