在数据框架中,例如
df = pd.DataFrame({'A' : ['a','a','b','b','a'],
'B' : [1,22,8,3,3]})
我需要按A
划分数据,并在每个分区中找到B
的max
,并将结果保存在一个新的列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