CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Chargez la fonction json_normalize() depuis le sous-module io.json de pandas.
  • Isolez les données JSON de response et affectez-les à data.
  • Utilisez json_normalize() pour aplatir et charger les données des entreprises dans un dataframe, cafes. Définissez l’argument sep pour 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())
Modifier et exécuter le code