JSON から Pandas DataFrame へ: 標高データの変換
この記事では、Google Maps API から取得した JSON 標高データを表形式に変換する問題について説明します。 Pandas DataFrame.
JSON データは次のようになります。 format:
{ "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'])
この操作により、「標高」、「緯度」、「経度」の 3 つの列を含む目的の DataFrame 形式が生成されます。
以上がGoogle マップの標高 JSON データを Pandas DataFrame に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。