熊猫数据框列的分组和计数
Posted
技术标签:
【中文标题】熊猫数据框列的分组和计数【英文标题】:Group by and count of a pandas dataframe column 【发布时间】:2021-12-23 10:07:11 【问题描述】:我有一个 pandas 数据框,我试图在其中对一列进行分组并获取另一列的唯一值。
id name
a-1 sfdad
a-1 sfdad
a-1 oiuoi
a-2 oqrwq
a-2 oqrwq
a-2 ljlsg
a-2 uoire
我使用以下方法进行分组:
df = df.groupby('id')['name'].agg(['unique'])
df = df.reset_index()
然后当我使用下面的语句对列“唯一”进行计数时,它与 df['unique'] 的结果不一致。 df['unique'] 的长度和下面的语句好像不一样。
df.groupby('id')['name'].nunique()
结果
id unique count
a-1 [sfdad,oiuoi] 2
a-2 [oqrwq,ljlsg,uoire] 3
【问题讨论】:
它似乎按预期工作。有什么不同吗?你得到了什么,你期望什么? @Tranbi:“唯一”的长度和列数似乎不一致 他们看起来确实和我一样。 【参考方案1】:您可以使用agg
一次计算多项内容。这必然是对齐的:
df.groupby('id')['name'].agg(['unique', 'nunique'])
输出:
unique nunique
id
a-1 [sfdad, oiuoi] 2
a-2 [oqrwq, ljlsg, uoire] 3
【讨论】:
以上是关于熊猫数据框列的分组和计数的主要内容,如果未能解决你的问题,请参考以下文章