如何使用Python/Pandas从日期字段按月分组
问题描述
我有一个数据帧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
相关文章