Documentacao completa de todas as funcoes do pacote pyqog.
Funcao principal do pacote. Baixa e retorna um dataset do QoG como DataFrame do pandas.
def read_qog(
which_data: str = "basic",
data_type: str = "time-series",
year: int = 2026,
data_dir: str | None = None,
cache: bool = True,
update_cache: bool = False
) -> pd.DataFrame:
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
| which_data | str | "basic" |
Tipo de dataset. Opcoes: "basic", "standard",
"oecd", "environmental", "social_policy"
|
| data_type | str | "time-series" |
Formato dos dados. Opcoes: "time-series" (dados em painel) ou
"cross-sectional" (uma observacao por pais)
|
| year | int | 2026 | Ano de publicacao do dataset (NAO o ano dos dados). Exemplo: 2026 para a versao mais recente, 2020 para a versao de 2020. |
| data_dir | str | None | None |
Diretorio para armazenar cache. Se None, usa ~/.pyqog/cache/.
|
| cache | bool | True |
Se True, salva o arquivo em cache e reutiliza em chamadas futuras.
|
| update_cache | bool | False |
Se True, forca o re-download mesmo que o arquivo ja esteja em cache.
|
pd.DataFrame — DataFrame do pandas contendo os dados do QoG.
Colunas variam conforme o dataset e a versao.
ValueError — Se which_data ou data_type forem invalidos.ValueError — Se year nao estiver disponivel para o dataset.requests.ConnectionError — Se nao houver conexao com a internet e o dado nao estiver em cache.import pyqog
# Uso basico: dados Basic, time-series, versao mais recente
df = pyqog.read_qog()
# Dados Standard, cross-sectional
df = pyqog.read_qog(which_data="standard", data_type="cross-sectional")
# Versao de arquivo (2020), sem cache
df = pyqog.read_qog(year=2020, cache=False)
# Dados OECD com diretorio de cache customizado
df = pyqog.read_qog(which_data="oecd", data_dir="./meus_dados")
# Forcar re-download
df = pyqog.read_qog(update_cache=True)
Lista todos os datasets do QoG disponiveis no pyqog com suas descricoes.
def list_datasets() -> pd.DataFrame:
Nenhum.
pd.DataFrame — DataFrame com colunas: name (identificador do dataset),
prefix (prefixo usado nas URLs), description (descricao do dataset).
import pyqog
datasets = pyqog.list_datasets()
print(datasets)
# name prefix description
# 0 basic bas QoG Basic Dataset (subset)
# 1 standard std QoG Standard Dataset (full)
# 2 oecd oecd QoG OECD Dataset
# 3 environmental ei QoG Environmental Indicators
# 4 social_policy soc QoG Social Policy Dataset
Lista os anos de publicacao disponiveis para um dataset especifico.
def list_versions(which_data: str = "basic") -> list[int]:
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
| which_data | str | "basic" |
Nome do dataset. Opcoes: "basic", "standard",
"oecd", "environmental", "social_policy"
|
list[int] — Lista de anos disponiveis em ordem decrescente (mais recente primeiro).
import pyqog
versoes = pyqog.list_versions("standard")
print(versoes)
# [2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015]
versoes_basic = pyqog.list_versions("basic")
print(versoes_basic)
# [2026, 2025, 2024, 2023, ...]
Retorna a URL do codebook em PDF para um dataset e versao especificos.
def get_codebook_url(which_data: str = "basic", year: int = 2026) -> str:
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
| which_data | str | "basic" |
Nome do dataset. Opcoes: "basic", "standard",
"oecd", "environmental", "social_policy"
|
| year | int | 2026 | Ano de publicacao. A versao atual (2026) usa o servidor principal; versoes anteriores usam o servidor de arquivo. |
str — URL completa do codebook em PDF.
import pyqog
# Codebook atual do Standard
url = pyqog.get_codebook_url("standard", 2026)
print(url)
# https://www.qogdata.pol.gu.se/data/codebook_std_jan26.pdf
# Codebook do Basic de 2020
url = pyqog.get_codebook_url("basic", 2020)
print(url)
# https://www.qogdata.pol.gu.se/dataarchive/codebook_bas_jan20.pdf
# Codebook OECD
url = pyqog.get_codebook_url("oecd")
print(url)
# https://www.qogdata.pol.gu.se/data/codebook_oecd_jan26.pdf
Busca variaveis (colunas) em um DataFrame por padrao no nome.
def search_variables(df: pd.DataFrame, pattern: str) -> list[str]:
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
| df | pd.DataFrame | — | DataFrame do QoG (retornado por read_qog()). |
| pattern | str | — | Padrao de busca (case-insensitive). Busca correspondencias parciais nos nomes das colunas. |
list[str] — Lista de nomes de colunas que correspondem ao padrao.
import pyqog
df = pyqog.read_qog(which_data="standard")
# Buscar variaveis de corrupcao
pyqog.search_variables(df, "corrupt")
# ['ti_cpi', 'vdem_corr', 'wbgi_cce', ...]
# Buscar variaveis do Banco Mundial
vars_wb = pyqog.search_variables(df, "wdi_")
print(f"Encontradas {len(vars_wb)} variaveis WDI")
# Buscar variaveis de PIB
pyqog.search_variables(df, "gdp")
# ['wdi_gdpcappppcon2017', 'wdi_gdpcon2015', ...]
Retorna informacoes resumidas sobre um dataset do QoG.
def describe_dataset(which_data: str = "basic", year: int = 2026) -> dict:
| Parametro | Tipo | Padrao | Descricao |
|---|---|---|---|
| which_data | str | "basic" |
Nome do dataset. Opcoes: "basic", "standard",
"oecd", "environmental", "social_policy"
|
| year | int | 2026 | Ano de publicacao do dataset. |
dict — Dicionario com informacoes do dataset:
| Chave | Tipo | Descricao |
|---|---|---|
dataset |
str | Nome do dataset |
version |
int | Ano de publicacao |
n_rows |
int | Numero de linhas |
n_variables |
int | Numero de variaveis (colunas) |
n_countries |
int | Numero de paises unicos |
year_range |
tuple | Intervalo de anos (min, max) — apenas time-series |
codebook_url |
str | URL do codebook em PDF |
import pyqog
info = pyqog.describe_dataset("basic")
print(info)
# {
# 'dataset': 'basic',
# 'version': 2026,
# 'n_rows': 15000,
# 'n_variables': 70,
# 'n_countries': 194,
# 'year_range': (1946, 2023),
# 'codebook_url': 'https://www.qogdata.pol.gu.se/data/codebook_bas_jan26.pdf'
# }
info_std = pyqog.describe_dataset("standard", 2025)
print(f"Standard 2025: {info_std['n_variables']} variaveis")