2017-01-28 3 views
1

Ich habe eine timestamp Spalte in meinem Datenframe, die ursprünglich ein str Typ ist. Einige Beispielwerte:Kann die Datenframespalte nicht in 24-H-Format umwandeln. Datetime

'6/13/2015 6:45:58 AM' 
'6/13/2015 7:00:37 PM' 

ich den folgenden Code verwenden diese Werte in Datetime mit 24H-Format mit diesem Code zu konvertieren:

df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %H:%M:%S %p') 

Und erhalte ich dieses Ergebnis:

2015-06-13 06:45:58 
2015-06-13 07:00:37 

Das heißt, die Daten werden NICHT mit 24H Format konvertiert und ich verliere auch die AM/PM Info. Irgendeine Hilfe?

Antwort

2

Sie lesen es in einer 24-Stunden-Zeit, aber das aktuelle Format ist nicht 24 Stunden Zeit, es ist 12 Stunden Zeit. Lies es als 12 Stunden mit dem Suffix (AM/PM) ein, dann kannst du es später in 24 Stunden ausgeben.

df = pd.DataFrame(['6/13/2015 6:45:58 AM','6/13/2015 7:00:37 PM'], columns = ['timestamp']) 
df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %I:%M:%S %p') 

print df 

       timestamp   timestampx 
0 6/13/2015 6:45:58 AM 2015-06-13 06:45:58 
1 6/13/2015 7:00:37 PM 2015-06-13 19:00:37 
Verwandte Themen