我有一个包含一列的数据框,我想对其进行排序。 键入以下代码为我提供了一个已排序的数据框:
sort = tst.sort(["Mean"], ascending = False)
Mean
SIMULATION
Sim_758 1.351917
Sim_215 1.072942
Sim_830 0.921284
Sim_295 0.870272
Sim_213 0.845990
Sim_440 0.822394
这将是函数的一部分,该函数将应用于其他数据帧。出于这个原因,我需要对数据帧进行排序,而不提及列名称“mean”。
有没有办法按列的值对数据框进行排序,只显示列的位置?
答案 0 :(得分:7)
我认为您可以按tst.columns[0]
选择第一列,最好使用sort_values
,因为sort
会返回警告:
FutureWarning:sort(columns = ....)已弃用,请使用sort_values(by = .....)
sort = tst.sort_values(tst.columns[0], ascending = False)
print (tst)
Mean
SIMULATION
Sim_213 0.845990
Sim_758 1.351917
Sim_830 0.921284
Sim_295 0.870272
Sim_215 1.072942
Sim_830 0.921284
Sim_295 0.870272
Sim_440 0.822394
print (tst.columns[0])
Mean
sort = tst.sort_values(tst.columns[0], ascending = False)
print (sort)
Mean
SIMULATION
Sim_758 1.351917
Sim_215 1.072942
Sim_830 0.921284
Sim_830 0.921284
Sim_295 0.870272
Sim_295 0.870272
Sim_213 0.845990
Sim_440 0.822394