列排序基于价值

列排序基于价值

问题描述:

我有数据帧包含多列的,我想基于其总价值列进行排序,即第一列将是具有最高值,以便列排序基于价值

  A B C D E  F  G L 
Date         
2010-01-01 0 10 0 0 950  0 40 0 
2010-03-01 0 0 0 0 1040 0 0 0 
2010-04-01 0 0 0 0 261  0 0 0 
2010-05-01 40 10 0 0 207  0 0 300 
2010-06-01 0 0 0 0 108  0 0 0 
2010-07-01 0 0 0 13 137  0 50 0 
2010-08-01 0 10 10 0 0  0 0 0 
2010-10-01 0 0 0 0 97  40 40 0 
+1

的编程语言你正在用吗?你有没有编写任何可以包含在你的问题中的代码? – GoBusto 2014-11-08 16:19:15

+0

Python和熊猫。 – FMKU 2014-11-08 16:20:15

如果我理解你想要的东西(例如输出始终是一个好主意),一个办法是求和列,由此带来的一系列排序,并用它来索引到框架:

>>> colsum = df.sum() 
>>> colsum.sort(ascending=False) 
>>> df.loc[:, colsum.index] 
       E L G F A B D C 
Date           
2010-01-01 950 0 40 0 0 10 0 0 
2010-03-01 1040 0 0 0 0 0 0 0 
2010-04-01 261 0 0 0 0 0 0 0 
2010-05-01 207 300 0 0 40 10 0 0 
2010-06-01 108 0 0 0 0 0 0 0 
2010-07-01 137 0 50 0 0 0 13 0 
2010-08-01  0 0 0 0 0 10 0 10 
2010-10-01 97 0 40 40 0 0 0 0 
+0

非常感谢,由您的代码完成 – FMKU 2014-11-08 16:50:30