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

2023-12-23

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

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

我尝试过几件事groupby结合apply但无法得到正确的结果。


its a transform my man

df['mean'] = df.groupby(['col1','col2']).col3.transform('mean')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