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