找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

楼主: baijianyun12345

[求助] 读取数据出错该怎么处理

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 10:25:37 | 显示全部楼层
sheeboard 发表于 2021-12-22 08:20
传个测试文件吧,帮你做做看。

怎么传文件啊,
回复 支持 反对

使用道具 举报

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 11:16:01 | 显示全部楼层
怎么传文件啊,附件是黑的
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-12-22 12:43:57 | 显示全部楼层
高级模式里添加附件
回复 支持 反对

使用道具 举报

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 13:26:41 | 显示全部楼层
sheeboard 发表于 2021-12-22 12:43
高级模式里添加附件

就是附件是黑的,添加不了!!!
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-12-22 13:31:52 | 显示全部楼层
baijianyun12345 发表于 2021-12-22 13:26
就是附件是黑的,添加不了!!!

传云盘吧,顺便需求写详细点。
回复 支持 反对

使用道具 举报

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 13:44:13 | 显示全部楼层
sheeboard 发表于 2021-12-22 13:31
传云盘吧,顺便需求写详细点。

链接:https://pan.baidu.com/s/19vh_py5-k5rEBAKSqrXNOg
提取码:f3wy

我的意思是提取每支股票2020年最高价和最低价前100天数据,比如第一只,我想要的是test0里000001最低价2019-12-14到2020-03-23这段数据,和000001最高价,2020-08-23到2020-12-01这段数据,第二只,test0里000560最低价2020-02-12到2020-05-22这段数据,和000560最高价2020-02-15到2020-05-25这段数据,以此类推每支。。。。
回复 支持 反对

使用道具 举报

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 14:07:30 | 显示全部楼层
[url=链接:https://pan.baidu.com/s/19vh_py5-k5rEBAKSqrXNOg  提取码:f3wy]比如第一只,我想要的是test0里000001最低价2019-12-14到2020-03-23这段数据,和000001最高价,2020-08-23到2020-12-01这段数据,以此类推每支。。。。[/url]
回复 支持 反对

使用道具 举报

6

主题

26

帖子

26

积分

贫民

积分
26
baijianyun12345  楼主| 发表于 2021-12-22 14:12:48 | 显示全部楼层
sheeboard 发表于 2021-12-22 13:31
传云盘吧,顺便需求写详细点。

发了两条,都要等审核
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-12-23 13:43:15 | 显示全部楼层
参考
  1. import pandas as pd
  2. def get_maxdata(x):
  3.     stock_data=pd.DataFrame()
  4.     df=pd.read_csv(x,dtype={'trade_date':'str'})
  5.     df['trade_date']=pd.to_datetime(df['trade_date'])
  6.     df['year']=df['trade_date'].dt.year
  7.     max_row=df[df['year']==2020]['close'].idxmax()
  8.     end_date_max=df.iloc[max_row]['trade_date']
  9.     start_date_max=end_date_max-pd.Timedelta(days=100)
  10.     maxdf=df[(df['trade_date']>=start_date_max) & (df['trade_date']<=end_date_max)]
  11.     stock_data=stock_data.append(maxdf,ignore_index=True)
  12.     stock_data.to_excel('reuslt.xlsx',index=False)

  13. get_maxdata('000001.SZ.csv')
复制代码
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-12-23 13:50:43 | 显示全部楼层
本帖最后由 sheeboard 于 2021-12-23 14:30 编辑

我试过了,应该没错,最小用idxmin(),遍历文件用glob.glob,具体细节自己去调整吧。
顺便讲一下,iloc是索引定位,loc是标签定位,用iloc定位 时间序列 需要先把时间序列设置为索引。

回复 支持 反对

使用道具 举报

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

本版积分规则

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