У меня есть большое Dataset
, для которого центр сбора данных хочет добавить новую переменную idstring
, с новым измерением idstring_len
. (Я не знаю, почему они хотят это как новую переменную, а не как атрибут, но ...)
Итак, у меня есть
import xarray as xr
import numpy as np
ds = xr.Dataset()
ds['time'] = ('time', np.arange(1000))
ds['boo'] = ('time', np.randome.randn(1000))
# File is saved in here, then `open_dataset` to get it again.
ds['idstr_len'] = ('idstr_len', 50)
ds['idstring'] = ('idstr_len', 'my_helpful_ID_string')
но это дает мне в ds['idstr_len'] = ...
:
ValueError: dimensions ('idstr_len',) must have the same length as the number of data dimensions, ndim=0
Так что я уверен, что есть хороший способ добавить измерение постфактум в набор данных, но я не уверен, что это такое.
РЕДАКТИРОВАТЬ: Для большего контекста, они предлагают сделать это в raw netcdf:
TRAJECTORY_STRING = 'glider-YYYYmmddTHHMM'
trajectory = nc.createDimension('traj_strlen', len(TRAJECTORY_STRING))
trajectory = nc.createVariable('trajectory',
'S1',
('traj_strlen',))
Полагаю, я мог бы просто сделать все это с помощью интерфейса raw netcdf после свершившегося факта.