2013-12-25 2 views
1

У меня есть набор данных, который имеет кучу начального и конечного времени. Используя pandas, я ищу лучший способ получить количество перекрывающихся начальных и конечных времен, что означает максимальное начало и которые случаются.Pandas: счетчик времени перекрытия

Таблица сеансов со временем начала и окончания, идея заключается в создании линейного графика, показывающего максимальный параллелизм сеансов с течением времени.

ответ

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)

+0

Я попытался этот путь, но мне было интересно, если есть встроенный метод в Пандах, которые это сделали. – user13607

Смежные вопросы