数据分析基础之《pandas(5)—文件读取与存储》

一、概述

1、我们的数据大部分存在于文件当中,所以pandas会支持复杂的IO操作,pandas的API支持众多文件格式,如CSV、SQL、XLS、JSON、HDF5

二、CSV

1、读取csv文件
read_csv(filepath_or_buffer, sep=',', delimiter=None)
说明:
filepath_or_buffer:文件路径
usecols:如果一个数据集中有很多列,但是我们在读取的时候只想要使用到的列,我们就可以使用这个参数

# 读取文件,并且指定读取open,high,close列
data = pd.read_csv("./stock_day.csv", usecols=['open','high','close'])data

2、如果CSV文件直接是数据,没有字段
默认将第一行作为字段,需要加上names参数

3、写入csv文件
to_csv(path_or_buf=None, sep=',', columns=None, header=True, index=True, index_label=None, mode='w', encoding=None)
说明:
path_or_buf:写入的路径
sep:分隔符
columns:列的标题
mode:w重写,a追加
index:是否写进,行索引值
header:是否写进,列索引值

# 保存open列数据
data[:10].to_csv('./test.csv', columns=['open'])# 读取、查看结果
pd.read_csv('./test.csv')

会发现将索引写入到文件当中,变成单独的一列数据。如果需要删除,可以指定index参数,删除原来的文件,重新保存一次

# 保存open列数据
data[:10].to_csv('./test.csv', columns=['open'], index=False)# 读取、查看结果
pd.read_csv('./test.csv')

三、HDF5

1、HDF5文件的读取和存储需要指定一个键,值为要存储的DataFrame
所以hdf5格式可以认为是存储3维数据的文件
key1 dataframe1二维数据
key2 dataframe2二维数据

2、读取hdf5文件
read_hdf5(path_or_buf, key=None, **kwargs)
说明:
path_or_buf:文件路径
key:读取的键
mode:打开文件的模式

3、写入hdf5文件
to_hdf5(path_or_buf, key, **kwargs)

四、JSON

1、读取json文件
将JSON格式转换成默认的DataFrame格式
read_json(path_or_buf=None, orient=None, typ='frame', lines=False)
说明:
path_or_buf:文件路径
orient:指定json字符串的格式(一般用records)
    split:{index -> [index], columns -> [columns], data -> [data]}
    records:[{column -> value}, ..., {column -> value}]
    index:{index -> {column -> value}}
    columns:{column -> {index -> value}}
    values:just the values array
lines:按照每行读取json对象
typ:指定转换成的对象类型series或者dataframe

# 读取JSON
sa = pd.read_json('./Sarcasm_Headlines_Dataset.json', orient='records', lines=True)sa

文件下载地址:https://www.kaggle.com/datasets/rmisra/news-headlines-dataset-for-sarcasm-detection

2、写入json文件
to_json(path_or_buf=None, orient=None, lines=False)
说明:
path_or_buf:文件地址
orient:存储的json形式,{'split','records','index','columns','values'}
lines:一个对象存储为一行,如果False所有对象都写在一个[]中

# 写入JSON
sa.to_json('test.json', orient='records', lines=True)

五、拓展

1、数据量很大优先选择用HDF5文件存储
(1)HDF5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的,也是pandas默认支持的
(2)使用压缩可以提高磁盘利用率,节省空间
(3)HDF5还是跨平台的,可以轻松迁移到hadoop上面

六、小结
pandas基础数据处理
    pandas介绍
        什么是pandas:数据处理工具
        为什么使用pandas
            便捷的数据处理能力
            集成了numpy,matplotlib
            读取文件方便
        三大核心数据结构
            series:带索引的一维数组
                属性
                    index
                    values
            dataframe:带索引的二维数组
                属性
                    shape
                    index
                    columns
                    values
                    T
                常用方法
                    head()
                    tail()
                索引设置
                    修改行列索引
                    重设索引
                    设置索引
            panel:废弃
    基本操作
        索引操作
            直接索引:必须先列后行
            .loc:按名字进行索引
            .iloc:按数字进行索引
            .ix:组合索引(废弃)
        赋值操作
        排序
            按内容排序:sort_values()
            按索引排序:sort_index()
    运算
        算术运算
        逻辑运算
            逻辑运算符 & 布尔索引
            函数
                query()
                isIn()
        统计运算
            获取综合的统计指标
            具体的统计指标
            累计统计指标
        自定义运算-df.apply(func,axis=)
    画图
        df.plot()
        sr.plot()
    IO操作
        csv
            pd.read_csv()
                usecols
                names
            df、sr.to_csv()
                columns
                index
                header
                mode
        hdf5
            有键
        json
            pd.read_json()
                path
                records
                lines
            df.to_json()
                records
                lines
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252548.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac OS中创建适合网络备份的加密镜像文件:详细步骤与参数选择

