Я пытался сделать взвешенное среднее, и у меня возникло сомнение:
Проблема
Я хотел создать новый столбец с именем answer, который вычисляет результат между каждой строкой и списком. взвешенных значений, названных в этом случае как month
. Если я использую df.mean()
, я получу простое среднее значение по месяцам, а это не то, что я хочу. Идея состоит в том, чтобы придать большее значение концу года и меньше значить спросу в начале года. Вот почему я хотел бы использовать средневзвешенный расчет.
В excel Я бы использовал формулу ниже. У меня проблемы с преобразованием этого вычисления в pandas фрейм данных.
=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)]
Визуализация проблемы