过滤pytrends数据并获取数据和国家/地区列



我正在从谷歌趋势中提取数据,遇到了一些问题:

代码:

import pandas as pd
from pytrends.request import TrensReq
pytrends=TrendReq()
kw_list= ['Solar power','Starlink']
df1=pytrends.build(kw_list,timeframe='today 100-w',geo='US','UK')
df1=pytrends.interest_by_region(),pytrends.interest_over_time()
df1.to_excel(r'e:google trendsputout.xlsx')
i want data for 2 regions- US and UK .but it is not working .
also i want data for past 100 weeks from today's date.I checked on google to see what is the syntax
for looking in past weeks but no help.
Also if i use " pytrends.interest_by_region(),pytrends.interest_over_time()", i get data like:
solar power       Starlink
date
But country column is not included.I have used pytrends.interest_by_region() but it is not coming in my dataframe.
Expected output:
solar power       Starlink    
country date                                   
US      2021-05-01    5                   4
UK      2021-05-01    4                   5  
....so on. Let me know how to get both country and date in the dataset.

最后导出到csv或excel文件。

检查此代码,这将以所需格式给出结果:

import pandas as pd
from pytrends.request import TrendReq
kw_list= ['Solar power','Starlink']
l = []
for i in ['US','GB']:
pytrends=TrendReq()
pytrends.build_payload(kw_list,timeframe='today 3-m',geo=i)
df=pytrends.interest_over_time()
df['country']=i
l.append(df.reset_index())
df1 = pd.concat(l)
df1.to_excel(r'e:google trendsputout.xlsx')

以下是我在您当前代码中所做的更改:

  1. 对于时间框架,pytrends只提供很少的选项,并且";今天是100-w〃;不是之一

    • 当前时间减去时间模式:
      • 按月份:'today#-m'其中#是从该日期起提取数据的月份数,仅工作1、2、3个月
      • Daily:'now#-d'其中#是从该日期起提取数据的天数,仅工作1、7天
      • 每小时:">现在#-H",其中#是从该日期起提取数据的小时数,仅工作1、4小时

    我建议对于特定日期,使用"YYYY-MM-DD YYYY-MM-DD"示例"2016-12-14 2017-01-25">

  2. 您不能提供地理参数列表,它应该是国家代码字符串,对于英国,代码是"GB"(请参阅此链接:国家json,这将为您提供所有谷歌趋势支持的国家及其各自代码的json(

相关内容

最新更新