簡體   English   中英

如何在 pandas dataframe 的另一列中添加計數特定值的計數器列?

[英]How can I add a counter column that counts specific values in another column in a pandas dataframe?

我有一個大型 dataframe(>16M 行),其中有一列名為“用戶”。 每個用戶都有不止一次出現。 我想添加一個新列“計數器”,每次特定用戶有新記錄時都會增加。

dataframe 看起來像這樣:

用戶收入
AAA 100000
BBB 150000
CCC 10000
AAA 200000
BBB 100000

我希望它在新的計數器列中看起來像這樣

用戶收入計數器
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

提前致謝。

請結帳 pandas cumcount

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

應該做的伎倆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM