concat数据集沿多个维度

时间:2017-11-29 15:16:27

标签: python-xarray

我有多个数据具有相同的coords和相似的值。即,没有单个唯一ID,而是组合ID (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)连接数据集。 我想,我可以手动获取所有数据和坐标并将它们放入一个新的数据集中,但似乎应该有更好的方法在库中。

有没有办法在多个维度上连接数据集?

0 个答案:

没有答案