使用 Pandas Datareader 访问雅虎财经数据时出现 TypeError
使用 Pandas Datareader 从 Yahoo Finance 检索股票数据时,用户可能会遇到“TypeError” :字符串索引必须是整数”错误。当“symbols”参数需要字符串列表但遇到字符串时,可能会出现此问题。
要解决此错误,请确保“symbols”参数是股票标识符列表。以下是工作代码的示例:
<code class="python">import pandas_datareader end = "2022-12-15" start = "2022-12-15" stock_list = ["TATAELXSI.NS"] data = pandas_datareader.get_data_yahoo(symbols=stock_list, start=start, end=end) print(data)</code>
此外,名为 raphi6 的 GitHub 用户提供了一个拉取请求,其中修复了此问题。要安装此修复程序,请按照以下步骤操作:
安装以下依赖项:
conda install pycryptodome pycryptodomex
卸载当前版本的 Pandas Datareader:
conda uninstall pandas-datareader
安装 Pandas Datareader 的拉取请求版本:
pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316
或者,名为 Nikhil Mulley 的用户建议了一种解决方法,涉及pdr_override() 函数。该函数的使用方式如下:
<code class="python">import pandas_datareader as pdr import pandas as pd end = "2022-12-15" start = "2022-12-15" stock_list = ["TATAELXSI.NS"] stock_symbol = stock_list[0] stock_obj = pdr.DataReader(stock_symbol, 'yahoo', start, end) stock_data = pd.DataFrame({stock_symbol: stock_obj['Close']}) </code>
以上是使用 Pandas Datareader 访问雅虎财经数据时如何解决'TypeError:字符串索引必须是整数”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!