DateOffset adalah cara kita memanipulasi object datetime. Untuk keperluan tutorial ini kita akan buat series sederhana dengan DateIndex.
mydt = pd.date_range(start="2021-4-1", end="2021-4-15", freq="D") s = pd.Series(data=None, index=mydt) s.index
DatetimeIndex(['2021-04-01', '2021-04-02', '2021-04-03', '2021-04-04',
'2021-04-05', '2021-04-06', '2021-04-07', '2021-04-08',
'2021-04-09', '2021-04-10', '2021-04-11', '2021-04-12',
'2021-04-13', '2021-04-14', '2021-04-15'],
dtype='datetime64[ns]', freq='D')
Dengan DateOffset, kita bisa melakukan manipulasi data datetime dengan mudah.
Contoh menambahkan 5 hari pada index diatas.
s.index + pd.DateOffset(days=5)
DatetimeIndex(['2021-04-06', '2021-04-07', '2021-04-08', '2021-04-09',
'2021-04-10', '2021-04-11', '2021-04-12', '2021-04-13',
'2021-04-14', '2021-04-15', '2021-04-16', '2021-04-17',
'2021-04-18', '2021-04-19', '2021-04-20'],
dtype='datetime64[ns]', freq=None)
Selain days, parameter lainnya satuan waktu seperti: nanoseconds, microseconds, seconds, minutes, hours, days, weeks, months, years. Dan Anda bisa mengkombinasikan parameter tersebut.
Berikut contoh menambahkan 1 bulan dan 1 tahun.
s.index + pd.DateOffset(months=1, years=1)
DatetimeIndex(['2022-05-01', '2022-05-02', '2022-05-03', '2022-05-04',
'2022-05-05', '2022-05-06', '2022-05-07', '2022-05-08',
'2022-05-09', '2022-05-10', '2022-05-11', '2022-05-12',
'2022-05-13', '2022-05-14', '2022-05-15'],