Cosa sono le funzioni Lambda? Funzione Lambda in Python

Contenuti

introduzione

Per I loop sono l'antitesi di una pianificazione efficiente. Sono ancora necessari e sono i primi cicli condizionali a cui viene insegnato Principianti di Python Ma secondo me, Lasciano molto a desiderare.

Sono di i cicli possono essere ingombranti e possono rendere il nostro codice Python ingombrante e disordinato. Ma aspetta, Qual è la soluzione?? Funzioni Lambda in Python!

Le funzioni Lambda offrono una doppia spinta a un data scientist. Puoi scrivere codice Python più ordinato e velocizzare le tue attività di apprendimento automatico. Il trucco sta nel padroneggiare le funzioni lambda ed è qui che i principianti possono inciampare.

featured_image-1-1320972

Inizialmente, Ho anche trovato le funzioni lambda difficili da capire. Sono di breve durata, Ma possono sembrare confusi come nuovi arrivati. Ma una volta capito come usarli in Chiodo, Li ho trovati molto facili e potenti. E sono sicuro che lo farai anche tu alla fine di questo tutorial.

Quindi, in questo articolo, imparerai a conoscere la potenza delle funzioni lambda in Python e come usarle. Iniziamo!

Nota: Nuovo in Python? Consiglio vivamente di dare un'occhiata ai corsi gratuiti qui sotto per aggiornarsi:

Cosa sono le funzioni Lambda?

Una funzione lambda è una funzione di piccole dimensioni che contiene una singola espressione. Le funzioni Lambda possono anche fungere da funzioni anonime in cui non richiedono alcun nome. Sono molto utili quando dobbiamo eseguire piccole attività con meno codice.

Possiamo anche utilizzare le funzioni lambda quando dobbiamo passare una piccola funzione a un'altra funzione. Non preoccuparti, lo tratteremo presto in dettaglio quando vedremo come utilizzare le funzioni lambda in Python.

Le funzioni lambda sono state introdotte per la prima volta da Alonzo Church negli anni '70. 1930. Sig. Church è ben noto per il lambda calculus e la tesi di Church-Turing.

Le funzioni Lambda sono utili e vengono utilizzate in molti linguaggi di programmazione, ma qui ci concentreremo sul loro utilizzo in Python. e pitone, Le funzioni lambda hanno la seguente sintassi:

lambda-6573172

Le funzioni lambda sono costituite da tre parti:

  • Parola chiave
  • Variabile / Argomento collegato, e
  • Corpo o espressione

La parola chiave è obbligatoria e deve essere un lambda, mentre gli argomenti e il corpo possono cambiare a seconda delle esigenze. Ti starai chiedendo perché dovresti optare per le funzioni lambda quando hai altre funzioni regolari. Domanda legittima, Permettetemi di approfondire questo argomento.

Confronto tra le funzioni Lamba e le funzioni regolari

lambda2-300x119-4415335

Le funzioni Lambda sono definite dalla parola chiave lambda. Possono avere un numero qualsiasi di argomenti, ma solo un'espressione. Una función lambda no puede contener declaraciones y devuelve un objeto de función que se puede asignar a cualquier variabile. Sono generalmente utilizzati per espressioni di una riga.

Le funzioni regolari vengono create utilizzando il pulsante def parola chiave. Possono avere un numero qualsiasi di argomenti e un numero qualsiasi di espressioni. Possono contenere qualsiasi istruzione e vengono solitamente utilizzati per blocchi di codice di grandi dimensioni.

IIFE che utilizzano funzioni lambda

Le IIFE sono espressioni di funzione che vengono immediatamente richiamate. Si tratta di funzioni che vengono eseguite non appena vengono create. Gli IIFE non richiedono una chiamata esplicita per richiamare la funzione. e pitone, Gli IIFE possono essere creati utilizzando la funzione lambda.

Qui, Ho creato un IIFE che restituisce il cubo di un numero:

(lambda x: x*x*x)(10)

lambda10-4345086

Degno di nota!

Applicazione di funzioni Lambda con funzioni diverse

È ora di passare a Python! Accendi il tuo Jupyter Notebook e mettiti al lavoro.

Qui, Ho creato un set di dati casuale che contiene informazioni su una famiglia di 5 persone con il loro documento d'identità, Nomi, Età e reddito mensile. Userò questo framework di dati per mostrarti come applicare le funzioni lambda utilizzando diverse funzioni in un frame di dati in Python.

