Como a inovação em tecnologia está capacitando o setor de desenvolvimento de aplicativos? 1

Como consultar o seu Dataframe Pandas

Nó Fonte: 1017694

Como consultar o seu Dataframe Pandas

A perspectiva de um cientista de dados sobre funções Python semelhantes a SQL.


By Mateus Przybyla, Cientista de dados sênior da Favor Delivery



Foto por Bruce Hong on Unsplash [1].

Conteúdo

 
 

  1. Introdução
  2. Múltiplas Condições
  3. Mesclando em múltiplas colunas específicas
  4. Resumo
  5. Referências

Introdução

 
 
Esteja você fazendo a transição de engenheiro/analista de dados ou desejando se tornar um cientista de dados mais eficiente, consultar seu dataframe pode ser um método bastante útil para retornar linhas específicas que você deseja. É importante notar que existe uma função de consulta específica para pandas, apropriadamente nomeada, query. No entanto, discutirei outras maneiras de imitar a consulta, a filtragem e a mesclagem de seus dados. Apresentaremos cenários ou perguntas comuns que você faria aos seus dados e, em vez de SQL, faremos isso com Python. Nos parágrafos abaixo, descreverei algumas maneiras simples de consultar linhas do dataframe do pandas com a linguagem de programação Python.

Múltiplas Condições

 
 



Dados de amostra. Captura de tela do autor [2].

 

Como cientistas ou analistas de dados, queremos retornar linhas específicas de dados. Um desses cenários é onde você deseja aplicar diversas condições, todas na mesma linha de código. Para mostrar meu exemplo, criei alguns dados de amostra falsos de nome e sobrenome, bem como seus respectivos sexo e data de nascimento. Esses dados são exibidos acima na captura de tela.

As múltiplas condições do exemplo responderão essencialmente a uma pergunta específica, assim como quando você usa SQL. A questão é: que percentagem dos nossos dados é do género masculino OR uma pessoa que nasceu entre 2010 e 2021.

Aqui está o código que resolverá essa questão (existem algumas maneiras de responder a essa pergunta, mas aqui está minha maneira específica de fazer isso):

print(“Percent of data who are Males OR were born between 2010 and 2021:”, 100*round(df[(df[‘Gender’] == ‘M’) | (df[‘Birthdate’] >= ‘2010–01–01’) & (df[‘Birthdate’] <= ‘2021–01–01’)][‘Gender’].count()/df.shape [0],4), “%”)

Para visualizar melhor este código, também incluí esta captura de tela do mesmo código acima, junto com a saída/resultado. Você também pode aplicar essas condições para retornar as linhas reais em vez de obter a fração ou porcentagem de linhas do total de linhas.



Código de condições. Captura de tela do autor [3].

 

Aqui está a ordem dos comandos que executamos:

  • Retornar linhas com Masculino Gender
  • Inclua o OR função |
  • Retorne as linhas de Birthdate > 2010 e 2021
  • Combine tudo isso e divida pela quantidade total de linhas

Como você pode ver, esse código é semelhante a algo que você veria em SQL. Pessoalmente, acho que é mais fácil no pandas porque pode haver menos código, ao mesmo tempo que é possível ver visualmente todo o código em um local fácil, sem ter que rolar para cima e para baixo (mas esse formato é apenas minha preferência).

Mesclando em múltiplas colunas específicas

 
 



Resultado do dataframe mesclado. Captura de tela do autor [4].

 

Provavelmente já vimos como mesclar dataframes em outros tutoriais, então eu queria adicionar uma abordagem única que realmente não vi por aí, que é a mesclagem em múltiplas colunas específicas. Neste cenário, queremos unir dois dataframes onde dois campos são compartilhados entre eles. Você poderia dizer que se houver ainda mais colunas, esse método poderá ser ainda mais útil.

Temos nosso primeiro dataframe, que é df, então estamos mesclando nossas colunas em um segundo dataframe, df2. Aqui está o código para alcançar o resultado esperado:

merged_df = df.merge(df2, how=’inner’, left_on=cols, right_on=cols )

Para visualizar melhor essa fusão e código, apresentei a imagem abaixo. Você vê a aparência do segundo dataframe abaixo, com o First e Last nomes, assim como estão no primeiro dataframe, mas com uma nova coluna, Numeric. Então, temos colunas específicas que queríamos mesclar, enquanto retornamos colunas GenderBirthdate, E o novo Numeric coluna também. As colunas são uma lista de colunas, denominada cols.



Mesclando quadro de dados. Captura de tela do autor [5].

 

Como você pode ver, esta forma de mesclar dataframes é uma maneira simples de obter os mesmos resultados que você obteria com uma consulta SQL.

Resumo

 
 
Neste tutorial, vimos duas perguntas ou consultas comuns que você realizaria em SQL, mas, em vez disso, as realizamos com dataframes pandas em Python.

Para resumir, aqui estão os dois cenários com os quais trabalhamos:

  1. Retornando a porcentagem de linhas do conjunto de dados total de diversas condições
  2. Mesclando várias colunas específicas para retornar um dataframe final com uma nova coluna

Espero que você tenha achado meu artigo interessante e útil. Sinta-se à vontade para comentar abaixo se você concorda ou discorda desses métodos. Por que ou por que não? Certamente isso pode ser ainda mais esclarecido, mas espero ter conseguido esclarecer algumas das maneiras pelas quais você pode usar pandas e Python em vez de SQL. Obrigado por ler!

Fique à vontade para verificar meu perfil, Matt Przybylae outros artigos, além de entrar em contato comigo no LinkedIn.

Não sou afiliado a essas empresas.

 
Referências

[1] Foto por Bruce Hong on Unsplash, (2018)

[2] M. Przybyla, captura de tela de dados de amostra, (2021)

[3] M. Przybyla, captura de tela do código de condições, (2021)

[4] M. Przybyla, captura de tela do resultado do dataframe mesclado, (2021)

[5] M. Przybyla, mesclando captura de tela do dataframe, (2021)

 
Bio: Mateus Przybyla é cientista de dados sênior na Favor Delivery e redator técnico freelance, especialmente em ciência de dados.

Óptimo estado. Original. Republicado com permissão.

Relacionado:

Fonte: https://www.kdnuggets.com/2021/08/query-pandas-dataframe.html

Carimbo de hora:

Mais de KDnuggetsGenericName