@sunsexsurf
IT & creative

Как посчитать нарастающий итог по условию?

У меня есть df:
----------------------------------|approved|---|orvi|---|orvi_percent|
|month|---|departament------------|			
9                 one                225        4	       1.78
                  two                895        5	       0.56
                  three              1964       20	       1.02
                  four               1406       10	       0.71
                  five               639        8	       1.25
10                one                225        4	       1.78
                  two                895        5	       0.56
                  three              1964       20	       1.02
                  four               1406       10	       0.71
                  five               639        8	       1.25


как видно, df получен группированием из основного по столбцам month и departament (то есть в индексе у него и месяц, и департамент)
Вопрос: как я могу посчитать сумму накопленным итогом с сохранением принадлежности к департаменту?
Т.е. я хочу, чтобы пандас складывал каждый департамент отдельно от месяца к месяцу.
История про
df['orvi_cumulative'] = df['orvi'].cumsum()
не подходит ровно потому, что строки суммируются без условия.
Помогите пожалуйста, ощущение, что все это просто, но всю голову сломал.
  • Вопрос задан
  • 2232 просмотра
Решения вопроса 1
@sunsexsurf Автор вопроса
IT & creative
df['orvi_cumulative'] = df.groupby(level=-1)['orvi'].cumsum()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Я уже подзабыл, но по-моему тут поможет метод .groupby()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы