目標: 從Google Maps API 中擷取高程資料並將其組織在Pandas DataFrame 中。
從以下位置取得的JSON 資料Google Maps API 高程服務包含以下格式的巢狀資訊:
{ "results" : [ { "elevation" : 243.3462677001953, "location" : { "lat" : 42.974049, "lng" : -81.205203 }, "resolution" : 19.08790397644043 }, ... ], "status" : "OK" }
將此JSON 匯入Pandas DataFrame 會直接導致分散的結構。
使用巢狀清單擷取:
手動分離高程,緯度和經度資料:
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
這將建立一個包含緯度、經度和海拔列的DataFrame。
使用json_normalize (Pandas v1.01 ):
使用Pandas 的更簡單方法json_normalize:
df = pd.json_normalize(data['results'])使用Pandas 的更簡單方法json_normalize:
以上是如何有效地將巢狀的 Google 地圖高程 JSON 資料轉換為 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!