def make_month_features(holiday_df):
df_list = []
for cols in ['holiday','festday']:
new_df = pd.DataFrame(index = holiday_df.index)
holi = holiday_df[cols].copy()
holi_new = holi.copy()
#predict 30 days and 30days for features
for d in range(30):
holi_new.index += pd.Timedelta('1D')
new_df['%s#-%d'%(cols,d+1)] = holi_new
#create 31 models
for d in range(31+3):
#predict 31 days + 3days
new_df['%s#%d'%(cols,d)] = holi
holi.index -= pd.Timedelta('1D')
new_df = new_df[map(lambda day:'%s#%d'%(cols,day),range(-30,30+3))]
new_df = new_df.ix['2015-1-1':'2016-12-31']
df_list.append(new_df.dropna())
return df_list
评论列表
文章目录