Основной матричный расчет с использованием панд

1

Переменные:

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 (среднее значение столбца)?

  • 0
    В Pandas вам придется выровнять индекс (первый столбец), чтобы это работало.
  • 0
    И имя столбца тоже, судя по выводу
Показать ещё 5 комментариев
Теги:
pandas
dataframe

1 ответ

0
Лучший ответ

В другом ответе вы можете попробовать следующее:

import numpy as np

print(np.mean(np.abs((y_actual.values - y_hat.values) / y_actual.values)) * 100) 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню