1. 学ぶ
  2. /
  3. コース
  4. /
  5. pandasで効率よくデータを取り込む

Connected

演習

入れ子のJSONをフラット化する

JSONデータの特徴として、入れ子(ネスト)にできる点があります。属性の値が、さらに属性と値の組で構成されることがあるのです。こうしたネストされたデータは、展開して別々のデータフレーム列に「フラット化」すると、より扱いやすくなります。pandas.io.json サブモジュールには、まさにそれを行う json_normalize() という関数があります。

Yelp APIのレスポンスデータはネストされています。ここでは、coordinates 列と location 列の次のレベルのデータをフラット化してください。

pandas(pd)と requests はインポート済みで、API呼び出しの結果は response に保存されています。

指示

100 XP
  • pandas の io.json サブモジュールから json_normalize() 関数を読み込みます。
  • response からJSONデータを取り出して data に代入します。
  • json_normalize() を使って、businessesのデータをフラット化してデータフレーム cafes に読み込みます。引数 sep にはピリオドではなくアンダースコア(_)を指定します。
  • data の先頭を表示します。