Gruppieren nach Monat in Pandas

Preet Sanghavi 21 Juni 2023
  1. Datenrahmen nach Monat in Pandas gruppieren
  2. Verwenden Sie die groupby()-Funktion in Pandas
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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - Pandas GroupBy