如何使用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包装一些自定义代码?还有其他想法吗?
答案 0 :(得分:3)
此PR:https://github.com/dask/dask/pull/1769中已将diff
方法添加到DataFrame和Series中。与大熊猫一样工作。