首页 新闻 会员 周边

关于pandas中出现string indices must be integers

0
悬赏园豆:5 [已关闭问题] 关闭于 2021-02-16 21:57

自己在使用python分析股票数据,首先在分析单只股票在某一天数据的时候,一点问题没有;但是在扩大到多天的时候,就出现问题了,具体代码如下:

#获取日期列表
import pandas as pd
import numpy as np
import akshare as ak
import tushare as ts
data=ts.get_k_data('sh600584','2021-01-01','2021-02-07')
l1=data['date'].tolist()

#主体代码
def get_data():
    l2=[]
    for i in l1:
        j =i.replace("-","")#将日期'2021-02-07'转换成'20210207'形式
        data1= ak.stock_zh_a_tick_163(code="sh600584", trade_date=j)
        data1.index=pd.to_datetime(data1['成交时间'])
    return data1

#运行函数
get_data()

具体报错如下:

TypeError                                 Traceback (most recent call last)
<ipython-input-3-c1be559af0b6> in <module>
----> 1 get_data()

<ipython-input-2-be8827aee8de> in get_data()
      4         j =i.replace("-","")#将日期'2021-02-07'转换成'20210207'形式
      5         data1= ak.stock_zh_a_tick_163(code="sh600584", trade_date=j)
----> 6         data1.index=pd.to_datetime(data1['成交时间'])
      7     return data1

TypeError: string indices must be integers

按照问题的字面意思是应该是数字而非字符串,但是我在单独运行代码,不使用函数的时候没有问题,求助大家看看哪里有问题。

舒畅123的主页 舒畅123 | 初学一级 | 园豆:194
提问于:2021-02-16 14:51
< >
分享
所有回答(1)
0

自己解决了这个问题,后来查明是akshare数据接口的问题。谢谢大家的关注。

舒畅123 | 园豆:194 (初学一级) | 2021-02-16 21:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册