2017-09-12 14 views
0

こんにちは、datetimeデータを持つカラムのデータフレームベースを検索することができますか?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まで7-13-17午後12時00分○○秒午後三時00分00秒の間の土地であるすべての行を検索したいとしましょう。結果は次のようになります:

正確にデータ選択をスライスする方法はありますか?私は技術的には、基本的にこれを行うためのIf/elif文を作成することができますが、私のタスクを達成するために複数のIf/elif文を作成する方が簡単な方法があるのだろうかと思っています。

答えて

1

使用betweenboolean indexingと::

#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 

またはDataFrame.query:これはパンダのサブセット化とインデックス作成機能を使用しています

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 
1

このようなものが動作する可能性があります。

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