2017-07-17 5 views
-1

私は時間は、フォームHHで文字列に日時で唯一の時間を比較:MMの:SS

を比較する必要があるスクリプトを書いています

a,dtime 
1,2017-07-06 09:15:00 
1,2017-07-06 10:15:00 

以下のように私は、文字列のdatetimeとDFパンダの列を持っています私は

df[df.dtime < "10:15:00"] 

それが今日取る は、だから私は私が行う場合df['dtime']=pd.to_datetime(df['dtime']) を変換(日付なし)df[df.dtime < "10:15:00"]のように比較する必要があります今日の「10時15分」とはいつも比較したいと思います。

だから私は、別の列を作成し、

df['ts']=df.dtime.apply(lambda x: x.time()) 
df[df.ts<"09:16:00"] 
TypeError: can't compare datetime.time to str 
df[df.ts<pd.to_datetime("09:16:00").time()] #this works well 

以下のようにそれをやった、この単純な作業を行うには良い方法はあります、私は、任意のポイントは、新しいTS列の作成を参照してくださいいけません。

私がしたとき df['dtime']=pd.to_datetime(df['dtime'])私は時間部分だけを抽出すべきです。しかしdf['dtime']=pd.to_datetime(df['dtime']).time()を行うとエラーAttributeError: 'Series' object has no attribute 'time'あなたはtimetimedeltaの代わりdatetimeを使用する必要が

+0

を争うアクセスすることができます。 – Rahul

+0

この質問は7分前に投稿されました。固定の書式設定とタイプミスでもいくつかの詳細が追加されました。決して問題は変更されていません。質問になされた編集を確認する方法があります。 – pythonRcpp

答えて

0

を与えます。あなたはそれが今、あなたはあなたの質問や、エラーを変更した.dt. methods

t = pd.to_datetime('10:15:00').time() 

df['dtime'].dt.time < t

0 True 
1 False 
Name: dtime, dtype: bool 
+0

ありがとう、私はdownvoteの理由を知りません:( – pythonRcpp

関連する問題