Groeperen op kwartaal in pandas dataframe (met voorbeeld)


U kunt de volgende basissyntaxis gebruiken om rijen per kwartaal te groeperen in een pandas DataFrame:

 #convert date column to datetime
df[' date '] = pd. to_datetime (df[' date '])

#calculate sum of values, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' values ']. sum ()

Deze specifieke formule groepeert de rijen per kwartaal in de datumkolom en berekent de som van de kolom met waarden in het DataFrame.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Groeperen op kwartaal in Panda’s

Laten we zeggen dat we de volgende panda’s DataFrame hebben die de verkopen van een bedrijf op verschillende data weergeven:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start='1/1/2022', freq='M', periods= 12 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
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 14
10 2022-11-30 8
11 2022-12-31 3

Gerelateerd: Hoe u een datumbereik in Panda’s kunt maken

De volgende syntaxis kan worden gebruikt om de som van de verkopen gegroepeerd per kwartaal te berekenen:

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date '])

#calculate sum of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. sum ()

date
2022Q1 24
2022Q2 17
2022Q3 16
2022Q4 25
Freq: Q-DEC, Name: sales, dtype: int64

Zo interpreteert u het resultaat:

  • In het eerste kwartaal werden in totaal 24 verkopen gerealiseerd.
  • In het tweede kwartaal werden in totaal 17 verkopen gerealiseerd.
  • In het derde kwartaal werden in totaal 16 verkopen gerealiseerd.
  • In het vierde kwartaal werden in totaal 25 verkopen gerealiseerd.

We kunnen een vergelijkbare syntaxis gebruiken om een andere metriek te berekenen, gegroepeerd op kwartaal.

We zouden bijvoorbeeld in plaats daarvan de maximale verkoopwaarde kunnen berekenen, gegroepeerd per kwartaal:

 #convert date column to datetime
df[' date '] = pd. to_datetime (df[' date '])

#calculate max of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. max ()

date
2022Q1 10
2022Q2 8
2022Q3 8
2022Q4 14
Freq: Q-DEC, Name: sales, dtype: int64

Zo interpreteert u het resultaat:

  • De piekomzet in een afzonderlijke maand tijdens het eerste kwartaal bedroeg 10 .
  • De piekomzet in een afzonderlijke maand tijdens het tweede kwartaal bedroeg 8 .
  • De piekomzet in een afzonderlijke maand tijdens het derde kwartaal bedroeg 8 .
  • De piekverkopen in een afzonderlijke maand tijdens het vierde kwartaal bedroegen 14 .

Opmerking : U kunt hier de volledige documentatie van de groupby- bewerking in panda’s vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Groeperen op maand in Pandas DataFrame
Groeperen op week in Pandas DataFrame
Panda’s: Groupby gebruiken en voorwaardelijk tellen

Einen Kommentar hinzufügen

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