【问题标题】:Find the sum of previous count occurrences per unique ID in pandas查找熊猫中每个唯一 ID 的先前计数出现的总和
【发布时间】:2019-05-04 14:12:01
【问题描述】:

我有客户 ID 和购买 ID 的历史记录,其中没有客户购买过相同的产品。但是,对于每个购买 ID(这是唯一的),我如何才能找出客户之前购买的次数

我尝试过使用 groupby() 和 sort_values()

df = pd.DataFrame({'id_cust': [1,2,1,3,2,4,1],                   
                  'id_purchase': ['20A','143C','99B','78R','309D','90J','78J']})
df.sort_values(by='id_cust')
df.groupby('id_cust')['id_purchase'].cumcount()

这是我所期望的:

  id_cust   id_purchase value
  1              20A        1
  2              143C       1
  1              99B        2
  3              78R        1
  2              3097D      2
  4              900J       1
  1              78J        3

【问题讨论】:

    标签: pandas


    【解决方案1】:

    您可以只在id_cust 列上使用cumcount(),因为id_purchase 是唯一的:

    df['value']=df.groupby('id_cust')['id_cust'].cumcount()+1
    print(df)
    

       id_cust id_purchase  value
    0        1         20A      1
    1        2        143C      1
    2        1         99B      2
    3        3         78R      1
    4        2        309D      2
    5        4         90J      1
    6        1         78J      3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 2020-08-31
      • 2023-01-27
      相关资源
      最近更新 更多