我有以下datetime列,它知道“太平洋/奥克兰”的时区:
startTime = ['2018-10-10 23:00:00+1300'
, '2018-10-11 04:00:00+1300'
, '2018-10-10 17:30:00+1300'
, '2018-10-10 17:30:00+1300'
, '2018-10-11 04:00:00+1300'
, '2018-10-10 19:00:00+1300']
当我将pd.to_datetime应用于列时,时间不会相应地转换。
我得到这个:
pd.to_datetime(startTime)
DatetimeIndex(['2018-10-10 10:00:00'
, '2018-10-10 15:00:00'
, '2018-10-10 04:30:00'
, '2018-10-10 04:30:00'
, '2018-10-10 15:00:00'
, '2018-10-10 06:00:00']
, dtype='datetime64[ns]'
, freq=None)
我希望在不减去+13小时的基础上增加我在奥克兰NZ的本地化时间:
DatetimeIndex(['2018-10-11 12:00:00'
, '2018-10-11 17:00:00'
, ‘2018-10-11 06:30:00'
, ‘2018-10-11 06:30:00'
, ‘2018-10-11 17:00:00'
, ‘2018-10-11 08:00:00']
, dtype='datetime64[ns]'
, freq=None)
有人可以帮我理解为什么pd.to_datetime减去了13小时而不是增加了13小时吗?
答案 0 :(得分:0)
此问题已在Pandas开发中进行previously raised,并在#13712下进行了跟踪。
目前,一种解决方法是将您的时区感知字符串转换为pd.Timestamp
,这可以正确推断时区,然后应用db = new sigma.plugins.neighborhoods();
db.load('data.json', function() {
console.log(db.neighborhood('node_id'))
});
。
pd.to_datetime
哪个给:
from pandas import Timestamp
converted = [Timestamp(t) for t in startTime]
pd.to_datetime(converted)