Pandas结构化json数据

Pandas 将json数据结构化

介绍

json_normalize 是 Pandas 库中一个强大的函数,用于将嵌套的 JSON 数据规范化成平面的 DataFrame。这对于处理包含嵌套结构的 JSON 数据非常有用,使其更容易分析和操作。在本教程中,我们将深入介绍 json_normalize 函数,并通过通俗的例子帮助你理解其参数的作用。

安装 Pandas

首先,确保你已经安装了 Pandas。如果没有安装,可以使用以下命令进行安装:

pip install pandas

使用 json_normalize

基本用法

让我们从最基本的用法开始。假设有如下嵌套的 JSON 数据:

{
  "name": "John",
  "age": 30,
  "address": {
    "city": "New York",
    "zip": "10001"
  }
}

现在我们将使用 json_normalize 将其规范化成 DataFrame:

import pandas as pd

# 嵌套的 JSON 数据
data = {
    "name": "John",
    "age": 30,
    "address": {
        "city": "New York",
        "zip": "10001"
    }
}

# 使用 json_normalize 规范化
df = pd.json_normalize(data)

# 打印 DataFrame
print(df)

运行上述代码,你将得到一个包含规范化数据的 DataFrame。

处理嵌套数组

json_normalize 也可以处理包含嵌套数组的 JSON 数据。考虑以下 JSON:

{
  "name": "John",
  "age": 30,
  "skills": [
    {"language": "Python", "level": "Intermediate"},
    {"language": "JavaScript", "level": "Advanced"}
  ]
}

我们可以使用 record_path 参数指定要规范化的嵌套数组:

# 嵌套数组的 JSON 数据
data_with_array = {
    "name": "John",
    "age": 30,
    "skills": [
        {"language": "Python", "level": "Intermediate"},
        {"language": "JavaScript", "level": "Advanced"}
    ]
}

# 使用 json_normalize 规范化,指定嵌套数组路径
df_with_array = pd.json_normalize(data_with_array, record_path='skills')

# 打印 DataFrame
print(df_with_array)

通过指定 record_path 参数,我们将嵌套数组规范化成了 DataFrame。

处理嵌套 JSON

json_normalize 还支持处理嵌套的 JSON 结构。考虑以下 JSON:

{
  "name": "John",
  "age": 30,
  "contact": {
    "email": "john@example.com",
    "phone": {
      "home": "123-456-7890",
      "work": "987-654-3210"
    }
  }
}

我们可以使用 sep 参数指定嵌套层次的分隔符:

# 嵌套 JSON 数据
data_nested = {
    "name": "John",
    "age": 30,
    "contact": {
        "email": "john@example.com",
        "phone": {
            "home": "123-456-7890",
            "work": "987-654-3210"
        }
    }
}

# 使用 json_normalize 规范化,指定嵌套层次分隔符
df_nested = pd.json_normalize(data_nested, sep='_')

# 打印 DataFrame
print(df_nested)

在这个例子中,我们通过指定 sep 参数,将嵌套的 JSON 结构规范化成了 DataFrame。

总结

通过本教程,你学习了如何使用 Pandas 中的 json_normalize 函数将嵌套的 JSON 数据规范化成易于处理的 DataFrame。我们介绍了基本用法以及如何处理嵌套数组和嵌套 JSON 结构。希望这些通俗易懂的例子能够帮助你更好地理解 json_normalize 函数的使用。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值