• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

Funciones lambda de Python

junio 26, 2019 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

Las funciones lambda, a las que también se les conoce como funciones anónimas, es una forma de definir funciones en línea. No es una técnica propia de Python ya que se encuentran disponibles en muchos lenguajes de programación. Al definir las funciones en una línea estas se pueden aplicar a un conjunto de datos y unir posteriormente lo resultados. No siendo necesario asignar un identificador a la función, de ahí el nombre de funciones anónimas. En esta entrada se realizará una descripción detallada de las Funciones lambda de Python y explicando cómo usarlas.

Siendo las funciones lambda clave a la hora de trabajar con el paradigma de programación funcional el Python.

Sintaxis de las funciones lambda de Python

La sintaxis de las funciones lambda de Python es bastante sencilla. Se utiliza la palabra reservada lambda seguida de los argumentos, posteriormente con se separa mediante dos puntos la expresión. Las funciones lambda pueden tener tantos argumentos como sean necesarios, pero solamente puede tener una expresión. Por ejemplo, se puede implementar el producto de dos valores con:

product = lambda x,y : x * y

en donde x e y son los argumentos y x * y es la expresión. La función se ha asignado a una variable, algo que no es necesario, pero así se puede utilizar como si fuese una función normar creada con def.

Publicidad


product(2, 3)  # Retorna 6

Diferencias entre las funciones lambda y las definidas con def

En Python las funciones creadas mediante la palabra lambda también se pueden crear utilizando def. El ejemplo anterior, la función que multiplica dos números, se puede definir también de forma tradicional con def.

Aunque aparentemente se ha obtenido el mismo resultado existen ciertas diferencias entre ambos métodos que es necesario tener en cuenta.

  • Al utilizar la palabra clave lambda se crea un objeto función sin crearse al mismo tiempo un nombre en el espacio de nombres. Nombre que si se crea al definir la función con def.
  • Las funciones lambda se crea en una única línea de código, por lo que son adecuadas cuando se desea minimizar el número de estas.
  • Para los usuarios noveles de Python las funciones lambda son generalmente menos legibles que las tradicionales.
  • En el caso de que se deseen una función lambda es necesario asignarla a una variable. Ya que, si no es así, al carecer de identificador, solamente se podrá utilizar en la línea donde se defina.

Ejemplos de uso de funciones lambda de Python

Las funciones lambda son claves en programación funcional. Se puede utilizar para aplicar una función a todo un DataFrame con el método apply(). Evitando así la necesidad de operar con bucles. Por ejemplo, si se crea un DataFrame aleatorio se le puede añadir a cada elemento uno solamente con una línea de código.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 100, size=(4, 2)), columns=list('AB'))
    A   B
0  81  53
1  40  35
2  27  46
3  86  49
print(df.apply(lambda x: x + 1))
    A   B
0  82  54
1  41  36
2  28  47
3  87  50

Conclusiones

En esta entrada se ha visto el fundamento de las funciones lambda de Python. Una herramienta muy útil para conseguir un código más compacto. Además, son clave para poder trabajar con el paradigma de programación funcional en Python de una forma eficiente.

Publicidad


Imágenes: Pixabay (Michael Schwarzenberger)

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • python
    Documentar paquetes de Python (Creación de paquetes…
  • dictionary
    Filter, map y reduce en un diccionario de Python
  • logo-wide-lightbg
    Aplicación de estilos de visualización en Seaborn
  • t-1723941_1920
    Unir y combinar dataframes con pandas en Python
  • vegetables
    Paquetes con el algoritmo Apriori en Python
  • Procesado de texto
    Procesado de cadenas de texto en Python

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad





Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

Mantener un sistema de alta disponibilidad con PostgreSQL y repmgr

diciembre 1, 2023 Por Daniel Rodríguez

Diferencias entre los errores 401 y 403 del estándar HTTP

noviembre 29, 2023 Por Daniel Rodríguez

Ver el código de cualquier función en Python

noviembre 27, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Diferentes formas de ordenar dataframes en pandas publicado el abril 29, 2019 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • Codificación JSON Archivos JSON con Python: lectura y escritura publicado el julio 16, 2018 | en Python
  • pandas Pandas: Cómo crear un DataFrame vacío y agregar datos publicado el noviembre 16, 2020 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.4 (13)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Anto en Rendimiento al iterar en JavaScript sobre un vector
  • Daniel Rodríguez en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Guillermo en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto