连接(拼接)数据框
在本练习中,您将通过拼接记录来创建一个数据集:根据 Yelp,纽约市评分最高的 100 家咖啡馆。
API 通常会限制返回的数据量,因为传输大型数据集会消耗时间和资源。Yelp Business Search API 在一次调用中最多返回 50 条记录。不过,可以使用 offset 参数从指定数量之后开始获取结果。通过修改 offset,我们可以在一次调用中获取第 1–50 条,在另一次调用中获取第 51–100 条。然后,将两个数据框追加在一起。
已导入 pandas(作为 pd)、requests 和 json_normalize()。评分最高的 50 家咖啡馆已存放在数据框 top_50_cafes 中。
本练习是课程的一部分
使用 pandas 高效导入数据
练习说明
- 在
params中添加一个"offset"参数,使 Yelp API 调用获取第 51–100 家咖啡馆。 - 将该次 API 调用的结果与
top_50_cafes进行拼接,设置ignore_index以便重新编号各行。 - 打印结果数据框
cafes的 shape,确认共有 100 条记录。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Add an offset parameter to get cafes 51-100
params = {"term": "cafe",
"location": "NYC",
"sort_by": "rating",
"limit": 50,
____}
result = requests.get(api_url, headers=headers, params=params)
next_50_cafes = json_normalize(result.json()["businesses"])
# Concatenate the results, setting ignore_index to renumber rows
cafes = ____
# Print shape of cafes
____