读取csv格式的数据--Pandas

news2025/2/6 20:06:13

1. 函数功能

读取逗号分隔数据的文件comma-separated values (csv)

2. 函数语法

pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, 
header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, 
squeeze=None, prefix=_NoDefault.no_default, mangle_dupe_cols=True, dtype=None, 
engine=None, converters=None, true_values=None, false_values=None, 
skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, 
keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, 
parse_dates=None, infer_datetime_format=False, keep_date_col=False, date_parser=None, 
dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', 
thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, 
doublequote=True, escapechar=None, comment=None, encoding=None, 
encoding_errors='strict', dialect=None, error_bad_lines=None, warn_bad_lines=None, 
on_bad_lines=None, delim_whitespace=False, low_memory=True, memory_map=False, 
float_precision=None, storage_options=None)

3.函数参数

3.1 常用参数

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式。将EXCEL 文件另存为CSV格式时,默认编码为GBK

在这里插入图片描述

3.2 names: 列名

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names

3.2.1 原始数据有列名且未指明header=0

可以看到,通过names参数新增了一行列名数据,但是原有列名被当作数据处理,此时这种处理是不合理的

在这里插入图片描述

3.2.1 原始数据有列名且指明header=0

此时,header=0首行的列名标签被替换为names指定的标签内容
在这里插入图片描述

3.2.3 当原始数据无列名

此时,可直接使用names参数指定列名,此时的header=None
在这里插入图片描述

3.3 index_col: 指定作为索引的列

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names
index_col指定索引列 ,默认不指定;可取值:整数、字符串

3.3.1 默认情况,不指定索引列

在这里插入图片描述

3.3.2 指定某列作为索引列

在这里插入图片描述

3.4 usecols: 选取指定列

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names
index_col指定索引列 ,默认不指定;可取值:整数、字符串
usecols指定选取的列,可以使用列名组成的列表,或列索引组成的列表

在这里插入图片描述

3.5 skiprows: 跳过哪些行

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names
index_col指定索引列 ,默认不指定;可取值:整数、字符串
usecols指定选取的列,可以使用列名组成的列表,或列索引组成的列表
skiprows取值可以是要跳过的行索引组成的列表;也可以是整数表示要从头开始要跳过的行数

3.5.1 skiprows取值为整数

skiprows=n,跳过前n行
在这里插入图片描述

3.5.2 skipnrows取值为索引列表

在这里插入图片描述

3.6 nrows: 指定读取数据的行数

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names
index_col指定索引列 ,默认不指定;可取值:整数、字符串
usecols指定选取的列,可以使用列名组成的列表,或列索引组成的列表
skiprows取值可以是要跳过的行索引组成的列表;也可以是整数表示要从头开始要跳过的行数
nrows整数,指定读取数据的行数

在这里插入图片描述

3.7 处理缺失值

参数含义
filepath_or_buffer文件路径
sep分隔符,默认为逗号","
delimiter分隔符,默认为逗号","
header整数,或者整数组成的列表;指定作为列名的行。默认值为0,即取第一行作为列名;若当前数据中无列名,则设置header=None,并可通过names 参数指定列名 ;改参数默认值为“infer”:当names参数无内容传入时,认为header=0;当names参数传入名称时,认为header=None
encoding读取文件的编码格式
names列名称列表,列表中的字符不允许重复;当原始数据中存在列名时,应指明header=0,否则会在原有列名的基础上新增列名names
index_col指定索引列 ,默认不指定;可取值:整数、字符串
usecols指定选取的列,可以使用列名组成的列表,或列索引组成的列表
skiprows取值可以是要跳过的行索引组成的列表;也可以是整数表示要从头开始要跳过的行数
nrows整数,指定读取数据的行数
na_values指定识别为空值NA的内容,取值为字符串、数值、列表或字典
keep_default_na布尔值,默认取值为TRUE,是否将默认为空值的字符串识别为NaN)

