我试图得出加权平均值,但我遇到了一个疑问:
我想创建一个名为answer的新列,该列计算每行和一个加权值列表之间的结果,在本例中命名为month
。如果我使用df.mean()
,我会得到一个简单的月平均值,这不是我想要的。这样做的目的是,在今年的乞讨中,更加重视年底,而不太重视需求。这就是为什么我想使用加权平均计算
在excel中,我将使用下面的公式。我无法将此计算转换为熊猫数据帧
=SUMPRODUCT( demands[@[1]:[12]] ; month )/SUM(month)
我找不到解决这个问题的办法,我真的很感谢你在这个问题上的帮助
先谢谢你
下面是一个虚拟数据帧,作为示例:
demand = pd.DataFrame({'1': [360, 40, 100, 20, 55],
'2': [500, 180, 450, 60, 50],
'3': [64, 30, 60, 10, 0],
'4': [50, 40, 30, 60, 50],
'5': [40, 24, 45, 34, 60],
'6': [30, 34, 65, 80, 78],
'7': [56, 45, 34, 90, 58],
'8': [32, 12, 45, 55, 66],
'9': [32, 56, 89, 67, 56],
'10': [57, 35, 75, 48, 9],
'11': [56, 33, 11, 6, 78],
'12': [23, 65, 34, 8, 67]
})
months = [i for i in range(1,13)]
这可以通过以下方式完成:
您可以尝试以下代码:
输出:
只需使用
numpy.average
,指定weights
:https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.average.html
产出:
相关问题 更多 >
编程相关推荐