按小时过滤时间戳列

时间:2020-10-01 15:25:33

标签: python python-3.x dataframe timestamp

我有一个数据框:

--logging_trace

我想过滤每天的“时间”,如果行之间的间隔不是从上午8点到下午21点,则将其删除。因此所需的结果必须如下所示:

ID           time
1      2018-04-04 07:04:56
2      2018-04-04 09:14:56
3      2018-04-04 21:45:11
4      2018-04-05 18:14:26
5      2018-04-05 19:45:54
6      2018-04-05 19:47:01
7      2018-04-05 19:49:58
8      2018-04-05 21:05:10

我该怎么做?如果我的时间戳记包括几天,几个月和几年,而不仅仅是几个小时,那么我就不知道该怎么做

1 个答案:

答案 0 :(得分:0)

我认为您可以使用pandas.DateTimeIndex

import pandas as pd

df = pd.read_csv("test.csv", delimiter=";") # your CSV/DataFrame/whatever
df.time = pd.to_datetime(df.time)
print(df[(df.time.dt.hour > 8) & (df.time.dt.hour < 21)])

确保时间列的日期时间格式为df.time = pd.to_datetime(df.time)