2013-06-09 5 views
4

Я использовал метод TimeSeries between_time в pandas, который возвращает все значения между указанными моментами, независимо от их даты.pandas timeseries между_datetime функция?

Но мне нужно выбрать как дата и время, потому что моя структура временных рядов содержит несколько дат.

Один из способов решения этого вопроса, хотя и довольно негибкий, - это просто перебрать значения и удалить те, которые не имеют отношения к делу.

Есть ли более элегантный способ сделать это?

+0

Мне понадобится это с обоими, тоже – cattt84

ответ

5

Сначала вы можете выбрать даты, которые представляют интерес, а затем использовать between_time. Например, предположим, что у вас есть временные ряды 72 часов:

import pandas as pd 
from numpy.random import randn 

rng = pd.date_range('1/1/2013', periods=72, freq='H') 
ts = pd.Series(randn(len(rng)), index=rng) 

Чтобы выбрать между 20:00 & 22:00 на 2-й и 3-го января вы можете просто сделать:

ts['2013-01-02':'2013-01-03'].between_time('20:00', '22:00') 

Даю вам что-то вроде этого:

2013-01-02 20:00:00 0.144399 
2013-01-02 21:00:00 0.886806 
2013-01-02 22:00:00 0.126844 
2013-01-03 20:00:00 -0.464741 
2013-01-03 21:00:00 1.856746 
2013-01-03 22:00:00 -0.286726 
Смежные вопросы