小编Kan*_*ang的帖子

Google 趋势爬虫代码 429 错误

我是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)

python google-api web-crawler google-crawlers google-trends

6
推荐指数
1
解决办法
1万
查看次数

多索引DataFrame中按级别求和的列

我的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)

值实际上是添加的(我只是不想做所有这些事情:)。最重要的是,我只想升级(我猜是更高的级别),并在索引内添加所有值。请让我知道执行此操作的好方法。谢谢!

python sum multi-index dataframe pandas

2
推荐指数
2
解决办法
2870
查看次数

Python:嵌套列表合并,在同一索引中添加int

我只想添加两个列表,如下所示.我不必使用嵌套列表,但可以将其更改为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 arrays numpy list dataframe

1
推荐指数
1
解决办法
116
查看次数