1
df['avg_value'] = df.groupby("x").y.transform('mean')
2
df['avg_value'] = df.groupby("x").y.mean()