Ich habe einige komplexe Daten (numpy dtype complex128) in einem Xarray-Datensatz, den ich mit to_netcdf speichern möchte. Ich erhalte die folgende Fehlermeldung:So speichern Sie xarray.DataArray mit complex128 Daten zu 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
Ich verstehe, dass ich einen Datentyp auf den darunter liegenden netCDF4 am Übergang, die nicht unterstützt wird. Ich fand auch https://unidata.github.io/netcdf4-python/ auf zusammengesetzte Datentypen mit netcdf4. Aber leider sehe ich nicht, wie ich das auf mein Problem anwenden kann, da ich nicht direkt mit der netcdf4-Bibliothek arbeite.
Kann ich Daten des Datentyps complex128 unter Beibehaltung des Datentyps (unter Verwendung von xarray.DataArray.to_netcdf
) in netcdf speichern?
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')