Os pandas fornecem muitas funções que facilitam a análise e manipular os dados. Utilizamos essas funções para tornar nossas tarefas mais fáceis e rápidas. Aplicamos as funções às linhas e colunas. Para aplicar a função a cada linha em um quadro de dados especificado de "pandas", utilizamos o método APLAT (). Quando precisamos invocar qualquer função para atualizar cada linha em um quadro de dados de "pandas", utilizamos a função "APLICAR ()". Você deve definir o eixo = 1 variável para colocar uma função em cada linha () no quadro de dados "pandas". Utilizamos a função "Aplicar ()" em "Pandas" neste guia com quatro métodos exclusivos usando séries, funções personalizadas, expressões Numpy e Lambda.
Sintaxe:
Dataframe_object.aplicar (func, eixo = 0, cru = false, resultado_type = nenhum, args = (), ** kwargs)
Parâmetros:
- FUNC: Uma função personalizada/embutida que pode ser aplicada nas linhas/colunas.
- eixo: colunas (1), índice (0)
- Skipna: Ignore os valores de Na/nulo ao calcular o resultado.
- resultado_type: Tipo retornado do resultado como série, dataframe, etc.
- args: Especifique os argumentos.
Método 1: Aplicar () com função personalizada
Para fazer alguma operação em todas as linhas do quadro de dados do pandas, precisamos escrever uma função que faça o cálculo e passe o nome da função dentro do método Aplicar (). Com isso, a função é aplicada a cada linha.
Pandas.Dataframe_object.Aplicar (Custom_Function)
Exemplo:
Neste exemplo, estamos tendo um DataFrame chamado "Análise" com 4 colunas do tipo inteiro. Agora, escrevemos duas funções personalizadas nessas 4 colunas.
- A “Operação1” adiciona linhas em todas as colunas. O resultado em cada coluna é armazenado na coluna "resultado adicional".
- O "Operação2" multiplica as linhas em todas as colunas. O resultado em cada coluna é armazenado na coluna "resultado da multiplicação".
Importar pandas
# Crie o DataFrame usando listas
Análise = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21.100.456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], colunas = ['pontos1', 'pontos2', 'pontos3', 'pontos4']))
# Exibir o DataFrame - Análise
Impressão (análise)
# Função que adiciona cada linha para todas as colunas.
DEF Operação1 (linha):
Linha de retorno [0]+linha [1]+linha [2]+linha [3]
# Função que adiciona cada linha para todas as colunas.
DEF Operação2 (linha):
Linha de retorno [0]*Linha [1]*Linha [2]*Linha [3]
# Passe a função para o método Aplicar () e armazená -lo em coluna 'Resultado adicional'
Análise ['Resultado adicional'] = Análise.Aplicar (Operação1, eixo = 1)
# Passe a função para o método Aplicar () e armazená -lo na coluna 'Resultado da Multiplicação'
Análise ['resultado de multiplicação'] = Análise.Aplicar (Operação2, eixo = 1)
imprimir()
Impressão (análise)
Saída:
Explicação:
Passamos a função "Operação1" e "Operação2" para a função Apply (). Você pode ver que a soma de todos os valores em cada linha é armazenada na coluna "Resultado adicional" e o produto de todos os valores em cada linha é armazenado na coluna "resultado da multiplicação".
Método 2: Aplicar () com expressão lambda
Aqui, passamos o lambda como um parâmetro para a função Aplicar () e fazer o cálculo dentro de si.
Pandas.Dataframe_object.Aplicar (Lambda X: Computação, eixo = 1)
Exemplo:
Vamos adicionar e multiplicar quatro linhas como o exemplo anterior e armazená -las em duas colunas.
Importar pandas
# Crie o DataFrame usando listas
Análise = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21.100.456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], colunas = ['pontos1', 'pontos2', 'pontos3', 'pontos4']))
# Adicione todas as linhas e armazene -as na coluna 'resultado adição'.
Análise ['Resultado adicional'] = Análise.Aplicar (registro lambda: registro [0]+registro [1]+registro [2]+registro [3], eixo = 1)
# Multiplique todas as linhas e armazene -as na coluna 'resultado de multiplicação'.
Análise ['resultado de multiplicação'] = Análise.Aplicar (registro lambda: registro [0]*registro [1]*registro [2]*registro [3], eixo = 1)
imprimir()
Impressão (análise)
Saída:
Explicação:
As expressões usadas são as seguintes:
# Adicione todas as linhas e armazene -as na coluna 'resultado adição'.
Análise ['Resultado adicional'] = Análise.Aplicar (registro lambda: registro [0]+registro [1]+registro [2]+registro [3], eixo = 1)
# Multiplique todas as linhas e armazene -as na coluna 'resultado de multiplicação'.
Análise ['resultado de multiplicação'] = Análise.Aplicar (registro lambda: registro [0]*registro [1]*registro [2]*registro [3], eixo = 1)
Você pode ver que a soma de todos os valores em cada linha é armazenada na coluna "resultado adicional" e o produto de todos os valores em cada linha é armazenado na coluna "resultado da multiplicação".
Método 3: Aplicar () com pandas.Series
Se você deseja modificar a linha separadamente ou deseja atualizar todas as linhas individualmente, pode fazê -lo passando a série dentro da expressão Lambda.
Pandas.Dataframe_object.Aplicar (Lambda X: Pandas.Série (computação), eixo = 1)
Exemplo:
Vamos subtrair 10 de todas as colunas.
Importar pandas
# Crie o DataFrame usando listas
Análise = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21.100.456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], colunas = ['pontos1', 'pontos2', 'pontos3', 'pontos4']))
# Subtraia 10 de todas as linhas
Análise = Análise.Aplicar (Lambda Record: Pandas.Série ([registro [0] -10, registro [1] -10, registro [2] -10, registro [3] -10]), eixo = 1)
Impressão (análise)
Saída:
Explicação:
As expressões usadas são as seguintes:
Análise = Análise.Aplicar (Lambda Record: Pandas.Série ([registro [0] -10, registro [1] -10, registro [2] -10, registro [3] -10]), eixo = 1)
Você pode ver que os valores em todas as colunas são subtraídos de 10.
Método 4: Aplicar () com funções Numpy
Vamos usar as funções Numpy para executar o cálculo em todas as linhas do DataFrame de dados de pandas.
Pandas.Dataframe_object.Aplicar (função Numpy, eixo = 1)
Exemplo:
Vamos usar a função Numpy para retornar o seguinte:
- A soma de todas as linhas usando Numpy.soma().
- A média de todas as linhas usando Numpy.significar().
- O máximo entre cada linha usando Numpy.max ().
- O mínimo entre cada linha usando Numpy.min ().
Armazenamos o resultado em quatro colunas diferentes.
Importar pandas
importar numpy
# Crie o DataFrame usando listas
Análise = pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21,400,32,45],
[21.100.456,78],
[23,800,90,12],
[21,400,32,45],
[20,120,1,67],
[23,100,90,12],
[22,450,76,56],
[22,40,0,1],
[22,12,45,0]
], colunas = ['pontos1', 'pontos2', 'pontos3', 'pontos4']))
# Obtenha uma soma total de linhas e armazenar em 'resultado da soma'
Análise ['Resultado da Sum'] = Análise.Aplique (Numpy.soma, eixo = 1)
# Obtenha média de linhas e armazene em 'resultado da soma'
análise ['resultado médio'] = análise.Aplique (Numpy.média, eixo = 1)
# Obtenha o valor máximo de cada linha e armazenar em 'resultado máximo'
Análise ['Max resultado'] = Análise.Aplique (Numpy.Max, eixo = 1)
# Obtenha valor mínimo de cada linha e armazene em 'Min Result'
Análise ['Min Result'] = Análise.Aplique (Numpy.min, eixo = 1)
Impressão (análise)
Saída:
Conclusão
Fornecemos este guia para explicar como utilizar a função apply () a cada linha. Nosso principal objetivo é fornecer a você uma explicação boa, fácil e detalhada sobre este conceito de função “Aplicar ()”. Demonstramos quatro exemplos distintos em que mostramos como aplicar a função a cada linha em "pandas" com a ajuda da função "Apply ()". Explicamos que, quando queremos implementar qualquer função a cada linha no DataFrame nos pandas, utilizamos a função "Aplicar ()" para esse fim.