Сортировка столбцов по нескольким ключам - PullRequest
0 голосов
/ 03 мая 2020

У меня есть кадр данных, как показано ниже

  release  count
0    2.18    602
1     3.0    617
2     1.9    168
3    2.15    590
4    2.21    622
5    2.19    606
6    2.17    595
7    2.20    617
8     2.3    617

Я хочу, чтобы столбцу count было отдано первое предпочтение при сортировке, а не столбцу release.

Ожидаемый ответ -

  release  count
2     1.90    168
3     2.15    590
6     2.17    595
0     2.18    602
5     2.19    606
7     2.20    617
4     2.21    622
8     2.30    617
1     3.00    617

Ответы [ 3 ]

0 голосов
/ 03 мая 2020

Рекомендуется использовать функцию sort_values ​​

Как таковую:

df.sort_values(by=['release'])
0 голосов
/ 03 мая 2020

Мы можем использовать sort_values ​​для сортировки нашего кадра данных по нескольким ключам.

df.sort_values(by=['count','release'], inplace = True)

Первый ключ count даст первый уровень сортировки, тогда как release будет быть вторым уровнем сортировки.

Вам не нужно создавать отдельную функцию, чтобы сделать python sort

0 голосов
/ 03 мая 2020

Я думаю, что есть строки и их нужно сортировать как поплавки.

Использовать Series.argsort со столбцом, преобразованным в числа с плавающей точкой для позиций отсортированных значений, поэтому добавлено DataFrame.iloc для изменения порядка:

df = df.iloc[df['release'].astype(float).argsort()]
print (df)
   release  count
2     1.90    168
3     2.15    590
6     2.17    595
0     2.18    602
5     2.19    606
7     2.20    617
4     2.21    622
8     2.30    617
1     3.00    617
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...