开始使用免费开始使用

连接(拼接)数据框

在本练习中,您将通过拼接记录来创建一个数据集:根据 Yelp,纽约市评分最高的 100 家咖啡馆。

API 通常会限制返回的数据量,因为传输大型数据集会消耗时间和资源。Yelp Business Search API 在一次调用中最多返回 50 条记录。不过,可以使用 offset 参数从指定数量之后开始获取结果。通过修改 offset,我们可以在一次调用中获取第 1–50 条,在另一次调用中获取第 51–100 条。然后,将两个数据框追加在一起。

已导入 pandas(作为 pd)、requestsjson_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
____
编辑并运行代码