によって1Dに変換私のような、属性として2D配列でデータセットを保存しようとしている:xarray:2D属性はto_netcdf
attrs = {'objects': np.array([(46.5, -42.5),(4.5, 44),(-69, -69),(-66.5, 73.5)])}
ds = xr.Dataset(data_vars, coords, attrs)
ds.to_netcdf('dataset.nc', engine='netcdf4', format='netCDF4')
しかし、バック属性が変更されたことを示しているが、ファイルをアップロード1Dアレイへ:
data = xr.open_dataset('dataset.nc')
print(data.objects)
# array([ 46.5, -42.5, 4.5, 44. , -69. , -69. , -66.5, 73.5])
何が原因である可能性がありますか?私は単純にタプルのリストを渡そうとしましたが、結果は同じです。
リンクしたページには、「これは属性が多次元になるHDF5よりも制限的です」と記載されています。しかし、 'engine = 'h5netcdf'を使うと、NetCDF:Can not open HDF5 attribute 'というエラーが表示されます。私は 'data_vars'や' coords'に情報を組み込むことを見ています。 – Marein
私は 'data_vars'や' coords'に情報を組み込むのを見ましたが、私の 'objects'データの次元は他のデータと比べて意味をなさないので本当に適切ではありません。より良い選択肢は、このデータ用に完全に別のデータセットやその他のストレージを作成することですが、2つの変数を把握しておく必要があります。 – Marein
これは、 'to_netcdf'に加えて' engine = 'h5netcdf' 'を' open_dataset'に明示的に渡す必要がありました。ありがとう! – Marein