说我有这样的数据框:
df= { 'class': ['A','A','A','A','A','B','B','B','B'],
'ID':[1,2,2,3,3,4,4,4,5]}
Class ID
A 1
A 2
A 2
A 3
A 3
B 4
B 4
B 4
B 5
我想总结这些数据:
Class count(distinct(ID))
A 3
B 2
我知道这是微不足道的,但我已经被困在这里:
df.groupby(by=['Class', 'ID']).count()
给了我
由于某种原因,我似乎无法在小组之后获得总结。 感谢。
答案 0 :(得分:2)
我认为您正在寻找nunique
:
In [11]: df.groupby("Class")["ID"].nunique()
Out[11]:
Class
A 3
B 2
Name: ID, dtype: int64
答案 1 :(得分:1)
(df[['Class','ID']]
.drop_duplicates()
.groupby('Class')
.count())