从json创建pandas MultiIndex数据框架



我正在从webservice接收以下json:

{
"headers":[
{
"seriesId":"18805",
"Name":"Name1",
"assetId":"4"
},
{
"seriesId":"18801",
"Name":"Name2",
"assetId":"209"
}
],
"values":[
{             
"Date":"01-Jan-2021",
"18805":"127.93",
"18801":"75.85"
}
]
}

是否有办法从这个数据创建一个MultiIndex数据框架?我想日期是行索引和其余的列索引。

  • 键是一个直接的数据帧
  • 列可以从重新构建关键
js = {'headers': [{'seriesId': '18805', 'Name': 'Name1', 'assetId': '4'},
{'seriesId': '18801', 'Name': 'Name2', 'assetId': '209'}],
'values': [{'Date': '01-Jan-2021', '18805': '127.93', '18801': '75.85'}]}
# get values into dataframe
df = pd.DataFrame(js["values"]).set_index("Date")
# get headers for use in rebuilding column names
dfc = pd.DataFrame(js["headers"])
# rebuild columns
df.columns = pd.MultiIndex.from_tuples(dfc.apply(tuple, axis=1), names=dfc.columns)
print(df)
seriesId      18805  18801
Name          Name1  Name2
assetId           4    209
Date                      
01-Jan-2021  127.93  75.85

最新更新