SQL like maximum function in pandas



在数据框架中,例如

df = pd.DataFrame({'A' : ['a','a','b','b','a'],
'B' : [1,22,8,3,3]})

我需要按A划分数据,并在每个分区中找到Bmax,并将结果保存在一个新的列C

df = pd.DataFrame({'A' : ['a','a','b','b','a'],
'B' : [1,22,8,3,3],
'C' : [22, 22 , 8, 8 , 22]})

我试过了

df['C'] = df.groupby(['A'])['B'].max()

,但这只是添加一个Nan列。

使用groupby+transform: '

df['C'] = df.groupby('A')['B'].transform('max')

输出:

>>> df
A   B   C
0  a   1  22
1  a  22  22
2  b   8   8
3  b   3   8
4  a   3  22

最新更新