Come raggruppare i panda a intervalli di 5 minuti


È possibile utilizzare la seguente sintassi di base per raggruppare le righe in intervalli di 5 minuti in un DataFrame panda:

 df. resample (' 5min '). sum ()

Questa particolare formula presuppone che l’indice del tuo DataFrame contenga valori datetime e calcola la somma di ciascuna colonna nel DataFrame, raggruppata in intervalli di 5 minuti.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Correlati: un’introduzione a resample() nei panda

Esempio: come raggruppare i panda a intervalli di 5 minuti

Diciamo di avere il seguente DataFrame panda che mostra le vendite effettuate da un’azienda in date e orari diversi:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2020 ', freq=' min ', periods= 12 ),
                   ' sales ': [6, 8, 9, 11, 13, 8, 8, 15, 22, 9, 8, 4],
                   ' returns ': [0, 3, 2, 2, 1, 3, 2, 4, 1, 5, 3, 2]})

#set 'date' column as index
df = df. set_index (' date ')

#view DataFrame
print (df)

                     sales returns
date                               
2020-01-01 00:00:00 6 0
2020-01-01 00:01:00 8 3
2020-01-01 00:02:00 9 2
2020-01-01 00:03:00 11 2
2020-01-01 00:04:00 13 1
2020-01-01 00:05:00 8 3
2020-01-01 00:06:00 8 2
2020-01-01 00:07:00 15 4
2020-01-01 00:08:00 22 1
2020-01-01 00:09:00 9 5
2020-01-01 00:10:00 8 3
2020-01-01 00:11:00 4 2

Correlato: Come creare un intervallo di date in Pandas

Possiamo utilizzare la seguente sintassi per calcolare la somma delle vendite raggruppate per intervalli di 5 minuti:

 #calculate sum of sales and returns grouped by 5-minute intervals
df. resample (' 5min '). sum ()

                     sales returns
date		
2020-01-01 00:00:00 47 8
2020-01-01 00:05:00 62 15
2020-01-01 00:10:00 12 5

Ecco come interpretare il risultato:

  • Le vendite totali nei minuti 0-4 sono state 47 e i resi totali sono stati 8 .
  • Le vendite totali nei minuti 5-9 sono state 62 e i resi totali sono stati 15 .
  • Le vendite totali nei minuti 10-14 sono state 1 2 e i resi totali sono stati 5 .

Possiamo utilizzare una sintassi simile per calcolare i valori massimi di vendita e i valori di reso, raggruppati in intervalli di 5 minuti:

 #calculate max of sales and max of returns grouped by 5-minute intervals
df. resample (' 5min '). max ()

	             sales returns
date		
2020-01-01 00:00:00 13 3
2020-01-01 00:05:00 22 5
2020-01-01 00:10:00 8 3

Possiamo usare una sintassi simile per calcolare qualsiasi valore che vogliamo raggruppare in intervalli di 5 minuti.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come raggrupparsi di giorno tra i panda
Come raggruppare per settimana nei panda
Come raggruppare per mese su Pandas
Come raggruppare per trimestre in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *