我有一个经常更改的 pandas 数据框,如下所示:
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
日期、时间和时区是指交货日期,通常是海外地点,名称是客户公司的名称。
计划是利用这些数据并创建一个datetime_local
包含中显示的时区的列timezone
数据框的列。然后我想从中添加一列datetime_london
包含该日期和时间,但以伦敦的时间和日期表示。
我已经走了大部分路,但打电话时tz_localize
我最终得到了ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
这表明我没有正确处理时区列。
关于如何进行有什么建议吗?
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)