Ich habe ein Pandas DataFrame, in dem ich eine zusätzliche Spalte erstellen möchte, die nur das Jahr enthält, das ich aus einer Spalte im YYYYMMDD-Format extrahiere. Bei der Suche im Forum habe ich den Befehl to_datetime
gefunden, aber für meinen Fall hat es nicht funktioniert.Jahr aus der Spalte YYYYMMDD in Pandas DataFrame extrahieren
versuchte ich folgendes:
df = pd.DataFrame({'name' : ['A','B'],
'date' :[20130102,20140511]})
df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].dt.year
, was ich als Ausgabe zu erhalten ist:
date name year
0 1970-01-01 00:00:00.020130102 A 1970
1 1970-01-01 00:00:00.020140511 B 1970
aber ich würde bekommen:
date name year
0 20130102 A 2013
1 20140511 B 2014
Ich versuchte es auch ohne to_datetime
Da mein Datum nicht genau im JJJJ-MM-TT Format liegt, könnte es aber auch nicht so kommen. Ich hoffe, Sie können mir mit diesem "Newbie" -Problem helfen, vielen Dank!
Sie müssen die 'format' zu' to_datetime' weitergeben müssen: 'df [ 'date'] = pd.to_datetime (df [ 'date'], format = '% Y% m% d)' – EdChum
Toll, vielen Dank! (am Ende Ihres Formats fehlt ein ') – Don