So gruppieren sie nach woche in pandas dataframe (mit beispiel)


Sie können die folgende grundlegende Syntax verwenden, um Zeilen in einem Pandas-DataFrame nach Woche zu gruppieren:

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date ']) - pd. to_timedelta (7, unit=' d ')

#calculate sum of values, grouped by week
df. groupby ([pd. Group (key=' date ', freq=' W ')])[' values ']. sum ()

Diese spezielle Formel gruppiert die Zeilen in der Datumsspalte nach Woche und berechnet die Summe der Werte für die Wertespalte im DataFrame.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: So gruppieren Sie bei Pandas nach Woche

Nehmen wir an, wir haben den folgenden Pandas-DataFrame, der die Verkäufe eines Unternehmens zu verschiedenen Daten anzeigt:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start='1/5/2022', freq='D', periods=15),
                   ' sales ': [6, 8, 9, 5, 4, 8, 8, 3, 5, 9, 8, 3, 4, 7, 7]})

#view DataFrame
print (df)

         dirty date
0 2022-01-05 6
1 2022-01-06 8
2 2022-01-07 9
3 2022-01-08 5
4 2022-01-09 4
5 2022-01-10 8
6 2022-01-11 8
7 2022-01-12 3
8 2022-01-13 5
9 2022-01-14 9
10 2022-01-15 8
11 2022-01-16 3
12 2022-01-17 4
13 2022-01-18 7
14 2022-01-19 7

Verwandte Themen: So erstellen Sie einen Datumsbereich in Pandas

Wir können die folgende Syntax verwenden, um die Summe der nach Woche gruppierten Verkäufe zu berechnen:

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date ']) - pd. to_timedelta (7, unit=' d ')

#calculate sum of values, grouped by week
df. groupby ([pd. Group (key=' date ', freq=' W ')])[' sales ']. sum ()

date
2022-01-02 32
2022-01-09 44
2022-01-16 18
Freq: W-SUN, Name: sales, dtype: int64

So interpretieren Sie das Ergebnis:

  • Insgesamt gab es in der Woche ab dem Tag nach dem 1.2.2022 32 Verkäufe.
  • Insgesamt gab es in der Woche ab dem Tag nach dem 01.09.2022 44 Verkäufe.
  • Insgesamt wurden in der Woche ab dem Tag nach dem 16.01.2022 18 Verkäufe getätigt.

Es ist zu beachten, dass Pandas standardmäßig davon ausgehen, dass die Woche am Tag nach Sonntag ( W-SUN ) beginnt.

Laut Dokumentation können Sie diesen Wert für Freq jedoch ändern.

Sie können beispielsweise Freq=W-MON angeben, wenn jede Woche am Tag nach Montag (dh am Dienstag) beginnen soll.

Wir können eine ähnliche Syntax verwenden, um die maximalen Verkaufswerte gruppiert nach Woche zu berechnen:

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date ']) - pd. to_timedelta (7, unit=' d ')

#calculate max of values, grouped by week
df. groupby ([pd. Group (key=' date ', freq=' W ')])[' sales ']. max ()

date
2022-01-02 9
2022-01-09 9
2022-01-16 7
Freq: W-SUN, Name: sales, dtype: int64

So interpretieren Sie das Ergebnis:

  • Der maximale Umsatz pro Tag in der Woche ab dem Tag nach dem 01.02.2022 betrug 9 .
  • Die maximale Anzahl an Verkäufen pro Tag in der Woche ab dem Tag nach dem 01.09.2022 betrug 9 .
  • Die maximale Anzahl an Verkäufen pro Tag in der Woche ab dem Tag nach dem 16.01.2022 betrug 7 .

Hinweis : Die vollständige Dokumentation der Groupby- Operation in Pandas finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So gruppieren Sie nach Monat in Pandas DataFrame
So gruppieren Sie nach Tag in Pandas DataFrame
Wie man Groupby verwendet und in Pandas bedingt zählt

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert