python中pandas.read_csv()函数的深入讲解
作者:lienGu 发布时间:2023-12-27 00:10:32
这里将更新最新的最全面的read_csv()函数功能以及参数介绍,参考资料来源于官网。
pandas库简介
官方网站里详细说明了pandas库的安装以及使用方法,在这里获取最新的pandas库信息,不过官网仅支持英文。
pandas是一个Python包,并且它提供快速,灵活和富有表现力的数据结构。这样当我们处理"关系"或"标记"的数据(一维和二维数据结构)时既容易又直观。
pandas是我们运用Python进行实际、真实数据分析的基础,同时它是建立在NumPy之上的。
csv文件格式简介
函数介绍
pandas.csv() 函数将逗号分离的值 (csv) 文件读入数据框架。还支持可选地将文件读入块或将其分解。
函数原型
源文件
pandas.read_csv(filepath_or_buffer, sep=, delimiter=None, header=‘infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, 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=False, 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, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None
函数参数以及含义
输入
参数名 | 功能以及含义 |
---|---|
filepath_or_buffer | 字符串。任何有效的字符串路径都可以,网址也行。 |
sep | 字符串,表示分隔符,默认为',' .。一个字符及以上都可以,注意如果是转义字符要加'' |
delimiter | 字符串,sep的别名,默认None |
header | int或者int列表,默认由推断出来。这是用于规定列名的行号。 |
names | 类似于数组结构,选择性使用。这是要使用的列名称列表,与header共同使用。 |
index_col | 整数或者字符串或者整数/字符串列表。指定用作的行标签的列。 |
usecols | 列表,可用可不用。功能是返回列的子集。 |
squeeze | 布尔值,默认为False。如果解析的数据仅包含一列,则返回一个Series |
prefix | 字符串,选择性使用。没有标题时要添加到列号的前缀 |
mangle_dupe_cols | 布尔值,默认为True。重复的列将被指定为“ X”,“ X.1”,……“ X.N”,而不是“ X”……“ X”。如果列中的名称重复,则False将导致数据被覆盖。 |
dtype | 类型名称或者类型列的字典,选择性使用。数据或列的数据类型。 |
engine | {‘c', ‘python'},选择性使用。要使用的解析器引擎。C引擎速度更快,而python引擎当前功能更完善。 |
converters | 字典,选择性使用。转换器,用于转换某些列中的值的函数的字典。键可以是整数或列标签。 |
true_value | 列表,选择性使用。视为True的值 |
false_values | 列表,选择性使用。视为False的值 |
skipinitialspace | 布尔值,默认为False。在定界符后跳过空格。 |
skiprows | 列表或者整数,选择性使用。在文件开始处要跳过的行号(索引为0)或要跳过的行数(整数)。 |
skipfooter | 整数,默认为0。要跳过的文件底部的行数(不支持engine =‘c')。 |
nrows | 整数,选择性使用。要读取的文件行数。对于读取大文件很有用。 |
na_values | 标量,字符串,类似列表的字典,选择性使用。识别为NA / NaN的其他字符串。如果dict通过,则为特定的每列NA值。默认情况下,以下值解释为NaN:'','#N / A','#N / AN / A','#NA','-1.#IND','-1.#QNAN', ‘-NaN','-nan',‘1.#IND',‘1.#QNAN','',‘N / A',‘NA',‘NULL',‘NaN',‘n / a',‘nan',‘null'。 |
keep_default_na | 布尔值,默认为True。解析数据时是否包括默认的NaN值。 |
na_filter | 布尔值,默认为True。检测缺失值标记(空字符串和na_values的值)。请注意,如果将na_filter传递为False,则将忽略keep_default_na和 na_values参数。 |
verbose | 布尔值,默认为False。指示放置在非数字列中的NA值的数量。 |
skip_blank_lines | 布尔值,默认为True。如果为True,跳过空白行,并且不解释为NaN值。 |
parse_dates | 布尔值,整数列表,名称列表,列表或字典的列表。默认为False。功能是解析为时间。 |
infer_datetimes_format | 布尔值,默认为False。如果启用True和parse_dates,则pandas将尝试推断列中日期时间字符串的格式,并且如果可以推断出日期格式,就会切换到更快的解析它们的方法。 |
keep_date_col | 布尔值,默认为False。如果True和parse_dates指定合并多个列,则保留原始列。 |
date_parser | 函数,选择性使用。用于将字符串列序列转换为日期时间实例数组的函数。 |
dayfirst | 布尔值,默认为False。DD / MM格式的日期,国际和欧洲格式。 |
cache_dates | 布尔值,默认为True。如果为True,则使用唯一的转换日期缓存来应用datetime转换。 |
iterator | 布尔值,默认为False。返回TextFileReader对象以进行迭代或使用获取块 get_chunk()。 |
chunksize | 整数,选择性使用。返回TextFileReader对象以进行迭代。 |
compression | {‘infer', ‘gzip', ‘bz2', ‘zip', ‘xz', None},默认为'infer'。用于对磁盘数据进行即时解压缩。设置为“无”将不进行解压缩。 |
thousands | 字符串,选择性使用。千位分隔符。 |
decimal | 字符串,默认为'.'。识别为小数点的字符(例如,对于欧洲数据,请使用“,”)。 |
lineterminator | 长度为1的字符串,选择性使用。用于将文件分成几行的字符。仅对C解析器有效。 |
quotechar | 长度为1的字符串,选择性使用。用于表示引用项目的开始和结束的字符。 |
quoting | 整数或者csv.QUOTE_* 实例,默认为0。每个csv.QUOTE_*常量的控制字段引用行为。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)中的一种。 |
doublequote | 布尔值,默认为True。如果指定quotechar而未使用引号QUOTE_NONE,则指示是否将一个字段内的两个连续的quotechar元素解释为单个quotechar元素。 |
escapechar | 长度为1的字符串,选择性使用。 一字符字符串,用于转义其他字符。 |
comment | 字符串,选择性使用。指示不应分析行的其余部分。如果在一行的开头找到该行,则将完全忽略该行。此参数必须是单个字符。 |
encoding | 字符串,选择性使用。读/写时用于UTF的编码(例如'utf-8')。 |
dialect | 字符串或者csv.Dialect,选择性使用。如果提供的话,该参数将覆盖为以下参数的值(默认或不):delimiter, doublequote, escapechar, skipinitialspace, quotechar, and quoting。 |
error_bad_lines | 布尔值,默认为True。 默认情况下,具有太多字段的行(例如,带有太多逗号的csv行)将引发异常,并且不会返回任何DataFrame。如果为False,则这些“坏行”将从返回的DataFrame中删除。 |
warn_bad_lines | 布尔值,默认为True。如果error_bad_lines为False,而warn_bad_lines为True,则将为每个“坏行”输出警告。 |
delim_whiterspace | 布尔值,默认为False。指定是否将空格(例如或)用作分隔符。 |
low_memory | 布尔值,默认为True。在内部对文件进行分块处理,从而在解析时减少了内存使用。 |
memory_map | 布尔值,默认为False。如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存中,然后直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。 |
float_precision | 字符串,选择性使用。指定C引擎应将哪个转换器用于浮点值。 |
storage_option | 字典,选择性使用。解析特殊的URL。如果为该参数提供非fsspec URL,则会引发错误。 |
返回
DataFrame:将逗号分隔值(csv)文件读取到DataFrame中。
函数使用实例
终端使用范例:
>>>import pandas as pd
>>>pd.read_csv('data.csv')
代码行使用范例
#导入pandas库,并取别名为pd
import pandas as pd
#books.csv与项目不在同一文件夹下使用绝对路径,分隔符为';',出错的行直接跳过,编码方式使用"latin-1",变量books是DataFrame数据结构
books = pd.read_csv('D:\coder\python_program\Books.csv', sep=';', error_bad_lines = False, encoding="latin-1")
#查看books的行和列
print(books.shape)
#查看
print(list(books.columns))
print(books.head())
总结
来源:https://blog.csdn.net/weixin_43690010/article/details/115178050


猜你喜欢
- 问题你正在试着使用正则表达式去匹配一大块的文本,而你需要跨越多行去匹配。解决方案这个问题很典型的出现在当你用点(.)去匹配任意字符的时候,忘
- 终极版终于有时间给大家分享了!!!。我们先看一下效果图。1:登录界面:2:查询数据库所有的内容!3:链接数据库:4:最终的打包!话不多说直接
- 无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用MySQL数
- 问题定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数,(1)将它们存储到一维数组中
- Fiddler,这个是所有软件开发者必备神器!这款工具不仅可以抓取PC上开发web时候的数据包,而且可以抓取移动端(Android,Ipho
- 总体思路与一元线性回归思想一样,现在将数据以矩阵形式进行运算,更加方便。 一元线性回归实现代码下面是多元线性回归用Python实现的代码:i
- 前言最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧——我要重新把pyth
- gob是Golang包自带的一个数据结构序列化的编码/解码工具。编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC
- 统计某一列或某一行的缺失值数目1.使用isnull()import pandas as pd# 首先导入数据df = pd.read_csv
- 网页开发人员常常希望能够了解并掌握多种语言,结果是,学习一门语言的所有内容是棘手的,但是却很容易发现你并没有完全利用那些比较特殊却很有用的标
- 1.需要导的包import pymysql2.# mysql连接信息(字典形式)db_config ={ 'host': &
- 数学是优美的. 听上去有点奇怪? 当我第一次开始设计的时候,我确信如此。数学如此刻板乏味。你可能会惊讶的发现,最美观的设计,艺术作品,物体,
- 一个常常令设计师和前端开发人员都头疼的事情就是字体的使用,设计师常常在设计稿中使用某些很漂亮的字体,以实现比较酷炫的界面。但这样常常给编码人
- 1. 引言在日常工作中,大家都需要进行字典的相关操作,对于某些初学者,经常会写一堆繁琐的代码来实现某项简单的功能。本篇文章重点介绍一些在Py
- 一、百度百科1、MySQLMySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL
- 前言风玫瑰是由气象学家用于给出如何风速和风向在特定位置通常分布的简明视图的图形工具。它也可以用来描述空气质量污染源。风玫瑰工具使用Matpl
- 该语言中缩进是其精髓,通过缩进可以表示函数、循环等程序结构的范围。有时写完程序后,发现所有程序需要放入函数def中,这时就需要对一整块程序同
- 目的封装轮播图组件,直接使用,具体内容如下大致步骤准备my-carousel组件基础布局,全局注册准备home-banner组件,使用my-
- 前一段时间就安装了AspJpeg 2.0,一直没有时间去测试,直到昨天晚上因为服务器无法访问才在本机测试下,特分享下测试结果,只针对GIF图
- 关于matplotlib如何设置图例的位置?如何将图例放在图外?以及如何在一幅图有多个子图的情况下,删除重复的图例?我用一个简单的例子说明一