You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas_datareader读取FRED数据时报错:No timezone found

解决pandas_datareader读取FRED数据时的"GDP: No timezone found, symbol may be delisted"错误

问题重现

使用pandas_datareader从FRED读取GDP数据时,出现错误提示:GDP: No timezone found, symbol may be delisted,即使设置了ignore_tz=True也无法解决,代码如下:

import pandas_datareader.data as web
import datetime

start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2022, 1, 27)
gdp = web.DataReader('GDP', 'fred', start, end, ignore_tz=True)

解决方案

1. 升级pandas_datareader到最新版本

旧版本的pandas_datareader对FRED的时区处理存在兼容性问题,升级到最新版大概率能解决:

pip install --upgrade pandas-datareader

2. 调整查询的日期范围

GDP是FRED上的季度频率数据,仅在每个季度末发布数据点。原代码的结束日期2022-01-27不在数据发布节点上,可能触发时区相关的异常。将结束日期改为最近的季度末日期(比如2021-12-31)再尝试:

import pandas_datareader.data as web
import datetime

start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2021, 12, 31)
gdp = web.DataReader('GDP', 'fred', start, end)

3. 改用更稳定的fredapi库

如果上述方法都无效,推荐使用专门针对FRED的fredapi库,它的兼容性和稳定性更好:
首先安装库:

pip install fredapi

然后编写代码(需要在FRED官网免费注册获取API密钥):

from fredapi import Fred
import datetime

# 替换为你的FRED API密钥
fred = Fred(api_key='你的API密钥')
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2022, 1, 27)
gdp = fred.get_series('GDP', start=start, end=end)

内容的提问来源于stack exchange,提问作者Jim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:40:37