【问题标题】:Grouping on identical column names in pandas在熊猫中对相同的列名进行分组
【发布时间】:2018-12-27 05:12:25
【问题描述】:
time       A1    A1    A2    A2     A2    A3   A3 
2017-01    a1    a2    b1    b2      c    .....
2017-02    a3    a4    b3    b4      c
2017-03    a5    a6    b5    b6      c
....

有一个如上图所示的数据框。如何获得具有相同名称的列的平均值(如下所示)?

time            A1             A2           A3
2017-01    (a1+a2)/2       (b1+b2+c)/3      c
2017-02     .....
2017-03 

【问题讨论】:

    标签: python pandas dataframe group-by pandas-groupby


    【解决方案1】:

    groupbylevel=0axis=1 一起使用。

    df.groupby(level=0, axis=1).mean()
    

    np.random.seed(0)
    df = pd.DataFrame(np.random.choice(10, (3, 5)), columns=list('AAABB'))
    
    df
    
       A  A  A  B  B
    0  5  0  3  3  7
    1  9  3  5  2  4
    2  7  6  8  8  1
    
    df.groupby(level=0, axis=1).mean()
    
              A    B
    0  2.666667  5.0
    1  5.666667  3.0
    2  7.000000  4.5
    

    【讨论】:

      猜你喜欢
      • 2020-08-10
      • 2022-12-12
      • 2019-04-04
      • 2021-07-20
      • 2018-04-20
      • 2016-02-02
      • 2018-10-12
      • 2017-12-13
      • 1970-01-01
      相关资源
      最近更新 更多