df=pd. DataFrame({
    'ID':[1,2,3,4,5],
    'nome':['Jeremy','Frank','Janet','Ryan','Mary'],
    'età':[20,25,15,10,30],
    'income':[4000,7000,200,0,10000]
})

lambda3-9561560

Lambda con Applica

Supponiamo di avere un errore nella variabile età. Abbiamo registrato le età con una differenza di 3 anni. Quindi, per rimuovere questo errore dal frame di dati Pandas, Dobbiamo aggiungere tre anni all'età di ogni persona. Possiamo farlo con il richiesta() Operare in panda.

richiesta() La funzione chiama la funzione lambda e la applica a ogni riga o colonna nel frame di dati e restituisce una copia modificata del frame di dati:

df['età']=df.apply(lambda x: X['età']+3,asse=1)

lambda4-6330206

Possiamo usare il richiesta() Funzione per applicare la funzione lambda a righe e colonne in un frame di dati. Se lui asse argomento nel richiesta() Funzione EN 0, La funzione lambda viene quindi applicata a ogni colonna, E se lo è 1, La funzione viene applicata a ogni riga.

richiesta() La funzione può essere applicata anche direttamente a una serie di Panda:

df['età']=df['età'].applicare(lambda x: x+3)

lambda5-2448911

Qui, Puoi vedere che abbiamo ottenuto gli stessi risultati utilizzando metodi diversi.

Lambda con filtro

Ora, Vediamo quante di queste persone sono finite 18 anni. Possiamo farlo usando il filtro() funzione. il filtro() La funzione accetta una funzione lambda e una serie Pandas e applica la funzione lambda alla serie e filtra i dati.

Restituisce una sequenza di Certo e Impostore, che utilizziamo per filtrare i dati. Perciò, la dimensione di input del Carta geografica() La funzione è sempre più grande della dimensione di output.

elenco(filtro(lambda x: X>18,df['età']))

lambda6-9676852

Lambda con mappa

Potrebbe essere correlato alla seguente affermazione. 🙂 È tempo di valutazione delle prestazioni e il reddito di tutti i dipendenti aumenta di un 20%. Ciò significa che dobbiamo aumentare lo stipendio di ogni persona di un 20% nel nostro frame di dati Pandas.

Possiamo farlo usando il Carta geografica() funzione. Questo Carta geografica() La funzione mappa la serie in base alla corrispondenza di input. È molto utile quando dobbiamo sostituire una serie con altri valori. Sopra Carta geografica() funzioni, La dimensione dell'input è uguale alla dimensione dell'output.

df['income']=elenco(carta geografica(lambda x: int(x+x*0,2),df['income']))

lambda7-6345895

Lambda con riduzione

Ora, Diamo un'occhiata al reddito totale della famiglia. Per calcolare questo, possiamo usare il ridurre() Funzione Python. Viene utilizzato per applicare una particolare funzione all'elenco di elementi nella sequenza. il ridurre() La funzione è definita nel campo 'functools’ modulo.

Per utilizzare il ridurre() funzione, dobbiamo importare il functools Modulo Uno:

Importa functools
functools.reduce(lambda a,B: A+B,df['income'])

lambda8-6393745

lambda11-e1582548201147-9461040

ridurre() La funzione applica la funzione lambda ai primi due elementi della serie e restituisce il risultato. Dopo, Archivia il risultato e applica nuovamente la stessa funzione lambda al risultato e all'elemento successivo della serie. Perciò, riduce la serie a un singolo valore.

Nota: Funzioni lambda in ridurre() Non puoi accettare più di due argomenti.

Istruzioni condizionali con funzioni Lambda

Le funzioni Lambda supportano anche le istruzioni condizionali, come se.. altro. Questo rende le funzioni lambda molto potenti.

Diciamo che nel quadro dei dati familiari dobbiamo classificare le persone in "Adulti"’ o 'Bambini'. Per questo, Possiamo semplicemente applicare la funzione lambda al nostro frame di dati:

df['categoria']=df['età'].applicare(lambda x: 'Adult' if x>=18 else 'Child')

lambda9-300x195-5941193

Qui, Puoi vedere che Ryan è l'unico figlio di questa famiglia e il resto sono adulti. Non è stato così difficile, verità?

Qual è il prossimo?

Le funzioni Lambda sono molto utili quando si lavora con molto codice iterativo. Sembrano complessi, come capisco, Ma sono sicuro che ne hai capito l'importanza in questo tutorial.

Condividi questo articolo e commenta qui sotto in caso di domande o commenti. Qui, Ho elencato alcuni blog e corsi di approfondimento legati alla data science e Python:

Corsi:

Blog:

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.