本文共 2669 字,大约阅读时间需要 8 分钟。
import pandas as pdpd.read_csv(filepath_or_buffer,header,parse_dates,index_col)参数:filepath_or_buffer:字符串,或者任何对象的read()方法。这个字符串可以是URL,有效的URL方案包括http、ftp、s3和文件。可以直接写入"文件名.csv"header:将行号用作列名,且是数据的开头。注意当skip_blank_lines=True时,这个参数忽略注释行和空行。所以header=0表示第一行是数据而不是文件的第一行。(1)、header=None即指定原始文件数据没有列索引,这样read_csv为其自动加上列索引{从0开始}ceshi.csv原文件内容:c1,c2,c3,c4a,0,5,10b,1,6,11c,2,7,12d,3,8,13e,4,9,14df=pd.read_csv("ceshi.csv",header=None)print(df)结果: 0 1 2 30 c1 c2 c3 c41 a 0 5 102 b 1 6 113 c 2 7 124 d 3 8 135 e 4 9 14(2)、header=None,并指定新的索引的名字names=seq序列df=pd.read_csv("ceshi.csv",header=None,names=range(2,6))print(df)结果: 2 3 4 50 c1 c2 c3 c41 a 0 5 102 b 1 6 113 c 2 7 124 d 3 8 135 e 4 9 14(3)、header=None,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字df=pd.read_csv("ceshi.csv",header=0,names=range(2,4))print(df)结果: 2 3c1 c2 c3 c4a 0 5 10b 1 6 11c 2 7 12d 3 8 13e 4 9 14(4)、header=0表示文件第0行(即第一行,索引从0开始)为列索引df=pd.read_csv("ceshi.csv",header=0)print(df)结果: c1 c2 c3 c40 a 0 5 101 b 1 6 112 c 2 7 123 d 3 8 134 e 4 9 14(5)、header=0,并指定新的索引的名字names=seq序列df=pd.read_csv("ceshi.csv",header=0,names=range(2,6))print(df)结果: 2 3 4 50 a 0 5 101 b 1 6 112 c 2 7 123 d 3 8 134 e 4 9 14注:这里是把原csv文件的第一行换成了range(2,6)并将此作为列索引(6)、header=0,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字df=pd.read_csv("ceshi.csv",header=0,names=range(2,4))print(df)结果: 2 3a 0 5 10b 1 6 11c 2 7 12d 3 8 13e 4 9 14parse_dates:布尔类型值 or int类型值的列表 or 列表的列表 or 字典(默认值为 FALSE)(1)True:尝试解析索引(2)由int类型值组成的列表(如[1,2,3]):作为单独数据列,分别解析原始文件中的1,2,3列(3)由列表组成的列表(如[[1,3]]):将1,3列合并,作为一个单列进行解析(4)字典(如{'foo':[1, 3]}):解析1,3列作为数据,并命名为fooindex_col:int类型值,序列,FALSE(默认 None)将真实的某列当做index(列的数目,甚至列名)index_col为指定数据中那一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引。举例:df=pd.read_csv("ceshi.csv",index_col=0)print(df)结果: c2 c3 c4c1 a 0 5 10b 1 6 11c 2 7 12d 3 8 13e 4 9 14表示:将第一列作为索引indexdf=pd.read_csv("ceshi.csv",index_col=1)print(df)结果: c1 c3 c4c2 0 a 5 101 b 6 112 c 7 123 d 8 134 e 9 14表示:将第二列作为索引indexdf=pd.read_csv("ceshi.csv",index_col="c1")print(df)结果: c2 c3 c4c1 a 0 5 10b 1 6 11c 2 7 12d 3 8 13e 4 9 14表示:将列名"c1"这里一列作为索引index【注】:这里将"c1"这一列作为索引即行索引后,"c1"这列即不在属于列名这类,即不能使用df['c1']获取列值【注】:read_csv()方法中header参数和index_col参数不能混用,因为header指定列索引,index_col指定行索引,一个DataFrame对象只有一种索引squeeze:布尔值,默认FALSETRUE 如果被解析的数据只有一列,那么返回Series类型。
转载地址:http://tkxen.baihongyu.com/