Как указать уровень для расчета режима многоиндексных рядов в пандах? - PullRequest
0 голосов
/ 06 января 2019

Я использую встроенные методы панд, как в серии, такие как:

 .sum()
 .mean() 
 .median()

Я заметил в документации, что все они имеют необязательный параметр уровня, описанный в документации следующим образом:

level : int or level name, default None

If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a scalar

пример этого для медианного метода можно найти здесь:

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.median.html

В любом случае, я использовал их в многоиндексных сериях, например:

 ser.sum(level=[0, 1, 2]).unstack(2).stack()
 ser.mean(level=[0, 1, 2]).unstack(2).stack()

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

Я пробовал это:

ser.mode(level=[0, 1, 2]).unstack(2).stack()

Но это говорит мне, что уровень не является допустимым параметром для метода mode, и документация подтверждает это:

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.mode.html

Полагаю, мне любопытно, почему у режима нет этого необязательного параметра, когда его методы брат / сестра кажутся и, что более важно, как я могу достичь функционального эквивалента:

ser.mode(level=[0, 1, 2]).unstack(2).stack()

в пандах?

...