Entendendo o basicão de SQL para usuários de Python

Trabalhar com dados e aplicar todo o ciclo de análise em uma única ferramenta, como a linguagem Python, é ótimo e poupa tempo. No entanto, há situações em que é necessário recorrer a outras ferramentas para executar etapas específicas, como no caso de processar um volume de dados maior do que a memória. Para a felicidade dos usuários de Python, mesmo nestas situações desafiantes, é possível utilizar pacotes que integram SQL com a linguagem Python, permitindo escrever e executar comandos de SQL sem precisar trocar de tela!

Neste artigo, traduzimos 5 tarefas rotineiras de quem trabalha com dados, de Python para SQL. O objetivo é mostrar que a sintaxe do código é parecida entre as linguagens e que é possível utilizar apenas uma interface que integra ambas as ferramentas. Mostramos exemplos com dados econômicos do Brasil.

Aprenda mais sobre SQL com o curso de SQL para Economia e Finanças da Análise Macro.

Dados de exemplo

Para exemplificar as 5 tarefas rotineitas de análise de dados em Python e SQL, utilizaremos os dados desagregados do IPCA divulgados pelo IBGE em seu site. Abaixo uma amostra das tabelas, das quais criamos um banco de dados SQL para os exemplos:

Para obter o código deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Tabela de variação mensal do IPCA:
                                  Item    RJ   POA    BH   REC    SP    DF  \
1                         ÍNDICE GERAL  0.33  0.56  0.71  0.88  0.62  0.50   
2                ALIMENTAÇÃO E BEBIDAS  0.49 -0.46  1.25  0.72  0.77  0.41   
3             ALIMENTAÇÃO NO DOMICÍLIO  0.34 -0.73  1.27  0.86  0.97  0.86   
4   CEREAIS, LEGUMINOSAS E OLEAGINOSAS  4.79  3.19  5.43  3.86  5.04  2.39   
5                                ARROZ  4.07  3.43  4.08  3.06  4.09  2.75   

    BEL   FOR   SAL   CUR   GOI   VIT    CG    RB    SL   AJU  NACIONAL  
1  1.05  0.61  0.39  0.75  0.55  0.65  0.38  1.32  1.00  0.66      0.62  
2  0.61  0.75  0.84  0.47  1.21  0.77 -0.12  0.70  1.35  0.80      0.66  
3  0.71  0.91  0.65  0.58  1.34  0.70 -0.42  0.94  1.50  0.84      0.71  
4  2.33  5.05  3.72  3.97  5.32  6.94  2.81  2.14  3.90  2.86      4.45  
5  1.50  5.58  1.43  4.29  3.63  6.10  1.98  2.13  4.36  2.48      3.77  
Tabela de peso mensal do IPCA:
                                  Item        RJ       POA        BH  \
1                         ÍNDICE GERAL  100.0000  100.0000  100.0000   
2                ALIMENTAÇÃO E BEBIDAS   20.9879   22.3715   22.7906   
3             ALIMENTAÇÃO NO DOMICÍLIO   15.3351   16.6248   16.9982   
4   CEREAIS, LEGUMINOSAS E OLEAGINOSAS    0.8920    0.5934    0.9052   
5                                ARROZ    0.6100    0.4057    0.6716   

        REC        SP        DF       BEL       FOR       SAL       CUR  \
1  100.0000  100.0000  100.0000  100.0000  100.0000  100.0000  100.0000   
2   24.3568   20.5442   17.4972   28.0409   24.8183   23.4405   21.7602   
3   18.0068   14.3523   10.9859   22.6421   19.1055   17.7194   16.1661   
4    0.8942    0.7213    0.5109    0.9826    1.5709    0.8592    0.6555   
5    0.4505    0.5219    0.3274    0.6850    1.1276    0.5385    0.4779   

        GOI       VIT        CG        RB        SL       AJU  NACIONAL  
1  100.0000  100.0000  100.0000  100.0000  100.0000  100.0000  100.0000  
2   21.2422   18.3228   22.9924   24.3918   26.5286   22.8427   21.8586  
3   15.9258   14.0371   17.5990   18.9972   22.9915   16.7396   16.0312  
4    1.0563    0.5920    0.9389    1.2199    2.2589    0.7366    0.8257  
5    0.7967    0.4692    0.7945    0.9990    1.9647    0.4244    0.5870  

Exemplo 1: selecionando colunas de uma tabela

O primeiro exemplo consiste em selecionar as colunas “Item”, “RJ” e “SP” da tabela de variação mensal do IPCA. O procedimento é bem simples em ambas as linguagens e abaixo exibimos as primeiras 5 linhas do resultado das operações:

