как использовать sort_index с определенным порядком в пандах - PullRequest
0 голосов
/ 09 мая 2018

Я хочу использовать sort_index для сортировки value_counts ()

ДФ у меня такой

   a
1 low
2 high
3 vhigh
...

Я хочу подсчитать столбцы a и отсортировать их по индексу low, med, high, vhigh

df['a'].value_counts()
med   20
high  30
low   10
vhigh 15

Если я добавлю sort_index, это будет так

high  30
low   10
med   20
vhigh 15

Вот чего я хочу

low   10
med   20
high  30
vhigh 15

1 Ответ

0 голосов
/ 09 мая 2018

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

   value  counts
0    med      20
1   high      30
2    low      10
3  vhigh      15

Это df, которое вы получаете, когда делаете value_counts()

Определение valueполе как pd.Categorical и определите порядок -

df['value'] = pd.Categorical(df['value'], ["low", "med", "high", "vhigh"])

Затем выполните сортировку -

df.sort_values('value')

Вывод

   value  counts
2    low      10
0    med      20
1   high      30
3  vhigh      15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...