error2007s:
私は、SDKを使用して、NOAAのAPIから気象データを引っ張っに取り組んでいます。以下のサンプルコードは、次のとおりです。
import requests, json
import pandas as pd
from pandas.io.json import json_normalize
from noaa_sdk import noaa
n = noaa.NOAA()
n.points_forecast(40.7314, -73.8656, hourly=False)
出力例は以下の通りです:
{'@context':
['https://raw.githubusercontent.com/geojson/geojson-ld/master/contexts/geojson-base.jsonld',
{'wx': 'https://api.weather.gov/ontology#', 'geo':
'http://www.opengis.net/ont/geosparql#', 'unit':
'http://codes.wmo.int/common/unit/', '@vocab':
'https://api.weather.gov/ontology#'}], 'type': 'Feature',
'geometry': {'type': 'GeometryCollection', 'geometries': [{'type':
'Point', 'coordinates': [-73.8610332, 40.7408918]}, {'type':
'Polygon',
'coordinates': [[[-73.8730892, 40.7534295],
[-73.8775823, 40.7317593],
[-73.8489801, 40.7283524],
[-73.84448110000001, 40.7500224],
[-73.8730892, 40.7534295]]]}]}, 'properties': {'updated': '2020-04-03T09:30:44+00:00', 'units': 'us', 'forecastGenerator':
'BaselineForecastGenerator', 'generatedAt':
'2020-04-03T14:18:55+00:00', 'updateTime':
'2020-04-03T09:30:44+00:00', 'validTimes':
'2020-04-03T03:00:00+00:00/P7DT4H', 'elevation': {'value': 14.9352,
'unitCode': 'unit:m'}, 'periods': [{'number': 1,
'name': 'Today',
'startTime': '2020-04-03T10:00:00-04:00',
'endTime': '2020-04-03T18:00:00-04:00',
'isDaytime': True,
'temperature': 53,
'temperatureUnit': 'F',
'temperatureTrend': 'falling',
'windSpeed': '18 mph',
'windDirection': 'N',
'icon': 'https://api.weather.gov/icons/land/day/rain,50?size=medium',
'shortForecast': 'Chance Light Rain',
'detailedForecast': 'A chance of rain. Cloudy. High near 53, with temperatures falling to around 50 in the afternoon. North wind around
18 mph, with gusts as high as 29 mph. Chance of precipitation is
50%.'}
私はCSVファイルとしてエクスポートできるように、データフレームにJSON出力の上に変換する必要があります。それを達成するには?
私は以下の列を持っているデータフレームを必要とします
'name': 'Today',
'startTime': '2020-04-03T10:00:00-04:00',
'endTime': '2020-04-03T18:00:00-04:00',
'isDaytime': True,
'temperature': 53,
'temperatureUnit': 'F',
'temperatureTrend': 'falling',
'windSpeed': '18 mph',
'windDirection': 'N',
'icon': 'https://api.weather.gov/icons/land/day/rain,50?size=medium',
'shortForecast': 'Chance Light Rain',
'detailedForecast': 'A chance of rain. Cloudy. High near 53, with temperatures falling to around 50 in the afternoon. North wind around
18 mph, with gusts as high as 29 mph. Chance of precipitation is
50%.'
セルジュBallestaの:
[OK]を、我々が最初に思ったかもしれないということが容易です。すべての関連分野は、リスト内の同じ辞書です。これは、データフレームのネイティブのエントリです。
あなたがでJSONをロードしていると仮定すると、data
変数、あなただけ行うことができます。
df = pd.DataFrame(data['properties']['periods'],
columns= ['name', 'startTime', 'endTime', 'isDaytime', 'temperature',
'temperatureUnit', 'temperatureTrend', 'windSpeed', 'windDirection',
'icon', 'shortForecast', 'detailedForecast'])
それは与えます:
name startTime endTime isDaytime temperature temperatureUnit temperatureTrend windSpeed windDirection icon shortForecast detailedForecast
0 Today 2020-04-03T10:00:00-04:00 2020-04-03T18:00:00-04:00 True 53 F falling 18 mph N https://api.weather.gov/icons/land/day/rain,50... Chance Light Rain A chance of rain. Cloudy. High near 53, with t...