我正在从API('http://api.eia.gov/')导入JSON文件。以下三行非常适合将时间序列数据放入数据帧:
d = json.loads(requests.get(page).text)
df = pd.DataFrame(d['series'][0]['data'])
df = df.set_index(df[0])
我的问题是要提取与该字典末尾出现的数据无关的其他值/元素。这是我在终端中输入d时的一些输出。
In [72]: d
Out[72]:
{'request': {'command': 'series', 'series_id': 'STEO.COPR_AG.M'},
'series': [{'series_id': 'STEO.COPR_AG.M',
'name': 'Crude Oil Production, Algeria, Monthly',
'units': 'million barrels per day',
'f': 'M',
'copyright': 'None',
'source': 'U.S. Energy Information Administration (EIA) - Short Term Energy
Outlook',
'geography': 'DZA',
'start': '199401',
'end': '201806',
'lastHistoricalPeriod': '201803',
'updated': '2018-07-10T12:02:18-0400',
'data': [['201806', 1.04],
['201805', 1.02],
['201804', 0.99],
['201803', 0.99],
因此,使用上面的df给我时间序列的数据帧数据。但是我不知道如何获取其他一些变量-例如'name'或'lastHistoricalPeriod'
先谢谢了。
答案 0 :(得分:0)
我知道了。
我还需要包括系列...不确定我为什么要理解逻辑,但这是可行的。
In [90]: x = d['series'][0]['name']
In [91]: print(x)
Crude Oil Production, Algeria, Monthly