如何使用Python/Pandas从日期字段按月分组

2022-02-26 00:00:00 python pandas pandas-groupby

问题描述

我有一个数据帧DF,如下所示:

| date      | Revenue |
|-----------|---------|
| 6/2/2017  | 100     |
| 5/23/2017 | 200     |
| 5/20/2017 | 300     |
| 6/22/2017 | 400     |
| 6/21/2017 | 500     |

以上数据需要按月分组输出为:

| date | SUM(Revenue) |
|------|--------------|
| May  | 500          |
| June | 1000         |

我尝试了此代码,但不起作用:

df.groupby(month('date')).agg({'Revenue': 'sum'})

我只想使用Pandas或Numpy,不使用附加库


解决方案

尝试此操作:

In [6]: df['date'] = pd.to_datetime(df['date'])

In [7]: df
Out[7]: 
        date  Revenue
0 2017-06-02      100
1 2017-05-23      200
2 2017-05-20      300
3 2017-06-22      400
4 2017-06-21      500



In [59]: df.groupby(df['date'].dt.strftime('%B'))['Revenue'].sum().sort_values()
Out[59]: 
date
May      500
June    1000

相关文章