数据帧中加权平均的计算

2024-09-26 17:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

在富利。数据帧:

                              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 

如何为每列添加一个新行,该行包含该列与weight列的乘积之和?我试过这个:

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

Tags: 数据namedfnewarealocrowpotential
1条回答
网友
1楼 · 发布于 2024-09-26 17:49:48

使用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

相关问题 更多 >

    热门问题