python - 有效划分 dask 数据帧的策略

标签 python optimization dataframe dask

Dask 的文档讨论了重新分区以减少开销 here .

然而,它们似乎表明您需要事先了解数据框的外观(即,将有预期数据的 1/100)。

有没有什么好的方法可以在不做假设的情况下合理地重新分区?目前,我只是使用 npartitions = ncores * magic_number 重新分区,并将 force 设置为 True 以在需要时扩展分区。这种“一刀切”的方法可行,但绝对不是最佳选择,因为我的数据集大小各不相同。

数据是时间序列数据,但不幸的是不是定期的,我过去使用过按时间频率重新分区,但这不是最优的,因为数据是多么不规则(有时几分钟没有,然后几千秒)

最佳答案

截至Dask 2.0.0你可以调用 .repartition(partition_size="100MB")

此方法执行分区大小的对象考虑 (.memory_usage(deep=True)) 分割。它将加入较小的分区,或拆分已经变得太大的分区。

Dask's Documentation还概述了用法。

关于python - 有效划分 dask 数据帧的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44657631/

相关文章:

python - 索引错误 : index 2 is out of bounds for axis 0 with size 2

c++ - 我的初始化有什么问题?

python - 按日期和城市重新采样和聚合数据帧

r - 计算因子水平之间变量的差异

python - 谷歌API : Understanding redirect URI

python - 在 python 中创建对象属性列表

使用 AVX 但不使用 AVX2,分别计算许多 64 位位掩码上的每个位位置

r - 在行之间应用函数,按变量分组,计算其他列中变量之间的所有可能组合

python - 如何解决窗口8中Visual Studio代码中的导入错误?

用于聊天服务器的 MySQL 表优化