如何将此 JSON 转换为 DataFrame?

Posted

技术标签:

【中文标题】如何将此 JSON 转换为 DataFrame?【英文标题】:How do I convert this JSON to DataFrame? 【发布时间】:2022-01-22 04:24:32 【问题描述】:

我有一个 JSON,我正在努力将其转换为 Python DataFrame。 JSON 采用以下形式:


    "chart_data": [
        
            "date": 1639872000,
            "arrivals": 80,
            "departures": 79
        ,
        
            "date": 1639785600,
            "arrivals": 80,
            "departures": 78
        ,
        
            "date": 1639699200,
            "arrivals": 78,
            "departures": 77
        ,
        
            "date": 1639612800,
            "arrivals": 78,
            "departures": 77
        ,

最终,我想实现如下表:

Date Arrivals Departures
1639872000 80 79
1639785600 80 78

我尝试过 pd.read_json() 但我总是收到错误“将 dicts 与非系列混合可能会导致排序不明确。”

【问题讨论】:

快速googling 会有所帮助。 【参考方案1】:

尝试探索 pd.DataFrame.from_records(...)

例如:

pd.DataFrame.from_records(data['chart_data'], columns=['date', 'arrivals', 'departures'])

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.from_records.html

【讨论】:

【参考方案2】:

您可以通过这种方式为您的用例实现数据框:

pd.DataFrame(x["chart_data"])

作为初始的 'chart_data' 对象包含您希望 DataFrame 存储的所有数据。

【讨论】:

太棒了!非常感谢您的提示。它就像一个魅力。

以上是关于如何将此 JSON 转换为 DataFrame?的主要内容,如果未能解决你的问题,请参考以下文章

如何将此 JSON 格式转换为模型类并使用改造将响应转换为列表

如何将此 curl 命令转换为 Ruby rest-client put 请求?

将此 curl cmd 转换为 Python 3

如何将此嵌套的 JSON 以柱状形式转换为 Pandas 数据框

如何将 pandas DataFrame 转换为 json 用于 django 模型?

如何在 Databricks 上将 Azure Synapse Dataframe 转换为 JSON?