3.7.1 na_values: 指定作为缺失值的参数

当只有一个值需要指定为缺失值,可以使用字符串,有多个值指定为缺失值可以使用列表;当需要对某特定列的指定字符串指定为缺失值时,可以使用字典:

import pandas as pd

data = pd.read_csv('D:\\air_data.csv', encoding='gbk',
                   na_values={'WORK_CITY': ['.', 'PARIS']})
print(data)

在这里插入图片描述

3.7.2 keep_default_na

1) 当keep_default_na取值为TRUE,且na.values未指定值,只有空值会被识别为NaN

在这里插入图片描述

2) 当keep_default_na取值为TRUE,且na.values指定值为缺失值,指定为空值的值与空值本身都会被识别为NaN

在这里插入图片描述

3) 当keep_default_na取值为False,且na.values指定值为缺失值,则只要指定的字符串被识别为NaN

在这里插入图片描述

4) 当keep_default_na取值为False,且na.values无指定值,则没有值会被识别为NaN

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

氢燃料电池汽车的前景、主要优势及发展难点

氢燃料电池汽车的前景 氢燃料电池(电动)汽车的关键所在和奥秘之处,在于它的动力来源—氢燃料电池近乎完美和非常理想的工作原理与机制,它名义上叫“电池”,而实质上是一种基于化学原理,将作为“燃料”&…

java 瑞吉外卖 day5 套餐管理业务 套餐新增,套餐分页查询 套餐修改 套餐停售起售设置 短信服务

新增套餐 准备工作: 套餐信息分页查询 前面已经写了好几个分页查询了,这里查询的关键点,是套餐分类名称,不在套餐表中,我们要到别的表里拿,然后封装进setmealDto GetMapping("/page") public R p…

二维周期光栅结构的配置

摘要 复杂光学光栅结构被广泛用于多种应用,如光谱仪、近眼显示系统等。利用傅里叶模态法(FMM,或称RCWA) VirtualLab Fusion 提供了一种用于任意光栅结构严格分析的简单方法。利用图形用户界面,用户可以设置堆栈的几何形状,从而产生…

【实战】一次简单的log4j漏洞测试

更新时间:2021.12.19 参考文档:https://www.yuque.com/u8021480/crow/dg9xax 在去年log4j漏洞刚爆发的时候,很多平台都存在漏洞,当时也在第一时间在有授权的情况下对某论坛进行了渗透测试,结果发现存在漏洞&#xff0…

gitlabjenkins

使用容器安装gitlab 1.添加容器 docker run --detach \ --hostname 192.168.44.103 \ --publish 443:443 --publish 80:80 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab:Z \ --volume $GITLAB_HOME/logs:/var/log/gitlab:Z \ …

用javascript分类刷leetcode9.位运算(图文视频讲解)

位运算基础: 程序中所有的数载计算机内存中都是以二进制存储的,位运算就是直接对整数在内存中的二进制进行操作,由于直接在内存中进行操作,不需要转成十进制,因此处理速度非常快 常见位运算 x & 1 0 //判断奇偶…

领略设计模式的魅力,谈谈组合模式搭配访问者模式

组合模式(composite) 我们都知道文件和文件夹的概念,并且文件是可以存放在文件夹中,文件夹中也可以存放其他文件夹。需要设计一个简单的程序来实现文件夹和文件的关系。 实现思路 文件夹需要存放文件夹和文件,首先想到…

大恒普信携手昇思推出眼健康AI智能分析系统,为眼科医疗行业数字化转型升级助力

电子屏幕时代,人们的用眼强度不断增加,各种眼底疾病也开始广泛出现,如青光眼、病理性近视、糖尿病视网膜病变等,严重时可致盲。其实,对大多数眼底疾病而言,如果能早发现、早治疗,就可以很好地预…

把d盘的文件删除了,怎么恢复?d盘的文件删除了怎么找回

