#python #sorting #dataframe
#python #сортировка #фрейм данных
Вопрос:
У меня есть два столбца в моем фрейме данных: ['objects', 'values']
Я пытаюсь отсортировать фрейм данных по столбцу 'values'
таким образом, чтобы
- Все положительные значения сортируются в порядке убывания
- Все отрицательные значения на самом деле в порядке возрастания
пример)
values objects
2.0 a
5.0 b
-2.0 c
-1.0 d
0.5 e
Ожидаемый результат:
values objects
5.0 b
2.0 a
0.5 e
-2.0 c
-1.0 d
Комментарии:
1. почему вы отменили редактирование? редактирование @coldspeed сделало вопрос читаемым
Ответ №1:
df = pd.DataFrame({ 'values': [ 2, 5, -2, -1, 0.5], 'objects': [ 'a', 'b', 'c', 'd', 'e']})
df = pd.concat([df[df['values'] >=0].sort_values(by=['values'], ascending=False),
df[df['values'] < 0].sort_values(by=['values'])])
Комментарии:
1. df = pd.concat([df[df[‘values’] >=0].sort_values(по=[‘values’], по возрастанию = False), df[df[‘values’] < 0].sort_values (по = [‘values’], по возрастанию = False)]))