Panda rotolando.applicare la funzione

Panda rotolando.applicare la funzione

Rolling () è una delle tante funzioni utili offerte dal Pandas Toolkit, che è straordinario nella sua capacità di eseguire complicati calcoli sui set di dati. Per applicare una funzione particolare con una finestra di rotolamento su tutti i dati, abbiamo un metodo "Rolling ().fare domanda a()".

Questo può essere utilizzato per il frame dati, nonché per la serie. Per invocare questa funzione, dobbiamo seguire questa sintassi:


Questo articolo svolgerà l'esecuzione pratica di questa funzione con due tecniche nei programmi Python.

Esempio n. 1: utilizzo di panda rolling ().applicare () funzione per calcolare la mediana di un frame dati Panda

Per questa illustrazione, impiegheremo i panda "df.rolling ().METODO APPLICA () "per applicare un metodo all'intero telaio con la finestra di rotazione. Passeremo direttamente all'implementazione di questo concetto.

La compilazione del programma Python è eseguita su uno strumento compatibile con il nostro sistema. Fornisce il miglior ambiente supportato da Python, quindi non rimarremo bloccato nel processo di esecuzione. Quello che abbiamo scelto è lo strumento "Spyder". Useremo questo strumento per assemblare i nostri programmi di esempio in questo tutorial. Abbiamo appena lanciato lo strumento per lavorarci e ti porterà direttamente all'ambiente di lavoro. Inizieremmo a digitare lo script su di esso.

Ora, i requisiti primari vengono caricati in questo file. Quindi, abbiamo importato i due moduli richiesti di Python. Questi sono "panda" e "numpy". La libreria Pandas viene importata perché creeremo un frame dati utilizzando questa libreria e il "rolling ().La funzione Applica () "appartiene a questo stesso kit di strumenti. La seconda libreria, Numpy, è caricata su un metodo; Da esso verrà utilizzato per calcolare un'espressione matematica. Quindi, entrambe queste biblioteche sono state introdotte nel programma. Inoltre, le abbreviazioni, come "PD" e "NP", rispettivamente, sono state fissate per loro.

Utilizzando una funzione dalla libreria Pandas, dobbiamo costruire un frame dati Pandas. Il metodo per la creazione di dati di dati è "PD.DataFrame () ". Quando esercitiamo questa funzione, indica al programma Python di iniziare il processo di generazione di dati di dati. Quindi, abbiamo invocato il "PD.DataFrame () "Metodo e forniti valori specificati per ciascuna colonna che doveva essere aggiunta in esso. Vogliamo che questo frame dati abbia quattro colonne; Quindi, li abbiamo chiamati "East", "West", "North" e "South".

Il tipo di dati per tutte le colonne è mantenuto lo stesso, che è intero dtype e la dimensione delle colonne è 8. I valori identificati per la colonna "East" sono "1, 2, 3, 4, 5, 6, 7 e 8". Il "West" contiene valori "0, 1, 2, 3, 4, 5, 6 e 7". I dati memorizzati nella colonna "Nord" sono "9, 8, 7, 6, 5, 4, 3 e 2". E l'ultima colonna, "South", ha i valori "3, 5, 7, 9, 6, 4, 2 e 8". È costruito un oggetto Frame di dati, "Direzioni", per contenere questo frame dati in modo che possa essere reso disponibile per essere utilizzato in seguito.

Dobbiamo mettere questo telaio di dati in vista. Questo può essere fatto usando la funzione Python "Print ()". Questo metodo prende qualsiasi tipo di input, che sia una stringa, una funzione, un oggetto, una variabile o un po 'di espressione e semplicemente mette il risultato sullo schermo. Quindi, abbiamo fornito l'oggetto dati "Direzione" per stamparlo.


Questo è il frame di dati risultante che abbiamo costruito eseguendo lo snippet del codice precedente.


Ora per calcolare il "rolling ().Applica () "su questo frame dati abbiamo definito una funzione. Il "def" è la parola chiave che definisce una funzione. La funzione che abbiamo creato è "ApplicRolling ():". All'interno di questo metodo, viene definita un'altra funzione, che è "Median_Estimation (i):". Potresti aver osservato che abbiamo scritto: "io" tra le parentesi graffe di questa funzione. Questo "I" è usato per le iterazioni perché la funzione "Median_Estimation ()" funzionerà iterativamente su ogni valore nel frame dati. Ora, cosa si esibirà con ogni iterazione? Nella riga seguente, l'abbiamo specificato per restituirci un output di "NP.funzione mediana (i) ".

