【发布时间】:2017-03-17 09:35:55
【问题描述】:
我有这样的代码
>>> import pandas as pd
>>> import numpy as np
>>>
>>> df1 = pd.DataFrame({'value':[10,20,np.nan,40],
... 'weight':[1,np.nan,3,4]})
>>> df1
value weight
0 10.0 1.0
1 20.0 NaN
2 NaN 3.0
3 40.0 4.0
>>> (df1["value"] * df1["weight"]).sum() / df1["weight"].sum()
21.25
如果缺少值或重量,我想从计算中省略数据。即我想要像这样的加权平均值 (10*1 + 40*4) /(1+4) = 34
如果可以在 pandas 中使用单个表达式,请提供帮助。
【问题讨论】:
标签: pandas missing-data weighted-average