Aprendiendo Sobre Funciones Lambda
Desliza para mostrar el menú
Una función lambda es una función pequeña y anónima definida con la palabra clave lambda. A diferencia de las funciones regulares definidas con def, una función lambda no tiene nombre y está destinada a lógica breve de uso único.
La sintaxis es:
lambda arguments: expression
La función recibe arguments y devuelve el resultado de expression. Algunos ejemplos sencillos:
12345double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
Uso de lambda con iloc[]
En pandas, iloc[] normalmente acepta posiciones basadas en enteros. Sin embargo, también se puede pasar una función lambda; en este caso, x se refiere al propio DataFrame y x.index proporciona los valores del índice de las filas:
data.iloc[lambda x: x.index < 5]
Esto devuelve las primeras cinco filas (índices 0 a 4). A continuación se explica qué hace cada parte:
lambda x: define una función anónima dondexes el DataFrame;x.index: accede a los valores del índice de las filas;x.index < 5: condición de filtrado; solo se seleccionan las filas cuyo índice es menor que5.
El resultado es un array booleano que iloc[] utiliza para filtrar las filas.
Filtrado por paridad de índice
Un caso de uso común es dividir un conjunto de datos por índices pares e impares. El operador módulo % devuelve el resto de la división:
123456789101112import pandas as pd # Data import data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/IMDb_Data_final.csv') # Rows with even indices (0, 2, 4, ...) even = data.iloc[lambda x: x.index % 2 == 0] print(even.head()) # Rows with odd indices (1, 3, 5, ...) odd = data.iloc[lambda x: x.index % 2 != 0] print(odd.head())
x.index % 2 == 0 es True cuando el índice es divisible por 2 (par), y False en caso contrario.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla