Os pandas aplicam função a cada linha

Os pandas aplicam função a cada linha
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:

  1. FUNC: Uma função personalizada/embutida que pode ser aplicada nas linhas/colunas.
  2. eixo: colunas (1), índice (0)
  3. Skipna: Ignore os valores de Na/nulo ao calcular o resultado.
  4. resultado_type: Tipo retornado do resultado como série, dataframe, etc.
  5. 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.

  1. A “Operação1” adiciona linhas em todas as colunas. O resultado em cada coluna é armazenado na coluna "resultado adicional".
  2. 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:

  1. A soma de todas as linhas usando Numpy.soma().
  2. A média de todas as linhas usando Numpy.significar().
  3. O máximo entre cada linha usando Numpy.max ().
  4. 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.