热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何用Python将熊猫DataFrame转换成JSON?

如何用Python将熊猫DataFrame转换成JSON?

如何用 Python 将熊猫 DataFrame 转换成 JSON?

原文:https://www . geesforgeks . org/如何将 pandas-data frame-in-JSON-in-python/

数据分析是当今世界极其重要的工具。数据分析的一个关键方面是数据的有组织的表示。在计算机科学中有许多数据结构来实现这一任务。在本文中,我们将讨论两种这样的数据结构,即。熊猫数据框JSON 。此外,我们还将看到如何将数据帧转换为 JSON 格式。

熊猫数据帧是数据的表格表示,其中列表示单个数据条目中的不同数据点,每行是唯一的数据条目。而 JSON 是用 Javascript 对象符号编写的文本。

注:更多信息请参考 Python |熊猫数据框

将熊猫数据帧转换为 JSON

要将熊猫数据帧转换为 JSON 格式,我们使用 Python 中熊猫库的函数DataFrame.to_json()。to_json 函数中有多种定制,可以实现所需的 json 格式。让我们看看函数接受的参数,然后探索定制

参数:


































































参数价值使用
path_or_buf字符串或文件名,可选文件路径或对象。如果未指定,结果将作为字符串返回。
东方拆分','记录','索引','列','值','表',默认值= '索引'预期 JSON 字符串格式的指示。
日期格式无,“纪元”,“iso”,默认值=“纪元”日期转换的类型。epoch' = epoch 毫秒,' iso' = ISO8601。默认值取决于方向。对于 orient='table ',默认值为' iso '。对于所有其他方向,默认为“纪元”。
双精度整数值,默认值=10对浮点值进行编码时使用的小数位数。
力量 _ascii布尔值,默认值=真强制编码字符串为 ASCII。
日期单位s ',' ms ',' us ',' ns ',默认值='ms '要编码到的时间单位,控制时间戳和 ISO8601 精度。这些值分别代表秒、毫秒、微秒和纳秒。
默认处理程序可调用函数如果对象不能转换为适合 JSON 的格式,则调用处理程序。应该接收单个参数,该参数是要转换并返回可序列化对象的对象。
线布尔值,默认值=假如果“orient”是“records ”,写出以行分隔的 json 格式。如果“方向”不正确,将抛出 ValueError,因为其他值不像列表。
压缩推断',' gzip ',' bz2 ',' zip ',' xz ',无,默认= '推断'一个字符串,表示要在输出文件中使用的压缩,仅当第一个参数是文件名时使用。默认情况下,压缩是从文件名推断出来的。
指数布尔值,默认值=真是否在 JSON 字符串中包含索引值。仅当方向为“拆分”或“表”时,才支持不包括索引(索引=假)。
缩进整数值用于缩进每条记录的空白长度。可选参数无需提及。

我们现在看几个例子来理解函数 DataFrame.to_json 的用法。

例 1: 基本用法

import numpy as np
import pandas as pd
data = np.array([['1', '2'], ['3', '4']])
dataFrame = pd.DataFrame(data, columns = ['col1', 'col2'])
json = dataFrame.to_json()
print(json)

输出:

{"col1":{"0":"1", "1":"3"}, "col2":{"0":"2", "1":"4"}}

例 2: 探索 DataFrame.to_json 函数的‘orient’属性

import numpy as np
import pandas as pd
data = np.array([['1', '2'], ['3', '4']])
dataFrame = pd.DataFrame(data, columns = ['col1', 'col2'])
json = dataFrame.to_json()
print(json)
json_split = dataFrame.to_json(orient ='split')
print("json_split = ", json_split, "\n")
json_records = dataFrame.to_json(orient ='records')
print("json_records = ", json_records, "\n")
json_index = dataFrame.to_json(orient ='index')
print("json_index = ", json_index, "\n")
json_columns = dataFrame.to_json(orient ='columns')
print("json_columns = ", json_columns, "\n")
json_values = dataFrame.to_json(orient ='values')
print("json_values = ", json_values, "\n")
json_table = dataFrame.to_json(orient ='table')
print("json_table = ", json_table, "\n")

输出:

json_split = {"columns":["col1 "," col2"]," index":[0,1]," data ":[" 1 "," 2"],["3 "," 4 "]}

JSON _ records =[{ " col 1 "" 1 "、" col 2 "" 2 " }、{ " col 1 "" 3 "、" col 2 "" 4 " }]

JSON _ index = { " 0 ":{ " col 1 "" 1 "、" col 2 "" 2 " }、" 1 ":{ " col 1 "" 3 "、" col 2 "" 4 " } }

JSON _ columns = { " col 1 ":{ " 0 ":" 1 "、" 1 ":" 3 " }、" col 2 ":{ " 0 ":" 2 "、" 1 ":" 4 " } }

json_values = [["1 "," 2"],["3 "," 4"]]

JSON _ table = { " schema ":{ " fields ":[{ " name ":" index "、" type":"integer"}、{"name":"col1 "、" type":"string"}、{"name":"col2 "、" type":"string"}]、" primaryKey":["index"]、" pandas _ version ":" 0 . 20 . 0 " }、" data":[{"index":0 "、" col 1 ":" 1 "、" col 2 ":" 2 " }、{ "


推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细解析了如何使用Python的urllib模块发起POST请求,并通过实例展示如何爬取百度翻译的翻译结果。 ... [详细]
author-avatar
长发及腰和我娶你D有毛关系
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有