【发布时间】:2014-05-04 06:07:36
【问题描述】:
我想在我的 Pandas 数据框中添加一个累积总和列,以便:
name | day | no
-----|-----------|----
Jack | Monday | 10
Jack | Tuesday | 20
Jack | Tuesday | 10
Jack | Wednesday | 50
Jill | Monday | 40
Jill | Wednesday | 110
变成:
Jack | Monday | 10 | 10
Jack | Tuesday | 30 | 40
Jack | Wednesday | 50 | 90
Jill | Monday | 40 | 40
Jill | Wednesday | 110 | 150
我尝试了df.groupby 和df.agg(lambda x: cumsum(x)) 的各种组合,但无济于事。
【问题讨论】:
-
您确定要在工作日进行聚合吗?这会丢失索引,如果有多个星期,累积总和也没有多大意义。 dmitry-andreev 和@vjayky 的答案是计算每个名称的天数上的 cumsum。想想如果还有一个日期列,如何扩展它,可以在分组和聚合之前对条目进行排序。
标签: python pandas pandas-groupby