Pandas按Year-Month分组求和Amount列新增MonthlyValue列的实现方法
问题原因
你编写的代码df['MonthlyValue'] = df.groupby(['Year-Month'])['Year-Month'].transform(sum)存在逻辑错误:分组后你选择了字符串类型的Year-Month列执行求和,自然无法得到月度金额汇总的结果,你需要选择存储金额的Amount列进行分组求和。
正确实现代码
df['MonthlyValue'] = df.groupby('Year-Month')['Amount'].transform('sum')
该代码会按照Year-Month字段对数据分组,对每个分组内的Amount值求和后,将汇总结果映射回对应分组的每一行,完全保留原表的行结构,输出结果和你给出的预期效果一致。
内容的提问来源于stack exchange,提问作者Chriser
相关产品推荐
相关产品推荐

