我试图按降序排序数据帧,但负值以相反的方式排序

问题描述 投票:0回答:1

我的数据框中有两列:['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
python sorting dataframe
1个回答
0
投票
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'])])
© www.soinside.com 2019 - 2024. All rights reserved.