按照第一列排序数据框,Pandas

10
我有一个只有一列的数据框,我想要对其中的值进行排序。输入以下代码会给我一个已排序的数据框:

我有一个只有一列的数据框,我想要对其中的值进行排序。输入以下代码会给我一个已排序的数据框:

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”。

有没有一种方法可以按列的值对数据框进行排序,只指定列的位置?

1个回答

21

我认为您可以使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接