如何添加对 pandas 数据帧中另一列中的特定值进行计数的计数器列?



我有一个大数据帧(>16M 行(,其中有一个名为"user"的列。每个用户都有多次出现。我想添加一个新列"计数器",每次特定用户有新记录时都会增加。

数据帧如下所示:

user     revenue
AAA       100000
BBB       150000
CCC       10000
AAA       200000
BBB       100000

我希望它看起来像这样,新的计数器列

user      revenue  counter
AAA       100000   1
BBB       150000   1
CCC       100000   1
AAA       200000   2
BBB       100000   2

我尝试了以下代码行,但这需要很长时间:

for i in range(500000):
user=df_user.iloc[i,0]
a=1
for j in range(2000000):
if df.iloc[j,0] == user:
df.iloc[j,2] = a
a = a+1

请查看熊猫暨计数

df['counter'] = df.groupby('user').cumcount()

应该做这个技巧

相关内容

  • 没有找到相关文章

最新更新