假设数据集data,有id,date,sales字段,
想新增一列,为该行id在当前行日期之后的sales之和
data.apply(lambda x :data[(data.id==x.id)&(data.date>x.date)].sales.sum(),axis=1)
刚用python,不太熟
上面的代码是可以跑,但是运行速度太慢了
有点类似ddply的感觉,2000行的数据也要四五秒才有结果,几百万的数据集怎么办(捂脸)
直接iterrows循环比上面这个apply还慢
dplyr或者data.table,group下再加个lapply结果都是秒出的
pandas折腾了半天groupby也搞不太定,搜了半天也都没有相关的内容
请教大神们常用的套路是啥