python 数据读取与分析_Python 数据分析(四):数据采集与处理
在python的学习过程中,我们会经常遇到各种格式的数据加载、处理与存储。今天我们来总结一下常见格式数据的读取与处理。
一、各种各样的文本数据
1.1 CSV与TXT读取
1、csv
csv 文件格式的本质是一种以文本存储的表格数据(使用 Excel 工具即可读写 csv 文件)。csv 文件的每行代表一行数据,每行数据中每个单元格内的数据以逗号隔开。首先我们先来看一下数据长什么样子,这里使用的是jupyter notebook编辑器。
!cat '/opt/jupyter_file/dataset/数据获取与分析/data1.csv'
a,b,c,d,message
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
接下来我们看一下数据的读取:
df=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv')
df
或者下面一种:
#需要知道分隔符
pd.read_table('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',sep=',')
我们也可以设置一下参数:
#read_csv读取时会自动识别表头,
#数据有表头时不能设置header为空(默认读取第一行,即header=0);
#数据无表头时,若不设置header,第一行数据会被视为表头,应传入names参数设置表头名称或设置header=None。
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',header=None)
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',names=['a','b','c','d','e'])
还可以设置一下索引列:
names=['a','b','c','d','e']
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data1.csv',names=names,index_col='e')#制定索引列
相对复杂的索引列:
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/csv_mindex.csv',index_col=['key1','key2'])
!cat '/opt/jupyter_file/dataset/数据获取与分析/data4.csv'
# hey!
a,b,c,d,message
# just wanted to make things more difficult for you
# who reads CSV files with computers, anyway?
1,2,3,4,hello
5,6,7,8,world
9,10,11,12,foo
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data4.csv',skiprows=[0,2,3])#跳过索引为0,2,3的行
result=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv')
result
pd.isnull(result)
result=pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv',na_values=['null'])
result
sentinels={'message':['foo','NA'],'something':['two']}
pd.read_csv('/opt/jupyter_file/dataset/数据获取与分析/data5.csv',na_values=sentinels)#设置为0
这里我总结一下read_csv()常用到的参数
类型
说明
sep
指定分隔符。如果不指定参数,则会尝试使用逗号分隔。
delimiter
定界符,备选分隔符(如果指定该参数,则sep参数失效)
delim_whitespace
指定空格(例如’ ‘或者’ ‘)是否作为分隔符使用,等效于设定sep='\s+'。如果这个参数设定为Ture那么delimiter 参数失效。
header
指定行数用来作为列名,数据开始行数
names
用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。
index_col
用作行索引的列编号或者列名,如果给定一个序列则有多个行索引。
dtype
每列数据的数据类型。
skiprows
需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。
skipfooter
从文件尾部开始忽略。 (c引擎不支持)
nrows
上一篇: 使用 tkinter 接口的 python arcgis 公共地图
下一篇: 公主和仙女粉碎
推荐阅读
-
学会分析YUV数据:视频采集与处理入门教程
-
干货 | IWR1642EVM呼吸心跳原始数据采集与仿真分析(含MATLAB代码和数据)
-
神经网络在多元回归数据分析中的应用与数据处理技巧
-
实战教程:用Python从雅虎财经获取数据并进行分析与可视化
-
【摩尔线程+Colossal-AI强强联手】MusaBert登上CLUE榜单TOP10:技术细节揭秘 - 技术实力:摩尔线程凭借"软硬兼备"的技术底蕴,让MusaBert得以从底层优化到顶层。其内置多功能GPU配备AI加速和并行计算模块,提供了全面的AI与科学计算支持,为AI推理和低资源条件下的大模型训练等场景带来了高效、经济且环保的算力。 - 算法层面亮点:依托Colossal-AI AI大模型开发系统,MusaBert在训练过程中展现出了卓越的并行性能与易用性,特别在预处理阶段对DataLoader进行了优化,适应低资源环境高效处理海量数据。同时,通过精细的建模优化、领域内数据增强以及Adan优化器等手段,挖掘和展示了预训练语言模型出色的语义理解潜力。基于MusaBert,摩尔线程自主研发的MusaSim通过对比学习方法微调,结合百万对标注数据,MusaSim在多个任务如语义相似度、意图识别和情绪分析中均表现出色。 - 数据资源丰富:MusaBert除了自家高质量语义相似数据外,还融合了悟道开源200GB数据、CLUE社区80GB数据,以及浪潮公司提供的1TB高质量数据,保证模型即便在较小规模下仍具备良好性能。 当前,MusaBert已成功应用于摩尔线程的智能客服与数字人项目,并广泛服务于语义相似度、情绪识别、阅读理解与声韵识别等领域。为了降低大模型开发和应用难度,MusaBert及其相关高质量模型代码已在Colossal-AI仓库开源,可快速训练优质中文BERT模型。同时,通过摩尔线程与潞晨科技的深度合作,仅需一张多功能GPU单卡便能高效训练MusaBert或更大规模的GPT2模型,显著降低预训练成本,进一步推动双方在低资源大模型训练领域的共享目标。 MusaBert荣登CLUE榜单TOP10,象征着摩尔线程与潞晨科技联合研发团队在中文预训练研究领域的领先地位。展望未来,双方将携手探索更大规模的自然语言模型研究,充分运用上游数据资源,产出更为强大的模型并开源。持续强化在摩尔线程多功能GPU上的大模型训练能力,特别是在消费级显卡等低资源环境下,致力于降低使用大模型训练的门槛与成本,推动人工智能更加普惠。而潞晨科技作为重要合作伙伴,将继续发挥关键作用。
-
Python基础教程篇目十七:玩转Python大数据处理与分析
-
【2022新手指南】Java编程进阶之路 - 六、技术架构篇 ### MySQL索引底层解析与优化实战 - 你会讲解MySQL索引的数据结构吗?性能调优技巧知多少? - Redis深度揭秘:你知道多少?从基础到哨兵、主从复制全梳理 - Redis持久化及哨兵模式详解,还有集群搭建和Leader选举黑箱打开 - Zookeeper是个啥?特性和应用场景大公开 - ZooKeeper集群搭建攻略及 Leader选举、读写一致性、共享锁实现细节 - 探究ZooKeeper中的Leader选举机制及其在分布式环境中的作用 - Zab协议深入剖析:原理、功能与在Zookeeper中的核心地位 - RabbitMQ全方位解读:工作模式、消费限流、可靠投递与配置策略 - 设计者视角:RabbitMQ过期时间、死信队列与延时队列实践指南 - RocketMQ特性和应用场景揭示:理解其精髓与差异化优势 - Kafka详细介绍:特性及广泛应用于实时数据处理的场景解析 - ElasticSearch实力揭秘:特性概述与作为搜索引擎的广泛应用 - MongoDB认知升级:非关系型数据库的优势阐述,安装与使用实战教学 - BIO/NIO/AIO网络模型对比:掌握它们的区别与在网络编程中的实际应用 - Netty带你飞:理解其超快速度背后的秘密,包括线程模型分析 - 网络通信黑科技:Netty编解码原理与常用编解码器的应用,Protostuff实战演示 - 解密Netty粘包与拆包现象,怎样有效应对这一常见问题 - 自定义Netty心跳检测机制,轻松调整检测间隔时间的艺术 - Dubbo轻骑兵介绍:核心特性概览,服务降级实战与其实现益处 - Dubbo三大神器解读:本地存根与本地伪装的实战运用与优势呈现 ----------------------- 七、结语与回顾
-
抓包与分析Wi-Fi网络实战:无线局域网数据包探索(第四部分)
-
基于Stringtie的转录组数据分析与后续处理指南
-
基于 Python/MATLAB 的长时间序列遥感数据处理及在全球变化、植被气候提取、植被绿化和生态系统碳汇分析、生物量估算和趋势分析中的应用