Se tem uma linguagem que eu admiro muito é o SQL. Prático, não é case-sensitive, não tem problema de tabulação e às vezes nem precisa de ponto e vírgula. Além disso, é muito intuitiva, parece que você está falando em inglês o que a máquina deve fazer. Por isso, sempre é uma boa se aproveitar dessa linguagem. Abaixo, temos exemplos de como utilizá-la no Python.
Primeiro, vamos criar um Dataframe qualquer para você ter uma referência:
import pandas as pd df = pd.DataFrame( [[555, 'Andre', 'Rua XPTO', np.nan], [999, 'Maria', np.nan, 30], [333, 'Tatiana', 'Avenia 999', 25]], columns= ['ID', 'Nome', 'Endereco', 'Idade']) df
Agora, para você utilizar comandos em SQL, você só precisa carregar a biblioteca pandasql e usar o comando sqldf no seu Dataframe. Veja alguns exemplos:
Exemplo 1: seleciona a coluna ID do dataframe:
import pandasql as ps query = """select ID from df""" ps.sqldf(query, locals())
Exemplo 2: Cria uma coluna chamada idoso que atribui 1 para pessoas com mais de 30 anos
query = """select ID, case when Idade < 30 then 1 else 0 end as idoso from df""" ps.sqldf(query, locals())
Bem tranquilo, certo? Agora tente você!
Outra coisa aqui é que eu queria aproveitar o post e ir além, ensinar o comando query do Pandas. É um comando muito simples para executar queries com alguma expressão booleano (Verdadeiro ou Falso). Vejamos dois exemplos, mas dessa vez a descrição de cada exemplo vai estar comentada:
# seleciona quem tem menos de 30 anos df.query('Idade < 30') # Traz quem tem idade par df.query('Idade % 2 == 0')
Outro exemplo, com outro Dataframe (retirado do próprio site do Pandas):
# Traz as linhas em que a coluna A é maior que a B df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2), 'C C': range(10, 5, -1)}) df.query('A > B')
Bacana, ein?
Bom, eu curti quando descobri ela rsrs…
Gostou do conteúdo? Se inscreva para receber as novidades! Deixe seu e-mail em INSCREVA-SE na barra à direita, logo abaixo de pesquisar. E, por favor, não deixe de comentar, dar seu feedback e compartilhar com seus amigos. De verdade, isso faz toda a diferença. Você também pode acompanhar mais do meu trabalho seguindo a conta de Twitter @EstatSite ou por alguma das redes que você encontra em Sobre o Estatsite / Contato.
Bons estudos!