首頁 >後端開發 >Python教學 >如何有效地將巢狀的 Google 地圖高程 JSON 資料轉換為 Pandas DataFrame?

如何有效地將巢狀的 Google 地圖高程 JSON 資料轉換為 Pandas DataFrame?

Patricia Arquette
Patricia Arquette原創
2024-12-22 08:14:13740瀏覽

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

將JSON 高程資料轉換為Pandas DataFrame

目標: 從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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn