[英]Get count of count of unique values in pandas dataframe
我正在嘗試獲取pandas數據框中一列的唯一值的唯一計數。
下面的示例數據:
In [3]: df = pd.DataFrame([[1, 1], [2, 1], [3, 2], [4, 3], [5, 1]], columns=['AppointmentId', 'PatientId'])
In [4]: df
Out[4]:
AppointmentId PatientId
0 1 1
1 2 1
2 3 2
3 4 3
4 5 1
實際數據集具有超過50000個PatientId
唯一值。 我想可視化每個患者的約會計數,但僅按PatientId
分組並獲取組的大小對於繪圖來說效果不佳,因為那將是50000條。
因此,我試圖繪制有多少患者具有指定的約會數量,而不是針對PatientId
繪制約會PatientId
。
根據上面的示例數據,我想獲得以下信息:
AppointmentCount PatientCount
0 1 2
1 3 3
我通過首先對PatientId
分組並獲取組大小,刪除PatientId
和組大小來解決此問題,但是在分組后我找不到找到提取它的方法。
In [24]: appointment_counts = df.groupby('PatientId').size()
In [25]: appointment_counts
Out[25]:
PatientId
1 3
2 1
3 1
dtype: int64
In [26]: type(appointment_counts)
Out[26]: pandas.core.series.Series
在您的groupby
通過添加value_counts
df.groupby('PatientId').size().value_counts()
Out[877]:
1 2
3 1
dtype: int64
然后您可以添加rename
df.groupby('PatientId').size().value_counts().reset_index().rename(columns={'index':'Aid',0:'Pid'})
Out[883]:
Aid Pid
0 1 2
1 3 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.