我想按A进行分组,找到B的最大值,并返回与该最大值相关联的C。
import pandas as pd
a1 = [1,2,'x']
a2 = [1,3,'y']
a3 = [2,3,'y']
a4 = [2,4,'z']
df = pd.DataFrame([a1,a2,a3,a4], columns = ['A','B','C'])
groups = df.groupby('A')['B'].max()
df = df.join(groups, on='A', rsuffix = '_max')
df
我得到的结果是
A B C B_max
0 1 2 x 3
1 1 3 y 3
2 2 3 y 4
3 2 4 z 4
result i want is
A B C B_max C_max
0 1 2 x 3 y
1 1 3 y 3 y
2 2 3 y 4 z
3 2 4 z 4 z