Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Aprendiendo Sobre Funciones Lambda | Familiarizándose con la indexación y la selección de datos
Manipulación de Datos con Pandas

bookAprendiendo Sobre Funciones Lambda

Desliza para mostrar el menú

Note
Definición

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:

12345
double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
copy

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 donde x es 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 que 5.

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:

123456789101112
import 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())
copy

x.index % 2 == 0 es True cuando el índice es divisible por 2 (par), y False en caso contrario.

question mark

¿A qué se refiere x en el siguiente código?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 5
some-alt