遍历排序的dask数据帧的最快方法是什么?

时间:2020-01-31 16:34:39

标签: python-3.x pandas dask

我是Pandas和Dask的新手,Dask数据框包装了Pandas数据框并共享大多数相同的函数调用。

我使用Dask排序(set_index)较大的csv文件〜1,000,000行〜100列。 排序后,我将使用itertuples()抓取每个数据框行,并与数据库中的〜1,000,000行〜100列进行比较。
但是它运行缓慢(大约需要8个小时),有没有更快的方法呢?

我之所以使用dask是因为它可以对非常大的csv文件进行排序,并且具有灵活的csv解析引擎。它还可以让我对数据集执行更多高级操作,并在将来解析更多数据格式

我可以对csv进行预排序,但是我想看看Dask是否可以足够快地满足我的用例,从长远来看,它将使事情变得更加轻松。

1 个答案:

答案 0 :(得分:1)

通过使用iter_tuples,您将每一行一个接一个地带回到客户端。请阅读map_partitions或map上的内容,以了解如何在不将数据提取到客户端的情况下将函数应用于数据框的行或块。 请注意,每个工作程序都应写入不同的文件,因为它们是并行运行的。