2014-11-08 219 views
0

我有數據幀包含多列的,我想基於其總價值列進行排序,即第一列將是具有最高值,以便列排序基於價值

  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

回答

2

如果我理解你想要的東西(例如輸出始終是一個好主意),一個辦法是求和列,由此帶來的一系列排序,並用它來索引到框架:

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