Category

Indicadores

Coleta de dados de mercado de trabalho com o Python

By | Indicadores

Para realizar uma análise de conjuntura completa, é crucial dominar a habilidade de coletar dados sobre o Mercado de Trabalho. Esse processo pode ser facilitado utilizando o Python, sendo possível importar os dados direto do SIDRA. No post de hoje, mostraremos como é possível realizar essa coleta de forma reprodutível e automática.

Antes de tudo, é necessário escolher as tabelas do SIDRA dos indicadores que se deseja analisar. Aqui buscaremos a tabela 6318, que diz respeito a " Pessoas de 14+ anos (Mil pessoas): ocupados/desocupados na Força de trabalho". Existem diversas outras tabelas interessantes que entregam informações preciosíssimas sobre o Mercado de Trabalho, e que podem ser coletadas utilizando o mesmo método aqui praticado.

Para coletar os dados do SIDRA utilizaremos a biblioteca {sidrapy}, que através dos códigos dos parâmetros oferecidos pela API da plataforma, permite importar os dados para o Python.

Pessoas de 14+ anos (Mil pessoas): ocupados/desocupados na Força de trabalho: "/t/6318/n1/all/v/1641/p/all/c629/all"

Realizamos essa busca na seguinte URL:  https://sidra.ibge.gov.br/tabela/6318, escolhendo os parâmetros de interesse na plataforma e buscando a API em "Links para Compartilhar" no final da página.

Com isso, construímos o código no Python.

Quer saber mais?

Veja nossos cursos de Macroeconomia através da nossa trilha de Macroeconomia Aplicada.

Coletando dados do SIDRA com o Python

By | Indicadores

O SIDRA (Sistema IBGE de Recuperação Automática) é uma plataforma do IBGE criada com o objetivo de consultar as pesquisas criados e disponibilizadas pelo Instituto. A interface permite que sejam acessado através de API's informações e dados sobre indicadores importantes. O objetivo do post de hoje será mostrar como é possível acessar estes dados utilizando o Python, utilizando a série do PIB como exemplo.

A API do SIDRA permite a extração dos dados disponibilizados. Por sorte, existe o {sidrapy} que permite acessar facilmente estes dados e realizar a importação direta para a linguagem.

Apesar de mais ser mais facilitado do que retirar diretamente da API do SIDRA, é necessário alguns conhecimentos de uso da biblioteca e o posterior tratamento de dados. Nosso objetivo neste post será de elencar os procedimento necessário, bem como ensinar como realizar a limpeza.

sidrapy

A biblioteca oferece uma única função, get_table(), que permite através de seus argumentos especificar a série e seus parâmetros para a importação.

Os diferente tipos de parâmetros definem a tabela e suas dimensões (períodos, variáveis, unidades territoriais e classificações/categorias). Iremos elencar a baixo cada parâmetro, como obter e onde se insere na função (para mais observações ver a página de ajuda da API do SIDRA).

  • t (table_code) - é o código da tabela referente ao indicador e a pesquisa;
  • p (period) - utilizado para especificar o período;
  • v (variable) - para especificar as variáveis desejadas;
  • n (territorial_level) - especifica os níveis territoriais;
  • n/ (ibge_territorial_code) - inserido dentro do nível territorial, especificar o código territorial do IBGE;
  • c/ (classification/categories) - especifica as classificações da tabela e suas respectivas categorias.

Para obter a tabela e os códigos, o primeiro passo será entrar na interface do SIDRA e buscar a pesquisa/indicador de interesse através do site e em seu buscador https://sidra.ibge.gov.br/home/

Escolhemos como exemplo a série do PIB sem ajuste sazonal e com ajuste sazonal, referente a tabela 1620 e 1621, respectivamente, que se trata da série das Contas Nacionais Trimestrais.

Através da interface, selecionamos a variável "Série encadeada do índice de volume trimestral (Base: média 1995 = 100) (Número índice)"; Setores e subsetores (categorias) "PIB a preços de mercado"; Trimestre (período) - todo o período; Unidade Territorial "Brasil".

Com efeito, será gerado os parâmetros para API no quadro de links (localizado ao fim da página). No caso da tabela 1620, foi produzido a seguinte API: https://apisidra.ibge.gov.br/values/t/1620/n1/all/v/all/p/all/c11255/90707/d/v583%202

 

