[英]Count the frequency of unique values in every pandas column using groupby
[英]Groupby to Count Frequency of Unique Values in Set
我有這樣的DF
User Dept
1 Cook
1 Cook
1 Home
2 Sports
2 Travel
2 Cook
我想計算每個部門內的獨特用戶:
Dept User
Cook 2
Home 1
Sports 1
Travel 1
注意Cook部門只有兩個,因為即使在'Cook'中找到三個用戶,也只有兩個唯一用戶
我嘗試過以下方法:
df.groupby(['Dept']).count() -- counts 'Cook' three times
df.drop_duplicates(['Dept']).groupby('Dept')['User'].sum() -- over counts all departments
我知道答案是一個群體,我似乎無法弄明白!
你可以使用nunique
:
>>> df.groupby("Dept")["User"].nunique()
Dept
Cook 2
Home 1
Sports 1
Travel 1
Name: User, dtype: int64
>>> df.groupby("Dept")["User"].nunique().reset_index()
Dept User
0 Cook 2
1 Home 1
2 Sports 1
3 Travel 1
(請注意,我使用了您的示例數據,在Sports中只有一個唯一用戶。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.