我有一个类似于以下的数据框,其中存储了项目列表的属性信息。每个属性都有与其关联的开始时间和结束时间。如果某个属性的结束时间为NaT,则表示该属性/值尚未结束,因此该项目当前具有该属性/值:
df
item property val propertyStartTime propertyEndTime
0 A x a 2019-03-31 17:45:54 2019-04-20 10:45:44
1 A x b 2019-04-20 10:45:54 2019-04-30 17:45:38
2 A x a 2019-04-30 17:45:54 NaT
3 A y c 2019-03-31 17:46:14 2019-04-30 23:59:38
4 A y d 2019-05-01 00:00:00 NaT
5 A z e 2019-03-31 17:46:33 NaT
在上面的示例数据框中,项目A当前具有3个属性:x = a,y = d,z = e。但是,有没有一种直接方法可以确定数据帧中的其他时间段? (可能精确到5分钟的窗口)。
对于上面的示例数据框,生成的组将类似于以下内容:
From 2019-03-31 17:45:54 to 2019-04-20 10:45:44
grp1
item property val
0 A x a
3 A y c
5 A z e
From 2019-04-20 10:45:54 to 2019-04-30 17:45:38
grp2
item property val
1 A x b
3 A y c
5 A z e
From 2019-04-30 17:45:54 to 2019-04-30 23:59:38
grp3
item property val
2 A x a
3 A y c
5 A z e
And finally, from 2019-05-01 00:00:00 to now
grp4
item property val
2 A x a
4 A y d
5 A z e