Educação — alguns indicadores

Existem vários indicadores, disponibilizados pelo INE, que permitem ter uma noção das assimetrias regionais e comparar os Açores com o restante País.

Açores.net (voltar)

Code
import pandas as pd
import requests
import seaborn as sns

QUERY_BASE = "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2"

def get_df(input_dict: dict):
    query_params = "&".join([f"{k}={v}" for k, v in input_dict.items()])
    query = f"{QUERY_BASE}&{query_params}"
    raw_data = requests.get(query)
    dados = raw_data.json()[0]["Dados"]
    data = []
    columns = []
    for year, year_data in dados.items():
        if not columns:
            columns = list(dict.fromkeys(key for x in year_data for key in x))
        for obs_dict in year_data:
            data.append((year,) + tuple(obs_dict.get(key, None) for key in columns))
    df = pd.DataFrame.from_records(data, columns=["ano"] + columns)
    df["valor"] = pd.to_numeric(df["valor"])
    return df


def default_plot(*, title, df: pd.DataFrame):
    df_plot = df.drop_duplicates().pivot(index="ano", columns="geodsg", values="valor")
    ax = sns.lineplot(data=df_plot, palette="tab10", linewidth=2.5)
    ax.set(title=title)
    sns.move_legend(ax, bbox_to_anchor=(1.05, 1), loc="upper left")

Taxa de escolaridade do nível de ensino superior

Code
years = ",".join([f"S7A{i}" for i in range(2011, 2024)])
d0011327 = {
    "lang": "PT",
    "varcd": "0011327",
    "Dim1": years,
}

df0011327 = get_df(d0011327)

# dim3 representa o sexo; dim4 o grupo etário

df_jovens = df0011327.loc[
    df0011327["geocod"].isin(["PT", "1", "2", "3"])
    & df0011327["dim_3"].isin(["T"])
    & df0011327["dim_4"].isin(["1"])
]
default_plot(
    df=df_jovens,
    title="Taxa de escolaridade do nível de ensino superior da população residente com idade entre 25 e 34 (%)",
)