Python数据分析基础与应用电子活页4-18read_csv()函数语法格式及其常用参数说明.docx
Python数据分析基础与应用
模块
PAGE2
PAGE21
电子活页4-18read_csv()函数语法格式及其常用参数说明
read_csv()函数用于从文件、URL、文件型对象中加载带分隔符的数据,其默认分隔符为半角逗号(,)。
read_csv()函数的语法格式如下:
pandas.read_csv(filepath_or_buffer,sep=,,delimiter=None,header=infer,names=None,
index_col=None,usecols=None)
read_csv()函数的参数非常多,其常用参数说明如下。
①filepath_or_buffer:用来指定数据的路径,该参数可以是一个str对象、path对象或者类文件对象。如果该参数是一个str对象,则这个str对象必须是一个有效的文件路径,这个str对象还可以是一个URL,如HTTP、FTP等。
②sep:该参数用来指定数据中列的分隔符,接收一个str对象,默认分隔符为半角逗号。
③delimiter:该参数也是用来指定分隔符的,与参数sep功能相同,但其默认值为None。也就是说这个参数默认是不启用的,但是启用时也可以正确读取文件。使用read_csv()函数时,sep参数和delimiter参数指定一个即可,同时指定时,以delimiter参数为准。
④header:如果数据中包含表头,或者说列名,则这个参数用来指定表头在数据中的行号。该参数接收一个int对象或者由int对象构成的列表对象,默认值是infer。infer的行为如下:如果没有指定names参数,infer就等价于header=0,这时会从文件的第一行读取为列名;如果指定了names参数,infer就等价于header=None,这时会从names参数而非文件中读取列名;如果不使用默认值infer,而给header参数指定一个int对象,则会从int对象对应的行号读取列名。
⑤names:该参数用来指定列名,主要接收array-like的数据,例如列表等,不过要求列表中的元素不能重复。names参数的应用场景是:当数据中没有表头时,使用header参数无法读到表头,就需要使用names参数来额外指定列名。
header参数和names参数的使用方法如下。
?数据中没有表头或者列名时,只使用names参数来自定义列名。
?数据中有表头或列名时,只使用header参数指定表头在数据中的行号。
?数据中有表头或列名,但是对列名不满意想自定义列名,可以同时使用header参数和names参数。
⑥index_col:DataFrame是pandas中自定义的一个数据结构,相对于常规的表格来说,DataFrame的一个显著特点就是行和列都是有索引的,行的索引称为index。如读取的数据中,我们发现id列的左边还有一列,这一列就是index。Pandas会默认生成index,index从0开始的整数。如果在读取CSV文件时想自定义index,尤其是希望把数据中的某一列数据作为index,就可以使用这个参数。这个参数可以接收一个int对象、str对象、int序列、str序列等,默认值为None,即不设置index。
该参数可以是int对象,其表示想要设置为index的列在所有列中的编号,编号从0开始。即如果是0表示将第1列设置为index,如果是1则表示将第2列设置为index。
⑦usecols:一个文件中的数据可能有很多列,有时候我们只需要部分列,这时可以使用usecols参数,这个参数接收一个列表对象或者可调用对象。如果是列表对象,则要求列表中的元素要么都是int对象,要么都是str对象。和index_col参数一样,int对象表示需要的列在所有列中的编号,编号从0开始;str对象表示列名字符串。