Funzione Numpy Applica

Funzione Numpy Applica
La libreria integrata offerta da Python, nota come Numpy, ci consente di costruire gli array multidimensionali, modificarli ed eseguire vari calcoli aritmetici su di essi. La funzione Applica è inoltre fornita dal pacchetto numpy. Il caso di utilizzo tipico per la funzione Applicazione è simile allo scenario in cui vogliamo tagliare un array ed eseguire alcune operazioni su ciascun elemento di un elenco, ad esempio, se vogliamo quadrare ogni elemento di una riga. Certo, a Python, sappiamo che per loves sono lenti, quindi vorremmo evitarli se possibile. La funzione "Applica" può essere utilizzata se si desidera eseguire la stessa operazione su ogni riga o colonna di un frame di dati. In altre parole, fa quello che vuoi fare con un per loop senza dover scrivere un ad anello.

Esistono due metodi per applicare qualsiasi funzione all'array a seconda della condizione. Possiamo applicare la funzione "Applicare sopra l'asse" che è utile quando applichiamo la funzione su ciascun elemento dell'array uno per uno, ed è utile per gli array n-dimensionali. Il secondo metodo è "Applicare lungo l'asse" che si applica a un array unidimensionale.

Sintassi:

Metodo 1: applicare lungo l'asse

numpy.Applic_along_axis (1d_function, axis, arr, *args, ** kwargs)

Nella sintassi, abbiamo il "numpy.applicare "funzione a cui passiamo cinque argomenti. Il primo argomento che è "1d_function" opera sull'array unidimensionale, che è richiesto. Mentre il secondo argomento, l '"asse", è quello su cui si vuoi tagliare l'array e applicare quella funzione. Il terzo parametro è "arr" che è l'array dato a cui vogliamo applicare la funzione. Mentre i "*args" e "*kwargs" sono gli argomenti aggiuntivi che non sono necessari per aggiungere.

Esempio 1:

Muovendosi verso una migliore comprensione dei metodi "Applica", eseguiamo un esempio per verificare il funzionamento dei metodi Applica. In questo caso, eseguiamo la funzione "Applica_along_axis". Procediamo al nostro primo passo. Includiamo prima le nostre biblioteche numpy come NP. E poi, creiamo un array chiamato "ARR" che contiene una matrice 3 × 3 con valori interi che sono "8, 1, 7, 4, 3, 9, 5, 2 e 6". Nella riga successiva, creiamo una variabile denominata "Array" che è responsabile per mantenere il risultato della funzione Applica_along_axis.

A quella funzione, passiamo tre argomenti. Il primo è la funzione che vogliamo applicare all'array, nel nostro caso è la funzione ordinata perché vogliamo che il nostro array venga ordinato. Quindi, passiamo il secondo argomento "1", il che significa che vogliamo tagliare il nostro array lungo l'asse = 1. Laslty, passiamo l'array che deve essere ordinato in questo caso. Alla fine del codice, stampiamo semplicemente entrambi gli array - l'array originale e l'array risultante - che vengono visualizzati utilizzando l'istruzione print ().

Importa Numpy come NP
arr = np.Array ([[8,1,7], [4,3,9], [5,2,6]])
array = np.Applic_along_axis (ordinato, 1, arr)
Stampa ("L'array originale è:", arr)
stampa ("L'array ordinato è:", Array)

Come possiamo vedere nella seguente uscita, abbiamo visualizzato entrambi gli array. Nel primo, i valori vengono posizionati in modo casuale in ogni riga della matrice. Ma nel secondo, possiamo vedere l'array ordinato. Da quando abbiamo superato l'asse "1", non ha ordinato l'array completo ma lo ha ordinato in termini di riga come visualizzato. Ogni riga è ordinata. La prima riga nell'array dato è "8, 1 e 7". Mentre nell'array ordinato, la prima riga è "1, 7 e 8". Come questo, ogni riga è ordinata.

Metodo 2: applicare sull'asse

numpy.Applic_over_axes (func, a, axes)

Nella sintassi data, abbiamo Numpy.Funzione Applic_over_axis che è responsabile dell'applicazione della funzione sull'asse dato. All'interno della funzione Applic_over_axis, passiamo tre argomenti. Il primo è la funzione che deve essere eseguita. Il secondo è l'array stesso. E l'ultimo è l'asse su cui vogliamo applicare la funzione.

Esempio 2:

Nel seguente istanza, eseguiamo il secondo metodo della funzione "Applica" in cui calcoliamo la somma dell'array tridimensionale. Una cosa da ricordare è che la somma di due array non significa che calcoliamo l'intero array. In alcuni degli array, calcoliamo la somma di riga, il che significa che aggiungiamo le righe e ne otteniamo il singolo elemento.

Andiamo avanti al nostro codice. Prima importamo il pacchetto numpy e quindi creiamo una variabile che contiene l'array tridimensionale. Nel nostro caso, la variabile è "arr". Nella riga successiva, creiamo un'altra variabile che contiene l'array risultante della funzione applicabile_axis. Assegniamo la funzione Applic_over_axis alla variabile "arr" con tre argomenti. Il primo argomento è la funzione integrata di Numpy per calcolare la somma che è NP.somma. Il secondo parametro è l'array stesso. Il terzo argomento è l'asse su cui viene applicata la funzione, in questo caso abbiamo l'asse “[0, 2]”. Alla fine del codice, eseguiamo entrambi gli array usando l'istruzione print ().

Importa Numpy come NP
arr = np.Array ([[[6, 12, 2], [2, 9, 6], [18, 0, 10]],
[[12, 7, 14], [2, 17, 18], [0, 21, 8]]])
array = np.Applic_over_axes (NP.somma, arr, [0,2])
Stampa ("L'array originale è:", arr)
Stampa ("La somma dell'array è:", Array)

Come mostrato nella figura seguente, abbiamo calcolato alcuni dei nostri array tridimensionali utilizzando la funzione Applica_Over_Axis. Il primo array visualizzato è l'array originale con la forma di "2, 3, 3" e il secondo è la somma delle righe. La somma della prima fila è "53", la seconda è "54" e l'ultimo è "57".

Conclusione

In questo articolo, abbiamo studiato come viene utilizzata la funzione applicata in numpy e come possiamo applicare le diverse funzioni sugli array lungo o sopra l'asse. È facile applicare qualsiasi funzione nella riga o nella colonna desiderata tagliandoli utilizzando i metodi "Applica" forniti da Numpy. È un modo efficiente quando non dobbiamo applicarlo a tutto l'array. Speriamo che tu trovi questo post benefico nell'apprendimento di come utilizzare il metodo Applica.