把d盘的文件删除了,怎么恢复?通常,我们删除d盘文件的情况是不一样的,可能是通过不同的方法删除的,针对不同的删除方式,那么要恢复这些文件的方法也是不同的,小编按删除方式和时间来给大家进行详细的讲解。 …

TensorFlow手动搭建神经网络实现鸢尾花分类

步骤 准备数据 搭建网络 定义神经网络中所有可训练参数 参数优化 嵌套循环迭代,with结构更新参数,显示当前loss 测试效果 计算当前参数前向传播后的准确率,显示当前acc acc/loss可视化 这里使用一个最简单的网络实现鸢尾花分类 完整代码…

一文搞定 Postman 接口自动化测试

本文适合已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。 工作环境与版本: Window 7(64位) Postman (Chrome App v5.5.3) P.S. 不同版本页面…

Vue中在组件中单独使用this

目录 🔽 全局注册 🔽 局部注册 🔽 组件使用总结 🔽 全局注册 1、Vue.prototype 在多个地方都需要使用但不想污染全局作用域的情况下,这样定义,在每个 Vue 实例中都可用。$ 表示这是一个在 Vue 所有实…

Allegro如何查看PCB进度百分比操作指导

Allegro如何查看PCB进度百分比操作指导 Allegro支持实时查看PCB进度百分比,让设计者实时了解设计进度,具体操作如下 选择Display-StatusUnrouted connections这里就是就剩下未完成的百分比,如果是0,代表已经完成除了可以在这里快捷的查看,也可以通过报表实现,选择Tools-r…

InstructPix2Pix: 随口修图

InstructPix2Pix Learning to Follow Image Editing Instructions是一篇非常有意思的文章,有意思说的是效果,要做出论文的效果过程并没那么顺利。首先需要微调GPT3模型,这个花钱花力气,在之前的文章里已经提过,可以参考…

RedisSon分布式锁 源码解析,在 java 中使用 redis + lua 做秒杀

1. RedisSon 分布式锁 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.17.0</version> </dependency>spring:profiles:active: devredis:cluster:nodes: 192…

Mac OSX 安装 MongoDB

1&#xff0c;简介 MongoDB是由C语言编写&#xff0c;开源而且基于分布式文件存储的介于关系数据库和非关系数据库之间的产品&#xff1b;在高负载的情况下&#xff0c;通过添加更多节点保证服务器性能&#xff1b;旨在为WEB应用提供可扩展的高性能数据存储解决方案&#xff1…

Copy-Paste

在2D视觉目标检测领域&#xff0c;由相似目标之间的重叠引起的拥挤是普遍存在的挑战。 文章地址&#xff1a;https://arxiv.org/pdf/2211.12110.pdf 研究者首先强调了拥挤问题的两个主要影响&#xff1a;1&#xff09;IoU置信度相关干扰&#xff08;ICD&#xff09;和2&#…

桥接模式

文章目录桥接模式1.桥接模式的本质2.何时选用桥接模式3.优缺点4.桥接模式的结构5.实现模拟消息发送MVC在桥接模式的体现桥接模式 桥接模式实质就是分离抽象和实现&#xff0c;抽象部分有多种&#xff0c;实现部分有多种&#xff0c;耦合在一起很难扩展&#xff0c;将其分离开来…

excel如何排序?两个方法汇总

排序是Excel中最常用的功能之一&#xff0c;也是数据分类和汇总操作的重要前提。excel如何排序&#xff1f;本文介绍如何给Excel里面的数据进行排序&#xff0c;方法很简单。感兴趣的朋友&#xff0c;赶紧来看看吧&#xff01; 操作环境&#xff1a; 演示机型&#xff1a;Dell …

PostgreSQL 导入 SLS,从业务到监控数据

日志服务SLS数据导入简介 日志服务SLS是云原生观测和分析平台&#xff0c;为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务是提供一站式数据采集、加工、查询与分析、可视化、告警、消费与投递等功能。全面提升在研发、运维、运营、安全等场景的数…