看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)财务 DataFrame 里每条交易需按“账期”汇总,请把日期列批量转成 Period 后完成透视。
源数据与输出如下:
import pandas as pd
df = pd.DataFrame({
'date': ['2023-09-15','2023-09-18','2023-10-05','2023-10-12'],
'amount': [1200, 800, 1500, 700]
})
print(df)
输出:
date amount
0 2023-09-15 1200
1 2023-09-18 800
2 2023-10-05 1500
3 2023-10-12 700
要求:
date
列先转为 datetime,再映射成月度 Period 列并命名为 period
;period
分组,对 amount
求和,得到新的汇总 DataFrame;代码如下:
import pandas as pd
df = pd.DataFrame({
'date': ['2023-09-15','2023-09-18','2023-10-05','2023-10-12'],
'amount': [1200, 800, 1500, 700]
})
df['date'] = pd.to_datetime(df['date'])
df['period'] = df['date'].dt.to_period('M')
result = df.groupby('period')['amount'].sum()
print(result)
输出
period
2023-09 2000
2023-10 2200
Freq: M, Name: amount, dtype: int64
pd.to_datetime
把字符串列转成真正的日期时间,随后 .dt.to_period('M')
直接生成月度 Period 列;利用 groupby 对 Period 分组即可快速完成账期汇总,避免手动写循环或字符串截取。
(完)
更新时间:2025-09-15 15:26:03 标签:pandas python 周期 分组