如何用Pandas单行命令统计DataFrame列中各值的出现频次?
用Pandas单行命令统计DataFrame列值的出现频次
直接使用Pandas的value_counts()方法就能实现,这是专门用于统计列内各值出现频次的单行命令:
df['Animal'].value_counts()
执行后会返回一个按频次降序排列的Series,结果如下:
bird 3 dog 2 cat 1 Name: Animal, dtype: int64
如果要输出你想要的值 : 频次文本格式,只需稍作转换:
print('\n'.join([f'{k} : {v}' for k, v in df['Animal'].value_counts().items()]))
输出结果:
bird : 3 dog : 2 cat : 1
额外说明
value_counts()默认会忽略NaN值,若需要统计包含NaN的情况,添加参数dropna=False即可:df['Animal'].value_counts(dropna=False)- 后续绘制柱状图非常简单,直接对统计结果调用绘图方法:
df['Animal'].value_counts().plot(kind='bar')
内容的提问来源于stack exchange,提问作者jayden
相关产品推荐
相关产品推荐

