私は時間は、フォーム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'
あなたはtime
かtimedelta
の代わりdatetime
を使用する必要が
を争うアクセスすることができます。 – Rahul
この質問は7分前に投稿されました。固定の書式設定とタイプミスでもいくつかの詳細が追加されました。決して問題は変更されていません。質問になされた編集を確認する方法があります。 – pythonRcpp