Konvertieren von datetime-Spalten, um eine andere Zeitzone pandas
Habe ich zwei datetime-Spalten, die sind naiv, wenn ich lese Sie in den Speicher, aber die sind in US/Eastern tatsächlich. Ich möchte einfach zu konvertieren, diese beiden Spalten zu US/Central.
Fand ich eine Methode, die funktioniert, aber es scheint, ich mache einen workaround.
Ich änderte meine call_start und call_end Spalten mit dem Namen 'start' und 'end' statt, so dass ich am Ende nicht mit doppelten Spaltennamen. Dann habe ich einen separaten datetimeindex für jede dieser Spalten und der index zurückgesetzt.
aht.set_index(pd.DatetimeIndex(aht['start']).tz_localize('US/Eastern').tz_convert('US/Central'), inplace = True, drop = True)
aht.index.names = ['call_start']
aht = aht.reset_index()
aht.set_index(pd.DatetimeIndex(aht['end']).tz_localize('US/Eastern').tz_convert('US/Central'), inplace = True, drop = True)
aht.index.names = ['call_end']
aht = aht.reset_index()
Ich am Ende immer:
call_end call_start start end
2016-01-13 06:05:01-06:00 2016-01-13 06:02:00-06:00 01/13/2016 07:02 01/13/2016 07:05
2016-01-13 06:07:00-06:00 2016-01-13 06:03:16-06:00 01/13/2016 07:03 01/13/2016 07:07
2016-01-13 06:09:13-06:00 2016-01-13 06:06:02-06:00 01/13/2016 07:06 01/13/2016 07:09
2016-01-13 06:17:51-06:00 2016-01-13 06:06:20-06:00 01/13/2016 07:06 01/13/2016 07:17
Ist dies die beste Methode? Alle anderen Daten werden in der central time also ich möchte nur sicherstellen, dass diese Datei auch so, wenn ich Zusammenführen von Dateien zusammen macht es mehr Sinn. Ich nicht Sorge darüber, dass die aktuelle Zeitzone Stempel gibt es aber - gibt es einen Weg, um leicht entfernen Sie es, nachdem ich meine neue Spalten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht zu tun, die hin-und Rückfahrkarte zu DatetimeIndex, als diese Methoden sind verfügbar, für eine Reihe (Spalte) als auch durch die
dt
accessor:Und das gleiche für
end
.Zu entfernen Sie die Zeitzone-Informationen, sondern halten Sie es in der lokalen Zeit, die Sie tun anderen
.dt.tz_localize(None)
danach (siehe diese Frage: https://stackoverflow.com/a/34687479/653364)