概述
我相信使用pandas的同学们,基本都会用到这个方法:read_csv()。这个方法确实简单易用,但是内置参数特别多,所以今天就分享下这个方法的一些使用技巧。
文章目录
- 基础使用
- 参数详解
- filepath_or_buffer
- sep/delimiter
- header
- usecols
- dtype
- nrows
- parse_dates
- na_values
基础使用
只需要给一个文件路径即可
df = pandas.read_csv("filepath")
接下来开始详细介绍几个比较有用的参数
参数详解
filepath_or_buffer
这是唯一的位置参数,必须进行传递。可以是字符串,可以是URL,有效的URL方案包括http、ftp、s3路径,也可以是一个通过read()方法打开的文件流。
sep/delimiter
分隔符。str类型,默认为",",read_table默人分隔符为"t",可以使用正则表达式,我遇到过这种
header
将行号用作列名,且是数据的开头。默认情况下,首行作为列名。如果指定数字,则代表着此数字的那一行作为列名。
注意,如果设置了skip_blank_lines=True,此参数将忽略空行和注释行, 因此 header=0 表示第一行数据而非文件的第一行。
header=None,则代表着首行不作为列名使用。这种情况的使用基本都配合着names=[“column_name”, “column_name”, “column_name”]指定列名使用,例如:首先指定第一行不是列名,然后自定义列名为a,b,c,d
df = pd.read_csv(filepath, header=None, names=["a", "b", "c", "d"])
usecols
读取文件,只选择其中的几列进行读取,有以下两种使用方式
1.列表形式
一个有效的列表型参数usecols 将会是是[0, 1, 2]或者[‘foo’, ‘bar’, ‘baz’]
比如说你只想读取一个文件的第一列,第二列和第三列,代码如下
df = pd.read_csv(filepath,usecols=[0,1,2])
2.函数形式,比如lambda函数
只会保留满足函数条件为True的几列
pd.read_csv(filepath, usecols=lambda x: x.upper() in ['column_name', 'column_name'])
dtype
指定df每一列的数据类型
因为pandas在不指定列数据类型的前提下,遇到数字则默认为数字格式,遇到字符串默认为字符串类型,这样有个弊端,比如日期,比如一些实际上作为字符串类型使用的会被读取为数字格式,所以一般要设置这个参数。如下所示
pd.read_csv(filepath, dtype={"cloumn_name": str, "column_name": int})
nrows
指定读取多少行的数据,尤其是遇到大数据的时候
parse_dates
读取文件时,将csv中某列的(日期)字符串转换成日期格式,一般能用到的写法如下
1.布尔值 -> 解析索引
2.列表形式([0,1,2]这种形式) -> 指定哪几列解析为日前/时间格式
3.列表中的列表形式 -> 合并列表中的列作为一个日期列使用
这个时间的转换有个坑,就是一旦时间列存在异常的时间范围(比如说3000-1-1这种),则不能将字符串转化为时间格式!
na_values
指定哪些值会被初始化为Nan值,比如
na_values=[0]代表着所有为0的值都会被置为None值
本章<完>
最后
以上就是娇气钻石为你收集整理的如果你也用“pandas.read_csv”处理文本,这几个参数你应该掌握基础使用参数详解的全部内容,希望文章能够帮你解决如果你也用“pandas.read_csv”处理文本,这几个参数你应该掌握基础使用参数详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复