開始使用免費開始

攤平巢狀的 JSON

JSON 資料的一大特色是可以巢狀:某個屬性的值本身可以是由多組屬性與值所組成。將這種巢狀資料解包(或稱攤平)到各自的 dataframe 欄位後,會更好用。pandas.io.json 子模組提供了 json_normalize() 函式,正是用來做這件事。

Yelp API 的回應資料是巢狀的。你的工作是把 coordinateslocation 欄位中下一層的資料攤平出來。

已經匯入 pandas(作為 pd)與 requests。API 呼叫的結果已存成 response

本練習屬於課程

使用 pandas 的精實資料導入

檢視課程

練習說明

  • pandasio.json 子模組載入 json_normalize() 函式。
  • response 取出 JSON 資料並指定給 data
  • 使用 json_normalize() 將 businesses 資料攤平並載入為一個 dataframe,命名為 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())
編輯並執行程式碼