2016-11-07 26 views
2

我有一列数据框,我想对其进行排序。 键入下面的代码给了我一个排序的数据帧:按第一列对数据框排序,Pandas

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 

这将是一个函数,该函数将被应用到其他dataframes的一部分。出于这个原因,我需要对数据框进行排序而不提及列名“mean”。

有没有办法按列的值对数据框进行排序,只显示列的位置?

回答

4

我想你可以通过tst.columns[0]选择第一列,更好的是使用sort_values因为sort回报警告:

FutureWarning:排序(列= ....)已过时,使用sort_values(通过= .. ...)

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 
相关问题