2016-10-25 4 views
2

以下はDataFrameのDateTimeIndexの下にあります。夏/冬のタイムゾーンは「US/Eastern」ですが、記録されたタイムスタンプは「ヨーロッパ/ロンドン」です。私はフルタイムシーケンスを達成するためにインデックスを再作成しようとしています。Python Pandas DateTimeIndex

DatetimeIndex(['1993-10-24 21:00:00', '1993-10-25 21:00:00', 
       '1993-10-26 21:00:00', '1993-10-27 21:00:00', 
       '1993-10-28 21:00:00', '1993-10-31 22:00:00', 
       '1993-11-01 22:00:00', '1993-11-02 22:00:00', 
       '1993-11-03 22:00:00', '1993-11-04 22:00:00'], 
       dtype='datetime64[ns]', name=u'TIME', freq=None) 

時間要素を台無しにすることなく、上記のインデックスを再作成するにはどうすればよいですか?

答えて

1
tidx = pd.DatetimeIndex(
    [ 
     '1993-10-24 21:00:00', '1993-10-25 21:00:00', 
     '1993-10-26 21:00:00', '1993-10-27 21:00:00', 
     '1993-10-28 21:00:00', '1993-10-31 22:00:00', 
     '1993-11-01 22:00:00', '1993-11-02 22:00:00', 
     '1993-11-03 22:00:00', '1993-11-04 22:00:00'], 
    dtype='datetime64[ns]', name=u'TIME', freq=None 
) 

ts = tidx.to_series().dt.hour.resample('D').last().ffill().rename_axis('date') 
ts.index + pd.to_timedelta(ts.values, unit='H') 

DatetimeIndex(['1993-10-24 21:00:00', '1993-10-25 21:00:00', 
       '1993-10-26 21:00:00', '1993-10-27 21:00:00', 
       '1993-10-28 21:00:00', '1993-10-29 21:00:00', 
       '1993-10-30 21:00:00', '1993-10-31 22:00:00', 
       '1993-11-01 22:00:00', '1993-11-02 22:00:00', 
       '1993-11-03 22:00:00', '1993-11-04 22:00:00'], 
       dtype='datetime64[ns]', freq=None) 
+0

これは御馳走のように動作しますありがとう – James

関連する問題