JSON 到 Pandas DataFrame:转换海拔数据
本文解决了将从 Google Maps API 获取的 JSON 海拔数据转换为表格的问题Pandas DataFrame。
JSON 数据类似于以下内容格式:
{ "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"', }
目标是将海拔、纬度和经度数据提取到 DataFrame 中,其中包含标题为“海拔”、“纬度”和“经度”的列。
最初尝试的 pd.read_json(elevations) 方法无法产生所需的结果。然而,一种改进的方法利用 Pandas 的 json_normalize() 函数,它将 JSON 数据扁平化为 DataFrame。代码如下:
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'])
此操作生成所需的 DataFrame 格式,包含三列:“海拔”、“纬度”和“经度”。
以上是如何将 Google 地图高程 JSON 数据转换为 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!