Подтвердить что ты не робот

Групповой мультииндекс pandas dataframe

Можно ли группировать с помощью мультииндексного (2 уровня) pandas данных на одном из уровней с несколькими индексами?

Единственный способ, которым я знаю, это сбросить_индекс на мультииндексе, а затем снова установить индекс. Я уверен, что есть лучший способ сделать это, и я хочу знать, как это сделать.

4b9b3361

Ответ 1

Да, используйте параметр level. Посмотрите здесь. Пример:

In [26]: s

first  second  third
bar    doo     one      0.404705
               two      0.577046
baz    bee     one     -1.715002
               two     -1.039268
foo    bop     one     -0.370647
               two     -1.157892
qux    bop     one     -1.344312
               two      0.844885
dtype: float64

In [27]: s.groupby(level=['first','second']).sum()

first  second
bar    doo       0.981751
baz    bee      -2.754270
foo    bop      -1.528539
qux    bop      -0.499427
dtype: float64