dask.read_csv比 50k 列的 pandas.read_csv 慢得多

dask.read_csv much slower than pandas.read_csv with 50k columns

提问人:Daniel Pinyol 提问时间:10/5/2023 最后编辑:Daniel Pinyol 更新时间:10/6/2023 访问量:28

问:

我有一个包含 1k 行和 50k 列的 csv。

我花了 9 秒来计算所有带有 pandas 的列的最小值

panda_df = pd.read_csv(path, sep=",")           # 8s
mins = panda_df.min(numeric_only=True).values() # < 1s

但是 86 秒的 dask(如果我将文件减少到 10 行,则需要相同的时间)

dask_df = dd.read_csv(path, sep=",", sample=512_000) # 14s
mins = dd.compute(dask_df.min(numeric_only=True))    # 72s

知道如何将 dask 调整得像熊猫一样快吗? Dask 数据帧仅使用 1 个分区,因此分区时不应有开销。

熊猫 dask read-csv

评论

0赞 Guillaume EB 10/7/2023
第一个问题是,你真的需要 Dask 吗?除此之外,如果没有一些数据来重现,就很难说了。dd.read_csv只是读取了文件的一个小样本,因此加载所有数据所需的时间应该不会比 pandas 花费的时间多。
0赞 FábioRB 10/22/2023
由于您的数据帧适合您的记忆,因此最好留在熊猫上。我相信 dask 的开销更大,所以像这样的简单代码在 dask b 上变得没有生产力

答: 暂无答案