Python Group BY с несколькими столбцами и Cumsum - PullRequest
0 голосов
/ 04 октября 2018

Надеюсь, ты в порядке.У меня проблема: у меня изначально была таблица, как показано ниже:

df = pd.DataFrame({'value': [0, 1, 8, 11, 12, 17, 0, 0, 0, 0, 1, 2, 7, 3, 1, 0, 0],
               'month': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5]})
print(df)

И мне нужно было сгруппировать по месяцам и применить cumsum.Итак, я сделал это:

df['Cumsum'] = df.groupby((df.Month == 1).cumsum())['Value'].cumsum()
print(df)

Но теперь это не работает, потому что в конце каждого года у меня не обязательно есть данные за январь.Например, за год у меня есть данные только за май, поэтому инструкция 'df.Month == 1' не работает.

однако у меня есть переменная года.Поэтому я хотел заменить 'df.Month == 1' на 'df.Month == 1 ИЛИ df.Year! = Df.Year (из предыдущей строки)'

Я знаю, что это не очень понятно, потому чтомой английский не очень хорош.Спасибо за вашу помощь

...