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 (%)",
)

Taxa de escolaridade do nível de ensino secundário

Taxa de escolaridade do nível de ensino secundário (Série 2021 - %)

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

df_0011326 = get_df(d0011326)
default_plot(
    df=df_0011326.loc[
        df_0011326["geocod"].isin(["PT", "1", "2", "3"])
        & df_0011326["dim_3"].isin(["T"])
        & df_0011326["dim_4"].isin(["1"])
    ],
    title="Taxa de escolaridade do nível de ensino secundário com idade entre 20 e 24 (%)",
)

Diplomadas/os do ensino superior por 1000 habitantes (N.º) da população residente com idade entre 20 e 29 anos

Diplomadas/os do ensino superior por 1000 habitantes (N.º) da população residente com idade entre 20 e 29 anos por Localização geográfica (NUTS - 2013)

Code
years = ",".join([f"7A{i}_3" for i in range(2005, 2024)])
d0009267 = {"lang": "PT", "varcd": "0009267", "Dim1": years}

df_0009267 = get_df(d0009267)
default_plot(
    df=df_0009267.loc[df_0009267["geocod"].isin(["PT", "1", "2", "3", "2004203"])],
    title="Diplomadas/os do ensino superior por 1000 habitantes (N.º) da população residente com idade entre 20 e 29 anos",
)

Proporção da população residente com 18 e mais anos de idade com pelo menos o ensino secundário completo

Code
d0012964 = {"lang": "PT", "varcd": "0012964", "Dim1": "S7A2023"}

df_0012964 = get_df(d0012964)
df_0012964[["ano", "geodsg", "dim_3_t", "dim_4_t", "valor"]].drop_duplicates().pivot(
    index=["ano", "dim_3_t", "dim_4_t"], columns="geodsg", values="valor"
)
geodsg Alentejo Algarve Centro Continente Grande Lisboa Norte Oeste e Vale do Tejo Península de Setúbal Portugal Região Autónoma da Madeira Região Autónoma dos Açores
ano dim_3_t dim_4_t
2023 H 16 - 24 anos 75.4 71.0 81.7 79.1 73.2 84.0 73.3 79.5 78.5 79.3 54.3
25 - 34 anos 72.2 64.8 79.9 77.9 81.6 77.1 76.9 78.4 77.0 70.5 56.5
35 - 44 anos 57.3 57.7 63.1 65.0 78.0 59.2 63.0 73.4 64.1 56.9 40.1
45 e mais anos 25.2 30.4 28.7 33.8 51.7 28.2 26.7 40.9 33.3 20.1 20.6
Total 41.0 43.2 46.3 49.5 62.3 45.9 44.3 54.5 48.9 42.1 34.3
HM 16 - 24 anos 79.6 71.1 85.6 82.3 76.8 86.3 79.9 82.0 81.8 84.0 60.2
25 - 34 anos 79.4 71.8 83.8 82.4 84.9 82.1 81.5 82.4 81.6 74.8 61.7
35 - 44 anos 65.4 66.1 69.4 71.0 80.9 65.9 70.0 77.6 70.1 62.8 47.7
45 e mais anos 28.3 34.2 30.4 34.9 51.4 28.8 28.7 41.9 34.5 25.2 23.7
Total 44.5 47.3 48.0 51.0 62.9 47.0 46.9 55.5 50.6 45.2 38.5
M 16 - 24 anos 84.5 71.2 89.5 85.7 80.5 88.8 87.0 84.6 85.2 88.9 66.0
25 - 34 anos 86.7 78.2 88.1 86.9 88.1 87.2 86.0 86.0 86.1 79.4 66.6
35 - 44 anos 73.8 73.5 75.8 76.5 83.4 72.2 76.7 81.9 75.7 68.6 55.0
45 e mais anos 31.1 37.4 31.8 35.8 51.1 29.3 30.3 42.7 35.5 29.1 26.4
Total 47.7 50.8 49.4 52.3 63.4 48.0 49.1 56.4 52.0 47.8 42.2