【发布时间】:2020-04-12 11:26:16
【问题描述】:
我正在为一家需要进行一些非常密集的聚合的公司工作
对于他们在过去两年中进行的每一笔销售,他们都希望获得有关该销售前一个月数据的滚动汇总。聚合体本身并不重要。两年的数据大约有 550 万行。
我发现我应该使用 Dasks 滚动函数,并为数据框提供数据范围索引。
我使用的机器有 4 个内核,所以我决定对数据使用 8 个分区并将其重新分区为 8、3 个月的分区。
但是,有一个问题。这 3 个分区中的每个分区的第一个月都将不得不滚动到另一个分区。这将涉及改组大约 200 万行!
我正在考虑以某种方式将月份的副本合并到每个分区的开头,但我想不出一种有效的方法来做到这一点。
有什么建议吗?
【问题讨论】:
-
这听起来像是过早的优化。 200 万行不算多。您是否尝试过最简单的解决方案?很可能,您担心的性能问题并不重要。
-
其实你有没有解决方案,并定时查看是否太慢?首先编写一个有效的代码:)
-
是的。超级慢。虽然我同意 200 万行并不多,但必须对这些数据进行大约 20 个滚动聚合。所以它加起来很快
标签: python pandas time-series dask