我需要使用以下代码根据多列对数据框进行排序(按降序):
df = df.sort_values(measures, ascending = (False,False,False,False,False))
其中 'measures' 是列名称的列表。因此,我只能得到按“度量”列表中的第一列 (ms1) 排序的数据框。
排序前的数据帧片段:
Features ms1 ... ms4 ms5
0 age 0.188 ... 0.025 0.994
1 sex 0.556 ... 0.040 8.080
2 cp 0.437 ... 0.054 20.121
3 trestbps 0.199 ... 0.015 0.512
4 chol 0.194 ... 0.002 0.085
5 fbs 0.622 ... 0.030 0.055
排序后:
Features ms1 ... ms4 ms5
5 fbs 0.622 ... 0.030 0.055
8 exang 0.593 ... 0.023 36.842
1 sex 0.556 ... 0.040 8.080
12 thal 0.527 ... 0.007 1.902
6 restecg 0.488 ... 0.067 1.219
有谁知道为什么它不能正常工作
答案 0 :(得分:1)
'ascending'
参数根据 documentation 使用 bool 或 bool 列表。
所以,试试这个 -
df.sort_values(measures, ascending = [False,False,False,False,False])
答案 1 :(得分:1)
当您按第一列 (ms1) 排序时,其他列在 ms1 之后。但如果 ms1 中有相同的值,则相同值的行将按第二列对值进行排序。依此类推...>