欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 使用 Pandas 读取 JSON 数据的五种常见结构解析

使用 Pandas 读取 JSON 数据的五种常见结构解析

2025/11/8 4:29:53 来源:https://blog.csdn.net/weixin_51524504/article/details/144429895  浏览:    关键词:使用 Pandas 读取 JSON 数据的五种常见结构解析

文章目录

    • 引言
    • JSON 数据的五种常见结构
      • 1. `'split'` 结构
      • 2. `'records'` 结构
      • 3. `'index'` 结构
      • 4. `'columns'` 结构
      • 5. `'values'` 结构

引言

在日常生活中,我们经常与各种数据打交道,无论是从网上购物的订单信息到社交媒体上的动态更新。JSON(JavaScript Object Notation)是一种常见的数据交换格式,被广泛应用于互联网服务中。Pandas 是 Python 中用于数据分析的强大库,它能够轻松处理 JSON 数据,并将其转换为易于操作的数据表格形式——DataFrame。

JSON 数据的五种常见结构

1. 'split' 结构

假设您正在整理家庭开支记录,您的 JSON 文件可能像这样组织,分为索引、列名和数据值三个部分。

JSON 示例:

{"index": ["超市", "餐厅"],"columns": ["支出金额", "日期"],"data": [[120, "2024-11-01"], [85, "2024-11-02"]]
}

Pandas 代码及输出结果:

import pandas as pdjson_split = '{"index": ["超市", "餐厅"], "columns": ["支出金额", "日期"], "data": [[120, "2024-11-01"], [85, "2024-11-02"]]}'
df_split = pd.read_json(json_split, orient='split')
print(df_split)

输出结果示例:

       支出金额        日期
超市       120  2024-11-01
餐厅        85  2024-11-02

2. 'records' 结构

如果您有多个朋友的联系方式列表,每条记录可以是一个包含所有字段的字典。

JSON 示例:

[{"姓名": "李华", "电话": "12345678"},{"姓名": "王伟", "电话": "87654321"}
]

Pandas 代码及输出结果:

json_records = '[{"姓名": "李华", "电话": "12345678"}, {"姓名": "王伟", "电话": "87654321"}]'
df_records = pd.read_json(json_records, orient='records')
print(df_records)

输出结果示例:

   姓名       电话
0  李华  12345678
1  王伟  87654321

3. 'index' 结构

想象一下,您有一个书籍收藏列表,其中每一本书都有一个唯一的编号作为索引。

JSON 示例:

{"书1": {"标题": "Python编程", "作者": "张三"},"书2": {"标题": "数据分析入门", "作者": "李四"}
}

Pandas 代码及输出结果:

json_index = '{"书1": {"标题": "Python编程", "作者": "张三"}, "书2": {"标题": "数据分析入门", "作者": "李四"}}'
df_index = pd.read_json(json_index, orient='index')
print(df_index)

输出结果示例:

      标题         作者
书1  Python编程     张三
书2  数据分析入门     李四

4. 'columns' 结构

考虑一个情景,您正在记录每周的天气情况,以列为单位存储温度和湿度等信息。

JSON 示例:

{"温度": {"周一": 22, "周二": 20},"湿度": {"周一": 58, "周二": 60}
}

Pandas 代码及输出结果:

json_columns = '{"温度": {"周一": 22, "周二": 20}, "湿度": {"周一": 58, "周二": 60}}'
df_columns = pd.read_json(json_columns, orient='columns')
print(df_columns)

输出结果示例:

      温度  湿度
周一    22   58
周二    20   60

5. 'values' 结构

最后,如果您的数据是简单的二维数组,不包括任何索引或列名信息。

JSON 示例:

[[22, 58], [20, 60]]

Pandas 代码及输出结果:

json_values = '[[22, 58], [20, 60]]'
df_values = pd.read_json(json_values, orient='values')
print(df_values)

输出结果示例:

   0   1
0  22  58
1  20  60

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词