我有数据经常变化的熊猫数据框,看起来像这样:设置时区
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)