用法:
dask.dataframe.read_table(urlpath, blocksize='default', lineterminator=None, compression='infer', sample=256000, sample_rows=10, enforce=False, assume_missing=False, storage_options=None, include_path_column=False, **kwargs)
將分隔文件讀入 Dask.DataFrame
這通過以下方式並行化
pandas.read_table()
函數:它支持使用 globstrings 一次加載多個文件:
>>> df = dd.read_table('myfiles.*.csv')
在某些情況下,它可以分解大文件:
>>> df = dd.read_table('largefile.csv', blocksize=25e6) # 25MB chunks
它可以通過提供 URL 從外部資源(例如 S3、HDFS)讀取 CSV 文件:
>>> df = dd.read_table('s3://bucket/myfiles.*.csv') >>> df = dd.read_table('hdfs:///myfiles.*.csv') >>> df = dd.read_table('hdfs://namenode.example.com/myfiles.*.csv')
在內部
dd.read_table
使用pandas.read_table()
並支持許多具有相同性能保證的相同關鍵字參數。有關可用關鍵字參數的更多信息,請參閱pandas.read_table()
的文檔字符串。- urlpath:字符串或列表
絕對或相對文件路徑。使用
s3://
之類的協議作為前綴,以從替代文件係統中讀取。要從多個文件中讀取,您可以傳遞一個 globstring 或路徑列表,但需要注意的是它們都必須具有相同的協議。- blocksize:str,int 或 None,可選
分割較大文件的字節數。默認值是根據可用物理內存和內核數計算的,最大為 64MB。可以是
64000000
之類的數字或"64MB"
之類的字符串。如果None
,則每個文件使用一個塊。- sample:整數,可選
確定 dtypes 時使用的字節數
- assume_missing:布爾型,可選
如果為 True,則假定
dtype
中未指定的所有整數列都包含缺失值,並轉換為浮點數。默認為假。- storage_options:字典,可選
對特定存儲連接有意義的額外選項,例如主機、端口、用戶名、密碼等
- include_path_column:bool 或 str,可選
是否包含每個特定文件的路徑。如果為 True,則會將一個新列添加到名為
path
的 DataFrame 中。如果是 str,則設置新的列名。默認為假。- **kwargs:
額外的關鍵字參數轉發到
pandas.read_table()
。
參數:
注意:
Dask 數據幀嘗試通過從文件開頭(或者如果是 glob,則從第一個文件)讀取樣本來推斷每列的
dtype
。通常這工作正常,但如果dtype
稍後在文件(或其他文件)中不同,這可能會導致問題。例如,如果樣本中的所有行都有整數 dtype,但後來有NaN
,那麽這將在計算時出錯。要解決此問題,您有幾個選擇:- 使用
dtype
關鍵字為有問題的列提供明確的 dtypes。這是推薦的解決方案。 - 使用
assume_missing
關鍵字假設所有推斷為整數的列都包含缺失值,並將它們轉換為浮點數。 - 使用
sample
關鍵字增加樣本的大小。
還應注意,如果分隔文件包含包含行終止符的帶引號的字符串,則此函數可能會失敗。要解決此問題,您可以指定
blocksize=None
不將文件拆分為多個分區,但會降低並行度。
相關用法
- Python dask.dataframe.read_hdf用法及代碼示例
- Python dask.dataframe.read_json用法及代碼示例
- Python dask.dataframe.read_fwf用法及代碼示例
- Python dask.dataframe.read_sql_table用法及代碼示例
- Python dask.dataframe.read_parquet用法及代碼示例
- Python dask.dataframe.read_csv用法及代碼示例
- Python dask.dataframe.read_orc用法及代碼示例
- Python dask.dataframe.reshape.get_dummies用法及代碼示例
- Python dask.dataframe.rolling.Rolling.var用法及代碼示例
- Python dask.dataframe.rolling.Rolling.count用法及代碼示例
- Python dask.dataframe.rolling.Rolling.min用法及代碼示例
- Python dask.dataframe.rolling.Rolling.quantile用法及代碼示例
- Python dask.dataframe.rolling.Rolling.std用法及代碼示例
- Python dask.dataframe.rolling.Rolling.sum用法及代碼示例
- Python dask.dataframe.rolling.Rolling.kurt用法及代碼示例
- Python dask.dataframe.rolling.Rolling.mean用法及代碼示例
- Python dask.dataframe.rolling.Rolling.median用法及代碼示例
- Python dask.dataframe.Series.apply用法及代碼示例
- Python dask.dataframe.to_records用法及代碼示例
- Python dask.dataframe.DataFrame.applymap用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.dataframe.read_table。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。