Come aggiungere e sottrarre mesi a una data in pandas


Puoi utilizzare i seguenti metodi per aggiungere e sottrarre mesi da una data in panda:

Metodo 1: aggiungi i mesi fino ad oggi

 from pandas. tseries . offsets import DateOffset

df[' date_column '] + DateOffset(months= 3 )

Metodo 2: sottrai i mesi dalla data

 from pandas. tseries . offsets import DateOffset

df[' date_column '] - DateOffset(months= 3 )

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:

 import pandas as pd

#createDataFrame
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)

        dirty dates
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

Esempio 1: aggiungere mesi fino ad oggi in Pandas

Il codice seguente mostra come creare una nuova colonna che aggiunge 3 mesi al valore della colonna della data :

 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

La nuova colonna date_plus3 rappresenta i valori della colonna della data con tre mesi aggiunti a ciascun valore.

Esempio 2: sottrai i mesi dalla data in Panda

Il codice seguente mostra come creare una nuova colonna che sottrae 3 mesi dal valore della colonna della data :

 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

La nuova colonna date_minus3 rappresenta i valori nella colonna della data con tre mesi sottratti da ciascun valore.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come convertire le colonne in DateTime in Pandas
Come convertire DateTime fino ad oggi in Panda
Come estrarre il mese dalla data in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *