Обратите внимание, что метод
.between_time()
предоставляется как объектомpandas.Series
так иpandas.DataFrame
.
DataFrame.between_time(start_time, end_time, inclusive='both', axis=None) Series.between_time(start_time, end_time, inclusive='both')
start_time
: начальное время в качестве ограничения временного фильтра. Принимает datetime.time()
или str
.end_time
: время окончания в качестве ограничения временного фильтра. Принимает datetime.time()
или str
.inclusive
: устанавливать ли каждую границу как закрытую или открытую. Может принимать значения: 'both'
, 'neither'
, 'left'
, 'right'
. axis
: выбирает время диапазона по значению индекса или столбцов. Может принимать значения: 0 или ‘index’
, 1 или ‘columns’
. Обратите внимание, что для Series
этот аргумент не используется и по умолчанию равен 0. Series
или DataFrame
. Данные из исходного объекта, отфильтрованные по указанному временному диапазону.Методы DataFrame.between_time()
и Series.between_time()
библиотеки pandas
выбирают значения между определенным временем суток (например, 9:00-9:30).
Установив start_time
на более позднее время, чем end_time
, можно получить время, которое НЕ НАХОДИТСЯ между двумя временами.
DataFrame.between_time()
:>>> import pandas as pd >>> import numpy as np >>> i = pd.date_range('2018-04-09', periods=4, freq='1D20min') >>> ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i) >>> ts # A # 2018-04-09 00:00:00 1 # 2018-04-10 00:20:00 2 # 2018-04-11 00:40:00 3 # 2018-04-12 01:00:00 4 >>> ts.between_time('0:15', '0:45') # A # 2018-04-10 00:20:00 2 # 2018-04-11 00:40:00 3
Можно получить время, которое НЕ НАХОДИТСЯ между двумя временами, установив start_time
позже, чем end_time
:
>>> ts.between_time('0:45', '0:15') # A # 2018-04-09 00:00:00 1 # 2018-04-12 01:00:00 4