57321


以下の様にタイムゾーンを設定した際、  
indexの時間を一律10:00：00にする方法は無いでしょうか？  
特に下記のデータには規則性はありません。

[code]

    DatetimeIndex(['2000-01-03', '2000-01-04', '2000-01-05', '2000-01-06',
                   '2000-01-07', '2000-01-10', '2000-01-11', '2000-01-12',
                   '2000-01-13', '2000-01-14',
                   ...
                   '2018-12-19', '2018-12-20', '2018-12-21', '2018-12-23',
                   '2018-12-24', '2018-12-25', '2018-12-26', '2018-12-27',
                   '2018-12-28', '2018-12-30'],
                  dtype='datetime64[ns]', name='日付', length=4984, freq=None)
    
    data.index = data.index.tz_localize('Asia/Tokyo')
    
    DatetimeIndex(['2000-01-04 00:00:00+09:00', '2000-01-05 00:00:00+09:00',
                   '2000-01-06 00:00:00+09:00', '2000-01-07 00:00:00+09:00',
                   '2000-01-11 00:00:00+09:00', '2000-01-12 00:00:00+09:00',
                   '2000-01-13 00:00:00+09:00', '2000-01-14 00:00:00+09:00',
                   '2000-01-17 00:00:00+09:00', '2000-01-18 00:00:00+09:00',
                   ...
                   '2018-12-14 00:00:00+09:00', '2018-12-17 00:00:00+09:00',
                   '2018-12-18 00:00:00+09:00', '2018-12-19 00:00:00+09:00',
                   '2018-12-20 00:00:00+09:00', '2018-12-21 00:00:00+09:00',
                   '2018-12-25 00:00:00+09:00', '2018-12-26 00:00:00+09:00',
                   '2018-12-27 00:00:00+09:00', '2018-12-28 00:00:00+09:00'],
                  dtype='datetime64[ns, Asia/Tokyo]', name='Date', length=4664, freq=None)
    
[/code]

下記にしたい

[code]

    DatetimeIndex(['2000-01-04 10:00:00+09:00', '2000-01-05 10:00:00+09:00',
                   '2000-01-06 10:00:00+09:00', '2000-01-07 10:00:00+09:00',
    
    
[/code]


CC BY-SA 4.0
2019-08-11T13:43:34.097
57306
2019-08-12T15:04:09.950
2019-08-12T14:08:25.393
31764
31764
question
python pandas
DateTimeIndexに時間をセットしたい


Python 3.7.4 と pandas 0.25.0 でやってみました。

既に何かの`DataFrame`の`index`になっている状態ならば、以下の2行で出来るでしょう。

[code]

    data.index = data.index + pd.Timedelta('0 days 10:00:00')
    data.index = data.index.tz_localize('Asia/Tokyo')
    
[/code]

単独の`DatetimeIndex`オブジェクトならば、いったん`DataFrame`にしてから戻す、以下のような処理になるでしょう。

[code]

    data = pd.DataFrame(data)
    data = data['日付'] + pd.Timedelta('0 days 10:00:00')
    data = pd.DatetimeIndex(data)
    data = data.tz_localize('Asia/Tokyo')
    
[/code]


CC BY-SA 4.0
2019-08-12T15:04:09.950
57321
2019-08-12T15:04:09.950
26370
57306
answer