【问题标题】:How to flatten deeply nested JSON in Pandas如何在 Pandas 中展平深度嵌套的 JSON
【发布时间】:2021-12-03 05:53:36
【问题描述】:

我有一个相当嵌套的 JSON,其中包含针对不同“产品”的情绪度量。我想将此数据加载到 Pandas 数据框中,以便我拥有:

  • 产品名称
  • 语言
  • 情绪
  • 平台
  • 开始日期
  • 结束日期
  • 价值

存储在不同的列中。

注意:完整数据负载中的所有产品名称都会不同。 这里的 sn-p 显示了“参与度”的情绪测量值,预计这里还有其他类型的情绪(StackOverFlow 不允许我包含更多示例数据)。

{
    "product_ABC": {
        "en": {
            "engagement": {
                "Twitch": {
                    "series": [
                        {
                            "started_at": "2021-10-05 00:00:00 -0700",
                            "ended_at": "2021-10-06 00:00:00 -0700",
                            "value": 17274
                        },
                        {
                            "started_at": "2021-10-06 00:00:00 -0700",
                            "ended_at": "2021-10-07 00:00:00 -0700",
                            "value": 11354
                        }
                    ]
                },
                "Youtube": {
                    "series": [
                        {
                            "started_at": "2021-10-05 00:00:00 -0700",
                            "ended_at": "2021-10-06 00:00:00 -0700",
                            "value": 76
                        },
                        {
                            "started_at": "2021-10-06 00:00:00 -0700",
                            "ended_at": "2021-10-07 00:00:00 -0700",
                            "value": 28
                        }
                    ]
                }
            }
        }
    }
}

这样我就可以拥有一个类似于...的数据框 flattened tabular structure

【问题讨论】:

  • 向我们展示你做了什么以及输出应该是什么样子?
  • 尝试了pd.json_normalize,但在阅读在线示例数小时后无法取得任何体面的进展

标签: python json pandas dataframe


【解决方案1】:

我不确定您要做什么,但请查看“wildpath”:https://pypi.org/project/wildpath/

【讨论】:

    【解决方案2】:

    我发现 flactdict 包,一旦加载到字典中,它就会扁平化有效负载

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
    猜你喜欢
    • 2022-01-13
    • 2021-01-18
    • 1970-01-01
    • 2016-05-07
    • 2021-10-09
    • 2021-12-20
    • 2021-12-16
    • 2017-04-19
    • 1970-01-01
    相关资源
    最近更新 更多