2016-09-18 31 views
2

我想用pandas tz_localize本地化一個日期時間系列。該系列文章跨越DST日期(例如德國CET的2015年10月25日)。我通常做這與Pandas tz_localize:推測當本地化數據時區中重複的時區

import pandas as pd 
T = ['25/10/2015 02:59:00','25/10/2015 02:00:00','25/10/2015 02:01:00'] 
pd.to_datetime(T).tz_localize('CET',ambiguous='infer') 

但是,當時間序列有重複的 - 即使他們是在一個明確的方式來分類的 - 我得到一個錯誤:

T = ['25/10/2015 02:59:00','25/10/2015 02:59:00','25/10/2015 02:00:00','25/10/2015 02:01:00'] 
pd.to_datetime(T).tz_localize('CET',ambiguous='infer') 

AmbiguousTimeError: There are 2 dst switches when there should only be 1. 

這似乎是因爲一個不必要的限制推斷應該非常直截了當。是否有解決方法或解決方案,還是我需要編寫我自己的推斷方法?

回答

1

有一些固定的最新版本DST相關的bug,0.19.0rc1現在是出

In [1]: pd.__version__ 
Out[1]: u'0.19.0rc1' 

In [2]: t = ['25/10/2015 02:59:00', '25/10/2015 02:00:00', '25/10/2015 02:01:00'] 

In [3]: pd.to_datetime(t).tz_localize('CET',ambiguous='infer') 
Out[3]: DatetimeIndex(['2015-10-25 02:59:00+02:00', '2015-10-25 02:00:00+01:00', '2015-10-25 02:01:00+01:00'], dtype='datetime64[ns, CET]', freq=None)