我是Python新手,使用非官方pytrendsAPI来抓取Google Trend。我有 2000 多个关键字作为 DNA 列表,并尝试抓取数据。当我运行此代码时,即使我添加了time.sleep(1). 谁能帮我解决这个问题吗?
下面是我的代码
#DNA has 2000+ lists
from pytrends.request import TrendReq
import pandas as pd
import xlsxwriter
import time
pytrends = TrendReq(hl='en-US,tz=360')
Data = pd.DataFrame()
#Google Trend Crawler
for i in range(DNA[i]):
time.sleep(1)
kw_list = [DNA[i]]
pytrends.build_payload(kw_list, cat=0, timeframe='today 5-y', geo='', gprop='')
df = pd.DataFrame(pytrends.interest_over_time())
#Setting a Google Trend Dates
if(i==0):
Googledate = pd.DataFrame(pytrends.interest_over_time())
Data['Date'] = Googledate.index
Data.set_index('Date', inplace=True)
#results
if(df.empty == True):
Data[DNA[i]] = ""
else:
df.index.name = …Run Code Online (Sandbox Code Playgroud) 我的DF具有多索引列。我所有的值都在float中,并且我想在第一级多索引中合并值。请参阅下面的详细信息。
first bar baz foo
second one two one two one
A 0.895717 0.805244 1.206412 2.565646 1.431256
B 0.410835 0.813850 0.132003 0.827317 0.076467
C 1.413681 1.607920 1.024180 0.569605 0.875906
first bar baz foo
A (0.895717+0.805244) (1.206412+2.565646) 1.431256
B (0.410835+0.813850) (0.132003+0.827317) 0.076467
C (1.413681+1.607920) (1.024180+0.569605) 0.875906
Run Code Online (Sandbox Code Playgroud)
值实际上是添加的(我只是不想做所有这些事情:)。最重要的是,我只想升级(我猜是更高的级别),并在索引内添加所有值。请让我知道执行此操作的好方法。谢谢!
我只想添加两个列表,如下所示.我不必使用嵌套列表,但可以将其更改为numpy数组.请告诉我.谢谢!
input
lst1 = [[1,0,1],[1,0,0],[0,1,0]]
lst2 = [[0,1,0],[1,0,1],[1,0,1]]
output
lst = [[1,1,1],[2,0,1],[1,1,1]]
Run Code Online (Sandbox Code Playgroud)
我试图添加简单的"+"或合并,但似乎它不会像Pandas DataFrame一样工作,你可以用'+'做同样的功能.我不愿意使用DataFrame,但是将其简化为列表或数组.
如果这可以在不使用循环的情况下完成,那将是完美的!
python ×3
dataframe ×2
arrays ×1
google-api ×1
list ×1
multi-index ×1
numpy ×1
pandas ×1
sum ×1
web-crawler ×1