dask中的高效排序差异

时间:2017-02-27 04:40:28

标签: python dask

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

我的dask数据框有'Date'(日期时间),'MAC'(类别)和'ID'(int)列已经按日期排序,我希望得到一个带有timedeltas的新列到达对给定mac地址的http请求。

在pandas中,我会做以下事情:设置一个多索引['ID','MAC'],然后使用df['Date'].diff(1)构建一个新列'Timedelta'。似乎不支持多索引,因此无法再现相同的解决方案。重要的一点是,必须在给定请求之间为相同的MAC执行差异,并且以下是记录器(按日期排序)。

1 个答案:

答案 0 :(得分:3)

您可以使用groupby-apply执行此操作吗?这将导致洗牌(这有点慢),但应该完成工作。

df.groupby('MAC').apply(lambda df: df.assign(diff=df.Date.diff(1))

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