开始使用免费开始使用

展开嵌套 JSON

JSON 数据的一个特点是可以嵌套:某个属性的取值可以由一组属性—值对构成。把这类嵌套数据拆开(也称为"展开"或"扁平化")并放到各自的数据框列中,会更便于使用。pandas.io.json 子模块提供了一个函数 json_normalize(),正是用来完成这个工作的。

Yelp API 的响应数据就是嵌套结构。您的任务是把 coordinateslocation 列中的下一层数据展开。

已导入 pandas(简称 pd)和 requests。API 调用的结果已存为 response

本练习是课程的一部分

使用 pandas 高效导入数据

查看课程

练习说明

  • pandasio.json 子模块中加载 json_normalize() 函数。
  • response 中取出 JSON 数据,并赋值给 data
  • 使用 json_normalize() 将 businesses 数据展开并载入到数据框 cafes 中。将 sep 参数设置为下划线(_),而不是句点。
  • 显示 data 的前几行。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Load json_normalize()
____

# Isolate the JSON data from the API response
data = ____

# Flatten business data into a dataframe, replace separator
cafes = ____(data["businesses"],
             ____)

# View data
print(cafes.head())
编辑并运行代码