这篇文章介绍了利用数据分析工具pandas读取csv文件的方法和注意点,便于迅速过渡到数据处理阶段。
pandas是一个高效的数据分析工具。基于其高度抽象的数据结构DataFrame,几乎可以对数据进行任何你想要的操作。
由于现实世界中数据源的格式非常多,pandas也支持了不同数据格式的导入方法,本文介绍pandas如何从csv文件中导入数据。
![](http://file.elecfans.com/web1/M00/58/24/pIYBAFtSlO-ANt93AAAMOZVq9dI576.png)
从上图可以看出,我们要做的工作就是把存储在csv格式中的数据读入并转换成DataFrame格式。pandas提供了一个非常简单的api函数来实现这个功能:read_csv()。
1. 通过read_csv接口读入csv文件中的数据
下面是一个简单的示例:
import pandas as pd
CSV_FILE_PATH ='./test.csv'
df = pd.read_csv(CSV_FILE_PATH)
print(df.head(5))
只要简单地指定csv文件的路径,便可以得到DataFrame格式的数据df。对于理想情况下的数据,导入过程就是这么简单!
下面考虑这种情况:假设csv文件头部有几个无效行,那么打印出来的结果可能如下所示:
1 2 3 4
0 datetime host hit volume
12018-07-2409:00:00 weibo.com 20 1020
22018-07-2509:00:00 qq.com no20 1028
32018-07-2619:00:00 sina.com 25 1181
42018-07-2721:00:00 sohu.com 15 4582
pandas把【1,2,3,4】这组无效数据当作了column name;而实际上,我们更偏向于将【datetime,host,hit,volume】这组数据当作column name。对于这种情况,read_csv()函数提供了一个参数:skiprows,用于指定跳过csv文件的头部的前几行。在这里,我们跳过1行即可。
import pandas as pd
CSV_FILE_PATH ='./test.csv'
df = pd.read_csv(CSV_FILE_PATH, skiprows=1)
print(df.head(5))
得到的结果如下所示:
datetime host hit volume
02018-07-2409:00:00 weibo.com 20 1020
12018-07-2509:00:00 qq.com no20 1028
22018-07-2619:00:00 sina.com 25 1181
32018-07-2721:00:00 sohu.com 15 4582
2. 处理csv文件中的无效数据
pandas可以自动推断每个column的数据类型,以方便后续对数据的处理。还以上文中的数据为例,通过如下代码:
import pandas as pd
CSV_FILE_PATH ='./test.csv'
df = pd.read_csv(CSV_FILE_PATH)
print(df.head(5))
print('datatype of column hit is: '+ str(df['hit'].dtypes))
得出的结果:
datetime host hit volume
02018-07-2409:00:00 weibo.com 20 1020
12018-07-2509:00:00 qq.com 20 1028
22018-07-2619:00:00 sina.com 25 1181
32018-07-2721:00:00 sohu.com 15 4582
datatype of column hit is: int64
pandas将hit这一列的数据类型判定为了int64,这显然方便未来我们对于该列数据的运算。但是在实际情况中,我们经常会面临数据缺失的问题,如果出现这种情况,我们往往会用一些占位符来表达。假设,我们用missing这个占位符来表示数据缺失,仍使用上述代码,来探索下会发生些什么:
datetime host hit volume
02018-07-2409:00:00 weibo.com 20 1020
12018-07-2509:00:00 qq.com 20 1028
22018-07-2619:00:00 sina.com missing missing
32018-07-2721:00:00 sohu.com 15 4582
datatype of column hit is:object
由于hit这一列中出现了missing这个字符串,pandas将hit这一列的数据类型判断成了object。这会给我们对该列数据的运算带来影响。例如,假设我们要计算hit列前两行数据的和,代码如下:
print(df['hit'][0]+ df['hit'][1])
结果是:
2020
本来我们想要的是数学运算结果,但得到的却是一个字符串拼接结果。这就是由于数据类型判断失误带来的严重影响。对于这种情况,read_csv()函数也提供了一个简单的处理方式,只需要通过na_value参数指定占位符,pandas便会在读入数据的过程中自动将这些占位符转换成NaN,从而不影响pandas对column数据类型的正确判断。示例代码:
import pandas as pd
CSV_FILE_PATH ='./test.csv'
df = pd.read_csv(CSV_FILE_PATH, skiprows=0, na_values=['missing')
print(df.head(5))
print('datatype of column hit is: '+ str(df['hit'].dtypes))
print(df['hit'][0]+ df['hit'][1])
运行结果如下:
datetime host hit volume
02018-07-2409:00:00 weibo.com 20.01020.0
12018-07-2509:00:00 qq.com 20.01028.0
22018-07-2619:00:00 sina.com NaN NaN
32018-07-2721:00:00 sohu.com 15.04582.0
datatype of column hit is: float64
40.0
可以看到,pandas将数据集中的missing单元全部转换为了NaN,并成功判断出hit这一列的数据类型。
3. 总结
通过一个简单的read_csv()函数,实际可以做到如下几件事:
通过指定的文件路径,从本地读取csv文件,并将数据转换成DataFrame格式
更正数据集的头部(column)
正确处理缺失数据
推断每一列的数据类型
当然,read_csv()函数还有一系列其他参数来应对各种情况,遇到具体问题的同学可参考其接口指南。
原文标题:干货 | pandas读取csv文件数据的方法及注意点
文章出处:【微信号:ZTEdeveloper,微信公众号:中兴开发者社区】欢迎添加关注!文章转载请注明出处。
收藏
人收藏
扫一扫,分享给好友
复制链接分享
评论
发布评论请先 登录
相关推荐
科伦特LM Pro系列具备完善的备货方案 助力城市数字化转型
指挥中心显示信息复杂,数据量庞大,需求显示终端能够快速响应,将画面内容全面呈现。科伦特LM Pro系....
科技绿洲 发表于 05-07 14:58 •
203次
阅读
水产养殖场与微软合作 确保养殖户最大限度提高产量
通过与微软合作,Portugal 和他的团队在 Marfrisco 水产养殖场采用全新软件,布放更多....
科技绿洲 发表于 05-06 10:57 •
256次
阅读
数据分析将成为创新起源与企业核心能力
Amazon Athena 是一种无服务器的交互式查询服务,用户能够轻松使用标准 SQL 分析 Am....
程序人生 发表于 04-28 10:06 •
145次
阅读
“数智化”时代之下,掌握数据分析四大要素很重要
如今,数字化时代正逐渐向数智化时代转变,我们生活的方方面面都充满了数据,我们越来越离不开数据,也越来....
发表于 04-27 16:21 •
23次
阅读
EDA企业数据分析
EDA.zip
发表于 04-27 11:01 •
11次
阅读
第一新声对话Smartbi徐晶:BI市场有多大,未来BI的趋势
面对激烈的市场竞争,未来BI的方向是什么,我们的产品又有什么突出优势?让我们一起来看看思迈特软件副总....
发表于 04-26 16:36 •
17次
阅读
无人机高光谱数据处理与建模方法
这几天我们一直在讨论有关无人机高光谱方面的介绍,今天,我们将一起探讨一下有关无人机高光谱数据处理与建....
发表于 04-26 11:01 •
176次
阅读
Cube基于MongoDB的数据分析工具
cube.zip
发表于 04-26 09:09 •
18次
阅读
从三个层次来分析:商业智能的价值在哪里
以下将从商业智能的三个层面分析商业智能的价值,现在让我们来逐一了解~
发表于 04-25 17:00 •
39次
阅读
OpenTURNS不确定性数据处理
openturns.zip
发表于 04-25 15:19 •
10次
阅读
各种典型的数据中台架构
从数据处理与数据治理两个维度出发,可以设计一个解耦的数据中台体系架构。该数据中台体系架构具有一定的柔....
工业互联网前线 发表于 04-24 14:37 •
176次
阅读
魔方网表数字中台将给医药行业带来一场数字革命
时代的不断更迭,见证了我们所处社会的蓬勃发展,推动着人们不断往高住走,现如今,人类即将进入数字文明时....
科技见闻网 发表于 04-21 17:51 •
316次
阅读
UniPlot软件发动机数据模板制造指导
在汽车以及动力总成开发领域内, UniPlot软件是非常通用的数据分析及报告生成解决方案, 几十年来....
FEV CN 发表于 04-21 16:15 •
359次
阅读
测量系统一致性分析
熊妈妈已经忍无可忍了。最近一次关于她做的汤有多辣的争论以张牙舞爪而结束,而且把小女孩吓坏了。 熊妈妈....
MinitabUG 发表于 04-19 14:58 •
86次
阅读
思迈特Smartbi零售数据分析平台介绍
疫情期间,时间就是生命。上海封控期间,市民面临“买菜难”的难题。及时给市民提供生活物资,满足市民的基....
发表于 04-18 17:07 •
11次
阅读
labview 的索引数组控件工作不正常
我使用重排数组对一个数组进行了分组,然后使用索引数组控件,将不同的组分开,发现数据在进入索引数组之前是正常的,经过索引数...
发表于 04-17 15:42 •
5106次
阅读
“数据+算法”自助分析平台助银行实现“智慧转型”
未来个人客户及其资产的流动性会加强,商业银行想要站得住脚,必须寻找切实可行的大数据方法,在分析大数据....
发表于 04-14 17:23 •
60次
阅读
IBM Cloud Pak for Data平台让数据分析变得更简单
身处于数字科技时代,数据分析在教育学习领域中担当了重要的角色,要使每位学生、教职员均懂得如何应用它成....
IBM中国 发表于 04-14 11:26 •
257次
阅读
Ecovent——适用于家居和楼宇的舒适物联网系统
Ecovent由ConnectM平台提供支持,可实现基于房间单元的气候控制,兼顾舒适与节能。它通过部....
TRINAMIC电机驱动控制系统 发表于 04-14 09:18 •
243次
阅读
PMem的性能和特性全方位的测试以及解读
PMem 主要延时落在 170-320 纳秒的区间里,与 DRAM 内存相近,但与传统 NVMe 固....
高端存储知识 发表于 04-13 09:41 •
348次
阅读
智慧医疗BI助你释放医疗大数据的潜力
思迈特Smartbi可以帮你释放医疗大数据潜力,下面是Smartbi的智慧医疗BI系统。
发表于 04-12 16:27 •
42次
阅读
微软低代码平台为嘉士伯提供端到端数字化转型工具
来,嘉士伯中国这项前瞻性的云部署 Smart Core D365 ERP 系统、数据分析平台、消费者....
科技绿洲 发表于 04-08 10:07 •
376次
阅读
高效率、降低成本的Smartbi指标管理
指标是企业最重要、最核心的数据资产,通过指标使得业务目标变得可描述、可度量、可拆解。
环音仪说数据 发表于 04-06 14:24 •
136次
阅读
果冻行业遭遇“寒冬”怎么办,利用数据提升市场竞争力
果冻的诞生,装载了无数人童年的美好回忆。经过二十多年的发展,X集团凭借小小一颗果冻“称霸”了全球,其....
发表于 04-01 16:02 •
49次
阅读
光谱传感:南极中山站潮汐特征分析
0 引 言 潮汐是重要的海洋水文环境要素之一,验潮站资料是建立局地高程基准即平均海平面的基础资料....
莱森光学 发表于 04-01 14:54 •
167次
阅读
BI+智慧医疗:医疗行业的数据可视化解决方案
下面以国内BI软件Smartbi为例,为大家分享一个医疗行业的数据可视化大屏方案。
发表于 03-29 14:05 •
670次
阅读
过程能力分析02—Box-Cox变换
在上一文章《过程能力分析01—不要忽略“稳定”》中,我们强调了做过程能力分析之前需要稳定的过程,在本....
MinitabUG 发表于 03-28 13:07 •
146次
阅读
三星电子开发PM1743高性能PCIe 5.0 SSD 罗德与施瓦茨利用R;S TS-RRM-NR测试系统验证首个5G RRM FR2 2xAoA
在MWC 22巴塞罗那期间,华为轮值董事长郭平在线发表了题为《向上,点亮未来》的主题演讲。当今世界面....
发表于 03-02 10:44 •
74次
阅读
红富士苹果叶片全钾含量高光谱预测研究
一、高光谱遥感技术理论 近年来快速发展的高光谱遥感技术已经具备了高时效、光谱波段多、光谱分辨率高等优....
莱森光学 发表于 02-24 10:48 •
218次
阅读
分享一下在项目中使用串口接收数据及处理的方法
在定时器中断里需要做哪些事呢?
怎样在项目中使用串口接收数据及处理呢?...
发表于 02-24 06:17 •
482次
阅读
过程能力分析01—不要忽略“稳定”
问题背景: 电缆制造商在电缆的外面涂上一层涂层,以保持电缆的强度和耐久性。涂层厚度的下限(LSL)为....
MinitabUG 发表于 02-21 11:42 •
212次
阅读
单片机串口接收的时候常用的数据处理方法有哪些
单片机串口接收的几种常用的数据处理方法一、为什么串口接收的数据需要处理我们在做项目的时候经常会用到串口,当我们用串口和别...
发表于 02-18 06:57 •
230次
阅读
如何将惯性器件采集到的数据传到一个云平台上实现远程的数据处理呢
惯性数据上传至机智云平台云平台注册产品建立数据节点生成MCU代码顶层程序分析初始化获取数据并做简单处理上传数据底层连接M...
发表于 02-11 07:36 •
268次
阅读
一种适用于小型无人机的加速度计与陀螺仪的矫正方法
基于机器学习方法校准MCU6050陀螺仪加速度计(含源码)最近组装了一架无人机,想要自己写一个飞控,所以一直在研究陀螺仪,我...
发表于 02-10 06:11 •
899次
阅读
单片机数字滤波算法的实现方法
关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥单片机主要作用是控制外围的器件,并实现一定的通信和数据处...
发表于 02-09 06:36 •
421次
阅读
功效与样本量的计算
我经常被问到这样的问题:“做假设检验时,需要的样本量是多少”, “我的实验究竟需要多少样本才有意义呢....
发表于 02-08 16:12 •
64次
阅读
企业将业务迁移到云平台时要面临哪五个安全挑战呢
云计算平台也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划....
Les 发表于 01-30 17:03 •
308次
阅读
Live Analytics:超越一般的商业智能控制台
每个数据爱好者都知道,控制台提供了一个最关键指标分析的单一视图。通过自动化实时分析提高您的见解层次,....
发表于 01-28 14:28 •
48次
阅读
数据中台是什么,它到底是什么意思
关于数据中台,可能大家都有听到过,但是它到底是什么意思?可能很多人都比较迷糊,今天小编就来一一解答究....
发表于 01-21 10:26 •
2865次
阅读
数据库是什么,一文带你入门数据库
是不是还有许多业务人员对于数据库的基本概念还不清楚,但是日常工作却都需要用到它,今天,Smartbi....
发表于 01-20 11:24 •
140次
阅读
同盾加入“隐私计算联盟”,蒋韬表示将共同推动隐私计算产业发展
日前,中国信通院联合近50家单位共同发起“隐私计算联盟”。同盾科技与华为、腾讯、百度等企业成为隐私计....
话说科技 发表于 01-19 10:26 •
632次
阅读
使用QCustomPlot进行波形绘图
之前写了一款串口调试上位机,有很大的功能欠缺,整体感觉十分不爽。这次在原有基础上进行了优化,并且增加了协议帧捕获功能,使...
发表于 01-18 10:34 •
1085次
阅读
CVI实验指导(四)CVI采集正弦波数据并写入txt文档
第四章:CVI采集正弦波数据并写入txt文档文章目录第四章:CVI采集正弦波数据并写入txt文档一、....
发表于 01-17 11:57 •
126次
阅读
Arduino学习笔记
Arduino 关于串口监视器的知识不仅我们可以使用arduino编程软件在计算机上对arduino....
发表于 01-17 10:00 •
66次
阅读
CVI采集数据的收集
第四章:CVI采集正弦波数据并写入txt文档文章目录第四章:CVI采集正弦波数据并写入txt文档一、实验目的:学会CVI采集数...
发表于 01-17 08:39 •
476次
阅读
用于单片机的几种C语言算法
关注+星标公众号,不错过精彩内容编排 |strongerHuang来源 |技术让梦想更伟大单片机主要....
发表于 01-13 13:01 •
59次
阅读
万能的串口数据接收及处理方法
搞单片机,肯定少不了串口的使用,不管是调试也好,与其他设备通信也好,是我们不可或缺的....
发表于 01-12 18:58 •
155次
阅读
利用FATFS读取CSV指定数据的经验分享
**利用FATFS读取.csv指定行数据**第一次写博客,没有什么经验,如有问题,可随时接受指正,最近项目上遇到一个读取CSV文...
发表于 01-12 07:45 •
428次
阅读
智慧园区+大数据:提升园区服务的质量和管理能力
目前中国产业园区数量较多,同质化问题严重,相互之间竞争激烈。随着大数据时代的到来,大数据和社会经济的....
发表于 01-11 10:07 •
188次
阅读
最小二乘法的原理是什么
在嵌入式的测量中可能存在某些无法被直接测量的变量,但可能可以通过几个不同的数据指标运算处理得到,这里介绍最小而成发,最小...
发表于 01-11 07:05 •
541次
阅读
为变电站量身打造无源无线在线监测系统
行业痛点1、电力系统的高压开关柜、环网柜、高压线缆接头、刀闸开关等重要设备,在长期运行中可能出现设备....
发表于 01-07 13:27 •
38次
阅读
STM32 电池电压采集之低功耗设计
文章目录前言一、ADC采集输入阻抗的问题二、改进方法1.加入电压跟随器2.休眠时控制参考地3.休眠时....
发表于 12-31 19:06 •
88次
阅读
大华DHOP开放平台打造智慧物联生态共同体
Dahua Think # 云联万物 数智未来——大华股份战略升级发布会全方位阐述了全感知、全智能、....
大华股份 发表于 12-31 09:24 •
1118次
阅读
单片机串口接收的几种常用的数据处理方法
单片机串口接收的几种常用的数据处理方法一、为什么串口接收的数据需要处理我们在做项目的时候经常会用到串....
发表于 12-23 19:06 •
196次
阅读
TDK邀请专家共同探讨能源行业变化以及未来一些看法
由TDK集团风险投资子公司TDK Ventures举办的“2021年能源周活动”于2021年10月期....
TDK中国 发表于 12-23 14:50 •
773次
阅读
vivado多时钟周期约束set_multicycle_path使用
Vivado下set_multicycle_path的使用说明 vivado下多周期路径约束(set....
发表于 12-20 19:12 •
182次
阅读
元宇宙是数据空间?大数据时代的新趋势来了
元宇宙需要建立虚拟世界与现实世界的连接交互,为了支持大规模用户同时在线,药增强现实技术的应用,同时还....
发表于 12-20 10:16 •
585次
阅读
Smartbi入选中国数据智能/数字平台生态图谱
近期,全球知名的IT市场研究机构IDC发布了《CIO视角:企业数据智能实施部署指南,2021》。思迈....
发表于 12-16 09:30 •
100次
阅读
新电商时代传统电商如何破局?
中小电商在传统经营领域需要做到更精细化的运营,对用户画像更了解,对规则掌握更熟练才能在众多竞品中差异....
发表于 12-16 09:27 •
86次
阅读
激活自助分析最关键的“人和”要素:企业数据文化
在如今的大数据时代,企业通过营造数据分析的文化氛围,树立“尊重事实,用数据说话”的理念,使注重数据、....
发表于 12-16 09:25 •
84次
阅读
|