我试图找到不同行中的值的平均值,按其他列中的相似性进行分组。例如:
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
结合使用,但无法获得正确的结果。
答案 0 :(得分:6)
它是df['mean'] = df.groupby(['col1','col2']).col3.transform('mean')
我的男人
$this->_data = $row; # This fetches data from a MySQL query