O que nos interessa, entretanto, serão os códigos posteriores a /t/, sendo representados pelos parâmetros necessários para utilizar a função get_table() do {sidrapy} de acordo com os caracteres do parâmetros listados acima.

/t/1620/n1/all/v/all/p/all/c11255/90707/d/v583%202

Sendo assim, temos que:

  • t (table_code) = 1620
  • n (territorial_level) = 1
  • n/ (ibge_territorial_code) = all
  • v (variable) = all
  • p (period) = all
  • c/ (categories) = 11255/90707

PIB sem ajuste sazonal

Abaixo, mostraremos como é possível retirar os dados com o get_table() utilizando os parâmetros acima. Veja como cada argumento se insere no contexto de cada parâmetro.

Após a importação, vemos que o dados não estão da forma que gostaríamos, sendo necessário, portanto, a realização de uma limpeza.

O primeiro passo será alterar o nomes da colunas com os nomes da primeira observação, e retirar estes dados do data frame. Também é necessário alterar o tipo de dados da coluna "Valor" para float.

Devemos então alterar os nomes das colunas de interesse e remover o restante das colunas. Deixemos as variáveis que representam o valor da série e o código do trimestre.

Através de uma inspeção no data frame, vemos que a coluna de trimestre está em formato de ano e trimestre numérico (199601, 199602...), devemos realizar um procedimento para que o Python reconheça esta coluna como data.

Para lidar com isto, removemos da coluna o valor numérico referente ao trimestre e alteramos para um valor que se aproxime de um mês relacionado em período de trimestres. Juntamos novamente com o ano em uma nova coluna.

Por fim, utilizamos a função to_datetime() para transformar em formato de data e inserir dentro do índice.

PIB com ajuste sazonal

Realizamos os mesmo procedimento utilizando a tabela 1620 referente ao PIB com ajuste Sazonal.

Criar o gráfico

Por fim, com os dados devidamente tratados, criamos um gráfico de ambas as séries. Antes, porém, iremos unir os data frames e o manipular para o formato long de forma que facilite o uso da função lineplot().

Quer saber mais?

Coletando dados macroeconômicos em R e Python

By | Indicadores

O objetivo de lidar com dados Macroeconômicos é verificar o comportamento econômico de um determinado país em um dado período tempo, afim de realizar comparações com a Teoria Macroeconômica, bem como analisar o efeito de políticas econômicas, eventos extremos e a conjuntura econômica como um todo. Os dados também são imprescindíveis para a realização de previsões econômicas. Mas como obter esses dados? Explicamos neste post como é possível obter dados Macroeconômicos a partir do R e do Python, de forma fácil e rápida.

Antes de coletar os dados, devemos entender o que é Macroeconomia e o que são de fato os seus dados.

A macroeconomia estuda o comportamento de variáveis agregadas de uma economia. Portanto, é uma junção de decisões e comportamento de indivíduos e empresas. Sendo assim, essas agregações são criadas a partir da compreensão da lógica econômica, do uso intensivo da estatística e da junção dos dados das decisões de diversos agentes econômicos de um país, construindo o que conhecemos como variáveis macroeconômicas. A partir destas variáveis, é possível testar a teoria macroeconômica através da análise e modelagem dos dados.

E como podemos obter essas agregação de decisões e quais são elas? Na macroeconomia, existem variáveis agregadas que possuem uma  importância relativa maior que as outras para se realizar uma análise de dados, muito devido suas respectivas importância na teoria e seus efeitos sobre a população em geral.

As variáveis mais importantes são: o Produto Interno Bruto, que mensura o total de bens e serviços produzidos em um país, sendo um importante indicador de crescimento econômico; A Inflação, sendo a variação generalizada dos preços da economia e no qual é medida por indicadores, como o IPCA, IGP-m e entre outros; Desemprego; Juros; e entre outras variáveis.

Como exemplos utilizaremos três variáveis macroeconômicas coletadas por meio do R e do Python utilizando duas fontes diferentes: Ipeadata e o Sistema Gerenciador de Séries Temporais do Banco Central , duas fontes importantes para se coletar dados econômicos (mas não os únicos).

Dados Macroeconômicos no R

