introduzione
Per los bucles son la antítesis de la programación eficiente. Siguen siendo necesarios y son los primeros bucles condicionales que se enseñan a Principiantes de Python pero en mi opinión, dejan mucho que desear.
Sono di los bucles pueden ser engorrosos y pueden hacer que nuestro código Python sea voluminoso y desordenado. Ma aspetta, Qual è la soluzione?? Funciones lambda en Python!
Las funciones Lambda ofrecen un doble impulso a un científico de datos. Puede escribir un código Python más ordenado y acelerar sus tareas de aprendizaje automático. El truco radica en dominar las funciones lambda y aquí es donde los principiantes pueden tropezar.
Inizialmente, también encontré las funciones lambda difíciles de entender. Son de corta duración, pero pueden parecer confusos como recién llegados. Pero una vez que entendí cómo usarlos en Chiodo, Los encontré muy fáciles y poderosos. Y estoy seguro de que tú también lo harás al final de este tutorial.
Quindi, in questo articolo, aprenderá sobre el poder de las funciones lambda en Python y cómo usarlas. Iniziamo!
Nota: Nuovo in Python? Recomiendo encarecidamente consultar los cursos gratuitos a continuación para ponerse al día:
¿Qué son las funciones Lambda?
Una función lambda es una función pequeña que contiene una sola expresión. Las funciones Lambda también pueden actuar como funciones anónimas donde no requieren ningún nombre. Son muy útiles cuando tenemos que realizar pequeñas tareas con menos código.
También podemos usar funciones lambda cuando tenemos que pasar una función pequeña a otra función. Non preoccuparti, cubriremos esto en detalle pronto cuando veamos cómo usar funciones lambda en Python.
Las funciones lambda fueron introducidas por primera vez por Alonzo Church en la década de 1930. Sig. Church es bien conocido por el cálculo lambda y la Tesis de Church-Turing.
Las funciones Lambda son útiles y se usan en muchos lenguajes de programación, pero aquí nos centraremos en usarlas en Python. e pitone, las funciones lambda tienen la siguiente sintaxis:
Las funciones lambda constan de tres partes:
- Palabra clave
- Variabile / argumento enlazado, e
- Cuerpo o expresión
La palabra clave es obligatoria y debe ser un lambda, mientras que los argumentos y el cuerpo pueden cambiar según los requisitos. Debe preguntarse por qué debería optar por funciones lambda cuando tiene otras funciones regulares. Pregunta justa, permítanme ampliar esto.
Comparación de funciones de Lamba con funciones regulares
Las funciones lambda se definen mediante la palabra clave lambda. Pueden tener cualquier número de argumentos, pero solo una expresión. Una función lambda no puede contener declaraciones y devuelve un objeto de función que se puede asignar a cualquier variable. Generalmente se utilizan para expresiones de una línea.
Las funciones regulares se crean utilizando el def parola chiave. Pueden tener cualquier número de argumentos y cualquier número de expresiones. Pueden contener cualquier declaración y generalmente se usan para grandes bloques de código.
IIFE que utilizan funciones lambda
Los IIFE son expresiones de función invocadas inmediatamente. Estas son funciones que se ejecutan tan pronto como se crean. Los IIFE no requieren una llamada explícita para invocar la función. e pitone, los IIFE se pueden crear utilizando la función lambda.
Qui, he creado un IIFE que devuelve el cubo de un número:
(lambda x: x*x*x)(10)
Degno di nota!
Aplicación de funciones Lambda con diferentes funciones
¡Es hora de saltar a Python! Encienda su Jupyter Notebook y pongámonos manos a la obra.
Qui, he creado un conjunto de datos aleatorio que contiene información sobre una familia de 5 personas con su identificación, nombres, edades e ingresos por mes. Usaré este marco de datos para mostrarte cómo aplicar funciones lambda usando diferentes funciones en un marco de datos en 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] })
Lambda con Aplicar
Digamos que tenemos un error en la variable edad. Registramos edades con una diferencia de 3 anni. Quindi, para eliminar este error del marco de datos de Pandas, tenemos que agregar tres años a la edad de cada persona. Podemos hacer esto con el richiesta() funcionar en panda.
richiesta() La función llama a la función lambda y la aplica a cada fila o columna del marco de datos y devuelve una copia modificada del marco de datos:
df['età']=df.apply(lambda x: X['età']+3,asse=1)
Possiamo usare il richiesta() función para aplicar la función lambda a filas y columnas de un marco de datos. Se lui asse argomento nel richiesta() function es 0, entonces la función lambda se aplica a cada columna, y si es 1, la función se aplica a cada fila.
richiesta() La función también se puede aplicar directamente a una serie Pandas:
df['età']=df['età'].applicare(lambda x: x+3)
Qui, puede ver que obtuvimos los mismos resultados utilizando diferentes métodos.
Lambda con filtro
Ora, veamos cuántas de estas personas tienen más de 18 anni. Possiamo farlo usando il filtro() funzione. il filtro() La función toma una función lambda y una serie Pandas y aplica la función lambda en la serie y filtra los datos.
Esto devuelve una secuencia de Certo e Impostore, que utilizamos para filtrar los datos. Perciò, el tamaño de entrada del Carta geografica() La función es siempre mayor que el tamaño de salida.
elenco(filtro(lambda x: X>18,df['età']))
Lambda con mapa
Podrá relacionarse con la siguiente declaración. 🙂 Es tiempo de evaluación del desempeño y los ingresos de todos los empleados aumentan en un 20%. Esto significa que tenemos que aumentar el salario de cada persona en un 20% en nuestro marco de datos Pandas.
Possiamo farlo usando il Carta geografica() funzione. Questo Carta geografica() la función mapea la serie de acuerdo con la correspondencia de entrada. Es muy útil cuando tenemos que sustituir una serie por otros valores. Sopra Carta geografica() funzioni, el tamaño de la entrada es igual al tamaño de la salida.
df['income']=list(carta geografica(lambda x: int(x+x*0.2),df['income']))
Lambda con Reducir
Ora, veamos el ingreso total de la familia. Per calcolare questo, possiamo usare il ridurre() función en Python. Se utiliza para aplicar una función particular a la lista de elementos de la secuencia. il ridurre() La función se define en el ‘functools’ modulo.
Para usar el ridurre() funzione, tenemos que importar el functools módulo primero:
import functools functools.reduce(lambda a,B: a+b,df['income'])
ridurre() La función aplica la función lambda a los dos primeros elementos de la serie y devuelve el resultado. Dopo, almacena ese resultado y nuevamente aplica la misma función lambda al resultado y al siguiente elemento de la serie. Perciò, reduce la serie a un solo valor.
Nota: Funciones lambda en ridurre() no puede tomar más de dos argumentos.
Declaraciones condicionales mediante funciones Lambda
Las funciones Lambda también admiten declaraciones condicionales, como if..else. Esto hace que las funciones lambda sean muy potentes.
Digamos que en el marco de datos de la familia tenemos que categorizar a las personas en ‘Adultos’ o ‘Niños’. Per questo, simplemente podemos aplicar la función lambda a nuestro marco de datos:
df['categoria']=df['età'].applicare(lambda x: 'Adult' if x>=18 else 'Child')
Qui, puede ver que Ryan es el único hijo de esta familia y el resto son adultos. Eso no fue tan difícil, verità?
Qual è il prossimo?
Las funciones Lambda son bastante útiles cuando se trabaja con mucho código iterativo. Parecen complejas, come capisco, pero estoy seguro de que habrás comprendido su importancia en este tutorial.
Comparta este artículo y comente a continuación en caso de que tenga alguna consulta o comentario. Qui, he enumerado algunos blogs y cursos en profundidad relacionados con la ciencia de datos y Python:
Corsi:
Blog: