我在如何根据最后一行得到'KeyError:-1'的列排序时遇到一些问题
我尝试了df.sort_values(by=[-1], axis=1,na_position='last')
,
df.sort_values(by=df[-1], axis=1,na_position='last')
timestamp AKS AGI AA ATI ... TK TNP USDP ZTO
2019-09-10 NaN NaN NaN NaN ... 0.063570 0.057432 -0.121778 0.098429
2019-09-11 NaN NaN NaN NaN ... 0.083130 0.043919 -0.128889 0.104712
2019-09-12 NaN NaN NaN NaN ... 0.080685 0.047297 -0.130667 0.135079
2019-09-13 NaN NaN NaN NaN ... 0.090465 0.020270 -0.123556 0.112565
2019-09-16 NaN NaN NaN NaN ... NaN NaN NaN NaN
一些代码
sorted_df = df.sort_values(by=[-1], axis=1,na_position='last')
预期结果是列按最后一行排序
答案 0 :(得分:0)
好吧,如果您想知道最后一列是什么,可以使用
df.columns.tolist()[-1]
因此,如果您想按最后一列对df进行排序,则结果为
df.sort_values(by=df.columns.tolist()[-1], ascending = False)
然后您可以na_position
na_position : {‘first’, ‘last’}, default ‘last’
first puts NaNs at the beginning, last puts NaNs at the end