Gruppieren nach Monat in Pandas
Dieses Tutorial verwendet Pandas, um Datenrahmen nach Datum, insbesondere nach Monat, anzuordnen. Beginnen wir mit dem Importieren der erforderlichen Bibliotheken.
Datenrahmen nach Monat in Pandas gruppieren
Relevante Bibliotheken importieren:
import pandas as pd
Wir müssen einen Datenrahmen erstellen, der Daten enthält, um sie in der Reihenfolge des Monats anzuordnen. In unserem Fall nehmen wir uns drei Termine zur Bearbeitung vor.
Wir erstellen den Beispieldatenrahmen mit dem folgenden Code.
df = pd.DataFrame(
{
"Date": [
pd.Timestamp("2000-11-02"),
pd.Timestamp("2000-01-02"),
pd.Timestamp("2000-01-09"),
],
"ID": [1, 2, 3],
"Price": [140, 120, 230],
}
)
Lassen Sie uns einen Blick auf unseren Beispieldatenrahmen werfen, der Datumsangaben enthält.
print(df)
Date ID Price
0 2000-11-02 1 140
1 2000-01-02 2 120
2 2000-01-09 3 230
Lassen Sie uns nach dem Erstellen unseres Datenrahmens daran arbeiten, sie in der Reihenfolge des Monats anzuordnen. Wir werden die Funktion groupby()
verwenden, um den gesamten Datenrahmen zu bearbeiten.
Verwenden Sie die groupby()
-Funktion in Pandas
Wir können eine groupby
-Direktive für ein Objekt angeben, indem wir Pandas GroupBy
verwenden. Diese angegebene Anweisung wählt eine Spalte unter Verwendung des Arguments Schlüssel
der Gruppierer
-Funktion, der Ebenen- und/oder Achsen
-Parameter, falls vorhanden, und der Indexebene des Zielobjekts oder der Spalte.
Lassen Sie uns mit dem folgenden Code die Operation groupby
an unserem Beispieldatenrahmen ausführen.
df1 = df.groupby(pd.Grouper(key="Date", axis=0, freq="M")).sum()
Nachdem wir nun unseren Datenrahmen gruppiert haben, schauen wir uns den aktualisierten Datenrahmen an.
print(df1)
ID Price
Date
2000-01-31 5 350
2000-02-29 0 0
2000-03-31 0 0
2000-04-30 0 0
2000-05-31 0 0
2000-06-30 0 0
2000-07-31 0 0
2000-08-31 0 0
2000-09-30 0 0
2000-10-31 0 0
2000-11-30 1 140
Die Spalte Datum
gruppiert den Datenrahmen im obigen Beispiel. Da wir freq = 'M'
angegeben haben, was für Monat steht, werden die Daten bis zum letzten Datum jedes Monats nach Monat gruppiert und die Summe der Spalte Preis
angezeigt.
Da wir nicht für alle Monate einen Wert angegeben haben, zeigte die groupby
-Methode Daten für alle an, während den anderen ein Wert von 0 zugewiesen wurde.
Daher haben wir unseren Datenrahmen mit dem obigen Ansatz erfolgreich nach Monat in Pandas gruppiert.