pandas 数据帧的唯一元素的累计数量

cumulative number of unique elements for pandas dataframe( pandas 数据帧的唯一元素的累计数量)

本文介绍了 pandas 数据帧的唯一元素的累计数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 pandas 数据框

id tag
1  A
1  A
1  B
1  C
1  A
2  B
2  C  
2  B 

我想添加一个列,该列在id级别上计算唯一标记的累计数量。更具体地说,我希望

id tag count
1  A   1
1  A   1
1  B   2
1  C   3
1  A   3
2  B   1
2  C   2
2  B   2

对于给定的id,计数将不会减少。谢谢您的帮助!

推荐答案

我认为这可以满足您的要求:

unique_count = df.drop_duplicates().groupby('id').cumcount() + 1
unique_count.reindex(df.index).ffill()
+1是因为计数从零开始。这仅在数据帧按id排序时有效。那是故意的吗?你总是可以提前分拣。

这篇关于 pandas 数据帧的唯一元素的累计数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:pandas 数据帧的唯一元素的累计数量

基础教程推荐