【发布时间】:2021-09-29 01:15:00
【问题描述】:
问题
给定一个事件表(DataFrame),其中每个事件(行)都有它的开始日期时间和停止日期时间以及事件的类别。
如何将此表转换为一个表,其中每一行是所有日期和类别的组合以及这一天事件类别的相关小时数?
示例
也许看例子比解释问题更容易:
我想改造这个 DataFrame
| datetime_start | datetime_end | event_category |
|---|---|---|
| 2021-01-01 10:30:00 | 2021-01-03 16:30:00 | 'A' |
| 2021-01-01 09:00:00 | 2021-01-01 15:30:00 | 'B' |
| 2021-01-01 22:00:00 | 2021-01-01 23:00:00 | 'B' |
进入这个DataFrame
| date | event_category | sum_of_hours_with_event_active |
|---|---|---|
| 2021-01-01 | 'A' | 13.5 |
| 2021-01-01 | 'B' | 7.5 |
| 2021-01-02 | 'A' | 24 |
| 2021-01-02 | 'B' | 0 |
| 2021-01-03 | 'A' | 16.5 |
| 2021-01-03 | 'B' | 0 |
【问题讨论】:
-
如果同一事件的同一天有重叠的时间跨度,这会变得非常复杂。
标签: python pandas group-by resampling rolling-computation