学习目标:股票时间处理,乱间隔变为day,week,month
学习内容:
原始格式
1:标准时间生成和变为日频
#把数字时间改为标准时间
def int_to_time(m):
m=m.astype('int')
m=m.astype('string')
return pd.to_datetime(m)
#df['PRICE_DATE']=int_to_time(df['PRICE_DATE'])
#print(df)
#把时间改为日频
def time_to_day(df):
time_day=pd.date_range(start=df.index[0],end=df.index[-1],freq='d')
date_list_day = [ x.strftime('%F') for x in time_day]
data_day = pd.DataFrame(index=date_list_day)
df=pd.merge(left=data_day,right=df,how='outer',left_index=True, right_index=True)
return df
2:调用函数
df['PRICE_DATE']=int_to_time(df['PRICE_DATE'])
df=df.set_index('PRICE_DATE')
df=time_to_day(df)
print(df)
3:用前一个填充空值
df=df.fillna(method='ffill')#用前一个填充空值
print(df)
4:处理为week和month
week_df=df.resample(rule='w').last()
print(week_df)
month_df=df.resample(rule='m').last()
print(month_df)