Как я могу группировать по месяцам из поля даты - PullRequest
0 голосов
/ 05 августа 2020

У меня есть кадр данных, похожий на этот

| date      | Murders  | State  |
|-----------|--------- |------- |
| 6/2/2017  | 100      | Ags    |
| 5/23/2017 | 200      | Ags    |
| 5/20/2017 | 300      |  BC    |
| 6/22/2017 | 400      |  BC    |
| 6/21/2017 | 500      |  Ags   |


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

| date      | Murders(SUM)  | State  |
|-----------|---------      |------- |
| January   | 100           | Ags    |
| February  | 200           | Ags    |
| March     | 300           | Ags    |
|    ....   | ....          | Ags    | 
| January   | 400           |  BC    |
| February  | 500           |  BC    |
  ....         ....            ..

Я пробовал с этим:

dg = DF.groupby(pd.Grouper(key='date', freq='1M')).sum() # groupby each 1 month
dg.index = dg.index.strftime('%B')

Но эти строки только добавляют убийства по месяцам, но без учета штата

1 Ответ

0 голосов
/ 05 августа 2020

Мы можем

df.groupby([pd.to_datetime(df.date).dt.strftime('%B'),df.State]).Murders.sum().reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...