如何按pandas.value_counts对结果进行排序

4da*_*ong 2 python matplotlib pandas

我想计算在一个数据集中获得 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
Run Code Online (Sandbox Code Playgroud)

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

0.0 139, 1.0 232...5.0 334
Run Code Online (Sandbox Code Playgroud)

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

plt.bar(range(0,6), final_grade_num)
Run Code Online (Sandbox Code Playgroud)

有什么办法可以改吗,我试过用sorted的方法,但是结果显示这取决于学生的数量,而不是等级

Nic*_*ais 5

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

df['col'].value_counts(sort = False).plot.bar(title='My Title')
Run Code Online (Sandbox Code Playgroud)

或者:

df['col'].value_counts().sort_index().plot.bar()
Run Code Online (Sandbox Code Playgroud)