У меня есть несколько данных с одинаковыми coords
и похожими значениями для них. То есть, нет единого уникального идентификатора, а есть комбинированный идентификатор (index, split)
. В идеале я хотел бы просто добавить все наборы данных один за другим, но я не нашел правильного способа сделать это.
import xarray as xr
from xarray import Dataset
import numpy as np
datasets = []
for split in range(3):
dim2_len = 4
dim1_len = 3
data_len = 5
d = Dataset({'data1': (['index', 'dim1'], np.random.rand(data_len, dim1_len)),
'data2': (['index', 'dim2'], np.random.rand(data_len, dim2_len)),
'data3': (['index', 'dim2'], np.random.rand(data_len, dim2_len))},
coords={'index': range(data_len),
'dim2': range(dim2_len),
'dim1': range(dim1_len),
'split': split})
datasets.append(d)
xr.auto_combine(datasets)
# ValueError: too many different dimensions to concatenate: {'dim1', 'dim2', 'index'}
Текущая функция xr.concat
/xr.auto_combine
не позволяет объединять наборы данных по нескольким измерениям (https://github.com/pydata/xarray/blob/4b8339b53f1b9dcd79f2a9060933713328a13b90/xarray/core/combine.py#L358). Я думаю, я мог бы вручную взять все данные и координаты и добавить их в новый набор данных, но похоже, что в библиотеке должен быть лучший способ.
Есть ли способ объединить наборы данных по нескольким измерениям?
concat
операции на части, по одному измерению за раз? - person jhamman   schedule 30.11.2017