dask 中的高效排序差异

Jua*_*oMF 3 python sorting dataframe dask

如何以“有效”的方式在 Dask 中执行以下操作:

我的 dask 数据框有“日期”(日期时间)、“MAC”(类别)和“ID”(整数)列,它们已经按日期排序,我想获得一个新列,其中包含 http 请求到达的时间增量对于给定的 mac 地址。

在 Pandas 中,我会执行以下操作:设置一个多索引 ['ID', 'MAC'],然后使用df['Date'].diff(1). 似乎不支持多索引,因此无法重现相同的解决方案。重要的部分是必须在给定请求和以下记录器(按日期排序)之间对同一 MAC 进行差异。

MRo*_*lin 6

您可以通过 groupby-apply 来做到这一点吗?这将导致洗牌(这有点慢),但应该可以完成工作。

df.groupby('MAC').apply(lambda df: df.assign(diff=df.Date.diff(1))
Run Code Online (Sandbox Code Playgroud)

不过我实际上还没有这样做,所以我希望这需要调整。