Я пытаюсь отсортировать фрейм данных в порядке убывания, но отрицательные значения сортируются обратным образом

#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)]))