代码之家  ›  专栏  ›  技术社区  ›  Khalil Al Hooti

基于数据帧中部分索引名的列值求和

  •  3
  • Khalil Al Hooti  · 技术社区  · 6 年前

    我有以下数据帧,它是groupby操作的结果。

    Gender          F     M
    Grade letter
    D            NaN   1.0
    D+            7.0  2.0
    C-            3.0  2.0
    C             3.0  4.0
    C+            9.0  12.0
    B-            8.0  10.0
    B             6.0  3.0
    B+            5.0  7.0
    A-            7.0  4.0
    A             2.0  4.0
    A+            1.0 NaN
    

    期望的输出是

    Gender          F     M
    Grade letter
    D             7.0   3.0
    C             18.0 18.0
    B             19.0 20.0
    A             10.0 8.0
    

    here ,但不是为了我。

    df.groupby(df.index.to_series().str[0]).size().unstack(fill_value=0)
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   jezrael    6 年前

    你可以聚合 sum .to_series() :

    df1 = df.groupby(df.index.str[0], sort=False).sum()
    print (df1)
               F     M
    Gender            
    D        7.0   3.0
    C       15.0  18.0
    B       19.0  20.0
    A       10.0   8.0