深い入れ子のデータを扱う
前の演習では、1段階だけ入れ子になったデータをフラット化しました。ここでは、さらに深く入れ子になったデータを展開します。
Yelp API のレスポンスにある categories 属性は、オブジェクトのリストを含んでいます。これをフラット化するために、json_normalize() の引数で categories までのパスを指定し、データフレームに含める他の属性を選びます。列を選びやすくするためにセパレーターも変更し、列名の衝突を防ぐために他の属性にはプレフィックスを付けましょう。段階を追って進めます。
pandas(pd)と json_normalize() はインポート済みです。NYC のカフェに関する JSON 形式の Yelp データは data に保存されています。
この演習はコースの一部です
pandasで効率よくデータを取り込む
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Flatten businesses records and set underscore separators
flat_cafes = ____(data["businesses"],
____)
# View the data
print(flat_cafes.head())