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
- Introdução
- Múltiplas Condições
- Mesclando em múltiplas colunas específicas
- Resumo
- 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 Gender
, Birthdate
, 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:
- Retornando a porcentagem de linhas do conjunto de dados total de diversas condições
- 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
- "
- &
- 2021
- Todos os Produtos
- analista
- analítica
- artigo
- artigos
- auto
- código
- Coluna
- comum
- Empresas
- dados,
- informática
- ciência de dados
- cientista de dados
- deep learning
- Entrega
- Diretor
- engenheiro
- Engenheiros
- falsificação
- Campos
- Primeiro nome
- formato
- Gratuito
- freelance
- função
- Gênero
- GPUs
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- IT
- juntar
- língua
- APRENDER
- aprendizagem
- leve
- Line
- Lista
- aprendizado de máquina
- ML
- nomes
- online
- aberto
- open source
- ordem
- Outros
- perspectiva
- presente
- Perfil
- Programação
- Python
- Resultados
- Ciência
- cientistas
- compartilhado
- simples
- Habilidades
- So
- RESOLVER
- Spot
- SQL
- Histórias
- Dados Técnicos:
- dicas
- topo
- tutorial
- tutoriais
- QUEM
- escritor
- X