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计算架…...
java.net.SocketTimeoutException: Connect timed out
Could not install Gradle distribution from https://services.gradle.org/distributions/gradle-8.13-bin.zip. Reason: java.net.SocketTimeoutException: Connect timed outAndroid Studio 从 Gradle 官方服务器下载 gradle-8.13-bin.zip 时,网络连接超时&#…...
像素语言·跨维传送门参数详解:Hunyuan-MT-7B引擎温度/长度/对齐策略调优指南
像素语言跨维传送门参数详解:Hunyuan-MT-7B引擎温度/长度/对齐策略调优指南 1. 工具概览与核心价值 像素语言跨维传送门(Pixel Language Portal)是基于Tencent Hunyuan-MT-7B引擎构建的创新翻译工具,它将传统翻译体验重构为16-bit像素冒险风格。不同于…...
月销20万美金!户外“神器”领跑全球爆单季,跨境卖家如何靠本地化内容突围?
随着北半球天气回暖,全球“户外露营”热潮正以前所未有的速度升温。根据最新行业数据显示,谷歌趋势中“outdoor camping”(户外露营)的搜索热度自3月起便持续攀升,维持在“22-100”的高位区间。 对于跨境卖家而言&…...
基于Cortex-M3和步进电机的数字钟控制及其语音播报系统设计
一、系统概述 系统以Cortex-M3内核单片机(如STM32F103C8T6)为核心,融合步进电机精密驱动、实时时钟(RTC)、语音合成播报三大功能,实现“数字钟精准显示机械指针动态指示定时语音报时”的一体化设计。系统通…...
【Guava】并发编程ListenableFutureService
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
OpenClaw+Phi-3-vision-128k-instruct安全方案:敏感数据本地化处理指南
OpenClawPhi-3-vision-128k-instruct安全方案:敏感数据本地化处理指南 1. 为什么需要本地化处理敏感数据? 上周我帮一位做财务咨询的朋友处理季度报表时,他提到一个痛点:每次用云端AI工具分析客户财务数据都提心吊胆。这让我意识…...
一键部署文档分析服务:YOLO X Layout模型Docker实战教程
一键部署文档分析服务:YOLO X Layout模型Docker实战教程 1. 为什么需要文档版面分析? 在日常工作中,我们经常遇到这样的场景:收到一份扫描的合同PDF,需要提取关键条款;或者拿到一份企业年报,想…...
抖音批量下载工具终极指南:免费去水印,轻松获取视频素材
抖音批量下载工具终极指南:免费去水印,轻松获取视频素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…...
AGV如何实现自主避障
下面按“传感器→建模→算法→安全机制→工程实现”的顺序,把AGV自主避障讲清楚。 一、整体架构概览 AGV要“自己绕开障碍”,至少要做三件事: 1)感知:知道“我在哪”“周围有什么”; 2)规划&…...
为什么你的C++量子模拟器总在2^10后崩溃?内存优化、张量压缩与SIMD加速三重方案揭秘
第一章:量子模拟器崩溃现象与2^10内存临界点的本质剖析当量子模拟器在经典硬件上运行含10个量子比特的电路时,常在初始化或状态演化阶段发生静默崩溃——进程异常终止、无堆栈回溯、仅返回 SIGSEGV 或 OOM Killer 日志。这一现象并非随机故障,…...
