我是新手,在python中使用pytrends模块,允许您从Google趋势中提取数据。该网站对该模块进行了很好的介绍:https://github.com/GeneralMills/pytrends
使用pytrend.interest_over_time()时,我收到消息“ValueError:year is range of range”。我的代码的关键部分是:
import pytrends
from pytrends.request import TrendReq
google_username = "" #my username
google_password = "" #my password
pytrend = TrendReq(google_username, google_password, custom_useragent=None)
pytrend.build_payload(kw_list=['Chipotle'], timeframe = 'today 5-y')
pytrend.interest_over_time()
然后我收到错误消息“ValueError:year is of range”
答案 0 :(得分:1)
我遇到了同样的问题,我在第180行的request.py中添加了astype('int')
从:
df['date'] = pd.to_datetime(df['time'], unit='s')
为:
df['date'] = pd.to_datetime(df['time'].astype('int'), unit='s')
(不确定为什么我的行号不同,但看起来像是同一个问题)
答案 1 :(得分:0)
在python ... \ Lib \ site-packages \ pytrends \ request.py
中更改以下内容 第3行:
from datetime import datetime
第128行:
#df['date'] = pd.to_datetime(df['time'],unit='s')
df['date'] = df['time'].map(lambda d: datetime.fromtimestamp(int(d)))
这对我有用:)
答案 2 :(得分:0)
按照documentation中的建议,您可以像这样转换时间戳:tstamp.to_datetime64().astype('O')