VS Code 2019运行pandas调用yfinance获取记录数少于Colab是什么原因
问题描述
我在Visual Studio Code 2019中使用Python调用yfinance获取行情数据,运行代码如下:
import yfinance as yf ticker = yf.Ticker('AAPL') df_ticker1 = ticker.history(start='1996-01-01', end='2021-01-01') file_name3 = "Temp-df_ticker.csv" df_ticker1.to_csv(file_name3)
导出的csv文件仅包含2010年6月29日起的共2647条记录,不符合设置的1996年起始日期要求。但相同代码在Google Colab中运行可正常获取1996年起的全部数据,请问这是Visual Studio Code 2019或者Pandas存在记录条数限制导致的吗?
解答
该问题和Visual Studio Code 2019、Pandas的记录条数限制没有任何关系,核心原因是本地Python环境安装的yfinance版本过低。
- 旧版本(0.2.0以前)的yfinance存在已知的历史数据拉取bug,拉取长周期美股个股数据时会自动截断2010年之前的记录,而Google Colab默认预装最新版yfinance,所以能正常获取1996年起的全量数据。
- 修复方法:
- 执行命令
pip show yfinance查看本地yfinance版本,确认版本号低于0.2.0即可定位问题。 - 执行以下命令升级yfinance到最新稳定版:
pip uninstall yfinance -y pip install --upgrade yfinance- 升级完成后重新运行代码,先输出
df_ticker1.index.min()和df_ticker1.shape验证数据起始时间和总条数符合要求,再执行导出操作即可。
- 执行命令
内容的提问来源于stack exchange,提问作者user125104
相关产品推荐
相关产品推荐

