Achatar dicionário em dataframe [duplicado]
Oct 07 2020
NÃO MARQUE ISTO COMO DUPLICADO.
Este é o meu dicionário, test_dict:
{"Report" : {
"ReportHeader": {
"ReportNum": None,
"Type": {
"source": "user",
"text": "Training"
},
"Reg": "WWWWWW"
}
}
}
Quero nivelar como um dataframe onde a saída esperada é:
Report.ReportHeader.ReportNum Report.ReportHeader.Type.source Report.ReportHeader.Type.text Report.ReportHeader.Reg
None User Training WWWWWWW
O que fiz até agora:
data_df = pd.DataFrame.from_dict(test_dict)
Produzindo no Dataframe:
Report
ReportHeader {'ReportNum': None, 'Type': {'source': ...
Eu também tento explode:
data_df = pd.DataFrame(test_dict).explode('Report').reset_index(drop=True)
Mas não estou obtendo a saída desejada. Em vez de ficar KeyError:0.
Respostas
2 AndrejKesely Oct 07 2020 at 15:54
d = {"Report" : {
"ReportHeader": {
"ReportNum": None,
"Type": {
"source": "user",
"text": "Training"
},
"Reg": "WWWWWW"
}
}
}
df = pd.json_normalize(d)
print(df)
Impressões:
Report.ReportHeader.ReportNum Report.ReportHeader.Type.source Report.ReportHeader.Type.text Report.ReportHeader.Reg
0 None user Training WWWWWW
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino