目标: 从 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'])
这会将 JSON 数据展平为 DataFrame,其中嵌套结构中每个键都有列。
以上是如何有效地将嵌套的 Google 地图高程 JSON 数据转换为 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!