Python 数据帧中加权平均的计算

Python 数据帧中加权平均的计算,python,pandas,Python,Pandas,在福勒。数据帧: Potential Area weight NAME Ket 21.694198 61730.10 0.028773 Chles 31.02

在福勒。数据帧:

                              Potential     Area       weight  
NAME                                                                    
Ket                              21.694198   61730.10  0.028773  
Chles                            31.023133  101288.07  0.047211  
Caline                           23.066401   68515.47  0.031936  
Algany                           22.794050  109111.05  0.050858  
Baire                            3.176830   20763.54  0.009678 
如何为每列添加一个新行,该行包含该列与
权重
列的乘积之和?我试过这个:

df.loc['new_row'] = df.mean() * df['weight']

这里有一种使用NumPy的方法:

# calculate sum of products
sums = (df.iloc[:, :2].values * df['weight'].values[:, None]).sum(0).tolist()

# assign to index label
df.loc['MeanWeightProd'] = sums + [np.nan]

print(df)

                Potential           Area    weight
NAME                                              
Ket             21.694198   61730.100000  0.028773
Chles           31.023133  101288.070000  0.047211
Caline          23.066401   68515.470000  0.031936
Algany          22.794050  109111.050000  0.050858
Baire            3.176830   20763.540000  0.009678
MeanWeightProd   4.015494   14496.300611       NaN
(df[“潜在”、“面积”]*df[“重量”]).sum()