列排序基于价值
问题描述:
我有数据帧包含多列的,我想基于其总价值列进行排序,即第一列将是具有最高值,以便列排序基于价值
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
答
如果我理解你想要的东西(例如输出始终是一个好主意),一个办法是求和列,由此带来的一系列排序,并用它来索引到框架:
>>> 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
的编程语言你正在用吗?你有没有编写任何可以包含在你的问题中的代码? – GoBusto 2014-11-08 16:19:15
Python和熊猫。 – FMKU 2014-11-08 16:20:15