Introdução
Para loops são a antítese de programação eficiente. Eles ainda são necessários e são os primeiros loops condicionais ensinados a Iniciantes em Python Mas na minha opinião, Eles deixam muito a desejar.
Estão por os loops podem ser complicados e podem tornar nosso código Python volumoso e confuso. Mas espera, Qual é a solução alternativa? Funções Lambda em Python!
As funções Lambda dão a um cientista de dados um impulso duplo. Você pode escrever um código Python mais limpo e acelerar suas tarefas de aprendizado de máquina. O truque está em dominar as funções lambda e é aqui que os iniciantes podem tropeçar.
Inicialmente, Também achei as funções lambda difíceis de entender. Eles são de curta duração, mas podem parecer confusos como os recém-chegados. Mas uma vez que entendi como usá-los em Piton, Eu os achei muito fáceis e poderosos. E tenho certeza que você também no final deste tutorial.
Então, neste artigo, você aprenderá sobre o poder das funções lambda em Python e como usá-las. Vamos começar!
Observação: Novo em Python? Recomendo enfaticamente que confira os cursos gratuitos abaixo para se atualizar:
O que são funções Lambda?
Uma função lambda é uma pequena função que contém uma única expressão. As funções lambda também podem atuar como funções anônimas, onde não requerem nenhum nome. Eles são muito úteis quando temos que realizar pequenas tarefas com menos código.
Também podemos usar funções lambda quando temos que passar uma pequena função para outra função. Não se preocupe, Cobriremos isso em detalhes em breve, quando vermos como usar funções lambda em Python.
As funções Lambda foram introduzidas pela primeira vez pela Igreja Alonzo na década de 1920. 1930. Senhor. A Igreja é bem conhecida pelo cálculo lambda e pela Tese de Church-Turing.
As funções Lambda são úteis e usadas em muitas linguagens de programação, mas aqui vamos nos concentrar em usá-los em Python. E Python, As funções lambda têm a seguinte sintaxe:
As funções Lambda consistem em três partes:
- Palavra chave
- Variável / argumento vinculado, e
- Corpo ou expressão
A palavra-chave é obrigatória e deve ser um lambda, enquanto os argumentos e o corpo podem mudar de acordo com os requisitos. Você deve estar se perguntando por que deve optar por funções lambda quando tem outras funções regulares. Pergunta justa, deixe-me expandir isso.
Comparação da função Lamba com funções regulares
As funções Lambda são definidas pela palavra-chave lambda. Eles podem ter qualquer número de argumentos, mas apenas uma expressão. Una función lambda no puede contener declaraciones y devuelve un objeto de función que se puede asignar a cualquier variávelEm estatística e matemática, uma "variável" é um símbolo que representa um valor que pode mudar ou variar. Existem diferentes tipos de variáveis, e qualitativo, que descrevem características não numéricas, e quantitativo, representando quantidades numéricas. Variáveis são fundamentais em experimentos e estudos, uma vez que permitem a análise de relações e padrões entre diferentes elementos, facilitando a compreensão de fenômenos complexos..... Eles geralmente são usados para expressões de uma linha.
Funções regulares são criadas usando o def palavra chave. Eles podem ter qualquer número de argumentos e qualquer número de expressões. Eles podem conter qualquer declaração e geralmente são usados para grandes blocos de código.
IIFE usando funções lambda
IIFE são expressões de função imediatamente chamadas. Estas são funções que são executadas assim que são criadas. IIFE não requer uma chamada explícita para invocar a função. E Python, IIFEs podem ser criados usando a função lambda.
Aqui, Eu criei um IIFE que retorna o cubo de um número:
(lambda x: x * x * x)(10)
Impressionante!
Aplicação da função Lambda com diferentes funções
É hora de pular para o Python! Ligue seu Jupyter Notebook e vamos ao que interessa.
Aqui, Eu criei um conjunto de dados aleatórios contendo informações sobre uma família de 5 pessoas com sua identificação, Nomes, idades e renda por mês. Vou usar este quadro de dados para mostrar como aplicar funções lambda usando diferentes funções em um quadro de dados em Python.
df = pd.DataFrame({ 'Eu iria':[1,2,3,4,5], 'nome':['Jeremy','Frank','Janet','Ryan','Mary'], 'era':[20,25,15,10,30], 'renda':[4000,7000,200,0,10000] })
Lambda com Aplicar
Digamos que temos um erro na variável idade. Registramos idades com uma diferença de 3 anos. Então, para remover este erro do quadro de dados do pandas, temos que adicionar três anos à idade de cada pessoa. Podemos fazer isso com o solicitar() correr em Pandas.
solicitar() A função chama a função lambda e a aplica a cada linha ou coluna no quadro de dados e retorna uma cópia modificada do quadro de dados:
df['era']= df.apply(lambda x: x['era']+3,eixo = 1)
Podemos usar o solicitar() função para aplicar a função lambda a linhas e colunas de um quadro de dados. Se ele eixo argumento no solicitar() função es 0, então a função lambda é aplicada a cada coluna, e isso é 1, a função é aplicada a cada linha.
solicitar() A função também pode ser aplicada diretamente a uma série Pandas:
df['era']= df['era'].Aplique(lambda x: x + 3)
Aqui, você pode ver que obtivemos os mesmos resultados usando métodos diferentes.
Lambda com filtro
Agora, Vamos ver quantas dessas pessoas têm mais de 18 anos. Podemos fazer isso usando o filtro() Função. a filtro() A função recebe uma função lambda e uma série Pandas e aplica a função lambda à série e filtra os dados.
Isso retorna uma sequência de Certo e Falso, que usamos para filtrar os dados. Portanto, o tamanho de entrada do Mapa() A função é sempre maior que o tamanho de saída.
Lista(filtro(lambda x: x>18,df['era']))
Lambda com mapa
Pode estar relacionado à seguinte declaração. 🙂 É hora de avaliação de desempenho e a renda de todos os funcionários aumenta em 20%. Isso significa que temos que aumentar o salário de cada pessoa em 20% em nosso quadro de dados do Pandas.
Podemos fazer isso usando o Mapa() Função. Está Mapa() a função mapeia a série de acordo com a correspondência de entrada. É muito útil quando temos que substituir uma série por outros valores. Sobre Mapa() funções, o tamanho da entrada é igual ao tamanho da saída.
df['renda']= lista(mapa(lambda x: int(x + x * 0,2),df['renda']))
Lambda com Reduce
Agora, vamos ver a renda total da família. Para calcular isso, podemos usar o reduzir() função em python. É usado para aplicar uma função particular à lista de elementos na sequência. a reduzir() A função é definida no ‘Functools’ módulo.
Para usar o reduzir() Função, temos que importar o functools módulo primeiro:
importar functools functools.reduce(lambda a,b: a + b,df['renda'])
reduzir() A função aplica a função lambda aos dois primeiros elementos da string e retorna o resultado. Mais tarde, armazena esse resultado e novamente aplica a mesma função lambda ao resultado e ao próximo elemento da série. Por tanto, reduza a série a um único valor.
Observação: Lambda funciona em reduzir() não pode ter mais de dois argumentos.
Declarações condicionais usando funções lambda
As funções lambda também suportam declarações condicionais, como if..else. Isso torna as funções lambda muito poderosas.
Digamos que no quadro de dados da família tenhamos que categorizar as pessoas em "Adultos’ ou 'Crianças'. Para isto, podemos simplesmente aplicar a função lambda ao nosso quadro de dados:
df['categoria']= df['era'].Aplique(lambda x: 'Adulto' se x>= 18 mais 'Criança')
Aqui, você pode ver que Ryan é a única criança nesta família e o resto são adultos. Isso não foi tão difícil, verdade?
Que segue?
As funções Lambda são bastante úteis ao trabalhar com muitos códigos iterativos. Eles parecem complexos, segundo Tenho entendido, mas tenho certeza que você terá entendido sua importância neste tutorial.
Compartilhe este artigo e comente abaixo caso tenha alguma dúvida ou comentário. Aqui, Listei alguns blogs e cursos aprofundados relacionados à ciência de dados e Python:
cursos:
Blogs: