我有一个时间序列数据的大数据集(3.5亿行,15GB)和日期时间(半小时分辨率)。在
因此,我使用dask来尽可能多地处理和并行化。在
我被困在本该是小事的事情上。我有一个假日日期列表,使用假日包创建:
NSWholidays = holidays.Australia(years= [2010,2011,2012,2013,2014], state='NSW')
我的dask数据框中有一个“date”列。在
我想添加一个名为'IsWorkDay'
的新列,其中1将反映星期一到星期五不是假日的天数,而0将反映周末或假日。在
我尝试了几十种组合,试图找到dask要求的语法来并行处理这个问题,但是我唯一成功的解决方案是using.apply,这对于任务来说非常缓慢(多个小时)。简而言之,下面这一行可以工作,但速度太慢:
^{pr2}$我怎样才能更快?在
提前谢谢
首先,我不太清楚你周末的逻辑。不管怎样,这就是我不用
apply
或map_partitions
就能做到的。我的dask.__version__
是1.1.1
。如您所见,使用与pandas
中使用的向量解完全相同的方法,您的计算在Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
上所用的15s
要少相关问题 更多 >
编程相关推荐