【发布时间】:2019-08-25 00:38:48
【问题描述】:
我正在考虑使用当前状态的闭包来计算滚动窗口(在我的情况下宽度为 2),以回答我最近提出的 question。大概是这样的:
def test(init_value):
def my_fcn(x,y):
nonlocal init_value
actual_value = (x + y) * init_value
init_value = actual_value
return init_value
return my_fcn
其中 my_fcn 是一个用于测试的虚拟函数。因此,该函数可能会通过actual_fcn = test(0); 进行初始化,例如,我们假设初始值为零。最后,可以通过 ddf.apply 使用该功能(其中 ddf 是实际的 dask 数据帧)。
最后一个问题:如果计算的顺序被保留,这将起作用,否则一切都会被打乱。我没有测试过它,因为 - 即使它通过了 - 我也不能 100% 确定它会始终保持订单。所以,问题是:
dask 数据框的 apply 方法是否保留行顺序?
还有其他想法吗?任何帮助都非常感谢。
【问题讨论】:
标签: pandas parallel-processing lazy-evaluation dask