簡體   English   中英

使用每個組織獨有的 pandas 到 select 客戶

[英]Using pandas to select customers unique to each organization

我有一個看起來像這樣的數據框:

month organization customer_id
01     ABC          001
01     ABC          001
01     ABC          002
02     XYZ          003
03     XYZ          002
06     XYZ          006
04     XYZ          007
03     DEF          004
04     DEF          005
04     MNO          004

使用 pandas,我想按每個組織分組並區分每個組織唯一的客戶數量(如果客戶訪問另一個組織,那么客戶不是唯一的)。

所需 output

organization   unique_customer_count
ABC              1
XYZ              3
DEF              1

如何使用 pandas 實現這一目標? 我非常感謝您的幫助。

首先通過第一個DataFrame.drop_duplicates刪除兩列的重復項,然后刪除每個customer_id的重復項和每個organization的最后計數唯一值:

df1 = (df.drop_duplicates(['organization','customer_id'])
         .drop_duplicates(['customer_id'], keep=False)
         .groupby('organization', sort=False)
         .size()
         .reset_index(name='unique_customer_count'))
print (df1)
  organization  unique_customer_count
0          ABC                      1
1          XYZ                      3
2          DEF                      1

暫無
暫無

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

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