Maison >développement back-end >Tutoriel Python >Comment convertir les données JSON d'élévation de Google Maps en un DataFrame Pandas ?
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!