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

  1. Importe o módulo ipea:

from DadosAbertosBrasil import ipea
  1. Busque o código alfanumérico da série desejada usando lista_series:

ipea.lista_series(...)
  1. 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(...)
  1. Instancie um objeto Serie utilizando o código encontrado:

serie = ipea.Serie(cod)
  1. 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

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

  1. Utilize as funções lista para encontrar a série desejada.

>>> ipea.lista_series()
  1. Instancie a classe Serie utilizando o código encontrado.

>>> s = ipea.Serie('PAN4_PIBPMV4')
  1. 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
..           ...                        ...           ...
  1. 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

  1. Utilize as funções lista para encontrar a série desejada.

>>> ipea.lista_series()
  1. 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.