Панды Как суммировать значение месяца с каждым идентификатором - PullRequest
1 голос
/ 20 октября 2019

У меня есть такие данные.

id           date     amount
2        2018-04-03    10
2        2018-04-22    20     
3        2018-01-21    20
4        2018-03-13    10 
4        2018-04-19    30 

Я хочу суммировать сумму каждого месяца и каждого идентификатора. Так что результат будет таким. Месяц не совпадает для каждого идентификатора.

id           date     amount
2          2018-04    30
3          2018-01    20
4          2018-03    10 
4          2018-04    30 

Я проверяю по этому коду.

df['amount'].groupby(df['date'].dt.to_period('M')).sum()

Результат:

pos_dt
2018-04   60
2018-01   20
2018-03   10

Это не группировка поотдельно с идентификатором. Как это исправить?

1 Ответ

0 голосов
/ 20 октября 2019

Вам нужно сгруппировать и по id и месяцу, чтобы вы могли рассчитать это с помощью:

df.groupby(<b>['id',</b> df['date'].dt.to_period('M')<b>]</b>).sum()

Например:

>>> df.groupby(['id', df['date'].dt.to_period('M')]).sum()
            amount
id date           
2  2018-04      30
3  2018-01      20
4  2018-03      10
   2018-04      30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...