0
我有一个数据帧如下:Python的大熊猫 - 应用功能,以分组数据帧
A B C
0 foo 1.496337 -0.604264
1 bar -0.025106 0.257354
2 foo 0.958001 0.933328
3 foo -1.126581 0.570908
4 bar -0.428304 0.881995
5 foo -0.955252 1.408930
6 bar 0.504582 0.455287
7 bar -1.076096 0.536741
8 bar 0.351544 -1.146554
9 foo 0.430260 -0.348472
我想获得各组(当A
分组)的B
列的最大值,并将其添加在列C
。因此,这里是我的尝试:
组由A
:
df = df.groupby(by='A')
得到最大B
列,然后试图将其应用到列“C”:
for name in ['foo','bar']:
maxi = df.get_group(name)['B'].max()
df.get_group(name)['C'] = df.get_group(name)['C']+maxi
此时熊猫建议Try using .loc[row_indexer,col_indexer] = value instead
。这是否意味着我必须在行上使用for
循环,并在列A
上使用if
并逐个修改C
数据?我的意思是,这似乎不是熊猫,我觉得我失去了一些东西。我怎么能更好地解决这个分组数据框?