Uso da biblioteca wbdata para obter dados econômicos, como o PIB, usando a API do Banco Mundial. Esse post será bem técnico e explicativo, abordando desde a instalação até exemplos práticos.


Como Obter Dados Econômicos Usando Python e a API do Banco Mundial com wbdata

No mundo moderno, a análise de dados econômicos desempenha um papel crucial na tomada de decisões empresariais e políticas. O Banco Mundial oferece uma API poderosa para acessar diversos indicadores econômicos, como o Produto Interno Bruto (PIB), inflação, taxas de desemprego e muito mais. Neste artigo, vamos explorar como usar a biblioteca wbdata em Python para acessar esses dados e montar uma tabela comparativa de PIB dos últimos 50 anos de algumas das maiores economias do mundo, incluindo o Brasil e a Argentina.

1. Introdução à API do Banco Mundial e wbdata

A API do Banco Mundial é uma ferramenta gratuita que permite aos desenvolvedores acessar uma vasta gama de dados econômicos e sociais de países ao redor do mundo. A biblioteca wbdata em Python facilita essa interação, permitindo consultas diretas à API e a manipulação dos resultados em formatos úteis como o pandas DataFrame.

Principais características da wbdata:

  • Acesso a mais de 16 mil indicadores econômicos.
  • Capacidade de filtrar dados por país, indicador e período.
  • Fácil integração com bibliotecas como pandas para manipulação e análise de dados.

2. Instalação da Biblioteca wbdata

Para começar a usar a API do Banco Mundial em Python, precisamos instalar a biblioteca wbdata. Para isso, basta rodar o seguinte comando no seu terminal:

pip install wbdata pandas matplotlib

Além de wbdata, instalaremos também as bibliotecas pandas e matplotlib para manipulação e visualização de dados.

3. Como Funciona a wbdata

A biblioteca wbdata faz consultas diretamente à API do Banco Mundial e retorna os dados de uma maneira que facilita a análise em Python. Aqui está a estrutura básica da função para buscar os dados:

import wbdata
import pandas as pd
import datetime

# Definir o período de tempo
start_date = datetime.datetime(1974, 1, 1)
end_date = datetime.datetime(2023, 1, 1)

# Selecionar os países
countries = ['BR', 'AR', 'US', 'CN', 'DE', 'JP', 'IN']

# Selecionar o indicador desejado (neste caso, PIB em dólares correntes)
indicator = {'NY.GDP.MKTP.CD': 'GDP (current US$)'}

# Fazer a consulta à API
df = wbdata.get_dataframe(indicator, country=countries, data_date=(start_date, end_date), convert_date=False)

# Exibir os dados retornados
print(df.head())

3.1. Principais parâmetros da função get_dataframe():

  • indicator: Um dicionário que define o indicador desejado. No exemplo acima, estamos usando o PIB em dólares correntes (NY.GDP.MKTP.CD).
  • country: Lista de países pelos seus códigos ISO (ex.: ‘BR’ para Brasil, ‘AR’ para Argentina, ‘US’ para Estados Unidos).
  • data_date: Um intervalo de tempo para buscar os dados (ex.: 1974-2023).
  • convert_date: Converte a data para um formato mais legível (True/False).

4. Acessando e Organizamos os Dados de PIB dos Últimos 50 Anos

Vamos criar uma tabela com os dados de PIB (em trilhões de dólares) dos últimos 50 anos para Brasil, Argentina e as 30 maiores economias.

4.1. Exemplo de Código:

O código abaixo baixa os dados da API do Banco Mundial, organiza-os em um DataFrame e converte os valores de PIB para trilhões de dólares.

import wbdata
import pandas as pd
import datetime

# Definir o período dos últimos 50 anos
start_date = datetime.datetime(1974, 1, 1)
end_date = datetime.datetime(2023, 1, 1)

# Definir os países (Brasil, Argentina e outros países maiores)
countries = ['BR', 'AR', 'US', 'CN', 'DE', 'JP', 'IN', 'FR', 'GB', 'IT', 'CA', 
             'KR', 'RU', 'ES', 'AU', 'MX', 'ID', 'TR', 'NL', 'CH', 'SA', 'NG', 
             'PL', 'SE', 'BE', 'TH', 'ZA', 'MY', 'PH', 'EG']

# Selecionar o indicador de PIB (Produto Interno Bruto em dólares correntes)
indicator = {'NY.GDP.MKTP.CD': 'GDP (current US$)'}

# Buscar os dados
df = wbdata.get_dataframe(indicator, country=countries, data_date=(start_date, end_date), convert_date=False)

# Organizar os dados em formato adequado
df = df.reset_index()
df_pivot = df.pivot(index='date', columns='country', values='GDP (current US$)')

# Converter os valores de dólares correntes para trilhões de dólares
df_pivot = df_pivot / 1e12

# Colocar Brasil e Argentina nas primeiras colunas
df_pivot = df_pivot[['BR', 'AR'] + [col for col in df_pivot.columns if col not in ['BR', 'AR']]]

# Exibir os dados dos últimos 10 anos
print(df_pivot.tail(10))

# Salvar os dados para um arquivo CSV
df_pivot.to_csv('gdp_comparison.csv')

4.2. Explicação do Código:

  • wbdata.get_dataframe: Faz a busca dos dados de PIB para os países selecionados e no período de tempo indicado.
  • pivot: Reorganiza os dados, colocando os anos nas linhas e os países nas colunas.
  • Conversão para trilhões de dólares: Dividimos os valores retornados (em dólares correntes) por 1 trilhão (1e12).
  • Exportação para CSV: Salvamos a tabela em um arquivo CSV, que pode ser aberto em ferramentas como Excel para visualização.

5. Visualizando os Dados

Você também pode visualizar os dados com gráficos utilizando a biblioteca matplotlib:

import matplotlib.pyplot as plt

# Selecionar alguns países para visualizar
df_pivot[['BR', 'AR', 'US', 'CN']].plot(figsize=(10, 6))

# Personalizar o gráfico
plt.title('Comparação do PIB (1974-2023)')
plt.ylabel('PIB (Trilhões de US$)')
plt.xlabel('Ano')
plt.legend(title="Países")
plt.grid(True)

# Exibir o gráfico
plt.show()

6. Conclusão

Com apenas algumas linhas de código Python e a poderosa API do Banco Mundial, é possível acessar uma vasta quantidade de dados econômicos e organizá-los de maneira prática para análise. Neste exemplo, montamos uma tabela comparativa do PIB dos últimos 50 anos para várias das maiores economias do mundo, incluindo Brasil e Argentina, e ainda exportamos os resultados para um arquivo CSV.

Se você deseja explorar mais sobre a API do Banco Mundial e outros indicadores econômicos, recomendo acessar a documentação oficial da biblioteca wbdata e o site do Banco Mundial.

Documentação da wbdata:
https://wbdata.readthedocs.io/en/stable/

Edvaldo Guimrães Filho Avatar

Published by

Categories:

Leave a comment