|
import pandas as pd
import glob
import os
os.chdir('path/stock_hfqqa')
summ=pd.DataFrame()
for file in glob.glob('*.csv'):
fname='.'.join(file.split('.')[0:2])
df=pd.read_csv(file,dtype={'trade_date':'str'})
df['trade_date']=pd.to_datetime(df['trade_date'])
df['year']=df['trade_date'].dt.year
min_row=df[df['year']==2020]['close'].idxmin()
end_date_min=df.iloc[min_row]['trade_date']
start_date_min=end_date_min-pd.Timedelta(days=100)
mindf=df.loc[(df['trade_date']>=start_date_min) & (df['trade_date']<=end_date_min)]
tempdf=mindf.head(1).copy()
tempdf['date_start']=start_date_min
summ=summ.append(tempdf,ignore_index=True)
filemin=fname+'_min'+'.xlsx'
mindf.to_excel(filemin,index=False)
max_row=df[df['year']==2020]['close'].idxmax()
end_date_max=df.iloc[max_row]['trade_date']
start_date_max=end_date_max-pd.Timedelta(days=100)
maxdf=df.loc[(df['trade_date']>=start_date_max) & (df['trade_date']<=end_date_max)]
tempdf=maxdf.head(1).copy()
tempdf['date_start']=start_date_max
summ=summ.append(tempdf,ignore_index=True)
filemax=fname+'_max'+'.xlsx'
maxdf.to_excel(filemax,index=False)
summ=summ[['ts_code','date_start','trade_date','close']]
summ.columns=['ts_code','date_start','date_end','close']
summ.to_excel('bbbb.xlsx',index=False)
计算出的start_date_min日期当日可能有数据也可能没数据,当没数据就想顺延到有数据的日期,请问怎么改代码,谢谢。。。。
还有老问题重提,有知道的一起指教,还是求每只code每年的最低最高价,一并谢了。。。
|
|