Maison > développement back-end > Tutoriel Python > Comment convertir efficacement les données JSON d'élévation Google Maps imbriquées en un DataFrame Pandas ?

Comment convertir efficacement les données JSON d'élévation Google Maps imbriquées en un DataFrame Pandas ?

Patricia Arquette
Libérer: 2024-12-22 08:14:13
original
743 Les gens l'ont consulté

How to Efficiently Convert Nested Google Maps Elevation JSON Data into a Pandas DataFrame?

Conversion des données d'élévation JSON en Pandas DataFrame

Objectif : Extraire les données d'élévation de l'API Google Maps et les organiser dans un Pandas DataFrame.

Problème :

Une donnée JSON obtenue à partir de l'API Google Maps Le service d'élévation contient des informations imbriquées au format :

{
   "results" : [
      {
         "elevation" : 243.3462677001953,
         "location" : {
            "lat" : 42.974049,
            "lng" : -81.205203
         },
         "resolution" : 19.08790397644043
      },
      ...
   ],
   "status" : "OK"
}
Copier après la connexion

L'importation de ce JSON dans un Pandas DataFrame mène directement à une structure dispersée.

Solution :

Utilisation Extraction de liste imbriquée :

Pour séparer manuellement l'élévation, la latitude et la longitude data :

data = json.loads(elevations)
lat, lng, el = [], [], []
for result in data['results']:
    lat.append(result[u'location'][u'lat'])
    lng.append(result[u'location'][u'lng'])
    el.append(result[u'elevation'])
df = pd.DataFrame([lat, lng, el]).T
Copier après la connexion

Cela crée un DataFrame avec les colonnes latitude, longitude et altitude.

Utilisation de json_normalize (Pandas v1.01) :

Une approche plus simple utilisant json_normalize de Pandas :

df = pd.json_normalize(data['results'])
Copier après la connexion

Cela aplatit les données JSON dans un DataFrame avec des colonnes pour chaque clé dans la structure imbriquée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal