找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3844|回复: 0

[求助] 还是老代码新问题数据缺失怎么顺延

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345 发表于 2023-5-27 18:56:12 | 显示全部楼层 |阅读模式
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每年的最低最高价,一并谢了。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表