pandas 尝试使用panda数据读取器时出现类型错误

suzh9iv8  于 2022-12-21  发布在  其他
关注(0)|答案(1)|浏览(184)

在导入必要的库之后,我尝试运行以下代码:

import numpy as np
import pandas as pd
import yfinance as yf
import pandas_datareader as web
import datetime as dt

tickers = ['BAC','JPM','C','NSRGY']
start_date = dt.datetime(2019,2,1)
end_date = dt.datetime(2019,12,30)
data = web.DataReader(tickers, 'yahoo', start_date, end_date)

最后我得到了这个我不太理解的TypeError(没有发布整个错误):

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/var/folders/pv/98lyfc8n6tzbdrydqyjpt2qm0000gn/T/ipykernel_3109/4067046804.py in <module>
      2 start_date = dt.datetime(2019,2,1)
      3 end_date = dt.datetime(2019,12,30)
----> 4 data = web.DataReader(tickers, 'yahoo', start_date, end_date)

TypeError: string indices must be integers

代码似乎是为我工作的一天,当我使用它,也许我犯了一个愚蠢的错误的地方。

0lvr5msh

0lvr5msh1#

有人遇到了和你一样的问题。
看起来像是Pandasdatareader获取雅虎财经信息的问题,在您的情况下,你可以使用此代码来获得数据:

from pandas_datareader import data as pdr
import yfinance as yf
import datetime as dt

yf.pdr_override()
tickers = ['BAC','JPM','C','NSRGY']
start_date = dt.datetime(2019,2,1)
end_date = dt.datetime(2019,12,30)
data = pdr.get_data_yahoo(tickers,start=start_date, end=end_date)

相关问题