Datenanalyse wird immer mehr zu einem wichtigen Aspekt jeder Branche. Viele Unternehmen sind stark auf Informationen angewiesen, um strategische Entscheidungen zu treffen, Trends vorherzusagen und das Verbraucherverhalten zu verstehen. In einer solchen Umgebung erweist sich die Pandas-Bibliothek von Python als leistungsstarkes Gerät, das eine Vielzahl von Funktionen für die erfolgreiche Bearbeitung, Zerlegung und Visualisierung von Informationen bietet. Zu diesen leistungsstarken Funktionen gehört die Gruppierung von Daten nach Zeitintervallen.
Dieser Artikel konzentriert sich auf die Verwendung von Pandas zum Gruppieren von Daten nach Zeitintervallen. Wir werden die Syntax, leicht verständliche Algorithmen, zwei verschiedene Ansätze und zwei vollständig ausführbare Codes aus der realen Welt, die auf diesen Ansätzen basieren, untersuchen.
Die Methode, auf die wir uns konzentrieren werden, ist die Funktion groupby() von Pandas, insbesondere deren Resampling-Methode. Die Syntax lautet wie folgt:
df.groupby(pd.Grouper(key='date', freq='T')).sum()
In der Grammatik:
df − Ihr DataFrame.
groupby(pd.Grouper()) – Funktion zum Gruppieren von Daten.
key − Die Spalte, nach der Sie gruppieren möchten. Hier ist es die Spalte „Datum“.
freq – Häufigkeit des Zeitintervalls. („T“ steht für Minuten, „H“ steht für Stunden, „D“ steht für Tage usw.)
sum() – Aggregationsfunktion.
Hier ist ein Schritt-für-Schritt-Algorithmus zum Gruppieren von Daten nach Zeitintervallen -
Importieren Sie die erforderliche Bibliothek, nämlich Pandas.
Laden oder erstellen Sie Ihren DataFrame.
Konvertieren Sie die Datumsspalte in ein Datetime-Objekt, sofern sie noch nicht konvertiert wurde.
Verwenden Sie pd.Grouper, um die Funktion „groupby()“ mit der gewünschten Häufigkeit auf die Datumsspalte anzuwenden.
Anwenden von Aggregatfunktionen wie sum(), mean()
Ergebnisse drucken oder speichern.
Wir werden zwei verschiedene Ansätze betrachten −
In diesem Beispiel erstellen wir einen DataFrame, der einen Bereich von Daten und Werten enthält. Anschließend haben wir die Daten nach Tageshäufigkeit gruppiert und die Tageswerte summiert.
# Import pandas import pandas as pd # Create a dataframe df = pd.DataFrame({ 'date': pd.date_range(start='1/1/2022', periods=100, freq='H'), 'value': range(100) }) # Convert 'date' to datetime object, if not already df['date'] = pd.to_datetime(df['date']) # Group by daily frequency daily_df = df.groupby(pd.Grouper(key='date', freq='D')).sum() print(daily_df)
value date 2022-01-01 276 2022-01-02 852 2022-01-03 1428 2022-01-04 2004 2022-01-05 390
Die Einführung der Pandas-Bibliothek ist eine absolute Voraussetzung für jede Datenmanipulationsaufgabe und das Wichtigste, was wir in diesem Code wirklich tun werden. Die Verwendung der pd.DataFrame()-Strategie ist ein nachfolgender Schritt beim Aufbau eines DataFrame. Die Teile „Datum“ und „Wert“ bilden diesen Datenrahmen. Mit der Funktion pd.date_range() wird in der Spalte „Datum“ ein Bereich stündlicher Zeitstempel erstellt, während der Teil „Wert“ nur ganzzahlige Bereiche enthält. Die Spalte „Datum“ ist das Ergebnis dieser Interaktion.
Obwohl unsere Datumsspalte derzeit Datetime-Objekte unterschiedlich behandelt, verwenden wir nach und nach die Funktion pd.to_datetime(), um sicherzustellen, dass sie geändert wird. Dieser Schritt ist von entscheidender Bedeutung, da der Fortschritt der Erfassungsaktivität davon abhängt, ob das Segment über den Informationstyp „Datetime-Objekt“ verfügt.
Um die Daten danach nach täglicher ('D') Häufigkeit zu gruppieren, verwenden wir die Funktion groupby() in Kombination mit der Funktion pd.Grouper(). Nach der Gruppierung verwenden wir die Funktion sum(), um alle zum selben Tag gehörenden „Wert“-Elemente zu einer einzigen Summe zusammenzufassen.
Abschließend wird der gruppierte DataFrame ausgeschrieben, der die Gesamtwerte der einzelnen Tage anzeigt.
# Import pandas import pandas as pd # Create a dataframe df = pd.DataFrame({ 'date': pd.date_range(start='1/1/2022', periods=100, freq='T'), 'value': range(100) }) # Convert 'date' to datetime object, if not already df['date'] = pd.to_datetime(df['date']) # Group by 15-minute frequency custom_df = df.groupby(pd.Grouper(key='date', freq='15T')).sum() print(custom_df)
value date 2022-01-01 00:00:00 105 2022-01-01 00:15:00 330 2022-01-01 00:30:00 555 2022-01-01 00:45:00 780 2022-01-01 01:00:00 1005 2022-01-01 01:15:00 1230 2022-01-01 01:30:00 945
Die nächste Technik beginnt mit einem Import der Pandas-Bibliothek ähnlich der ersten und erstellt dann einen DataFrame. Dieser DataFrame ist derselbe wie der im vorherigen Modell; der einzige Unterschied besteht darin, dass die Spalte „Datum“ jetzt den Zeitstempel in Minuten enthält.
Die Spalte „Datum“ sollte ein Datum/Uhrzeit-Objekt sein, damit die Erfassungsaktivität ordnungsgemäß funktioniert, und die Funktion pd.to_datetime() stellt sicher, dass dies geschieht.
In diesem Abschnitt verwenden wir die Funktion pd.Grouper() innerhalb der Methode groupby(), um Gruppierungsvorgänge mit einer dedizierten Häufigkeit von 15 Minuten („15T“) durchzuführen. Um die „Wert“-Einträge für jedes 15-Minuten-Intervall zu aggregieren, verwenden wir die Funktion sum(), die gleiche Methode wie im ersten Ansatz.
Vervollständigen Sie den Code, indem Sie einen neuen gruppierten DataFrame anzeigen, der die Summe der Spalte „Wert“ für jedes 15-Minuten-Intervall zeigt.
Pandas gehören verschiedene Datenoperationen, darunter die Gruppierung von Daten nach Zeitintervallen. Durch die Verwendung der Funktion „groupby()“ in Verbindung mit pd.Grouper können wir Daten effektiv basierend auf täglichen Häufigkeiten oder benutzerdefinierten Häufigkeiten segmentieren und so eine effiziente und flexible Datenanalyse ermöglichen.
Die Möglichkeit, Daten nach Zeitintervallen zu gruppieren, ermöglicht es Analysten und Unternehmen, aussagekräftige Erkenntnisse aus Daten zu gewinnen. Ob es darum geht, den Gesamtumsatz pro Tag zu berechnen, die Durchschnittstemperatur pro Stunde zu ermitteln oder Website-Zugriffe alle 15 Minuten zu zählen, die Gruppierung von Daten nach Zeitintervallen ermöglicht es uns, Trends, Muster und Trends in den Daten im Zeitverlauf besser zu verstehen.
Denken Sie daran, dass die Pandas-Bibliothek von Python ein leistungsstarkes Datenanalysetool ist. Wenn Sie lernen, wie Sie die Funktionen nutzen, beispielsweise die Groupby-Methode, können Sie ein effizienterer und kompetenterer Datenanalyst oder Datenwissenschaftler werden.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich Daten nach Zeitintervall in Python Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!