DEV Community

Francisco Júnior
Francisco Júnior

Posted on • Edited on

Introdução ao método `apply()` e lambda no Pandas: Um Guia Completo

O Pandas é uma das bibliotecas Python mais populares e poderosas para análise de dados. Ele fornece várias ferramentas e funcionalidades que facilitam a manipulação e transformação de dados em DataFrames. Um dos métodos mais úteis e versáteis que o Pandas oferece é o apply() em conjunto com a função lambda. Neste artigo, exploraremos em detalhes o uso do apply() com lambda no Pandas, juntamente com exemplos práticos.

1. O que é o método apply() no Pandas?

O método apply() é uma função que pode ser aplicada a uma coluna ou linha de um DataFrame no Pandas. Ele permite que você aplique uma função personalizada a cada elemento da coluna ou linha, retornando o resultado em uma nova série. O apply() é especialmente útil quando você deseja realizar uma operação específica que não está disponível diretamente nas funções do Pandas.

2. Sintaxe do método apply()

A sintaxe básica do método apply() é a seguinte:

DataFrame.apply(func, axis=0)
Enter fullscreen mode Exit fullscreen mode
  • func: É a função personalizada que será aplicada a cada elemento da coluna ou linha.
  • axis: Indica se a função deve ser aplicada ao longo das colunas (0) ou ao longo das linhas (1).

3. O que é uma função lambda?

Antes de prosseguirmos com exemplos práticos do uso do apply(), é importante entender o conceito de funções lambda. A função lambda, também conhecida como função anônima, é uma função sem nome definida em uma única linha. Ela pode ter vários argumentos, mas deve retornar apenas uma expressão. A sintaxe geral de uma função lambda é a seguinte:

lambda argumentos: expressão
Enter fullscreen mode Exit fullscreen mode

As funções lambda são úteis quando você precisa de uma função rápida e simples para realizar uma tarefa específica.

4. Exemplos de uso do apply() com lambda

Vamos apresentar agora alguns exemplos de uso do apply() em conjunto com a função lambda.

Exemplo 1: Aplicando uma função lambda em uma coluna

Suponha que temos um DataFrame com informações sobre alunos e suas respectivas notas:

import pandas as pd

data = {
    'Nome': ['João', 'Maria', 'Pedro', 'Ana'],
    'Nota': [8.5, 7.2, 6.8, 9.0]
}

df = pd.DataFrame(data)
Enter fullscreen mode Exit fullscreen mode

Agora, suponha que desejamos aumentar em 1 ponto a nota de todos os alunos usando uma função lambda com apply():

df['Nota'] = df['Nota'].apply(lambda x: x + 1)
print(df)
Enter fullscreen mode Exit fullscreen mode

Saída:

    Nome  Nota
0   João   9.5
1  Maria   8.2
2  Pedro   7.8
3    Ana  10.0
Enter fullscreen mode Exit fullscreen mode

Exemplo 2: Aplicando uma função lambda em uma linha

Vamos criar um novo DataFrame com informações sobre duas disciplinas e as notas de cada aluno nessas disciplinas:

data = {
    'Nome': ['João', 'Maria', 'Pedro', 'Ana'],
    'Matemática': [8.5, 7.2, 6.8, 9.0],
    'História': [7.0, 6.5, 8.0, 9.5]
}

df = pd.DataFrame(data)
Enter fullscreen mode Exit fullscreen mode

Suponha que queremos calcular a média das notas de cada aluno usando uma função lambda com apply():

df['Média'] = df.apply(lambda row: (row['Matemática'] + row['História']) / 2, axis=1)
print(df)
Enter fullscreen mode Exit fullscreen mode

Saída:

    Nome  Matemática  História  Média
0   João         8.5       7.0   7.75
1  Maria         7.2       6.5   6.85
2  Pedro         6.8       8.0   7.40
3    Ana         9.0       9.5   9.25
Enter fullscreen mode Exit fullscreen mode

5. Considerações finais

O método apply() com lambda é uma poderosa ferramenta no Pandas para realizar transformações personalizadas em DataFrames. Ele permite que você aplique funções complexas de forma eficiente, facilitando a manipulação e análise de dados. Ao utilizar essa combinação, é possível economizar tempo e tornar seu código mais legível e conciso.

No entanto, é essencial ter cuidado ao utilizar a função lambda com grandes conjuntos de dados, pois em alguns casos, pode afetar o desempenho. Sempre teste e verifique o desempenho do seu código em diferentes cenários para garantir a eficiência.

Espero que este guia completo tenha sido útil para entender o método apply() e lambda no Pandas. Agora você tem mais uma ferramenta poderosa em seu arsenal para trabalhar com análise de dados e manipulação de DataFrames!

Top comments (0)