Pandas DataFrame | between_time method
Start your free 7-days trial now!
Pandas DataFrame.between_time(~) method returns rows that fall between the specified start time and end time.
Parameters
1. start_time | string or datetime.time
The start time.
2. end_time | string or datetime.time
The end time.
If end_time is earlier than start_time, then we fetch for rows that do not fall between the specified range.
3. include_start | boolean | optional
Whether or not to include the start_time in the range. By default, include_start=True.
4. include_end | boolean | optional
Whether or not to include the end_time in the range. By default, include_end=True.
5. axis | int or string | optional
By default, axis=0. Due to a lack of documentation, we're not too sure how this parameter can be used. If you have some insight, we'd love to chat with you!
Return Value
A DataFrame containing the rows that fall between the specified start time and end time.
Examples
Consider the following DataFrame:
index_date = pd.date_range("2020-12-25", periods=4, freq="3H")df = pd.DataFrame({"A":["a","b","c","d"]}, index=index_date)df
A2020-12-25 00:00:00 a2020-12-25 03:00:00 b2020-12-25 06:00:00 c2020-12-25 09:00:00 d
Get rows that fall between time range
To get all rows where the time of day falls between 02:30 and 06:20:
df.between_time("02:30", "06:20")
A2020-12-25 03:00:00 b2020-12-25 06:00:00 c
Get rows that do not fall between time range
To get all rows where the time of day does not fall between 02:30 and 06:20, just reverse the positions of the start_time and end_time:
df.between_time("06:20", "02:30")
A2020-12-25 00:00:00 a2020-12-25 09:00:00 d