在 pandas 数据帧上使用循环进行 Foursquare 调用

Using a loop on a pandas dataframe to make Foursquare call

卡在项目的某个步骤上。对于这部分,我有一个数据框 (df_income_zip_good),其中包含美国人均收入排名前 100 的城镇的信息。

数据框如下所示:

我已经 运行 使用 folium 在这个数据帧上进行了循环,并且能够毫无问题地进行映射。

for i, series in df_income_zip_good.iterrows():
    lat = series ['lat']
    lng = series ['lng']
    town = series ['place']

    folium.Marker (location=[lat,lng], popup = town, icon = folium.Icon(color='blue')).add_to(map_usa)
map_usa

我正在尝试编写另一个循环,该循环将从 foursquare 中为 df_income_zip_good 中纬度、经度的每个组合抓取信息,但没有成功。

 # scraping the foursquare website for the information we want and obtaining the json file as results

for i, series in df_income_zip_good.iterrows():
    lat = series ['lat']
    lng = series ['lng']
    town = series ['place']
    LIMIT = 100
    radius = 1000
    url4Sqr = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}'.format(
        CLIENT_ID,
        CLIENT_SECRET,
        VERSION,
        lat,
        lng,
        radius,
        LIMIT)

#export results to json file
result4Sqr = requests.get(url4Sqr).json()["response"]['groups'][0]['items']


#print results from call
print (result4Sqr)

请求的 json 打印出来了,但它只打印了 df_income_zip_good 中的一行。它似乎没有在整个 df_income_zip_good.

循环

不确定去哪里,如有任何指导,我们将不胜感激。

谢谢!

如果你看看你的代码

or i, series in df_income_zip_good.iterrows():
    ...

#export results to json file
result4Sqr = requests.get(url4Sqr).json()["response"]['groups'][0]['items']


#print results from call
print (result4Sqr)

最后几行不是循环的一部分(它们不像其他行那样缩进)。所以循环首先执行,然后其他行在循环中最后设置的值上执行。