我有一个这样的数据框:
name value
ray 20
sun 20
mom 10
ate 10
pea 7
kite 6
dance 5
我想这样排列:
ray 20
sun 20
ate 10
mom 10
pea 7
kite 6
dance 5
答案 0 :(得分:0)
这非常简单:将列及其升序标志都传递给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
答案 1 :(得分:0)
我不是特别喜欢执行以下操作,但这仍然是另一种解决方案:
print(pd.DataFrame(sorted(df.values,key=lambda x: x[1],reverse=True),columns=df.columns))
输出:
name value
0 sun 20
1 mom 20
2 ray 10
3 ate 10
4 pea 7
5 kite 6
6 dance 5