как отсортировать результат по pandas .value_counts - PullRequest
1 голос
/ 11 апреля 2020

Я хочу посчитать количество учеников, которые получили 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)

Есть ли какой-либо метод для изменения, я пытался использовать метод сортировки, но результат показывает, что это зависит от количества учеников, а не от класса

1 Ответ

2 голосов
/ 11 апреля 2020

value_counts() имеет аргумент sort, который по умолчанию равен True. Просто установите его на False, и вместо этого он будет отсортирован по значению.

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

Или:

df['col'].value_counts().sort_index().plot.bar()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...