Вы можете использовать следующие методы для добавления и вычитания месяцев из даты в pandas:
Способ 1: добавить месяцы к дате
from pandas. tseries.offsets import DateOffset
df['date_column'] + DateOffset(months= 3 )
Метод 2: вычесть месяцы из даты
from pandas. tseries.offsets import DateOffset
df['date_column'] - DateOffset(months= 3 )
В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'date ': pd.date_range (start='1/5/2022', freq='M', periods= 10 ),
'sales': [6, 8, 9, 5, 4, 8, 8, 3, 5, 9]})
#view DataFrame
print(df)
date sales
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 9
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 9
Пример 1: добавить месяцы к дате в Pandas
В следующем коде показано, как создать новый столбец, добавляющий 3 месяца к значению в столбце даты :
from pandas. tseries.offsets import DateOffset
#create new column that adds 3 months to date
df['date_plus3'] = df.date + DateOffset(months= 3 )
#view updated DataFrame
print(df)
date sales date_plus3
0 2022-01-31 6 2022-04-30
1 2022-02-28 8 2022-05-28
2 2022-03-31 9 2022-06-30
3 2022-04-30 5 2022-07-30
4 2022-05-31 4 2022-08-31
5 2022-06-30 8 2022-09-30
6 2022-07-31 8 2022-10-31
7 2022-08-31 3 2022-11-30
8 2022-09-30 5 2022-12-30
9 2022-10-31 9 2023-01-31
Новый столбец date_plus3 представляет значения в столбце даты с добавлением трех месяцев к каждому значению.
Пример 2: вычитание месяцев из даты в Pandas
В следующем коде показано, как создать новый столбец, который вычитает 3 месяца из значения в столбце даты :
from pandas. tseries.offsets import DateOffset
#create new column that subtracts 3 months from date
df['date_minus3'] = df.date + DateOffset(months= 3 )
#view updated DataFrame
print(df)
date sales date_minus3
0 2022-01-31 6 2021-10-31
1 2022-02-28 8 2021-11-28
2 2022-03-31 9 2021-12-31
3 2022-04-30 5 2022-01-30
4 2022-05-31 4 2022-02-28
5 2022-06-30 8 2022-03-30
6 2022-07-31 8 2022-04-30
7 2022-08-31 3 2022-05-31
8 2022-09-30 5 2022-06-30
9 2022-10-31 9 2022-07-31
Новый столбец date_minus3 представляет значения в столбце даты , из каждого значения вычитается три месяца.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как преобразовать столбцы в DateTime в Pandas
Как преобразовать дату и время в дату в pandas
Как извлечь месяц из даты в Pandas