我有一个看起来像这样的 DataFrame:
id OUTCOME
A 0
A 1
A 0
B 0
B 0
B 0
C 0
C 1
C 1
如何重新分配结果值,使它们等于每组的最大值?换句话说,结果应该是这样的:
id OUTCOME
A 1
A 1
A 1
B 0
B 0
B 0
C 1
C 1
C 1
我试过这样做:
id_tuple = ('A', 'B', 'C')
g = df.groupby('id')
for item in id_tuple:
new_df = g.get_group(item)
new_df['OUTCOME'] = new_df['OUTCOME'].max()
df2 = pd.concat([df2, new_df], axis=0)
这需要很长时间,所以我正在寻找更好的方法。我很感激你的建议!
一只名叫tom的猫
相关分类