Python 将数据帧聚合为加权平均序列
这可能是一项复杂的任务。假设我们有这样一个数据帧:Python 将数据帧聚合为加权平均序列,python,pandas,Python,Pandas,这可能是一项复杂的任务。假设我们有这样一个数据帧: MSFT AAPL GE 0.1 na na 0.2 0.1 na 0.1 0.2 0.1 我希望按如下方式聚合数据帧: 当只有一列具有非na值时,该值将为平均值,但当超过一列具有非na值时,我们计算加权平均值,其中权重为截至该点的累积乘积。生成的数据帧和计算如下图所示 avg 0.1 1.1*0.2/(1.1 + 1) + 1*0.1/(1.1+1) 1.1*1.2*0.1/(1.1*1.2+1
MSFT AAPL GE
0.1 na na
0.2 0.1 na
0.1 0.2 0.1
我希望按如下方式聚合数据帧:
当只有一列具有非na值时,该值将为平均值,但当超过一列具有非na值时,我们计算加权平均值,其中权重为截至该点的累积乘积。生成的数据帧和计算如下图所示
avg
0.1
1.1*0.2/(1.1 + 1) + 1*0.1/(1.1+1)
1.1*1.2*0.1/(1.1*1.2+1.1+1) + 1.1*0.2/(1.1*1.2+1.1+1)+ 1*0.1/(1.1*1.2+1.1+1)
假设您的数据帧名为“d” 试试这个:
d.mean(axis=1)
这应该行。嘿,这只取相等的加权平均值,而不是我描述的加权平均值。看吧。这可能会有帮助。