【问题标题】:Flatten dictionary to dataframe [duplicate]将字典展平为数据框[重复]
【发布时间】:2021-01-22 04:47:31
【问题描述】:

请勿将此标记为重复。

这是我的字典,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

【问题讨论】:

标签: python pandas dataframe dictionary explode


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2019-01-10
    • 2022-09-22
    • 2021-06-02
    • 2016-03-23
    • 2021-04-02
    • 2019-10-19
    • 2020-11-29
    • 2018-03-16
    相关资源
    最近更新 更多