Einstellen der Zeitzone für Zeitstempeldaten in pandas dataframe
Ich habe einen sich häufig ändernden Pandadatenrahmen mit folgenden Daten:
date name time timezone
0 2016-08-01 aaa 0900 Asia/Tokyo
1 2016-08-04 bbb 1200 Europe/Berlin
2 2016-08-05 ccc 1400 Europe/London
Datum, Uhrzeit und Zeitzone beziehen sich auf ein Lieferdatum, das häufig für einen ausländischen Standort gilt, wobei der Name der Name des Kundenunternehmens ist.
Es ist geplant, diese Daten zu übernehmen und ein @ zu erstelledatetime_local
-Spalte mit der in @ angezeigten Zeitzotimezone
Spalte des Datenrahmens. Dann möchte ich eine Spalte hinzufügendatetime_london
das das Datum und die Uhrzeit enthält, aber in Bezug auf die Uhrzeit und das Datum in London ausgedrückt wird.
Ich habe den größten Teil des Weges dorthin, aber beim Anrufentz_localize
Ich lande mit einemValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
was mir nahe legt, dass ich die Spalte mit der Zeitzone nicht richtig behandle.
Haben Sie Vorschläge, wie Sie vorgehen sollen?
mydf = pd.DataFrame(data={'date':['2016-08-01','2016-08-04','2016-08-05'],
'time':['0900','1200','1400'],
'timezone':['Asia/Tokyo','Europe/Berlin','Europe/London'],
'name':['aaa','bbb','ccc']}
)
print(mydf)
mydf["datetime"] = mydf["date"].map(str) + " " + mydf["time"]
mydf.datetime = pd.to_datetime(mydf.datetime)
mydf.index = mydf.datetime
print(mydf)
mydf["datetime_local"] = mydf.datetime
mydf.datetime_local.tz_localize(mydf.timezone)