Come identifica il nome, è la funzione di Numpy che calcolerà la mediana iterativamente per tutti i valori. Ogni valore sarà sostituito da "I"; La mediana sarà stimata per quel particolare valore e restituirà il risultato. Quindi invoca il "DF.rolling ().Applica () "Metodo. Il nome del telaio di dati è menzionato come "direzioni", la funzione "rolling ()" è impostata per trovare la finestra di rotolamento per tre osservazioni e la funzione "appliche ()" è esercitata con la funzione "median_estimation". L'output verrà mantenuto nel "risultato" variabile. E poi, abbiamo restituito questo "risultato" variabile alla funzione principale.

Quindi l'intero processo può essere riassunto quando inizia la funzione "ApplicRolling ()" e chiede la funzione "Median_Estimation ()" per calcolare la mediana iterativamente. Quindi entra nel frame dati, calcola la finestra di rotazione, applica il metodo mediano per generare l'output e esce dalla funzione principale. E "print ()" mostrerà il risultato dalla funzione "ApplicRolling ()".


Qui, possiamo vedere che le prime tre voci hanno valori NAN perché abbiamo specificato per stimare la finestra di rotolamento per tre osservazioni poiché non hanno più voci sopra di loro per completare la finestra, quindi vengono lasciate vuote. Dalla quarta voce, la mediana è stata calcolata per la finestra di rotazione. Il tipo di dati restituito di questo frame dati è galleggiante.

Esempio n. 2: utilizzo di panda rotolanti.applicare () funzione per calcolare la somma di una serie Pandas

La seconda tecnica di impiego di questo metodo è esercitarlo nella serie Pandas questa volta.

Abbiamo importato per la prima volta la Biblioteca Pandas nel nostro ambiente Python e fatto "PD" il suo alias da utilizzare durante tutto il programma. Quindi abbiamo invocato il "PD.Series () ”Funzione da Pandas Toolkit per creare una serie Pandas. Il "PD" è l'abbreviazione dei Pandas definita sopra e la "serie" è la parola chiave per la costruzione di una serie. Abbiamo specificato un array di valori per questa funzione. I valori sono "11, 12, 13, 14, 15, 3, 7, 17, 9, 1, 21, 24 e 2". Per preservare questa serie, abbiamo un oggetto in serie, "casuale". Questo oggetto "casuale" ora tiene la nostra serie, quindi l'abbiamo superato al metodo "Print ()" per presentare il suo contenuto sul terminale.


Quando premiamo l'opzione "Esegui file", il nostro codice viene eseguito. Nella seguente istantanea, puoi vedere le serie attualmente generate.


Dopo aver stampato la serie, abbiamo definito una funzione "serie_ra ()". Ora, i calcoli principali verranno eseguiti in questa funzione. All'interno di questa funzione, abbiamo definito un'altra funzione che è "Compute_Sum (J)". Si può indovinare con la sua etichetta che otterrà la somma. La "j" qui gli dice di eseguire questa funzione iterativamente. Ogni iterazione si sposterà ed eseguirà la funzione "somma (j)". E quindi restituire la somma calcolata per ciascun valore.

Quindi la "serie.rolling ().Il metodo Applica () "viene chiamato nella funzione" Compute_Sum () ". Stimerà la finestra di ricerca per cinque osservazioni e quindi calcolerà la loro somma usando il metodo "Applica ()". L'output verrà preservato nella variabile locale "risultato" e restituita alla funzione principale. Infine, abbiamo superato la funzione di input "Series_ra ()" al metodo "Print ()" per vedere la serie finale.


Questa è la serie definitiva con una somma calcolata su una finestra di rotolamento di cinque osservazioni.

Conclusione

L'argomento discusso per questo articolo si basava sui due concetti di Panda, che sono "Rolling ()" e "Applica ()". Abbiamo elaborato l'utilizzo di questo metodo dandoti una spiegazione dettagliata della pratica implementazione del "Rolling ().applicazione () "funzione. Questo tutorial conteneva due approcci per impiegare questo metodo. La prima istanza ha parlato dell'applicazione di una funzione mediana dal numpy toolkit sulla finestra di rotolamento di un frame dati Panda. Mentre il secondo esempio ci ha dato l'idea di implementare questo concetto su una serie Pandas. Quindi, abbiamo applicato questa funzione calcolando la somma sulla finestra di rotazione specificata della serie. Puoi esercitare la tecnica che è più fattibile per il tuo compito.