找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2454|回复: 0

[求助] 老代码新问题怎么求每个数据每年的最高最低价

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345 发表于 2023-5-23 15:02:49 | 显示全部楼层 |阅读模式

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)



回复

使用道具 举报

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

本版积分规则

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