首页 > 解决方案 > 如何按 pandas.value_counts 对结果进行排序

问题描述

我想计算一个数据集中获得 0-5 年级的学生人数

我使用这个函数final_grade_num =pd.value_counts(final_grade)来获得类似的结果

4.0    487
3.0    432
2.0    376
5.0    334
1.0    232
0.0    139

但是,我想获得一个排序列表,例如

0.0 139, 1.0 232...5.0 334

因为我需要用这个数据集来画图

plt.bar(range(0,6), final_grade_num)

有什么方法可以改吗,我试过用sorted方法,结果显示是看学生人数,不是年级

标签: pythonpandasmatplotlib

解决方案


value_counts()有一个sort默认为True. 只需将其设置为False,它将按值排序。

df['col'].value_counts(sort = False).plot.bar(title='My Title')

或者:

df['col'].value_counts().sort_index().plot.bar()

推荐阅读