Transforme a função em Python, Pandas

Conteúdo

Introdução

A função Transformar em Pandas (Pitão) pode ser um pouco difícil de entender, especialmente se vier de um Destacando-se fundo. Honestamente, a maioria dos cientistas de dados não o usa imediatamente em sua jornada de aprendizagem.

Mas a função de transformação do Pandas é, na verdade, uma ferramenta bastante útil como cientista de dados!! É um recurso poderoso que você pode usar para a engenharia de recursos em Piton.

tranform-function-in-python-6315934

Pessoalmente, Comecei a usar isso ao tentar executar a engenharia de funções em um hackathon, e fiquei agradavelmente surpreso com a rapidez com que a função Transform funcionou. Acredito fortemente que você se beneficiará em conhecer e usar o recurso Transform e, portanto, Eu decidi escrever sobre ela neste artigo.

Para aprender o básico de Python e Pandas para ciência de dados, confira esses cursos populares:

Tabela de conteúdo

  1. Qual é a função de transformação em Python?
  2. Por que a função de transformação é importante?
  3. Aplicar ou transformar a função em Python

1. Qual é a função de transformação em Python?

A função Transform do Python retorna um quadro de dados auto-produzido com valores transformados após aplicar a função especificada em seu parâmetro. Este quadro de dados tem o mesmo comprimento que o último quadro de dados.

Isso foi muito para absorver, então deixe-me dividir com um exemplo.

Digamos que queremos multiplicar 10 para cada elemento em um quadro de dados:

O quadro de dados original é parecido com este:

table4-1392985

Este é o quadro de dados que obtemos após aplicar a função Transform do Python:

tabela 5-3752771

2. Por que a função de transformação do Python é importante?

A transformação é útil durante a extração de recursos. Como o nome sugere, extraímos novas funções das existentes. Vamos entender a importância da função de transformação com a ajuda de um exemplo.

Aqui, temos um conjunto de dados sobre uma loja de departamentos:

table1-9819946

Podemos ver que cada usuário comprou vários produtos com valores de compra diferentes. Gostaríamos de saber qual é o valor médio de compra de cada usuário. Isso nos ajuda a criar um novo recurso para que o modelo entenda melhor a relação.

Esta é a saída desejada:

tabela 3-1593014

Existem várias abordagens para fazer isso:

  1. Usando Groupby seguido de merge ()
  2. Abordagem da função de transformação

Vou implementar ambos neste artigo.

Método 1: uso de Groupby seguido de fusão ():

A primeira abordagem é usar agrupar por para adicionar os dados, em seguida, mescle esses dados de volta ao quadro de dados original usando a função de mesclagem (). Vamos fazer!

Paso 1: importar as bibliotecas e ler o conjunto de dados

Paso 2: use groupby para calcular o agregado

Aqui está uma representação pictórica de como agrupar por reúne a média de cada usuário:

transfrom-1929087

Paso 3: usando a função de mesclagem () para recombinar

Agora a parte difícil. Como combinamos esses dados com o quadro de dados original? Usaremos a função de mesclagem () Para esta tarefa. Você pode ler mais sobre junções e mesclagens em Python usando Pandas aqui e aqui, respectivamente.

Nosso quadro de dados original se parece com este:

tabela 3-1593014

Isso certamente faz nosso trabalho.. Mas é um processo de várias etapas e requer código adicional para obter os dados na forma que precisamos. Este processo de várias etapas pode consumir recursos em hackatones onde o tempo é uma grande limitação.

Podemos resolver isso de forma eficaz usando a função de transformação em Pandas.

Foco 2: usando a função de transformação python

Esta é uma função importante para criar funções. Créame, Pode mudar as regras do jogo!

A função de transformação retém o mesmo número de itens que o conjunto de dados original após realizar a transformação. Vamos nos apoiar em uma etapa de linha super fácil usando groupby seguido por uma transformação:

A representação pictórica é a seguinte:

transfrom2-4962408

Não poderia ser mais fácil, verdade? O quadro de dados original é semelhante ao anterior na última etapa.

O tempo que leva para a função de transformação realizar a operação acima é comparativamente menor em um grande quadro de dados. Essa é uma vantagem significativa em comparação com a primeira abordagem que usamos..

Deixe-me demonstrar a função Transform usando Pandas em Python.

Suponha que criamos um conjunto de dados aleatórios de 1,000,000 de linhas e 3 colunas. Agora calculamos a média de uma coluna com base em groupby (semelhante à média de todas as compras com base em groupby user_id).

Paso 1: importar as bibliotecas

Paso 2: crie o quadro de dados

Paso 3: use o procedimento de mesclagem

Produção:
time1-5823220

Paso 4: usar a função de transformação

Produção:
time2-9904693

Isso mostra claramente que a função de transformação é muito mais rápida do que a abordagem anterior. Bem feito!

3. Diferença entre as funções Aplicar e Transformar em Python

Agora, digamos que queremos criar uma nova coluna com base nos valores de outra coluna. Este é o quadro de dados com o qual estamos trabalhando:

table4-1392985

Com a função aplicar:

É assim que fica o resultado ao usar a função Aplicar:

tbal6-6467099

A função do aplicativo envia uma cópia completa do quadro de dados para que possamos manipular todas as linhas ou colunas simultaneamente.

Com a função Transform:

Este recurso não é possível na função Transform. Isso manipula apenas uma única linha ou coluna com base no valor do eixo e não manipula um quadro de dados inteiro. Portanto, podemos usar a função Aplicar ou Transformar conforme o requisito.

Notas finais

A função Transform é muito útil quando procuro manipular linhas ou colunas rapidamente. Como eu mencionei antes, isso é especialmente útil em hackathons quando o tempo é essencial.

Se você encontrar mais recursos do Pandas, Comente e ficarei feliz em aprender e compartilhar!

Comece a participar de concursos para mostrar suas habilidades. Este é um ótimo ponto de partida: Projeto de vendas da Black Friday.

Você pode se registrar no Plataforma DataHack E participe de competições legais e compita com os melhores especialistas em ciência de dados!!

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.

Datapeaker