Item RJ SP
1 ÍNDICE GERAL 0.33 0.62
2 ALIMENTAÇÃO E BEBIDAS 0.49 0.77
3 ALIMENTAÇÃO NO DOMICÍLIO 0.34 0.97
4 CEREAIS, LEGUMINOSAS E OLEAGINOSAS 4.79 5.04
5 ARROZ 4.07 4.09
Estamos usando o Python para aplicar essa rotina com códigos de pacotes da própria linguagem e para aplicar expressões equivalentes de SQL, sem precisar trocar de tela/IDE. Ambos as operações retornam o mesmo resultado.

Exemplo 2: filtrando linhas de uma tabela

No segundo exemplo, filtramos as linhas que possuam as observações “ALIMENTAÇÃO E BEBIDAS”, “HABITAÇÃO” ou “DESPESAS PESSOAIS” na coluna “Item” da tabela de variação mensal do IPCA. Abaixo exibimos as primeiras 5 linhas do resultado das operações:

Item RJ POA BH REC SP DF BEL FOR SAL CUR GOI VIT CG RB SL AJU NACIONAL
2 ALIMENTAÇÃO E BEBIDAS 0.49 -0.46 1.25 0.72 0.77 0.41 0.61 0.75 0.84 0.47 1.21 0.77 -0.12 0.70 1.35 0.80 0.66
190 HABITAÇÃO -0.62 1.13 0.36 -0.15 0.00 0.66 1.38 0.55 0.07 0.23 1.01 0.12 -0.29 3.70 -0.49 -0.23 0.20
392 DESPESAS PESSOAIS 0.45 0.65 0.15 0.48 0.92 0.84 0.51 0.23 0.66 0.18 0.27 0.61 0.55 0.13 0.94 0.58 0.62

Exemplo 3: ordenando valores de uma coluna da tabela

No terceiro exemplo, ordenamos decrescentemente a tabela de variação mensal do IPCA com base na coluna numérica “NACIONAL”. Abaixo exibimos as primeiras 5 linhas do resultado das operações:

Item RJ POA BH REC SP DF BEL FOR SAL CUR GOI VIT CG RB SL AJU NACIONAL
55 LARANJA-BAÍA NaN 21.19 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 21.19
108 PEIXE-FILHOTE NaN NaN NaN NaN NaN 1.27 18.86 NaN NaN NaN NaN NaN NaN NaN NaN NaN 16.33
28 TOMATE 6.94 -0.72 20.33 16.57 14.68 23.64 10.19 31.38 8.22 21.85 16.84 16.88 12.93 19.49 13.65 21.61 14.17
53 BANANA-MAÇÃ NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 14.34 NaN 5.01 NaN NaN NaN 12.30
324 TRANSPORTE POR APLICATIVO 2.19 33.90 13.82 3.09 11.13 5.54 NaN 2.74 -0.48 NaN 11.99 13.92 4.62 NaN -0.88 3.35 10.67

Exemplo 4: sumarizando dados de uma tabela

No quarto exemplo, calculamos a média da coluna “NACIONAL”. Abaixo exibimos o resultado das operações:

media
0 0.770897

Exemplo 5: cruzando dados de duas tabelas

Por fim, no quinto exemplo, fazemos um cruzamento do tipo inner join com as tabelas de variação e peso mensal do IPCA, selecionando a coluna “Item” e as colunas de variação e peso nacional de cada tabela, além de filtrar o “Item” correspondente à “ÍNDICE GERAL”. Abaixo exibimos o resultado das operações:

Item Variacao Peso
0 ÍNDICE GERAL 0.62 100.0

Conclusão

Neste artigo, traduzimos 5 tarefas rotineiras de quem trabalha com dados, de Python para SQL. O objetivo é mostrar que a sintaxe do código é parecida entre as linguagens e que é possível utilizar apenas uma interface que integra ambas as ferramentas. Mostramos exemplos com dados econômicos do Brasil.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como usar automação com Python e IA na análise de ações

No cenário atual, profissionais de finanças buscam formas mais rápidas, eficientes e precisas para analisar dados e tomar decisões. Uma das grandes revoluções para isso é o uso combinado de Python, automação e modelos de linguagem grande (LLMs), como o Google Gemini. O dashboard que criamos é um ótimo exemplo prático dessa integração, reunindo dados, cálculos, visualizações e análise textual em um único ambiente.

Análise de ações com IA - um guia inicial

Neste artigo, você vai aprender a integrar IA na análise de ações de forma automatizada utilizando Python. Ao final, você terá um pipeline completo capaz de coletar dados de mercado, gerar gráficos, elaborar relatórios com linguagem natural.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.