首页 > 解决方案 > 如何在python中计算给定数据帧的WAPE

问题描述

如果我们有以下格式的数据框,我想知道如何计算 WAPE 值。我正在使用python。我需要它来评估预测。

在此处输入图像描述

标签: python-3.xforecasting

解决方案


根据维基百科,WAPE(加权绝对百分比误差)可以通过以下方式计算

将绝对偏差的总和除以所有产品的总销售额。

在 pandas 中,您可以通过使用-运算符来做到这一点,该运算符将在系列之间按元素工作,并结合系列的abs()andsum()方法(和常规浮点除法):

import pandas as pd

df = pd.DataFrame({'Actual': [23, 32, 44, 37, 48, 42, 39],
                   'Forecasted': [25, 30, 41, 34, 45, 47, 40]})

wape = (df.Actual - df.Forecasted).abs().sum() / df.Actual.sum()
print(wape)
0.07169811320754717

推荐阅读