我有一个数据框:
--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
我该怎么做?如果我的时间戳记包括几天,几个月和几年,而不仅仅是几个小时,那么我就不知道该怎么做
答案 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)