【发布时间】:2022-12-14 04:36:08
【问题描述】:
我有一个看起来像这样的数据框(link to csv):
time , value
0 , 10
1 , 20
2 , 35
3 , 30
4 , 40
5 , 40
6 , 60
我想根据这个较小数据框 (link to csv) 的值填充另一列 recentActive:
time , value , activatedTime , deactivatedTime
1 , 20 , 1 , 5
3 , 30 , 3 , 4
在 recentActive 列中,我们应该有尚未停用的最新激活值。一旦一个值被停用,那么我们应该用以前仍然有效的值填充它。最终的数据框应该是这样的:
time , value , recentActive
0 , 10 , NaN
1 , 20 , 20 (t=1 activated)
2 , 30 , 20
3 , 30 , 30 (t=3 activated)
4 , 40 , 30 (t=3 deactivated)
5 , 40 , 20 (t=1 deactivated)
6 , 60 , NaN (no active values)
我怎样才能做到这一点?最好只使用矢量化操作,谢谢!
【问题讨论】:
-
现实生活中每个数据框有多大?
-
较大的大约有 15000 行,较小的大约有 500 行
-
@mozway 关于如何执行此操作的任何建议?