Класс DateOffset
Класс DateOffset применяется для создания различных смещений дат
в Pandas. Он используется при работе с временными рядами,
позволяя добавлять или вычитать определенные промежутки времени
из объектов datetime. В отличие от Timedelta,
который представляет собой фиксированное количество времени,
DateOffset учитывает календарные особенности
(например, разное количество дней в месяцах или високосные годы).
Класс принимает различные параметры для настройки смещения:
years, months, weeks, days,
hours, minutes, seconds,
microseconds, nanoseconds.
Синтаксис
pd.DateOffset(years=0, months=0, weeks=0, days=0,
hours=0, minutes=0, seconds=0,
microseconds=0, nanoseconds=0)
Пример
Давайте создадим смещение на одну неделю и добавим его к заданной дате:
import pandas as pd
from datetime import datetime
date = datetime(2024, 1, 1)
offset = pd.DateOffset(weeks=1)
res = date + offset
print(res)
Результат выполнения кода:
"2024-01-08 00:00:00"
Пример
Давайте создадим смещение на два месяца и один день, а затем применим его к нескольким датам в Series:
import pandas as pd
ser = pd.Series(pd.date_range('2024-01-01', periods=3))
offset = pd.DateOffset(months=2, days=1)
res = ser + offset
print(res)
Результат выполнения кода:
0 2024-03-02
1 2024-03-03
2 2024-03-04
dtype: datetime64[ns]
Пример
Давайте используем смещение для вычитания из текущей даты:
import pandas as pd
from datetime import datetime
date = datetime(2024, 12, 31)
offset = pd.DateOffset(months=1, days=5)
res = date - offset
print(res)
Результат выполнения кода:
"2024-11-26 00:00:00"
Пример
Давайте создадим смещение с несколькими компонентами и применим его к DataFrame:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3],
'b': [10, 20, 30]
})
df['date'] = pd.date_range('2024-01-01', periods=3)
offset = pd.DateOffset(days=10, hours=5, minutes=30)
df['new_date'] = df['date'] + offset
print(df)
Результат выполнения кода:
a b date new_date
0 1 10 2024-01-01 2024-01-11 05:30:00
1 2 20 2024-01-02 2024-01-12 05:30:00
2 3 30 2024-01-03 2024-01-13 05:30:00
Смотрите также
-
класс
DateOffset,
который используется для создания календарных смещений -
класс
DateOffset,
позволяющий добавлять периоды к датам -
класс
DateOffset,
применяемый при работе с временными рядами -
класс
DateOffset,
который учитывает календарные особенности