Panda Rolling Groupby

Panda Rolling Groupby
Il linguaggio di programmazione Python fornisce la libreria Pandas che ha molti metodi che svolgono funzioni semplici a complesse. I panda in Python rendono l'analisi dei dati molto semplice e facile. Inoltre, è un linguaggio molto eccezionale per l'esecuzione delle indagini sui dati fornendo al contempo un ambiente incredibile di fasci di Python basati sull'informazione.

In questo articolo, discuteremo della funzione Panda Rolling Groupby in Python. Qui dimostreremo alcuni esempi utili che ti aiuteranno a conoscere la funzione GroupBy Rolling Panda e come utilizzare quella funzione nel codice Python. Quindi, iniziamo con la definizione della funzione di rotolamento.

Cosa sta rotolando i panda?

I panda forniscono diverse funzioni utili e il rolling () è una di quelle funzioni eccezionalmente buone in grado di eseguire calcoli complessi sui dati. La funzione rolling () fornisce un calcolo della finestra di rotazione sui dati di input nella serie di oggetti forniti. Il concetto di finestra di rotazione è utilizzato principalmente nei dati delle serie temporali o nell'elaborazione del segnale.

In altre parole, diciamo che abbiamo preso una finestra di "w" in un momento "t" e abbiamo applicato alcune operazioni matematiche ad esso. La dimensione "W" della finestra indica i valori consecutivi "W" alla volta "T" in cui tutti i valori "W" sono ponderati.

Cos'è una finestra rotolante?

Il concetto di base di una finestra di rotazione è il calcolo dei dati dalla data fornita alla finestra di rotazione. Ad esempio, supponiamo che un dipendente si trovi su una finestra di rotolamento di 6 mesi, significa che ottiene il suo stipendio il 1 ° gennaio di ogni anno e un altro stipendio il 1 luglio di ogni anno. Semplice, la finestra di rotazione è relativa al primo appuntamento e in avanti automaticamente con l'orario di rotazione specificata, nel nostro esempio, è una finestra di rotazione di 6 mesi.

In che modo il funzionamento dei panda () funziona con dati?

La funzione Rolling () in Python Panda fornisce gli elementi del conteggio delle finestre a rotazione. L'idea della finestra rotolante in Python è la stessa dell'idea generale di una finestra rotolante. In parole semplici, l'utente fornisce contemporaneamente una finestra ponderata "W" ed esegue alcune operazioni matematiche su di essa.

Qual è la sintassi della funzione GroupBy Rolling Panda?

Di seguito, è possibile trovare la sintassi della funzione Rolling GroupBy Panda.

Come puoi vedere, la funzione rolling () richiede 8 parametri; Windowsize, Minperiod, Frequency, Center, WinType, ON, Asse e Closed.

Il parametro "Windowsize" definisce la dimensione della finestra mobile che è in parole semplici il numero di volte in cui un calcolo deve essere eseguito e per impostazione predefinita il suo valore è 1. Il parametro "Minperiod" definisce il numero minimo di osservazioni richieste in una finestra definita. Il parametro "Frequenza" definisce la frequenza dei dati prima di eseguire eventuali calcoli statistici. Il parametro "centrale" definisce l'etichetta al centro della finestra.

Il parametro "WinType" definisce il tipo di finestra. Il parametro "on" definisce la colonna anziché l'indice del frame dati su cui è necessario eseguire il calcolo della finestra di rotazione. Il parametro "chiuso" definisce quale intervallo deve essere chiuso, o è chiuso su "né", "a sinistra", "destra" o "endpoint entrambi".

E infine, il parametro "Asse" fornisce il valore dell'asse in un numero intero o in formato stringa e per impostazione predefinita è 0. Ora, passiamo agli esempi per imparare a includere la funzione Rolling () nel nostro codice Python e come la funzione Rolling () dei panda in Python funziona con DataFrame.

Esempio 1

Ora, iniziamo con la creazione di un semplice telaio di dati che dobbiamo utilizzare nella funzione Rolling (). 5 valori sono definiti nel frame dati che sono 10, 18, 50, 70 e NP.nan. Successivamente, chiameremo semplicemente la funzione rolling () e forniremo la dimensione della finestra 3. Ecco il codice di Panda Rolling GroupBy Funzione:

Importa panda come PD
Importa Numpy come NP
df = pd.DataFrame ('Z': [10, 18, 50, 70, NP.nan])
Stampa (df.rotolando (3).somma())

Di seguito è riportato l'output del codice sopra. Si noti che i primi 2 valori sono NAN mentre il terzo valore è 78 che è la somma dei precedenti 3 valori 10, 18 e 50. Come abbiamo fornito la dimensione della finestra 3, la funzione di rolling ha eseguito il calcolatore dopo tre Windows. Il quarto valore 138 è la somma di tre valori precedenti che sono 18, 50 e 70. Si noti che l'ultimo valore è di nuovo nan, non è perché la dimensione della finestra è scaduta o qualcos'altro, è perché il 5 ° valore di input è nan. Quindi, qualsiasi cosa aggiunta a NAN sarà NAN.

Esempio 2

Abbiamo visto un semplice esempio della funzione rolling (), ora creiamo un tipo di telaio di dati per capire come funzionano la funzione rolling () sul tipo di dati data/ora. Qui utilizzeremo lo stesso telaio di dati che abbiamo creato nell'esempio precedente, ma ora aggiungeremo la colonna indice che specifica il valore del timestamp per ciascuna colonna. Vedere la colonna indice aggiuntiva nel codice seguente:

Importa panda come PD
Importa Numpy come NP
df_time = pd.DataFrame ('B': [10, 18, 50, 70, NP.nan],
indice = [PD.Timestamp ('20220101 10:00:00'),
pd.Timestamp ('20220101 10:00:01'),
pd.Timestamp ('20220101 10:00:02'),
pd.Timestamp ('20220101 10:00:03'),
pd.Timestamp ('20220101 10:00:04')])
df_time
Stampa (df_time.Rolling ('5S').somma())

Dopo aver eseguito la funzione rolling () dei dati Timestamp otterremo il seguente output:

Esempio 3

In questo esempio, ti aiuteremo a imparare come specificare la funzione Minperiod per la rotola (). Come discusso in precedenza, il parametro di Minperiod della funzione Rolling () definisce il numero minimo di osservazioni richieste per eseguire l'operazione matematica. Qui, stiamo di nuovo calcolando la somma con la dimensione della finestra rotatoria 3 e il minerodo 1. Vedi il codice qui sotto:

Importa panda come PD
Importa Numpy come NP
df = pd.DataFrame ('Z': [10, 18, 50, 70, NP.nan])
Stampa (df.Rolling (2, min_periods = 1).somma())

Ecco l'output del codice sopra indicato.

Conclusione

In questo articolo, abbiamo dimostrato l'uso della funzione Rolling () in Python. Con l'aiuto di esempi semplici, abbiamo osservato come funziona la funzione rolling () con i gesti di dati. Tutti i codici di cui sopra possono essere implementati su qualsiasi compilatore di Python.