我有一个生成的文件如下:
[{"intervals": [{"overwrites": 35588.4, "latency": 479.52}, {"overwrites": 150375.0, "latency": 441.1485001192274}], "uid": "23"}]
由于空间原因,我对文件进行了一些简化(除了“覆盖”和“延迟”之外还有更多的列)。我想将数据导入数据帧,以便稍后我可以绘制延迟。我尝试了以下方法:
with open(os.path.join(path, "my_file.json")) as json_file:
curr_list=json.load(json_file)
df=pd.Series(curr_list[0]['intervals'])
print df
返回:
0 {u'overwrites':35588.4,u'latency ...
1 {u'overwrites':150375.0,u'latency ...
但是我无法将df存储在允许我访问延迟字段的数据结构中,如下所示:
graph = df[['latency']]
graph.plot(title="latency")
有什么想法吗? 谢谢你的帮助!
答案 0 :(得分:1)
我认为您可以使用json_normalize
:
import pandas as pd
from pandas.io.json import json_normalize
data = [{"intervals": [{"overwrites": 35588.4, "latency": 479.52},
{"overwrites": 150375.0, "latency": 441.1485001192274}],
"uid": "23"}]
result = json_normalize(data, 'intervals', ['uid'])
print result
latency overwrites uid
0 479.5200 35588.4 23
1 441.1485 150375.0 23