22

作者 by aigle / 2022-01-11 / 暂无评论

#计算周均销售额平均值
ma_dw = train[['family','store_nbr','dow','sales']].groupby(['family','store_nbr','dow'])['sales'].mean().to_frame('madw')
ma_dw.reset_index(inplace=True)
#train = train[train['date'].dt.year == 2017] 
gc.collect()
ma_wk = ma_dw[['family','store_nbr','madw']].groupby(['store_nbr', 'family'])['madw'].mean().to_frame('mawk')
ma_wk.reset_index(inplace=True)
train.loc[(train.sales<0),'sales'] = 0 # 若模拟销售额中有负数将改销售额置零
#使用移动平均法建立预测销售额
for i in [112,56,28,14,7,3,1]:
    tmp = train[train.date>lastdate-timedelta(int(i))]
    tmpg = tmp.groupby(['family','store_nbr'])['sales'].mean().to_frame('mais'+str(i))
    ma_is = ma_is.join(tmpg, how='left')

评论已关闭