Pandas transform好用的地方
数据类似这样
Name Course Score
小明 Math 99
小红 Math 96
小李 Math 67
小张 Math 61
小明 ENG 71
小红 ENG 55
小李 ENG 36
小张 ENG 55
小明 CHI 55
小红 CHI 51
小李 CHI 41
小张 CHI 54
需求是将这个数据后面加一列, 各个同学所有科目的平均分
# 计算平局值
temp = df.groupby(by="Name")['Score'].mean().rename("avg_score").reset_index()
# merge
df.merge(right=temp)
# 使用transform
df['avg_score_2'] = df.groupby('Name')['Score'].transform('mean')