读取多目录Parquet文件时,如何避免Dask自动添加dir0列?
解决Dask读取多目录Parquet时自动添加dir0列的问题
这个dir0列是Dask在读取多个目录下的Parquet文件时自动生成的,作用是标记每条数据对应的源目录。默认情况下,当你传入的路径包含多个目录(或通过通配符匹配到多个目录),dd.read_parquet()会自动添加这个路径相关的辅助列。
要避免这个行为,只需要在调用read_parquet时设置include_path_column=False参数即可:
import dask.dataframe as dd paths = ['adl://entrofi/shift/20190725_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190726_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190727_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190728_060500_20190928_060500/*.parquet', 'adl://entrofi/shift/20190820_060500_20190920_060500/*.parquet', 'adl://entrofi/shift/20190828_060500_20190928_060500/*.parquet'] # 禁用自动添加路径列 ddf = dd.read_parquet(paths, include_path_column=False).drop_duplicates()
补充说明:如果之后你需要追踪数据的来源目录,也可以手动设置include_path_column=True,还能通过path_column参数自定义列名(比如改成source_directory),不过根据你的需求,设置为False就能完全避免生成这类列。
内容的提问来源于stack exchange,提问作者theSekyi
相关产品推荐
相关产品推荐

