Python 通过日期时间范围搜索数据帧

Python 通过日期时间范围搜索数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,您好,我想知道我是否能够在包含datetime数据的列上搜索数据框,但我想搜索datetime在某个值内的行 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

您好,我想知道我是否能够在包含datetime数据的列上搜索数据框,但我想搜索datetime在某个值内的行

  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语句来完成我的任务。

类似的方法可能行得通。这使用了熊猫子集和索引功能:

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

df[(df['Time']>='2017-07-13 13:30:23')&(df['Time']类似的功能可能会起作用。这使用了Pandas子集设置和索引功能:

df[(df['Time'] >= '2017-07-13 13:30:23') & (df['Time'] <= '2017-07-13 15:00:00')]
df[(df['Time']>='2017-07-13 13:30:23')和(df['Time']与以下内容一起使用:

或:

df=df.query('2017-07-13'
与以下部件一起使用:

或:

df=df.query('2017-07-13'
df = df.query("'2017-07-13' < Time < '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