Aplatir des JSON imbriqués
Une caractéristique du format JSON est qu’il peut être imbriqué : la valeur d’un attribut peut elle-même contenir des paires attribut‑valeur. Ces données imbriquées sont plus utiles une fois « dépaquetées » ou aplaties dans leurs propres colonnes de dataframe. Le sous-module pandas.io.json propose une fonction, json_normalize(), qui fait exactement cela.
La réponse de l’API Yelp est imbriquée. Votre objectif est d’aplatir le niveau suivant de données dans les colonnes coordinates et location.
pandas (en pd) et requests ont été importés. Les résultats de l’appel d’API sont stockés dans response.
Cet exercice fait partie du cours
Ingestion de données simplifiée avec pandas
Instructions
- Chargez la fonction
json_normalize()depuis le sous-moduleio.jsondepandas. - Isolez les données JSON de
responseet affectez-les àdata. - Utilisez
json_normalize()pour aplatir et charger les données des entreprises dans un dataframe,cafes. Définissez l’argumentseppour utiliser des underscores (_) plutôt que des points. - Affichez l’en-tête de
data.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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())