通过一系列日期时间搜索数据框

时间:2017-09-12 05:06:07

标签: python pandas dataframe

您好我想知道我能否在日期时间数据的列上搜索数据框,但我想搜索日期时间在特定值内的行。

  Time                   User
1 2017-07-13 18:30:18 .  Gary
2 2017-07-13 13:30:23 .  Mary
3 2017-07-13 02:30:18 .  Tim
4 2017-07-12 12:11:44 .  Jim
5 2017-07-12 03:31:54 .  Tom
6 2017-07-11 01:21:21 .  John
7 2017-07-11 05:32:12 .  Sam

假设我想搜索日期在7-13-17 00:00:00到7-13-17 15:00:00之间的所有行。结果将是:

2 2017-07-13 13:30:23 .  Mary
3 2017-07-13 02:30:18 .  Tim

有没有办法可以将数据选择切片到那么精确?我意识到我可以在技术上创建一个If / elif语句来基本上这样做,但只是想知道是否有一个更简单的方法,因为我将创建多个If / elif语句来完成我的任务。

2 个答案:

答案 0 :(得分:1)

这样的事可能有用。这使用了Pandas子集和索引功能:

df[(df['Time'] >= '2017-07-13 13:30:23') & (df['Time'] <= '2017-07-13 15:00:00')]

答案 1 :(得分:1)

between使用boolean indexing

[Stage 11:>                                                         (0 + 2) / 4]

DataFrame.query

#if necessary convert to datetime
df['Time'] = pd.to_datetime(df['Time'])

df = df[df['Time'].between('2017-07-13', '2017-07-13 15:00:00')]
print (df)
                 Time  User
2 2017-07-13 13:30:23  Mary
3 2017-07-13 02:30:18   Tim