【问题标题】:Sorting the Columns based on value根据值对列进行排序
【发布时间】:2015-01-05 07:19:18
【问题描述】:

我有很多列的DataFrame,我想根据其总值对列进行排序,换句话说,第一列将具有最高值,所以

            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

【问题讨论】:

  • 您使用哪种编程语言?您是否编写了任何可以包含在问题中的代码?

标签: python sorting pandas multiple-columns


【解决方案1】:

如果我了解您想要什么(示例输出总是一个好主意),一种方法是对列求和,对结果系列进行排序,然后使用它来索引框架:

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

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多