Python 为每一行计算 MSE
Python to compute MSE for every row
我正在尝试为我的数据框中的每一行计算 MSE,
下面是我的代码-
import pandas as pd
s={'AValues':[1,1,2,2],'month':[2016,2017,2018,2019],'fvalues':[55,66,77,88],'Fruits':['Apple','Mango','Orange','Banana']}
p=pd.DataFrame(data=s)
mse_df=pd.pivot_table(p,index='Fruits',columns='month',values=['AValues','fvalues'])
mse_df=mse_df.fillna(0)
这是上面代码的数据帧输出的样子-
我想在这里逐行计算苹果、香蕉、芒果和橙子的 mse。
(AValues-实际值,fvalues-预测值)
我正在尝试下面的代码-
from sklearn.metrics import mean_squared_error
mean_squared_error(mse_df['AValues'],mse_df['fvalues'])
但是,它给了我总的 mse,而不是单独的或逐行的。
你能帮我看看怎么才能找到mse吗?
我很惊讶您导入的这个 mean_square_error
函数没有 axis kwarg。相反,使用 numpy
import numpy as np
MSE = np.mean((mse_df['AValues'] - mse_df['fvalues'])**2, axis=ax)
其中 ax
是您希望计算平均值的轴。我不太熟悉 pandas,但如果它们与 numpy 数组/矩阵/类似的形状相同,它可能会是 axis=1
,尽管它可能是 axis=0
我正在尝试为我的数据框中的每一行计算 MSE,
下面是我的代码-
import pandas as pd
s={'AValues':[1,1,2,2],'month':[2016,2017,2018,2019],'fvalues':[55,66,77,88],'Fruits':['Apple','Mango','Orange','Banana']}
p=pd.DataFrame(data=s)
mse_df=pd.pivot_table(p,index='Fruits',columns='month',values=['AValues','fvalues'])
mse_df=mse_df.fillna(0)
这是上面代码的数据帧输出的样子-
我想在这里逐行计算苹果、香蕉、芒果和橙子的 mse。 (AValues-实际值,fvalues-预测值)
我正在尝试下面的代码-
from sklearn.metrics import mean_squared_error
mean_squared_error(mse_df['AValues'],mse_df['fvalues'])
但是,它给了我总的 mse,而不是单独的或逐行的。
你能帮我看看怎么才能找到mse吗?
我很惊讶您导入的这个 mean_square_error
函数没有 axis kwarg。相反,使用 numpy
import numpy as np
MSE = np.mean((mse_df['AValues'] - mse_df['fvalues'])**2, axis=ax)
其中 ax
是您希望计算平均值的轴。我不太熟悉 pandas,但如果它们与 numpy 数组/矩阵/类似的形状相同,它可能会是 axis=1
,尽管它可能是 axis=0