사전을 데이터 프레임으로 병합 [중복]

Oct 07 2020

이것을 중복으로 표시하지 마십시오.

이것은 내 사전입니다 test_dict.

{"Report" : {
      "ReportHeader": {
      "ReportNum": None,
      "Type": {
        "source": "user",
        "text": "Training"
      },
      "Reg": "WWWWWW"
    }
}
}

예상 출력이 다음과 같은 데이터 프레임으로 평면화하고 싶습니다.

    Report.ReportHeader.ReportNum     Report.ReportHeader.Type.source          Report.ReportHeader.Type.text     Report.ReportHeader.Reg 

                None                        User                                           Training                            WWWWWWW

지금까지 내가 한 일 :

data_df = pd.DataFrame.from_dict(test_dict)

Dataframe에서 생성 :

                                              Report
ReportHeader  {'ReportNum': None, 'Type': {'source': ...

나는 또한 시도 explode:

data_df = pd.DataFrame(test_dict).explode('Report').reset_index(drop=True)

그러나 원하는 출력을 얻지 못했습니다. 대신 KeyError:0.

답변

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)

인쇄물:

  Report.ReportHeader.ReportNum Report.ReportHeader.Type.source Report.ReportHeader.Type.text Report.ReportHeader.Reg
0                          None                            user                      Training                  WWWWWW