Переменные:
y_hat = pd.DataFrame([x1,x2,x3,x4,x5])
y_actual = pd.DataFrame(Macro.iloc[8:13,1:2])
У меня есть y_hat
pandas y_hat
:
y_hat
Out[24]:
0
0 409.612553
1 573.936775
2 256.213344
3 136.219153
4 419.977863
У меня есть pandas y_actual
:
y_actual
Out[25]:
y
8 422.40
9 580.42
10 256.76
11 128.96
12 445.42
Я по существу пытаюсь вычислить MAPE (средняя средняя процентная ошибка) между y_actual и y_hat. Код R выглядел бы примерно так:
MAPE = colmeans(abs((y_hat - y_actual)/y_actual)*100)
Однако в Python я не могу даже пройти первый шаг y_hat - y_actual
, поскольку он возвращает ошибку:
y_hat - y_actual
Out[29]:
0 y
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 NaN NaN
8 NaN NaN
9 NaN NaN
10 NaN NaN
11 NaN NaN
12 NaN NaN
Могу ли я запускать этот калькулятор с использованием фреймов данных Pandas? Есть ли функция Python, эквивалентная colmeans (среднее значение столбца)?
В другом ответе вы можете попробовать следующее:
import numpy as np
print(np.mean(np.abs((y_actual.values - y_hat.values) / y_actual.values)) * 100)