这篇文章提供了在Mac OS中创建适合网络备份的加密镜像文件的详细步骤,同时探讨了在选择相关参数时的关键考虑因素,以确保用户能够安全、高效地存储和保护重要数据。 创建步骤 在Mac OS Monterey中,你可以使用“磁盘工具”(Disk …

代码随想录算法训练营第25天 | 216.组合总和III ,17.电话号码的字母组合

回溯章节理论基础: https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 216.组合总和III 题目链接:https://leetcode.cn/problems/combination-sum-iii/ 思路: 本题就是在[1,2,3,4,5,6,7,…

ElasticSearch查询语句用法

查询用法包括:match、match_phrase、multi_match、query_string、term 1.match 1.1 不同字段权重 如果需要为不同字段设置不同权重,可以考虑使用bool查询的should子句来组合多个match查询,并为每个match查询设置不同的权重 {"query&…

FANUC机器人开机时无法进入系统,示教器黑屏故障处理总结

FANUC机器人开机时无法进入系统,示教器黑屏故障处理总结 故障描述: FANUC机器人开机时,示教器在初始化时显示:EMAC initial call failed(示教器上电时会进入boot画面,左上角会出现一些白色的英文提示&#…

SM2259XT量产工具修复金泰克固态硬盘29F01T2ALCQJ1颗粒开卡

在这里插入代码片前言 网心云用的固态硬盘突然坏了识别不了,磁盘管理、diskGenius、pe系统里均无法识别,查询发现可以用开卡工具修复,遂进行了一番折腾。 拆硬盘 如图硬盘是块金泰克240g容量的,拆开后找到主控芯片型号为SM2259…

关于RabbitMQ面试题汇总

什么是消息队列?消息队列有什么用? 消息队列是一种在应用程序之间传递消息的通信机制。它是一种典型的生产者-消费者模型,其中生产者负责生成消息并将其发送到队列中,而消费者则从队列中获取消息并进行处理。消息队列的主要目的是…

synchronized内部工作原理

作者简介: zoro-1,目前大二,正在学习Java,数据结构,javaee等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 synchronized内部工作原理 syn…

【AWS】step-functions服务编排

文章目录 step-functionsState machine typeStandard workflowsExpress workflows design skillsError handlingsaga Transaction processing控制分布式系统中的并发性 收费 作为AWS Serverless无服务器的一个重要一环 使用step-functions方法将 AWS 服务链接在一起 step-funct…

PySpark(二)RDD基础、RDD常见算子

目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…

数据结构:单链表

文章目录 1. 单链表的概念及结构2. 单链表相关操作2.1 创建节点2.2 尾插2.3 打印2.4 头插2.5 尾删2.6 头删2.7 查找2.8 指定位置后插入2.9 指定位置前插入2.10 删除指定位置2.11 删除指定位置后的节点2.12 销毁单链表 3. 链表种类 1. 单链表的概念及结构 概念:链表…

wespeaker项目grpc-java客户端开发

非常重要的原始参考资料: 链接: triton-inference-server/client github/grpc java ps: 使用grpc协议的其它项目python/go可以参考git hub目录client/tree/main/src/grpc_generated下的其它项目 其它链接: 想要系统了解triton-inference-ser…

R语言:箱线图绘制(添加平均值趋势线)

箱线图绘制 1. 写在前面2.箱线图绘制2.1 相关R包导入2.2 数据导入及格式转换2.3 ggplot绘图 1. 写在前面 今天有时间把之前使用过的一些代码和大家分享,其中箱线图绘制我认为是非常有用的一个部分。之前我是比较喜欢使用origin进行绘图,但是绘制的图不太…

鸿蒙内核框架

1 内核概述 内核简介 用户最常见到并与之交互的操作系统界面,其实只是操作系统最外面的一层。操作系统最重要的任务,包括管理硬件设备,分配系统资源等,我们称之为操作系统内在最重要的核心功能。而实现这些核心功能的操作系统模…

VS编译器对scanf函数不安全报错的解决办法(详细步骤)

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…

kubesphere部署k8s-v1.23.10

功能: 🕸 部署 Kubernetes 集群 🔗 Kubernetes 多集群管理 🤖 Kubernetes DevOps 🔎 云原生可观测性 🧩 基于 Istio 的微服务治理 💻 应用商店 💡 Kubernetes 边缘节点管理 &#x1…

数据分析基础之《pandas(4)—pandas画图》

1、DataFrame.plot(xNone, yNone, kindline) 说明: x:设置x轴标签 y:设置y轴标签 kind: line 折线图 bar 柱状图 hist 直方图 pie 饼图 scatter 散点图 # 找到p_change和turnover之间的关系 data.plot(xvolume, yturnover, kinds…

AUTOSAR CP--chapter2Autosar简介

Autosar简介 安全:使用严格的标准化去约束; 高效:通过提高软件模块的可移植性和复用性来提升; 灵活:通过上位机剪裁配置,自动生辰的手段来实现。 Autosar标准从行业高度统一了各个角色间的分工、接口以及方…

Flink 1.18.1的基本使用

系统示例应用 /usr/local/flink-1.18.1/bin/flink run /usr/local/flies/streaming/SocketWindowWordCount.jar --port 9010nc -l 9010 asd asd sdfsf sdf sdfsdagd sdf单次统计示例工程 cd C:\Dev\IdeaProjectsmvn archetype:generate -DarchetypeGroupIdorg.apache.flink -…

计算机服务器中了locked勒索病毒怎么处理,locked勒索病毒解密数据恢复

网络技术的不断发展,为企业的生产生活提供了极大便利,但也为网络安全带来严重威胁。近期,云天数据恢复中心接到某集团企业的求助,企业的计算机服务器遭到了locked勒索病毒攻击,导致企业系统内部的金蝶账套全部被加密&a…

正则表达式补充以及sed

正则表达式: 下划线算 在单词里面 解释一下过程: 在第二行hello world当中,hello中的h 与后面第一个h相匹配,所以hello中的ello可以和abcde匹配 在world中,w先匹配h匹配不上,则在看0,r&#…