Pandas:当列相等时获取不同行的平均值

Lex*_*xxx 2 python dataframe pandas

我试图在不同的行中找到值的平均值,按其他列中的相似性进行分组.例:

In [14]: pd.DataFrame({'col1':[1,2,1,2], 'col2':['A','C','A','B'], 'col3':[1, 5, 6, 9]})
Out[14]: 
   col1 col2  col3
0     1    A     1
1     2    C     5
2     1    A     6
3     2    B     9
Run Code Online (Sandbox Code Playgroud)

我想要的是为col1和col2的组合匹配的所有行添加col3方法的列.期望的输出:

Out[14]: 
   col1 col2  col3   mean
0     1    A     1    3.5
1     2    C     5    5
2     1    A     6    3.5
3     2    B     9    9
Run Code Online (Sandbox Code Playgroud)

我曾尝试一些事情groupby与组合apply,但不能得到正确的结果.

ℕʘʘ*_*ḆḽḘ 6

它是transform我的男人

df['mean'] = df.groupby(['col1','col2']).col3.transform('mean')
Run Code Online (Sandbox Code Playgroud)