Python库pandas之四
Python库pandas之四
- 输入/输出
- read_json
- 函数
- 应用实列
输入/输出
read_json
函数
词法:pandas.read_json(path_or_buf, *, orient=None, typ=‘frame’, dtype=None, convert_axes=None, convert_dates=True, keep_default_dates=True, precise_float=False, date_unit=None, encoding=None, encoding_errors=‘strict’, lines=False, chunksize=None, compression=‘infer’, nrows=None, storage_options=None, dtype_backend=<no_default>, engine=‘ujson’)
read_json将JSON 字符串转换为 pandas 对象。
参数说明
-
path_or_buf,该参数类型是一个有效的JSON字符串, 路径对象,或类似文件的对象。
任何有效的字符串路径都是可接受的。该字符串可以是URL。有效的 URL 方案包括 http、ftp、s3 和 file。对于文件 URL,需要一个主机。本地文件可以是:file://localhost/path/to/table.json。
如果你想传入一个路径对象,pandas 接受任何 os.PathLike。
通过类文件对象,指的是具有 read() 方法的对象,例如文件句柄(例如通过内置 open 函数)或 StringIO。 -
orient,该参数类型是字符串, 是可选的。
该参数指出期望的JSON。to_json() 可以使用相应的 orient 值生成兼容的 JSON 字符串。可能的orient集是:
‘split’ : 字典,值有 {index -> [index], columns -> [columns], data -> [values]} 的形式。
‘records’ :列表,值有 [{column -> value}, … , {column -> value}] 的形式。
‘index’ : 字典,值有{index -> {column -> value}} 的形式。
‘columns’ : 字典,值有 {column -> {index -> value}} 的形式。
‘values’ :只是值数组
‘table’ : 字典,值有 {‘schema’: {schema}, ‘data’: {data}} 的形式。允许的值和默认值取决于typ参数的值。
当 type == ‘系列’ 时,
允许的orient是 {‘split’,‘records’,‘index’}
默认值为“index”
Series索引对于orient的’index’必须是唯一的。
当 type == ‘frame’ 时,
允许的orient为 {‘split’,‘records’,‘index’, ‘columns’,‘values’, ‘table’}
默认值为“columns”
DataFrame 索引对于方向“index”和“columns”必须是唯一的。
DataFrame 列对于“index”、“columns”和“records”方向必须是唯一的。 -
typ,该参数类型是{‘frame’, ‘series’}, 默认值为‘frame’。
要恢复的对象的类型。 -
dtype,该参数类型是bool或者dict, 默认值为None。
如果该参数为True,则推断dtypes;如果要指定dtype为列的字典,则使用它们;
如果为 False,则根本不推断dtype,仅适用于数据。
若参数orient值不是“table”,则默认值为 True。 -
convert_axes,该参数类型是bool, 默认值为None。
尝试将轴转换为正确的dtypes。
若参数orient值不是“table”,则默认值为 True。 -
convert_dates,该参数类型是bool或字符串list, 默认值为True。
如果convert_dates为 True,则可以转换默认的类似日期的列(取决于 keep_default_dates)。
如果convert_dates为 False,则不会转换任何日期。如果是列名列表,则这些列将被转换,并且默认的类似日期的列也可能被转换(取决于 keep_default_dates)。 -
keep_default_dates,该参数类型是bool, 默认值为True。
如果解析日期(convert_dates 不为 False),则尝试解析默认的类似日期的列。如果列名有下列的特点,则它是类似日期。
列名以“_at”结尾,
列名以“_time”结尾,
列名以“timestamp”开头,
列名是’modified’,
列名是’date’。 -
precise_float,该参数类型是bool, 默认值为False。
precise_float是True,在将字符串解码为双精度值时,使用更高精度 (strtod) 函数。precise_float是False,是使用快速,但不太精确的内置功能。 -
date_unit,该参数类型是字符串, 默认值为None。
转换日期时,date_unit设置用于检测时间戳单位。默认行为是尝试检测正确的精度。如果不希望这样,则传递“s”、“ms”、“us”或“ns”之一,以分别强制仅解析秒、毫秒、微秒或纳秒。 -
encoding,该参数类型是字符串, 默认值为‘utf-8’。
用于解码 py3 字节的编码。 -
encoding_errors,该参数类型是字符串, 是可选的, 默认值为“strict”。
如何处理编码错误。 -
lines,该参数类型是bool, 默认值为False。
将文件作为每行 json 对象读取。 -
chunksize,该参数类型是int, 是可选的。
如果指定chunksize,则返回JsonReader对象,进行迭代。仅当lines=True时,才能传递此参数。如果为 None,则文件将被一次性读入内存。 -
compression,该参数类型是字符串,或者dict, 默认值为‘infer’。
用于磁盘数据的即时解压缩。如果“infer”和“path_or_buf”是类似路径,则检测以下扩展名的压缩:“.gz”、“.bz2”、“.zip”、“.xz”、“.zst”、“.tar” 、“.tar.gz”、“.tar.xz”或“.tar.bz2”,否则不压缩。
如果使用“zip”或“tar”,ZIP 文件,必须仅包含一个要读入的数据文件。
设置compression为None,则不解压。
也可以是字典,该字典包含 'method’键,而且该键的值为 {‘zip’, ‘gzip’, ‘bz2’, ‘zstd’, ‘xz’, ‘tar’} 。
其他键值对转发到zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdDecompressor, lzma.LZMAFile或 tarfile.TarFile。 -
nrows,该参数类型是int, 是可选的。
必须读取的行分隔 json 文件的行数。仅当lines=True 时,才能传递此参数。如果为 None,则将返回所有行。 -
storage_options,该参数类型是dict, 是可选的。
对于特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发到 urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头),键值对将转发到 fsspec.open。 -
dtype_backend,该参数类型是{‘numpy_nullable’, ‘pyarrow’}, 默认值为‘numpy_nullable’。
应用于生成的 DataFrame 的后端数据类型。行为如下:
“numpy_nullable”:返回支持 nullable-dtype 的 DataFrame(默认)。
“pyarrow”:返回 pyarrow 支持的可为空的 ArrowDtype DataFrame。 -
engine{“ujson”, “pyarrow”}, default “ujson”。
要使用的解析器引擎。 “pyarrow”引擎仅在lines=True时可用。
应用实列
test_1.json文件内容
{"index": {"0": 0, "1": 1, "2": true},"a": {"0": 1, "1": null, "2": false},"b": {"0": 2.5, "1": 4.5, "2": 0},"c": {"0": true, "1": false, "2": null},
}
pandas_io_2.py
import sys
import pandas as pddef read_json_file(fn):df = pd.read_json(fn)print(df)print()print(df['a'])print()df = pd.read_json(fn,typ='series',convert_dates=True)print(df)print()print(df['a'])if __name__ == "__main__":read_json_file(sys.argv[1])
C:\>python pandas_io_2.py test_1.jsonindex a b c
0 0 1.0 2.5 1.0
1 1 NaN 4.5 0.0
2 1 0.0 0.0 NaN0 1.0
1 NaN
2 0.0
Name: a, dtype: float64index {'0': 0, '1': 1, '2': True}
a {'0': 1, '1': None, '2': False}
b {'0': 2.5, '1': 4.5, '2': 0}
c {'0': True, '1': False, '2': None}
dtype: object{'0': 1, '1': None, '2': False}
相关文章:
Python库pandas之四
Python库pandas之四 输入/输出read_json函数应用实列 输入/输出 read_json 函数 词法:pandas.read_json(path_or_buf, *, orientNone, typ‘frame’, dtypeNone, convert_axesNone, convert_datesTrue, keep_default_datesTrue, precise_floatFalse, date_unitNo…...
网络攻防技术--第三次作业
文章目录 第三次作业一、通过搜索引擎搜索自己在因特网上的足迹,并确认是否存在隐私和敏感信息泄露问题。如果有信息泄露,提出解决方法。二、结合实例总结web搜索和挖掘的方法。三、网络扫描有哪几种类型?分别有什么作用?利用一种…...
带隙基准Bandgap电路学习(一)
一、原理图 Bandgap中的运放(折叠式Cascode)采用P输入对,是因为运放输入端接的PNP三极管发射极端的电位,电压小,为了确保输入对管能够饱和工作,故采用P输入对管。此外,P管作为输入管,…...
[前端][easyui]easyui select 默认值
function initRegion(key, val) {$(#Region).combobox({url: path /getTypeVaule.do?itemregion&key key "&value" val,editable: false, //不可编辑状态cache: false,valueField: TEMID,textField: TEMID,loadFilter: function (data) {data.unshift({…...
项目开发--大模型--个人问答知识库--chain控制
背景 1、langchain当中的chain prompt | llm | output_parser这个链能更长吗? 在 LangChain 中,链(chain)可以根据需要变得非常长,并且可以包含多种不同类型的组件。链的目的是将多个步骤串联起来,以便以…...
STM32—SPI通讯协议
前言 由于I2C开漏外加上拉电阻的电路结构,使得通信线高电平的驱动能力比较弱,这就会号致,通信线由候电平变到高电平的时候,这个上升沿耗时比较长,这会限制I2C的最大通信速度, 所以,I2C的标准模…...
Android 安装过程五 MSG_INSTALL消息的处理 安装
现在马上进入正式的安装流程。 从前面文章 Android 安装过程四 MSG_INSTALL消息的处理 安装之前的验证知道,在验证之后没有什么问题的情况下,会回调onVerificationComplete()方法,它位于PackageInstallerSession类中。 private void onVe…...
大数据开发--1.3 Linux的常用命令大全
目录 一. 终端命令格式 命令格式 说明: 二. 显示文件列表命令 -ls 作用 格式 ls常用选项 案例 三. 目录操作命令 -pwd 作用 格式 案例 四. 目录操作命令 -cd 作用 格式 案例 五. 目录操作命令 -mkdir 作用 格式 案…...
使用PuTTY连接到Amazon Linux实例
PuTTY 是一款免费的 SSH 客户端,广泛用于从 Windows 系统连接到 Linux 实例。如果你使用的是 Windows Server 2019 或更高版本,可以考虑使用内置的 OpenSSH 工具,但 PuTTY 依然是一个非常受欢迎的选择。 一、先决条件 在使用 PuTTY 连接到 …...
Nexus搭建maven私有仓库
内网访问,内网团队使用一个服务缓存节省外网宽带。 微服务开发中加速 Maven 项目构建,加快团队合作,提高工作效率 允许上传和下载私有库,并且不被外部访问,安全 稳定。 方便内部项目服务的依赖引用,而不需要…...
留存率的定义与SQL实现
1.什么是留存率 留存率是指在特定时间段内,仍然继续使用某项产品或服务的用户占用户总数的百分比。 通常,留存率会以日,周,或月为单位进行统计和分析。 2.SQL留存率常见问题 1.计算新用户登录的日期的次日留存率以及3日留存率 …...
Java的锁机制详解
在并发编程中,锁 是用于控制多个线程对共享资源进行访问的工具。Java提供了多种锁机制,从最基础的 synchronized 到高级的 ReentrantLock,这些锁帮助我们确保线程安全,并能有效避免数据竞争和死锁问题。 1. synchronized 关键字…...
用户登录与信息管理:实现小程序登录与用户信息存储
用户登录与信息管理:实现小程序登录与用户信息存储 在现代的移动应用中,用户登录与信息管理是构建个性化用户体验的基础。小程序作为轻量级的应用形式,在简化开发流程的同时,也需要我们妥善管理用户的登录状态与用户信息。本文将…...
Java如何调用构造函数和方法以及使用
调用构造函数的格式 构造函数在创建新对象时被调用。调用格式如下: ClassName objectName new ClassName(parameters); ClassName:你需要创建其实例的类的名称。 objectName:你将创建的对象的名称。 parameters:如果你使用的是…...
TFBoys谁最重
题目 使用go语言设计一个程序计算TFBoys谁最重,要求使用结构体表示TFBoys三个成员,设计函数计算三个重量的最大值。 程序 package main import ("fmt") type Person struct {Name stringWeight float64} func (p Person) GetWeigh…...
scp 通过中间机器进行远程拷贝
有时候,我们想要通过 scp将一台机器上的文件拷贝至另外一台机器,但这两台机器可能没有直接联通,需要通过中间机器进行跳转才能访问,一个麻烦的办法就是,先将文件拷贝至中间机器,然后再从中间机器拷贝至另外…...
探索 Python 高精度计算的奥秘:mpmath 库全解析
文章目录 探索 Python 高精度计算的奥秘:mpmath 库全解析背景:为何选择 mpmath?第二部分:mpmath 是什么?第三部分:如何安装 mpmath?第四部分:mpmath 函数使用示例第五部分࿱…...
<<迷雾>> 第10章 用机器做一连串的加法(1)--使用两排开关分别给出被加数和加数 示例电路
info::操作说明 鼠标单击逻辑输入切换 0|1 状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch10-01-5-bit-adder.txt 原图...
Stable Diffusion最新版nowebui的api使用详解
最近在使用stable diffusion最新版的Stable Diffusion WebUI Forge进行api调用,下面来一步一步的进行展开吧!!! 1、下载lllyasviel/stable-diffusion-webui-forge GitHub - lllyasviel/stable-diffusion-webui-forgeContribute to lllyasviel/stable-diffusion-webui-for…...
云服务器架构详解:X86计算_ARM_GPU/FPGA/ASIC_裸金属_超级计算集群
阿里云服务器架构有什么区别?X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别?阿里云服务器网aliyunfuwuqi.com分享云服务器ECS架构详细说明: 阿里云服务器ECS架构说明 阿里云服务器ECS架构 X86计算 X86计算架…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
