代码之家  ›  专栏  ›  技术社区  ›  Baron Yugovich

展平嵌套熊猫数据框列

  •  2
  • Baron Yugovich  · 技术社区  · 8 年前

    经过一些聚合之后,我的数据帧看起来像这样

      A     B
            B_min   B_max
    0 11     3       6       
    1 22     1       2
    2 33     4       4
    

    如何使列成为 A , B_min B_max ,没有任何嵌套?简单且标准。我试过了 reindex_axix() unstack() ,但没有任何效果。

    1 回复  |  直到 8 年前
        1
  •  2
  •   jpp    8 年前

    这里有一种方法,但我希望有一种内在的方法来做到这一点。

    import pandas as pd
    
    df = pd.DataFrame({'A': [11, 11, 22, 22, 33, 33],
                       'B': [3, 6, 1, 2, 4, 4]})
    
    g = df.groupby('A', as_index=False).agg({'B': ['min', 'max']})
    
    g.columns = ['_'.join(col).strip() if col[1] else col[0] for col in g.columns.values]
    
    #     A  B_min  B_max
    # 0  11      3      6
    # 1  22      1      2
    # 2  33      4      4