2017-12-30 22 views
0

haben ein Datenframe mit einem Schlüssel namens "Datum". ersten paar Einträge wie folgt aussehen:Pandas Filter Einträge nach Datum

0 02.01.2013 
1 03.01.2013 
2 05.01.2013 
3 06.01.2013 
4 15.01.2013 

Jetzt möchte ich Pandas verwenden, um alle Zeilen herauszufiltern, die beispielsweise nicht 2014 als Datum sind.

i durch Tutorien sah und finden Sie die folgenden Schritte aus:

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

aber da gibt mir nicht funktioniert

transactions['date'][9] 

den Eintrag 9. Daten aber nicht die 9. Stelle des Datums.

Kann jemand einem newb helfen?

+0

Hallo, können Sie posten Sie Ihre Datenrahmen Code - ed die df.index zu konvertieren? Vielen Dank. –

Antwort

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

Konvertieren Sie die Spalte datetimepd.to_datetime verwenden und testen Sie die dt.year Attribut -

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

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

Verwenden Sie die Maske zum Filtern auf df -

df = df[m] 

Wenn die Datetime-Spalte ist der index, du würdest stattdessen ne

m = pd.to_datetime(df.index).year != 2014 
Verwandte Themen