我如何在Dask中以一种“高效”的方式做以下事情:
我的dask dataframe有列' date‘(日期时间)、' mac’(类别)和'ID‘(int),这些列已经按日期排序,我想获得一个新列,其中包含针对给定mac地址的http请求到达的timedeltas。
在pandas中,我会这样做:设置一个多索引的'ID','MAC‘,然后用一个df['Date'].diff(1)构建一个新的列'Timedelta’。似乎不支持多索引,因此不能重现相同的解决方案。重要的是,在给定的请求和随后的记录器(按日期排序)之间,必须对相同的MAC进行区分。
发布于 2017-03-03 02:07:41
你也许可以用groupby-apply来做这件事?这将引起一次洗牌(有点慢),但应该可以完成工作。
df.groupby('MAC').apply(lambda df: df.assign(diff=df.Date.diff(1))我还没有真正做到这一点,所以我希望这将需要调整。
https://stackoverflow.com/questions/42477942
复制相似问题