2017-12-30 52 views
0

には、 'date'という名前のキーを持つデータフレームがあります。最初のいくつかのエントリは次のようになりますpandas日付でフィルタエントリ

0 02.01.2013 
1 03.01.2013 
2 05.01.2013 
3 06.01.2013 
4 15.01.2013 

今私は、日付として例ではない2014年のためのものであるすべての行をフィルタリングするためにパンダを使用したいです。

私は、チュートリアルを見て、次を見つける:

mask = transactions['date'][9]==4 
trans=transactions[mask] 

しかし

transactions['date'][9] 

は私の第九のデータエントリではなく、日付の9桁目を与えるので、それは動作しません。

誰かがニューハルを助けることができますか?

+0

こんにちは、データフレームコードを投稿できますか?ありがとう。 –

答えて

0
df 
     date 
0 02.01.2013 
1 03.01.2013 
2 05.01.2013 
3 06.01.2014 
4 15.01.2014 

pd.to_datetimeを使用してdatetimeに列を変換し、dt.year属性をテスト -

m = pd.to_datetime(df.date).dt.year != 2014 
m 

0  True 
1  True 
2  True 
3 False 
4 False 
Name: date, dtype: bool 

dfにフィルタリングするためにマスクを使用して - 日時列場合

df = df[m] 

インデックスの場合は、代わりに編集するにはdf.index -

m = pd.to_datetime(df.index).year != 2014 
関連する問題