No R, é possível extrair estes dados utilizando os pacotes {ipeadatar} e {rbcb}, que coletam os dados do Ipeadata e Banco Central, respectivamente. A facilidade dos dois pacotes está no fato de que é extremamente fácil encontrar a séries por meio de funções do pacote, além de que os dados são importados de forma já tratadas, o que facilita a vida do analista de dados econômicos. Abaixo, segue os exemplos.

Coletando o PIB com o {ipeadatar}

Para buscar a série do PIB, devemos buscar a série utilizando a função search_series() afim de buscar o seu código. Através da função, busca-se um termo em comum do nome da série, como se fosse utilizado o buscador do site do Ipeadata. Esse processo pode ser um pouco complicado para iniciantes devido ao  fato de não se conhecer o nome da série a primeiro momento. No caso, buscamos pela série do PIB buscando o termo "PIB - preços de mercado". O que resultará em duas séries, uma medida unidades de R$ e outra em índice. Para obter mais detalhes de cada série, é utilizado a função metadata(), passando o código da série.



Coletando dados do IPCA com o {rbcb}

Para coletar os dados do SGS do Banco Central, o pacote {rbcb} nos auxilia, provendo também uma função que permite procurar o código da série, porém, este sendo um gadjet, criado por um Shiny. Outro método para buscar o código da série é através do site do SGS. No exemplo abaixo, buscamos a série da variação mensal do IPCA, reduzimos  a amostra da série para após de 2005, com o argumento start.

Coletando dados macroeconômicos com o Python

Para coletar os dados de ambas as fontes no Python utilizaremos as bibliotecas {ipeadatapy} e {python-bcb}, que possuem sintaxe similares ao do R. Desta vez, buscaremos os dados do Caged, que mensura o saldo de empregados com carteira assinada em um dado mês, através do Ipeadata e a Taxa Meta Selic, que determina os juros básico da economia brasileira, coletada através do SGS do Banco Central.

Coletando dados do Novo Caged com o {ipeadatapy}

Para buscar uma série do Ipeadata com o {ipeadatapy}, utilizamos a função list_series para obter uma lista de todas as séries do Ipedata com seus respectivos códigos. É possível passar dentro da função um termo para especificar a procura de uma série, no caso, como queremos obter a série do Caged, usamos na função a string 'Caged'.

Com a função describe(), obtemos os metadados da série escolhida, no caso, sendo "Empregados - saldo - novo caged".

Por fim, para importar a série, usamos a função timeseries(), veja que utilizamos o código para buscar a série e também filtramos o ano de interesse utilizando o argumento yearGreaterThan, obtendo os dados após 2021 (não é incluído o ano de 2020).

Coletando dados da Selic com o {python-bcb}

Para obter dados do Banco Central, o {python-bcb} (o {rbcb} do R, porém no Python), pode nos auxiliar. Para obter a série, assim como no {rbcb}, precisamos do código da mesma obtida no Sistema Gerenciador de Séries Temporais. Aqui, também é possível escolher a data de interesse utilizando o argumento start.

 

Quer saber mais?

Veja nossos cursos de R e Python para Análise de dados, onde ensinamos nossos alunos a coletar dados macroeconômicos e financeiros.

Coletando dados do IPEADATA com Python

By | Indicadores

A Coleta de dados econômicos é o primeiro passo para o trabalho de um analista de dados econômicos. Por sorte, o processo é facilitado através da biblioteca ipeadatapy, que permite extrair dados do IPEADATA de forma simples através de sua API. No post de hoje, iremos realizar uma demonstração de como é possível utilizar o pacote.

O Ipeadata é um repositório público que mantém dados de diversas fontes e temas de forma a auxiliar analistas e pesquisadores. É disponibilizado via seu site dados sobre macroeconomia, dados regionais e sociais. O seu site possui uma interface amigável que permite navegar entre os diferentes temas e fontes.

Apesar disto, o processo de extração pode ser melhorado através de sua API, que é disponibilizada pela própria plataforma. Por sorte, foi criado um API Wrapper para o Python, sendo facilitado a extração de dados direto para a linguagem.

Carrega a biblioteca

Lista de séries

O primeiro passo para utilizar o ipeadatapy após sua instalação e importação é conhecer os códigos dos diversos indicadores disponibilizados pelo Ipeadata. Apesar de ser possível conhecer as séries através do site http://www.ipeadata.gov.br/Default.aspx, de fato, conhecer o código da série para a extração não é trivial, sendo assim, utilizamos a função list_series() para obter as informações sobre todas as séries, bem como seus respectivos códigos.

