熊猫-如何获取许多类别列的每个级别的平均值?

时间:2019-08-15 20:13:20

标签: python pandas dataframe pandas-groupby

我有一个数据框:

    cat1 cat2 res
0   a   d     3
1   a   e     2
2   b   d     7
3   b   f     6
4   c   e     4
5   c   f     5

如何使用尽可能少的代码获取下面的数据框(即rescat1的每个级别的cat2的平均值)?

       res
cat1 a 1.5
     b 6.5
     c 4.5
cat2 d 5
     e 3
     f 5.5

1 个答案:

答案 0 :(得分:3)

尝试meltgroupby

df.melt(id_vars='res').groupby(['variable', 'value']).mean()

输出:

                res
variable value     
cat1     a      2.5
         b      6.5
         c      4.5
cat2     d      5.0
         e      3.0
         f      5.5