pandas.read_csv引數詳解
阿新 • • 發佈:2019-01-24
pandas.read_csv引數整理
讀取CSV(逗號分割)檔案到DataFrame
也支援檔案的部分匯入和選擇迭代
引數:
filepath_or_buffer : str,pathlib。str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)
可以是URL,可用URL型別包括:http, ftp, s3和檔案。對於多檔案正在準備中
本地檔案讀取例項:://localhost/path/to/table.csv
sep : str, default ‘,’
指定分隔符。如果不指定引數,則會嘗試使用逗號分隔。分隔符長於一個字元並且不是‘\s+’,將使用python的語法分析器。並且忽略資料中的逗號。正則表示式例子:'\r\t'
delimiter : str, default None
定界符,備選分隔符(如果指定該引數,則sep引數失效)
delim_whitespace : boolean, default False.
指定空格(例如’ ‘或者’ ‘)是否作為分隔符使用,等效於設定sep='\s+'。如果這個引數設定為Ture那麼delimiter 引數失效。
在新版本0.18.1支援
header : int or list of ints, default ‘infer’
指定行數用來作為列名,資料開始行數。如果檔案中沒有列名,則預設為0,否則設定為None。如果明確設定header=0 就會替換掉原來存在列名。header引數可以是一個list例如:[0,1,3],這個list表示將檔案中的這些行作為列標題(意味著每一列有多個標題),介於中間的行將被忽略掉(例如本例中的2;本例中的資料1,2,4行將被作為多級標題出現,第3行資料將被丟棄,dataframe的資料從第5行開始。)。
注意:如果skip_blank_lines=True 那麼header引數忽略註釋行和空行,所以header=0表示第一行資料而不是檔案的第一行。
names : array-like, default None
用於結果的列名列表,如果資料檔案中沒有列標題行,就需要執行header=None。預設列表中不能出現重複,除非設定引數mangle_dupe_cols=True。
index_col : int or sequence or False, default None
用作行索引的列編號或者列名,如果給定一個序列則有多個行索引。
如果檔案不規則,行尾有分隔符,則可以設定index_col=False 來是的pandas不適用第一列作為行索引。
usecols : array-like, default None
返回一個數據子集,該列表中的值必須可以對應到檔案中的位置(數字可以對應到指定的列)或者是字元傳為檔案中的列名。例如:usecols有效引數可能是 [0,1,2]或者是 [‘foo’, ‘bar’, ‘baz’]。使用這個引數可以加快載入速度並降低記憶體消耗。
as_recarray : boolean, default False
不贊成使用:該引數會在未來版本移除。請使用pd.read_csv(...).to_records()替代。
返回一個Numpy的recarray來替代DataFrame。如果該引數設定為True。將會優先squeeze引數使用。並且行索引將不再可用,索引列也將被忽略。
squeeze : boolean, default False
如果檔案值包含一列,則返回一個Series
prefix : str, default None
在沒有列標題時,給列新增字首。例如:新增‘X’ 成為 X0, X1, ...
mangle_dupe_cols : boolean, default True
重複的列,將‘X’...’X’表示為‘X.0’...’X.N’。如果設定為false則會將所有重名列覆蓋。
dtype : Type name or dict of column -> type, default None
每列資料的資料型別。例如 {‘a’: np.float64, ‘b’: np.int32}
engine : {‘c’, ‘python’}, optional
Parser engine to use. The C engine is faster while the python engine is currently more feature-complete.
使用的分析引擎。可以選擇C或者是python。C引擎快但是Python引擎功能更加完備。
converters : dict, default None
列轉換函式的字典。key可以是列名或者列的序號。
true_values : list, default None
Values to consider as True
false_values : list, default None
Values to consider as False
skipinitialspace : boolean, default False
忽略分隔符後的空白(預設為False,即不忽略).
skiprows : list-like or integer, default None
需要忽略的行數(從檔案開始處算起),或需要跳過的行號列表(從0開始)。
skipfooter : int, default 0
從檔案尾部開始忽略。 (c引擎不支援)
skip_footer : int, default 0
不推薦使用:建議使用skipfooter ,功能一樣。
nrows : int, default None
需要讀取的行數(從檔案頭開始算起)。
na_values : scalar, str, list-like, or dict, default None
一組用於替換NA/NaN的值。如果傳參,需要制定特定列的空值。預設為‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘nan’`.
keep_default_na : bool, default True
如果指定na_values引數,並且keep_default_na=False,那麼預設的NaN將被覆蓋,否則新增。
na_filter : boolean, default True
是否檢查丟失值(空字串或者是空值)。對於大檔案來說資料集中沒有空值,設定na_filter=False可以提升讀取速度。
verbose : boolean, default False
是否列印各種解析器的輸出資訊,例如:“非數值列中缺失值的數量”等。
skip_blank_lines : boolean, default True
如果為True,則跳過空行;否則記為NaN。
parse_dates : boolean or list of ints or names or list of lists or dict, default False
- boolean. True -> 解析索引
- list of ints or names. e.g. If [1, 2, 3] -> 解析1,2,3列的值作為獨立的日期列;
- list of lists. e.g. If [[1, 3]] -> 合併1,3列作為一個日期列使用
- dict, e.g. {‘foo’ : [1, 3]} -> 將1,3列合併,並給合併後的列起名為"foo"