按升序(按字母顺序)对一列进行排序,但按降序对另一列的值进行排序?仔细查看预期输出

Dhe*_*raj 2 python sorting pandas

我有一个这样的数据框:

name     value
ray     20
sun     20
mom     10
ate     10
pea      7
kite     6
dance    5
Run Code Online (Sandbox Code Playgroud)

我想这样安排:

ray 20
sun 20
ate 10
mom 10
pea 7
kite 6
dance 5
Run Code Online (Sandbox Code Playgroud)

Nil*_*ner 6

这非常简单:将两列及其升序标志传递给sort_values

import pandas

df = pandas.DataFrame({
    'name': ['ray', 'sun', 'mom', 'ate', 'pea', 'kite', 'dance'],
    'value': [20, 20, 10, 10, 7, 6, 5]
})

df.sort_values(by=['value', 'name'], ascending=[False, True])
#    name  value
# 0  ray   20
# 1  sun   20
# 3  ate   10
# 2  mom   10
# 4  pea    7
# 5  kite   6
# 6  dance  5
Run Code Online (Sandbox Code Playgroud)