问题描述
我有如下所示的字典
d1:
@H_502_4@{'teachers': 49,'students': 289,'R': 3.7,'holidays': 165,'E': {'from': '2020-02-29T20:00:00.000Z','to': '2020-03-20T20:00:00.000Z','F': 3,'C': 2},'OS':18
'sC': {'from': '2020-03-31T20:00:00.000Z','to': '2020-05-29T20:00:00.000Z','F': 25,'C': 31}}
我想将上面的字典转换为数据框,如下面的熊猫所示。
@H_502_4@Params Value
teachers 49
students 289
R 3.7
holidays 165
E_from 2020-02-29
E_to 2020-03-20
E_F 3
E_C 2
OS 18
sC_from 2020-03-31
sC_to 2020-05-29
sC_F 25
sC_C 31
解决方法
您可以使用json_normalize
,然后转置数据框:
d = {'teachers': 49,'students': 289,'R': 3.7,'holidays': 165,'Em': {'from': '2020-02-29T20:00:00.000Z','to': '2020-03-20T20:00:00.000Z','F': 3,'C': 2},'OS':18,'sC': {'from': '2020-03-31T20:00:00.000Z','to': '2020-05-29T20:00:00.000Z','F': 25,'C': 31}}
df=pd.json_normalize(d,sep='_').T.reset_index().rename(columns={'index':'Params',0:'Value'})
输出:
df
Params Value
teachers 49
students 289
R 3.7
holidays 165
OS 18
Em_from 2020-02-29T20:00:00.000Z
Em_to 2020-03-20T20:00:00.000Z
Em_F 3
Em_C 2
sC_from 2020-03-31T20:00:00.000Z
sC_to 2020-05-29T20:00:00.000Z
sC_F 25
sC_C 31