展开嵌套 JSON
JSON 数据的一个特点是可以嵌套:某个属性的取值可以由一组属性—值对构成。把这类嵌套数据拆开(也称为"展开"或"扁平化")并放到各自的数据框列中,会更便于使用。pandas.io.json 子模块提供了一个函数 json_normalize(),正是用来完成这个工作的。
Yelp API 的响应数据就是嵌套结构。您的任务是把 coordinates 和 location 列中的下一层数据展开。
已导入 pandas(简称 pd)和 requests。API 调用的结果已存为 response。
本练习是课程的一部分
使用 pandas 高效导入数据
练习说明
- 从
pandas的io.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())