2024-04-26 18:40:28 发布
网友
我需要编写一个函数来计算不同时间间隔上的RMSE。 我的数据帧有日期戳,我需要选择每天、每周或每月计算。这是我迄今为止所拥有的功能:
def rmse(dataframe): rmse = np.sqrt( mean_squared_error( dataframe['Actual'], dataframe['Predicted'] ) ) return 'RMSE: %f' % rmse dataframe.apply(rmse).reset_index()
如果数据帧看起来像这样。您需要首先创建要应用RMSE的时间片
df = pd.DataFrame({'date': pd.date_range('2020-01-01', freq='D', periods=10), 'actual': np.arange(10) , 'predictoni': np.arange(10), 'slice': np.repeat([1,2],5)}) date actual predictoni slice 0 2020-01-01 0 0 1 1 2020-01-02 1 1 1 2 2020-01-03 2 2 1 3 2020-01-04 3 3 1 4 2020-01-05 4 4 1 5 2020-01-06 5 5 2 6 2020-01-07 6 6 2 7 2020-01-08 7 7 2 8 2020-01-09 8 8 2 9 2020-01-10 9 9 2
然后你可以像这样应用函数
g = df.groupby(['slice']) g.apply(rmse)
如果数据帧看起来像这样。您需要首先创建要应用RMSE的时间片
然后你可以像这样应用函数
相关问题 更多 >
编程相关推荐