Aufteilung timestamp-Spalte in separate Datums-und Zeit-Spalten
Habe ich ein pandas dataframe mit über 1000 Zeitstempel (unten), möchte ich eine Schleife Durchlaufen:
2016-02-22 14:59:44.561776
Ich habe eine harte Zeit, die Spaltung dieser Zeitstempel in 2 Spalten- 'Datum' und 'Zeit'. Das Datumsformat kann die gleiche bleiben, aber die Zeit muss konvertiert CST (einschließlich Millisekunden).
Danke für die Hilfe
- Wie wäre
'2016-02-22 14:59:44.561776'.split()
? - Warum auf der Erde würden Sie wollen, zu tun?!?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum würden Sie wollen, dies zu tun in den ersten Platz, aber wenn Sie wirklich müssen...
Die Konvertierung, CST ist schwierig. Ich gehe davon aus, dass der aktuelle Zeitstempel werden 'bewusst' ist, d.h. Sie haben nicht eine Zeitzone befestigt? Wenn nicht, wie würden Sie erwarten, Sie zu bekehren?
Weitere details:
https://docs.python.org/2/library/datetime.html
Wie machen Sie eine Ahnung datetime-timezone bewusst in python
BEARBEITEN
Eine alternative Methode, die nur loops einmal quer über die timestamps statt zweimal:
pd.to_datetime(df.my_timestamp)
zu sehen, ob das korrekt konvertiert.df.my_timestamp.iat[0]
? Das liefert den Inhalt Ihres ersten Zeitstempel.df
ist natürlich der name Ihres dataframe, undmy_timestamp
ist der name der Datum-Spalte.2016-02-21 21:19:44.797907
pd.to_datetime(df.my_timestamp.iat[0])
um zu bestätigen es korrekt konvertiert.Ich denke, der einfachste Weg ist die Verwendung
dt
Attribut der pandas-Serie. Für Ihren Fall müssen Siedt.date
unddt.Zeit
:Hatte dasselbe problem und dieses arbeitete für mich.
Nehme an, dass die Datum-Spalte in das dataset wird als "Datum"
Dadurch erhalten Sie zwei Spalten "Datum" und "Zeit" mit splited Termine.
Wenn Ihr Zeitstempel sind bereits im pandas-format (nicht als string), dann:
Wenn Ihr Zeitstempel ist eine Zeichenfolge, die Sie analysieren können, es mit dem datetime-Modul:
Quelle:
http://pandas.pydata.org/pandas-docs/stable/timeseries.html
Wenn dein timestamp ist ein string, können Sie es konvertieren zu einem
datetime
Objekt:Dann können Sie es bringen, auf welchem format auch immer Sie möchten.
Versuchen
dann konvertieren Sie die Zeit, wie gebraucht.
Wenn Sie möchten, um weitere Aufteilung der Zeit,
versuchen Sie dies: