【发布时间】:2017-03-21 20:41:46
【问题描述】:
如何使用 Dask DataFrame 计算第一个离散差?或者,在“熊猫说话”中,我如何在 Dask 中使用 pandas.DataFrame.diff()?从数学上讲,该操作非常简单:从移动了一行或多行的自身副本中减去列向量。
我已尝试通过以下方式在 Dask 中实现 diff(),但都不起作用(目前):
-
df - df.shift(periods=1)在 Pandas 中工作。但是 Dask DataFrame 没有shift()方法。 -
df.values[:-1] - df.values[1:]在 Pandas 中工作。但我看不到如何通过 position 索引到 Dask DataFrame。
我目前实现diff 的最佳想法是在dask.dataframe.rolling.wrap_rolling 中包装一些自定义代码,正如this stack overflow answer 中所建议的那样(尽管我还没有找到任何关于如何执行此操作的文档)。或者使用 Dask Delayed 包装一些自定义代码?还有其他想法吗?
【问题讨论】:
-
是的,我建议使用 wrap_rolling。如果您 raise an issue 将其变成用户可访问的 API,我怀疑有人会接受它。 (或者也许这是您想为帮助他人做出贡献的东西?)
-
@MRocklin 感谢您的建议!我刚刚创建了a feature request on Dask's issue queue。
标签: python dataframe time-series dask