Python 将json解析为数据帧
我想将上面的json加载到pandas数据框中,并使Python 将json解析为数据帧,python,json,pandas,Python,Json,Pandas,我想将上面的json加载到pandas数据框中,并使is\u可用和变量列名,因此最终的结构如下所示: { "type_a": { "2015-08-07": { "is_available": false, "variable": 0.282 }, "2015-08-23": { "is_available": false, "variable": 0.296 }, "2017-03-28": {
is\u可用
和变量
列名,因此最终的结构如下所示:
{
"type_a": {
"2015-08-07": {
"is_available": false,
"variable": 0.282
},
"2015-08-23": {
"is_available": false,
"variable": 0.296
},
"2017-03-28": {
"is_available": false,
"variable": 0.524
}
},
"type_b": {
"2015-06-27": {
"is_available": true,
"variable": 0.038
},
"2015-07-30": {
"is_available": true,
"variable": 0.035
},
"2017-04-27": {
"is_available": true,
"variable": 0.158
}
}
}
目前,我这样做:
data_source is_available variable
2015-08-07 type_a false 0.282
2015-08-23 type_a false 0.296
2017-03-28 type_a false 0.524
2015-06-27 type_b true 0.038
2015-07-30 type_b true 0.035
2015-04-27 type_b true 0.158
如果我假设您的数据被称为
数据
,则这将实现:
pd.read_json(json)
它不就断章取义地使用真假吗?因为这不是python语法
import pandas as pd
df = pd.DataFrame.from_dict({(i, j): data[i][j] for i in data.keys() for j in data[i].keys()}, orient='index')
df['data_source'] = df.index.droplevel(level=1)
df.index = df.index.droplevel(level=0)