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

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-09 14:58:09864parcourir

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

JSON vers Pandas DataFrame : conversion des données d'élévation

Cet article aborde le problème de la transformation des données d'élévation JSON obtenues à partir de l'API Google Maps en un tableau Pandas DataFrame.

Les données JSON ressemblent à ce qui suit format :

{
   "results" : [
      {
         "elevation" : 243.3462677001953,',
         "location" : {
            "lat" : 42.974049,',
            "lng" : -81.205203',
         },
         "resolution" : 19.08790397644043',
      },
      {
         "elevation" : 244.1318664550781,',
         "location" : {
            "lat" : 42.974298,',
            "lng" : -81.19575500000001',
         },
         "resolution" : 19.08790397644043',
      }',
   ],
   "status" : "OK"',
}

L'objectif est d'extraire les données d'altitude, de latitude et de longitude dans un DataFrame avec des colonnes intitulées "Altitude", "Latitude" et "Longitude".

Le La méthode initialement tentée de pd.read_json(elevations) ne parvient pas à produire le résultat souhaité. Cependant, une approche améliorée utilise la fonction json_normalize() de Pandas, qui aplatit les données JSON dans un DataFrame. Le code est le suivant :

from urllib2 import Request, urlopen
import json

import pandas as pd    

path1 = '42.974049,-81.205203|42.974298,-81.195755'
request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false')
response = urlopen(request)
elevations = response.read()
data = json.loads(elevations)
df = pd.json_normalize(data['results'])

Cette opération génère le format DataFrame souhaité avec trois colonnes : "Altitude", "Latitude" et "Longitude".

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!

Déclaration:
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