我的数据框如下:
df = pd.DataFrame({'x':list('aaaaabbb'), 'y':np.random.randint(100,200,8),'z': np.random.randint(1000,2000,8)})
x y z
0 a 147 1279
1 a 183 1233
2 a 138 1154
3 a 153 1030
4 a 176 1683
5 b 124 1158
6 b 115 1748
7 b 149 1892
我想在此数据帧的新列中为每个标签添加加权平均值。
我尝试过:
df['wa'] = df.groupby('x')['y'].transform(np.average, weights = df.z)
但是没有用。谁能帮我吗?