使用Dask DataFrame计算前向差异?

时间:2016-11-08 09:27:24

标签: python dataframe time-series dask

如何使用Dask DataFrame计算第一个离散差异?或者,在" Pandas说",我如何在Dask中做pandas.DataFrame.diff()?在数学上,操作非常简单:从自身的副本中减去列向量,移动一行或多行。

我已经尝试通过以下方式在Dask中实现diff(),其中没有一个可行(但是):

  • df - df.shift(periods=1)在熊猫中运作。但是Dask DataFrame没有shift()方法。
  • df.values[:-1] - df.values[1:]在熊猫中运作。但是我无法通过位置看到如何索引到Dask DataFrame。

我目前用于实施diff的最佳方法是在dask.dataframe.rolling.wrap_rolling中包含一些自定义代码,如this stack overflow answer中所述(尽管我还没有找到任何文档在如何做到这一点)。或者使用Dask Delayed包装一些自定义代码?还有其他想法吗?

1 个答案:

答案 0 :(得分:3)

此PR:https://github.com/dask/dask/pull/1769中已将diff方法添加到DataFrame和Series中。与大熊猫一样工作。