Para obter informações sobre uma série em específico, usamos na função um string buscando um nome em comum dessa. Realizamos o procedimento com o Saldo de Admitidos do novo Caged.

Com o código em mãos, é possível obter maiores informações sobre os metadados da série com a função describe().

Metadados

Um outra função para a busca de informações da série, porém, mais completa, se encontra no metadata(), no qual permite a busca da série, porém, com maiores quantidades de filtros e informações.

Veja que desta vez é retornado 15 colunas, cada uma representando uma descrição sobre as séries. Através das informações das colunas, é possível utilizá-las como argumentos de forma a buscar as séries com as função.

Importação da série

Por fim, para extrair os dados do Ipeadata, utilizamos a função timeseries() em conjunto com o código da série para obter os dados de fato. É importado as colunas com o ano, dia, e mês de cada observação, além do valor da série. A importação também traz a data no índice.

A função também utiliza-se de argumentos que possibilitam ajustar o período de importação dos dados. Com eles, é possível extrair os dados em uma data exata, menor ou maior em relação ao ano, mês e dia escolhidos.

A biblioteca auxilia também no processo de visualização rápida com o método plot(). Abaixo, um exemplo de como utilizar o argumento para o eixo x e o eixo y da função, bem com o tipo do gráfico.

Quer saber mais?

Veja nossos cursos de Python aplicado: R e Python para Economistas, Econometria usando R e Python e Estatística usando R e Python

Acessando Microdados da PNAD Contínua com o R

By | Indicadores

A Pesquisa Nacional por Amostra de Domicílios (PNAD) é uma importante fonte de dados que descreve de modo detalhado a situação da população brasileira. Suas tabelas incluem dados de diversos temas, como instrução, trabalho, famílias e características dos domicílios, sendo assim uma fonte ampla para pesquisas e análises aprofundada. No post de hoje, mostraremos como é possível obter os dados da PNADc com o R!

PNADcIBGE

O pacote PNADcIBGE permite extrair os microdados da pesquisa direto do R, utilizando-se da função get_pnadc, que a partir de seus argumentos, define os parâmetros e quais dados da pesquisa devem ser extraídos.

Dentre os possíveis argumentos, seguem:

  • year é o ano dos dados que você está interessado;
  • quarter é o trimestre, que pode ser substituído por interview (dado anual baseado na entrevista, de 1 a 6) ou topic (dado anual para um dado tópico, de 1 a 4);
  • vars são as variáveis utilizadas, um vetor. Caso não fornecido, todas as variáveis serão incluídas;
  • defyear é o ano que é usado como base para calcular os valores deflacionados;
  • defquarter segue a mesma lógica. Os deflatores podem ser sobrescritos dadas algumas condições, há mais detalhes no manual do pacote;
  • labels indica se variáveis categóricas serão apresentadas como fatores;
  • deflator indica se será deflacionada a série;
  • design indica se os dados serão retornados como um survey.design, um tipo de objeto apropriado para análise de surveys com o pacote survey/
  • savedir indica se o objeto deve ser salvo em um diretório.

Para obter os códigos das variáveis e suas respectivas descrições, deve-se obter o arquivo .xls no seguinte link que direciona para o diretório de arquivos do IBGE sobre a PNADc. Ao entrar no link, deve-se baixar o arquivo "Dicionario_e_input.zip" e extrair a planilha de nome "dicionario_PNADC_microdados_trimestral.xls".

Abaixo, segue um exemplo de uso da retirada de dados da PNADc utilizando a função get_pnadc. Veja que escolhemos o ano de 2017 para o quarto trimestre. A variável V3009A pode ser encontrada dentro do dicionário, que tem como quesito: "Qual foi o curso mais elevado que ... frequentou anteriormente?".

Um ponto importante sobre a extração dos microdados da PNADc, deve ser o cuidado com a quantidade importada dentro do R, a depender da máquina, pode encontrar problemas devido ao grande peso da quantidade de dados.

Quer saber mais sobre a PNADc e outros microdados brasileiros?

Veja nosso curso de Microdados Brasileiros usando o R onde ensinamos nossos alunos as melhores formas de extrair os microdados com o R!

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

Assinar Gratuitamente