小编nie*_*sie的帖子

如何计算 Pandas 中重叠的日期时间间隔?

我有一个包含两个日期时间列的以下 DataFrame:

    start               end
0   01.01.2018 00:47    01.01.2018 00:54
1   01.01.2018 00:52    01.01.2018 01:03
2   01.01.2018 00:55    01.01.2018 00:59
3   01.01.2018 00:57    01.01.2018 01:16
4   01.01.2018 01:00    01.01.2018 01:12
5   01.01.2018 01:07    01.01.2018 01:24
6   01.01.2018 01:33    01.01.2018 01:38
7   01.01.2018 01:34    01.01.2018 01:47
8   01.01.2018 01:37    01.01.2018 01:41
9   01.01.2018 01:38    01.01.2018 01:41
10  01.01.2018 01:39    01.01.2018 01:55
Run Code Online (Sandbox Code Playgroud)

我想计算在给定时间结束之前有多少个开始(间隔)同时处于活动状态(换句话说:每行与其余行重叠多少次)。

例如,从00:47到00:52只有一个是活动的,从00:52到00:54有两个,从00:54到00:55又只有一个,等等。

我尝试将列堆叠在一起,按日期排序,并通过迭代整个数据帧,给每个“开始”+1 来计数器,给每个“结束”-1。它可以工作,但在我的原始数据框架上,我有几百万行,迭代需要永远- 我需要找到一种更快的方法。

我原来的基本但不是很好的代码:

import pandas as pd
import numpy as …
Run Code Online (Sandbox Code Playgroud)

python datetime count pandas

8
推荐指数
1
解决办法
2887
查看次数

标签 统计

count ×1

datetime ×1

pandas ×1

python ×1