熊猫:重叠时间计数

时间:2013-12-25 08:55:25

标签: python pandas

我有一组数据有一堆开始和结束时间,使用pandas我正在寻找获得重叠开始和结束时间的最佳方法,这意味着发生的最大开始和结束时间。

该表是具有开始和结束时间的会话,其目的是创建一个线图,显示会话随时间的最大并发性。

1 个答案:

答案 0 :(得分:0)

import numpy as np
import pandas as pd
ranges = np.asarray([(np.datetime64('2013-12-24T00:00:00Z'), np.datetime64('2013-12-24T00:02:00Z')),
                     (np.datetime64('2013-12-24T00:02:00Z'), np.datetime64('2013-12-24T00:04:00Z')),
                     (np.datetime64('2013-12-24T00:03:00Z'), np.datetime64('2013-12-24T00:05:00Z'))])
us = pd.Series(index=np.unique(ranges), data=0)
for start, end in ranges:
    us[start:end] += 1
print us

输出:

2013-12-24 00:00:00    1
2013-12-24 00:02:00    2
2013-12-24 00:03:00    2
2013-12-24 00:04:00    2
2013-12-24 00:05:00    1

注意:您可能希望以不同方式处理边缘(例如,2013-12-24 00:02:00 2