如何解决如何在熊猫数据框中的2列上进行不同值的累加总和
我想找到2列分组依据上一列的累积总和。我想获取“名称”列随时间的唯一值的累积数量。因此,如果以后再出现一个名称,则不会再计算在内。
date company names
2019-01-01 A Joe
2019-01-01 B Bill
2019-01-01 B Ben
2019-01-03 C Candy
2019-01-03 C Cindy
2019-01-04 C Cindy
2019-01-04 A Julia
2019-01-05 A Joe
2019-01-05 D Daniel
我的预期输出:
date company Cumulative name count
2019-01-01 A 1
2019-01-01 B 2
2019-01-03 C 2
2019-01-04 C 2
2019-01-04 A 2
2019-01-05 A 2
2019-01-05 D 1
我在堆栈溢出时遇到了这个问题:How to perform a cumulative sum of distinct values in pandas dataframe
对于该链接,我遵循此解决方案,以求在一列(即日期)上的累计总和:
df = df.sort_values('date')
(df.drop_duplicates(['name'])
.groupby('date')
.size().cumsum()
.reindex(df['date'].unique())
.ffill()
)
仅针对日期列的名称计数:
date Cumulative name count
2019-01-01 3
2019-01-03 5
2019-01-04 6
2019-01-05 7
但是我现在想对数据和公司栏目都这样做。如果我在分组中未包含公司列,那么仍然无法为我提供正确的数字。是否有类似的方法针对唯一名称的累积计数在2列中进行此累积和?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。