DadosAbertosBrasil.ipea
Módulo para captura de dados abertos da API do IpeaData.
Este módulo permite acessar séries temporais de indicadores econômicos, sociais e demográficos disponibilizados pelo Instituto de Pesquisa Econômica Aplicada (Ipea).
Mini-Tutorial
Importe o módulo ipea:
from DadosAbertosBrasil import ipea
Busque o código alfanumérico da série desejada usando lista_series:
ipea.lista_series(...)
Facilite a busca filtrando temas, países ou níveis territoriais:
temas = ipea.lista_temas(...)
paises = ipea.lista_paises(...)
territorios = ipea.lista_territorios(...)
niveis = ipea.lista_niveis(...)
Instancie um objeto Serie utilizando o código encontrado:
serie = ipea.Serie(cod)
Acesse os atributos para visualizar valores e metadados da série:
serie.metadados
serie.valores
6. Use a função ipea.serie para coletar apenas os valores da série. Se precisar apenas dos dados, sem os metadados, esta é uma forma mais simples e rápida:
ipea.serie(cod)
API Original
IpeaData: http://www.ipeadata.gov.br/api/
- DadosAbertosBrasil.ipea._referencias.lista_niveis() list[str] [código-fonte]
Lista dos possíveis níveis territoriais.
Returns
- list[str]
Lista de todos os níveis territoriais das séries do IPEA.
Examples
>>> ipea.lista_niveis() ['Brasil', 'Regiões', ... , 'AMC 70-00', 'Outros Países']
- DadosAbertosBrasil.ipea._referencias.lista_paises(cod: str | None = None, index: bool = False, formato: Literal['json', 'pandas', 'url'] = 'pandas', verificar_certificado: bool = True) DataFrame | str | dict | list[dict] [código-fonte]
Registros de todos os países cadastrados.
Parameters
- codstr, optional
Sigla de três letras do país, caso queira ver os dados deste país exclusivamente.
- indexbool, default=False
Se True, define a coluna ‘codigo’ como index do DataFrame.
- formato{“json”, “pandas”, “url”}, default=”pandas”
Formato do dado que será retornado: - “json”: Dicionário com as chaves e valores originais da API; - “pandas”: DataFrame formatado; - “url”: Endereço da API que retorna o arquivo JSON.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Returns
- pandas.core.frame.DataFrame | str | dict | list[dict]
DataFrame contendo um registro de todos os países das séries do IPEA.
Examples
Forma mais simples da função.
>>> ipea.lista_paises() codigo nome 0 AFG Afeganistão 1 ZAF África do Sul 2 DEU Alemanha 3 LATI América Latina 4 AGO Angola .. ... ...
Utilize o argumento index=True para colocar a coluna codigo como index do DataFrame.
>>> ipea.lista_paises(index=True) nome codigo AFG Afeganistão ZAF África do Sul DEU Alemanha LATI América Latina AGO Angola ... ...
- DadosAbertosBrasil.ipea._referencias.lista_temas(cod: Annotated[int, Gt(gt=0)] | None = None, pai: Annotated[int, Gt(gt=0)] | None = None, index: bool = False, formato: Literal['json', 'pandas', 'url'] = 'pandas', verificar_certificado: bool = True) DataFrame | str | dict | list[dict] [código-fonte]
Registros de todos os temas cadastrados.
Parameters
- codint, optional
Código do tema, caso queira ver os dados deste tema exclusivamente.
- paiint, optional
Filtrar temas por código pai.
- indexbool, default=False
Se True, define a coluna ‘codigo’ como index do DataFrame.
- formato{“json”, “pandas”, “url”}, default=”pandas”
Formato do dado que será retornado: - “json”: Dicionário com as chaves e valores originais da API; - “pandas”: DataFrame formatado; - “url”: Endereço da API que retorna o arquivo JSON.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Returns
- pandas.core.frame.DataFrame | str | dict | list[dict]
Registros de todos os temas das séries do IPEA.
Examples
Busca todos os temas.
>>> ipea.lista_temas() codigo pai nome 0 28 NaN Agropecuária 1 23 NaN Assistência social 2 10 NaN Balanço de pagamentos 3 7 NaN Câmbio 4 5 NaN Comércio exterior .. ... ... ...
Busca todos os subtemas do código 18.
>>> ipea.lista_temas(pai=18) codigo pai nome 11 54 18.0 Deputado Estadual 12 55 18.0 Deputado Federal 16 63 18.0 Eleitorado 22 56 18.0 Governador .. ... ... ...
Utilize o argumento index=True para colocar a coluna ‘codigo’ como index do DataFrame.
>>> ipea.lista_temas(index=True) pai nome codigo 28 NaN Agropecuária 23 NaN Assistência social 10 NaN Balanço de pagamentos 7 NaN Câmbio 5 NaN Comércio exterior ... ... ...
- DadosAbertosBrasil.ipea._referencias.lista_territorios(capital: bool | None = None, amc: bool | None = None, cod: int | None = None, nivel: str | None = None, formato: Literal['json', 'pandas', 'url'] = 'pandas', verificar_certificado: bool = True) DataFrame | str | dict | list[dict] [código-fonte]
Registros de todos os territórios brasileiros cadastrados.
Parameters
- capitalbool, optional
Se True, retorna apenas territórios que são capitais. Se False, retorna apenas territórios que não são capitais. Se None, retorna todos os territórios.
- amcbool, optional
Se True, retorna apenas territórios que são AMC. Se False, retorna apenas territórios que não são AMC. Se None, retorna todos os territórios.
- codint, optional
Código do território, caso queira ver os dados deste território exclusivamente.
- nivelstr, optional
Nome do nível territorial. Utilize a função ipea.niveis_territoriais para verificar as opções disponíveis.
- formato{“json”, “pandas”, “url”}, default=”pandas”
Formato do dado que será retornado: - “json”: Dicionário com as chaves e valores originais da API; - “pandas”: DataFrame formatado; - “url”: Endereço da API que retorna o arquivo JSON.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Returns
- pandas.core.frame.DataFrame | str | dict | list[dict]
Registros de todos os territórios das séries do IPEA.
Notes
O número de municípios brasileiros aumentou de 3.951 em 1970 para 5.507 em 2000. As mudanças nos contornos e áreas geográficas dos municípios devidas à criação de novos municípios impedem comparações intertemporais consistentes de variáveis demográficas, econômicas e sociais em nível municipal. Para isso, é necessário agregar municípios em “Áreas Mínimas Comparáveis” (AMC). Acesse o “Dicionário de Conceitos” do IPEA para mais informações.
Examples
Buscar todos os territórios.
>>> ipea.lista_territorios() nivel codigo nome ... 0 (não definido) ... 1 Brasil 0 Brasil ... 2 Regiões 1 Região Norte ... 3 Estados 11 Rondônia ... 4 Municípios 1100015 Alta Floresta D'Oeste ... .. ... ... ... ...
Buscar apenas capitais.
>>> ipea.lista_territorios(capital=True) nivel codigo nome nome_padrao capital ... 26 Municípios 1100205 Porto Velho PORTO VELHO True ... 109 Municípios 1200401 Rio Branco RIO BRANCO True ... 263 Municípios 1302603 Manaus MANAUS True ... 360 Municípios 1400100 Boa Vista BOA VISTA True ... ... ... ... ... ... ... ...
- class DadosAbertosBrasil.ipea._serie.Serie(cod: str, index: bool = False, verificar_certificado: bool = True)[código-fonte]
Base:
object
Dados de uma série IPEA.
Parameters
- codstr
Código da série que se deseja obter os dados. Utilize a função ipea.lista_series para identificar a série desejada. O código desejado estará na coluna ‘codigo’.
- indexbool, default=False
Se True, define a coluna ‘codigo’ como index do atributo ‘valores’.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Attributes
- codstr
Código da série escolhida.
- valorespandas.core.frame.DataFrame
Dados históricos da série escolhida. Alias de dados.
- dadospandas.core.frame.DataFrame
Dados históricos da série escolhida. Alias de valores.
- metadadospandas.core.frame.DataFrame
Metadados da série escolhida.
- basestr
Nome da base de dados da série.
- fonte_nomestr
Nome completo da fonte da série, em português.
- fonte_siglastr
Sigla ou nome abreviado da fonte da série, em português.
- fonte_urlstr
URL para o site da fonte da série.
- mutiplicadorstr
Nome do fator multiplicador dos valores da série.
- periodicidadestr
Nome da periodicidade, em português.
- atualizacaostr
Data da última carga de dados na série.
- comentariostr
Comentários relativos a série, em português.
- nomestr
Nome da série, em português.
- unidadestr
Nome da unidade dos valores da série.
- statusstr
Indica se uma série macroeconômica ainda é atualizada. - ‘A’ (Ativa) para séries atualizadas; - ‘I’ (Inativa) para séries que não são atualizadas. As séries regionais ou sociais não possuem este metadado.
- temaint
Código de identificação do tema ao qual a série está associada.
- paisstr
Código de identificação país ou região (como América Latina, Zona do Euro, etc.) ao qual a série está associada.
- numericabool
True: Série possui valores numéricos (tratados como números);
False: Série possui valores são alfanuméricos (string).
Notes
Os atributos dados e valores apresentam os mesmos dados. “Valores” é o termo padrão para os dados históricos do Ipeadata, porém o termo “Dados” é o padrão do pacote DadosAbertosBrasil.
See Also
- DadosAbertosBrasil.ipea.serie
Função que coleta os mesmos dados históricos desta classe, porém é mais simples e não coleta os metadados da série.
Examples
Utilize as funções lista para encontrar a série desejada.
>>> ipea.lista_series()
Instancie a classe Serie utilizando o código encontrado.
>>> s = ipea.Serie('PAN4_PIBPMV4')
Utilize o atributo dados para ver a série histórica.
>>> s.dados codigo data valor 0 PAN4_PIBPMV4 1996-01-01T00:00:00-02:00 1.893233e+05 1 PAN4_PIBPMV4 1996-04-01T00:00:00-03:00 2.046107e+05 2 PAN4_PIBPMV4 1996-07-01T00:00:00-03:00 2.215132e+05 3 PAN4_PIBPMV4 1996-10-01T00:00:00-03:00 2.393163e+05 4 PAN4_PIBPMV4 1997-01-01T00:00:00-02:00 2.191170e+05 .. ... ... ...
Para ver os metadados, basta chamar o atributo correspondente.
>>> s.nome 'PIB nominal' >>> s.periodicidade 'Trimestral'
- DadosAbertosBrasil.ipea._serie.lista_series(contendo: str | None = None, excluindo: str | list[str] | None = None, fonte: str | None = None, ativo: bool | None = None, numerica: bool | None = None, index: bool = False, formato: Literal['json', 'pandas', 'url'] = 'pandas', verificar_certificado: bool = True) DataFrame | str | dict | list[dict] [código-fonte]
Registros de metadados de todas as séries do IPEA.
Parameters
- contendostr, optional
Termo que deve estar contido no nome ou no comentário da série.
- excluindostr | list[str], optional
Termo ou lista de termos que não pode aparecer no nome da série. Sobrepõe o argumento contendo.
- fontestr, optional
Retorna apenas as séries desta fonte.
- ativobool, optional
Se True, retorna apenas séries ativas. Se False, retorna apenas séries inativas. Se None, retorna todas as séries.
- numericabool, optional
Se True, retorna apenas séries numéricas. Se False, não retorna as séries numéricas. Se None, retorna todas as séries.
- indexbool, default=False
Se True, define a coluna ‘codigo’ como index do DataFrame.
- formato{“json”, “pandas”, “url”}, default=”pandas”
Formato do dado que será retornado: - “json”: Dicionário com as chaves e valores originais da API; - “pandas”: DataFrame formatado; - “url”: Endereço da API que retorna o arquivo JSON.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Returns
- pandas.core.frame.DataFrame | str | dict | list[dict]
Lista de séries do IPEA.
Example
Forma mais simples da função.
>>> ipea.lista_series() codigo nome ... 0 ABATE_ABPEAV Abate - aves - peso das carcaças ... 1 ABATE_ABPEBV Abate - bovinos - peso das carcaças ... 2 ABATE_ABPESU Abate - suínos - peso das carcaças ... 3 ABATE_ABQUAV Abate - aves - qde. ... 4 ABATE_ABQUBV Abate - bovinos - qde. ... ... ... ... ...
Utilize o argumento index=True para colocar a coluna codigo como index do DataFrame.
>>> ipea.lista_series(index=True) nome ... codigo ... ABATE_ABPEAV Abate - aves - peso das carcaças ... ABATE_ABPEBV Abate - bovinos - peso das carcaças ... ABATE_ABPESU Abate - suínos - peso das carcaças ... ABATE_ABQUAV Abate - aves - qde. ... ABATE_ABQUBV Abate - bovinos - qde. ... ... ... ...
- DadosAbertosBrasil.ipea._serie.serie(cod: str, index: bool = False, formato: Literal['json', 'pandas', 'url'] = 'pandas', verificar_certificado: bool = True) DataFrame | str | dict | list[dict] [código-fonte]
Valores de uma série IPEA.
Parameters
- codstr
Código da série que se deseja obter os dados. Utilize a função ipea.lista_series para identificar a série desejada. O código desejado estará na coluna ‘codigo’.
- indexbool, default=False
Se True, define a coluna ‘data’ como index do DataFrame.
- formato{“json”, “pandas”, “url”}, default=”pandas”
Formato do dado que será retornado: - “json”: Dicionário com as chaves e valores originais da API; - “pandas”: DataFrame formatado; - “url”: Endereço da API que retorna o arquivo JSON.
- verificar_certificadobool, default=True
Defina esse argumento como False em caso de falha na verificação do certificado SSL.
Returns
- pandas.core.frame.DataFrame | str | dict | list[dict]
Valores de uma série temporal do Ipeadata.
Example
Utilize as funções lista para encontrar a série desejada.
>>> ipea.lista_series()
Utilize o código encontrado como argumento da função serie.
>>> ipea.serie('PAN4_PIBPMV4') codigo data valor 0 PAN4_PIBPMV4 1996-01-01T00:00:00-02:00 1.893233e+05 1 PAN4_PIBPMV4 1996-04-01T00:00:00-03:00 2.046107e+05 2 PAN4_PIBPMV4 1996-07-01T00:00:00-03:00 2.215132e+05 3 PAN4_PIBPMV4 1996-10-01T00:00:00-03:00 2.393163e+05 4 PAN4_PIBPMV4 1997-01-01T00:00:00-02:00 2.191170e+05 .. ... ... ... See Also -------- DadosAbertosBrasil.ipea.Serie Class do módulo `ipea` que coleta os mesmos valores desta função, porém também coleta os metadados da série.