Aprendendo Sobre Funções Lambda
Deslize para mostrar o menu
Uma função lambda é uma função pequena e anônima definida com a palavra-chave lambda. Diferente das funções regulares definidas com def, uma função lambda não possui nome e é destinada a lógicas curtas e de uso único.
A sintaxe é:
lambda arguments: expression
A função recebe arguments e retorna o resultado de expression. Alguns exemplos simples:
12345double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
Usando lambda com iloc[]
No pandas, iloc[] normalmente aceita posições baseadas em inteiros. No entanto, também é possível passar uma função lambda – nesse caso, x se refere ao próprio DataFrame, e x.index retorna os valores do índice das linhas:
data.iloc[lambda x: x.index < 5]
Isso retorna as cinco primeiras linhas (índices de 0 a 4). Veja o que cada parte faz:
lambda x: define uma função anônima ondexé o DataFrame;x.index: acessa os valores do índice das linhas;x.index < 5: condição de filtragem; apenas as linhas cujo índice é menor que5são selecionadas.
O resultado é um array booleano que o iloc[] utiliza para filtrar as linhas.
Filtrando por Paridade do Índice
Um caso de uso comum é dividir um conjunto de dados por índices pares e ímpares. O operador módulo % retorna o resto da divisão:
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 é True quando o índice é divisível por 2 (par) e False caso contrário.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo