我试图找出不同行中值的平均值,并根据其他列中的相似性进行分组。例子:

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

我想为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

我用groupbyapply结合试过几次,但都没有得到正确的结果。

最佳答案

我的人

df['mean'] = df.groupby(['col1','col2']).col3.transform('mean')

关于python - Pandas :当列相等时获取不同行的均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44679697/

10-12 23:23