So addieren und subtrahieren sie monate zu einem datum in pandas
Sie können die folgenden Methoden verwenden, um Monate zu einem Datum in Pandas zu addieren und davon zu subtrahieren:
Methode 1: Fügen Sie die bisherigen Monate hinzu
from pandas. tseries . offsets import DateOffset
df[' date_column '] + DateOffset(months= 3 )
Methode 2: Subtrahieren Sie die Monate vom Datum
from pandas. tseries . offsets import DateOffset
df[' date_column '] - DateOffset(months= 3 )
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
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
Beispiel 1: Aktuelle Monate in Pandas hinzufügen
Der folgende Code zeigt, wie eine neue Spalte erstellt wird, die dem Datumsspaltenwert 3 Monate hinzufügt:
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
Die neue Spalte date_plus3 stellt Werte aus der Datumsspalte dar, wobei an jeden Wert drei Monate angehängt werden.
Beispiel 2: Subtrahieren Sie in Pandas die Monate vom Datum
Der folgende Code zeigt, wie eine neue Spalte erstellt wird, die 3 Monate vom Datumsspaltenwert abzieht:
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
Die neue Spalte date_minus3 stellt die Werte in der Datumsspalte dar, wobei von jedem Wert drei Monate abgezogen werden.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So konvertieren Sie Spalten in Pandas in DateTime
So konvertieren Sie DateTime in Pandas in ein Datum
So extrahieren Sie den Monat aus dem Datum in Pandas