добавить новые координаты в xarray.DataArray - PullRequest
0 голосов
/ 09 июля 2019

Предположим, следующий код, который имеет xarray.DataArray с двумя измерениями и координатой:

import numpy as np
from xarray import DataArray

data = np.random.rand(10, 4)
f_names = ['a', 'b', 'c', 'd']
sample_weights = np.random.rand(10)
rows = list(range(len(data)))
coords={'samples': rows,
        'features': f_names,
        'sample_weights': ('samples', sample_weights)}
xdata = DataArray(data, coords=coords,
                  dims=['samples', 'features'])

subset = xdata[::2]

Теперь я хочу добавить другие координаты, такие как alternate_sample_weights к subset.Я пытаюсь:

subset.assign_coords(alternate_sample_weights=np.zeros(5)

, что приводит к следующей ошибке:

ValueError: cannot add coordinates with new dimensions to a DataArray

Документация API довольно редкая, не уверен, что я делаю неправильно.

1 Ответ

0 голосов
/ 09 июля 2019

Похоже, что при добавлении новой координаты вам необходимо также передать измерение, вдоль которого она добавлена.Так что в этом случае это будет:

subset.assign_coords(
    alternate_sample_weights=('samples', np.zeros(5)))
...