给定数据集:
Category Date a b
aa 2017-01-01 5 1
aa 2017-01-03 1 3
bb 2017-01-01 2 4
bb 2017-01-02 3 5
bb 2017-01-03 2 3
cc 2017-01-03 3 3
...
我需要对给定数据集中的每个类别进行观察 . 对于 a
列,我需要将 0
和b - 最后观察到的值归为 . 对于这个例子,我必须得到这个:
Category Date a b
aa 2017-01-01 5 1
aa 2017-01-02 0 1
aa 2017-01-03 1 3
bb 2017-01-01 2 4
bb 2017-01-02 3 5
bb 2017-01-03 2 3
cc 2017-01-01 0 0 # start date for cc category, so '0'
cc 2017-01-02 0 0
cc 2017-01-03 3 3
...
1 回答
这绝不是一个优雅的解决方案,但您可以创建一个单独的数据框,其中包含您想要结束的所有行(只需使用rep和seq) .
然后将您的旧数据帧加入到此并使用滞后窗口功能(需要完成两次) .
希望有所帮助 .