Я пытаюсь подсчитать количество членов в каждой группе, сродни pandas.DataFrame.groupby.count
. Однако, похоже, он не работает. Вот пример:Понимание xarray groupby
In [1]: xr_test = xr.DataArray(np.random.rand(6), coords=[[10,10,11,12,12,12]], dims=['dim0'])
xr_test
Out[1]: <xarray.DataArray (dim0: 6)>
array([ 0.92908804, 0.15495709, 0.85304435, 0.24039265, 0.3755476 ,
0.29261274])
Coordinates:
* dim0 (dim0) int32 10 10 11 12 12 12
In [2]: xr_test.groupby('dim0').count()
Out[2]: <xarray.DataArray (dim0: 6)>
array([1, 1, 1, 1, 1, 1])
Coordinates:
* dim0 (dim0) int32 10 10 11 12 12 12
Однако, я ожидаю, этот вывод:
Out[2]: <xarray.DataArray (dim0: 3)>
array([2, 1, 3])
Coordinates:
* dim0 (dim0) int32 10 11 12
Что происходит?
Другими словами:
In [3]: xr_test.to_series().groupby(level=0).count()
Out[3]: dim0
10 2
11 1
12 3
dtype: int64
Вы хотите, чтобы я открыл вопрос в xarray git об этом? – Kartik
Кроме того, я уже создал массив в другом фрагменте кода, и он выглядит точно так же, как в моем примере выше: 'xr.DataArray (np.random.rand (6), coords = [[10,10,11] , 12,12,12]], dims = ['dim0']). Теперь этот другой код довольно длинный и занимает несколько дней. Поэтому, повторяя, что не может быть и речи, как я могу заставить мой существующий массив иметь новую координату? Я имею в виду, что это лучший способ? – Kartik
Я также не могу найти способ доступа к индексам в '' aux''. Для меня важно всегда обращаться к ним. Как я могу получить к ним доступ? Спасибо за помощь в этом @Stephan. – Kartik