Heim >Backend-Entwicklung >Python-Tutorial >Wie konvertiert man verschachtelte Google Maps Elevation-JSON-Daten effizient in einen Pandas-DataFrame?

Wie konvertiert man verschachtelte Google Maps Elevation-JSON-Daten effizient in einen Pandas-DataFrame?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-22 08:14:13739Durchsuche

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

Konvertieren von JSON-Höhendaten in Pandas DataFrame

Ziel: Höhendaten aus der Google Maps-API extrahieren und in einem Pandas DataFrame organisieren.

Problem:

Ein vom Google Maps API-Höhendienst erhaltenes JSON-Daten enthält verschachtelte Informationen im Format:

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

Das Importieren dieses JSON in einen Pandas DataFrame führt direkt zu einer verstreuten Struktur.

Lösung:

Verwendung der Extraktion verschachtelter Listen :

Zum manuellen Trennen von Höhe, Breite und Länge Daten:

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

Dadurch wird ein DataFrame mit den Spalten Breitengrad, Längengrad und Höhe erstellt.

Mit json_normalize (Pandas v1.01):

Ein einfacherer Ansatz mit Pandas' json_normalize:

df = pd.json_normalize(data['results'])

Dies wird abgeflacht die JSON-Daten in einen DataFrame mit Spalten für jeden Schlüssel in der verschachtelten Struktur.

Das obige ist der detaillierte Inhalt vonWie konvertiert man verschachtelte Google Maps Elevation-JSON-Daten effizient in einen Pandas-DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn