Как добавить и вычесть месяцы из даты в Pandas


Вы можете использовать следующие методы для добавления и вычитания месяцев из даты в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.