python - pandas:从给定日期开始按月分组
问题描述
我有下面的数据框,我想按月对组求和。请问我该怎么做?
date, Revenue, Fourniture
2021-07-01, 200, 5
2021-07-08, 300, 12
2021-08-01, 400, 10
2021-08-18, 200, 12
2021-08-30, 100, 10
2021-08-31, 400, 5
预期产出
2021-07, 500, 17
2021-08, 1400, 47
解决方案
您可以按年/月分组,.groupby()
然后按 取总和.sum()
。
由于您想要YYYY-mm
输出中的日期字符串,您可以直接使用格式化的日期字符串作为 Grouper。使用 获取日期字符串dt.strftime()
。
# convert to datetime format if not already in datetime
df['date'] = pd.to_datetime(df['date'])
df.groupby(df['date'].dt.strftime('%Y-%m')).sum().reset_index()
结果:
date Revenue Fourniture
0 2021-07 500 17
1 2021-08 1100 37
推荐阅读
- responsive-design - 为什么我在引导卡上添加自己的 CSS 时会失去响应
- flutter - TextFormField 创建键盘以快速打开和关闭
- java - 是否可以在运行时更改 Spring Boot 中 property.file 中的特定值?
- javascript - 如何使用Javascript控制滚动代表高亮效果
- postgis - (Postgrex.Error) 错误 58P01 (undefined_file) $libdir/postgis-2.4
- asp.net-mvc - RadioButton:从视图代码设置焦点不起作用
- git - 如何在 github 中从上游拉取请求
- python - 使用 OpenCV 和 pytesseract 的 Python 实时 OCR
- solr - SolrCloud 基本身份验证密码出现在管理页面上
- java - 如何为具有多个父子组合的 Spring Boot 创建数据模型