【问题标题】:Compute forward difference with Dask DataFrame?用 Dask DataFrame 计算前向差异?
【发布时间】: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


【解决方案1】:

diff 方法现已添加到 DataFrame 和 Series,在此 PR 中:https://github.com/dask/dask/pull/1769。与 pandas 中的工作方式相同。

【讨论】:

    猜你喜欢
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多