From a1b992d34f77eb302d11b6ebc7a4f0685d9bfcfd Mon Sep 17 00:00:00 2001 From: andre-ls Date: Thu, 3 Oct 2024 11:57:58 -0300 Subject: [PATCH 01/27] =?UTF-8?q?Adi=C3=A7=C3=A3o=20Demais=20Tabelas=20br?= =?UTF-8?q?=5Frf=5Farrecadacao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_rf_arrecadacao__cnae.sql | 25 + .../br_rf_arrecadacao__ir_ipi.sql | 14 + .../br_rf_arrecadacao__itr.sql | 10 + .../br_rf_arrecadacao__natureza_juridica.sql | 30 ++ models/br_rf_arrecadacao/code/clean_cnae.py | 49 ++ .../br_rf_arrecadacao/code/clean_functions.py | 136 ++++++ models/br_rf_arrecadacao/code/clean_ir_ipi.py | 37 ++ models/br_rf_arrecadacao/code/clean_itr.py | 30 ++ .../code/clean_natureza_juridica.py | 50 ++ .../code/{clean_data.py => clean_uf.py} | 61 +-- .../br_rf_arrecadacao/code/download_data.py | 23 +- models/br_rf_arrecadacao/schema.yml | 437 +++++++++++------- 12 files changed, 672 insertions(+), 230 deletions(-) create mode 100644 models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql create mode 100644 models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql create mode 100644 models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql create mode 100644 models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql create mode 100644 models/br_rf_arrecadacao/code/clean_cnae.py create mode 100644 models/br_rf_arrecadacao/code/clean_functions.py create mode 100644 models/br_rf_arrecadacao/code/clean_ir_ipi.py create mode 100644 models/br_rf_arrecadacao/code/clean_itr.py create mode 100644 models/br_rf_arrecadacao/code/clean_natureza_juridica.py rename models/br_rf_arrecadacao/code/{clean_data.py => clean_uf.py} (63%) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql new file mode 100644 index 00000000..af513203 --- /dev/null +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql @@ -0,0 +1,25 @@ +{{ config(alias='cnae',schema='br_rf_arrecadacao') }} +select +safe_cast(ano as int64) ano, +safe_cast(mes as int64) mes, +safe_cast(secao_sigla as string) secao_sigla, +safe_cast(secao_nome as string) secao_nome, +safe_cast(imposto_importacao as float64) imposto_importacao, +safe_cast(imposto_exportacao as float64) imposto_exportacao, +safe_cast(ipi as float64) ipi, +safe_cast(irpf as float64) irpf, +safe_cast(irpj as float64) irpj, +safe_cast(irrf as float64) irrf, +safe_cast(iof as float64) iof, +safe_cast(itr as float64) itr, +safe_cast(cofins as float64) cofins, +safe_cast(pis_pasep as float64) pis_pasep, +safe_cast(csll as float64) csll, +safe_cast(cide_combustiveis as float64) cide_combustiveis, +safe_cast(contribuicao_previdenciaria as float64) contribuicao_previdenciaria, +safe_cast(cpsss as float64) cpsss, +safe_cast(pagamento_unificado as float64) pagamento_unificado, +safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, +safe_cast(demais_receitas as float64) demais_receitas, +from `basedosdados-dev.br_rf_arrecadacao_staging.cnae` as t + diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql new file mode 100644 index 00000000..d68a3858 --- /dev/null +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql @@ -0,0 +1,14 @@ +{{ config(alias='ir_ipi',schema='br_rf_arrecadacao') }} +select +safe_cast(ano as int64) ano, +safe_cast(mes as int64) mes, +safe_cast(tributo as string) tributo, +safe_cast(decendio as string) decendio, +safe_cast(arrecadacao_bruta as float64) arrecadacao_bruta, +safe_cast(retificacao as float64) retificacao, +safe_cast(compensacao as float64) compensacao, +safe_cast(restituicao as float64) restituicao, +safe_cast(outros as float64) outros, +safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, +from `basedosdados-dev.br_rf_arrecadacao_staging.ir_ipi` as t + diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql new file mode 100644 index 00000000..3e0c9662 --- /dev/null +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql @@ -0,0 +1,10 @@ +{{ config(alias='itr',schema='br_rf_arrecadacao') }} +select +safe_cast(ano as int64) ano, +safe_cast(mes as int64) mes, +safe_cast(nome_uf as string) nome_uf, +safe_cast(regiao_politica as string) regiao_politica, +safe_cast(cidade_uf as string) cidade_uf, +safe_cast(valor_arrecadado as float64) valor_arrecadado, +from `basedosdados-dev.br_rf_arrecadacao_staging.itr` as t + diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql new file mode 100644 index 00000000..485b2b6d --- /dev/null +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -0,0 +1,30 @@ +{{ config(alias='natureza_juridica',schema='br_rf_arrecadacao') }} +WITH referencia_codigo AS ( + select id_natureza_juridica,SUBSTR(CAST(id_natureza_juridica AS STRING),0,3) as inicio_codigo + FROM basedosdados-dev.br_bd_diretorios_brasil.natureza_juridica +) +select +safe_cast(t.ano as int64) ano, +safe_cast(t.mes as int64) mes, +safe_cast(referencia_codigo.id_natureza_juridica as string) natureza_juridica_codigo, +safe_cast(t.natureza_juridica_nome as string) natureza_juridica_nome, +safe_cast(t.imposto_importacao as float64) imposto_importacao, +safe_cast(t.imposto_exportacao as float64) imposto_exportacao, +safe_cast(t.ipi as float64) ipi, +safe_cast(t.irpf as float64) irpf, +safe_cast(t.irpj as float64) irpj, +safe_cast(t.irrf as float64) irrf, +safe_cast(t.iof as float64) iof, +safe_cast(t.itr as float64) itr, +safe_cast(t.cofins as float64) cofins, +safe_cast(t.pis_pasep as float64) pis_pasep, +safe_cast(t.csll as float64) csll, +safe_cast(t.cide_combustiveis as float64) cide_combustiveis, +safe_cast(t.contribuicao_previdenciaria as float64) contribuicao_previdenciaria, +safe_cast(t.cpsss as float64) cpsss, +safe_cast(t.pagamento_unificado as float64) pagamento_unificado, +safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, +safe_cast(t.demais_receitas as float64) demais_receitas, +from `basedosdados-dev.br_rf_arrecadacao_staging.natureza_juridica` as t +left join referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo + diff --git a/models/br_rf_arrecadacao/code/clean_cnae.py b/models/br_rf_arrecadacao/code/clean_cnae.py new file mode 100644 index 00000000..c669f758 --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_cnae.py @@ -0,0 +1,49 @@ +import os +import numpy as np +import pandas as pd +from clean_functions import * + +def rename_columns(df): + name_dict = { + 'Ano':'ano', + 'Mês':'mes', + 'Seção - Sigla':'secao_sigla', + 'Seção - Nome':'secao_nome', + 'II':'imposto_importacao', + 'IE':'imposto_exportacao', + 'IPI':'ipi', + 'IRPF':'irpf', + 'IRPJ':'irpj', + 'IRRF':'irrf', + 'IOF':'iof', + 'ITR':'itr', + 'Cofins':'cofins', + 'Pis/Pasep':'pis_pasep', + 'CSLL':'csll', + 'Cide': 'cide_combustiveis', + 'Contribuição Previdenciária':'contribuicao_previdenciaria', + 'CPSSS':'cpsss', + 'Pagamento Unificado':'pagamento_unificado', + 'Outras Receitas Administradas':'outras_receitas_rfb', + 'Receitas Não Administradas':'demais_receitas' + } + + return df.rename(columns=name_dict) + +def change_types(df): + df['ano'] = df['ano'].astype('int') + df['mes'] = get_month_number(df['mes']) + + #All remaining columns are monetary values + for col in df.columns[4:]: + df[col] = df[col].apply(replace_commas).apply(remove_dots).astype('float') + + return df + +if __name__ == '__main__': + df = read_data(file_dir='../input/arrecadacao-cnae.csv') + df = remove_empty_columns(df) + df = remove_empty_rows(df) + df = rename_columns(df) + df = change_types(df) + save_data(df=df,file_dir='../output/br_rf_arrecadacao_cnae',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/code/clean_functions.py b/models/br_rf_arrecadacao/code/clean_functions.py new file mode 100644 index 00000000..7a2d683b --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_functions.py @@ -0,0 +1,136 @@ +import os +import numpy as np +import pandas as pd +from typing import List +from pathlib import Path + +file_directory = os.path.dirname(__file__) + +def read_data(file_dir,separator=';'): + data_directory = os.path.join(file_directory, file_dir) + + return pd.read_csv(data_directory, sep=separator) + +def remove_empty_rows(df): + return df.dropna(axis=0, how='all') + +def remove_empty_columns(df): + return df.drop(list(df.filter(regex='Unnamed')), axis=1) + +def replace_commas(value): + string_value = str(value) + num_commas = string_value.count(',') + if num_commas == 1: + return string_value.replace(',','.') + elif num_commas > 1: + return string_value.replace(',','',num_commas-1).replace(',','.') + else: + return string_value + +def remove_dots(value): + string_value = str(value) + num_dots = string_value.count('.') + if num_dots > 1: + return string_value.replace('.','',num_dots-1) + else: + return string_value + +def get_month_number(month_column): + + month_lower = month_column.str.lower() + month_inits = month_lower.str[:3] + + month_numbers = { + 'jan': '1', + 'fev': '2', + 'mar': '3', + 'abr': '4', + 'mai': '5', + 'jun': '6', + 'jul': '7', + 'ago': '8', + 'set': '9', + 'out': '10', + 'nov': '11', + 'dez': '12' + } + return month_inits.replace(month_numbers).astype('int') + +def to_partitions( + data: pd.DataFrame, + partition_columns: List[str], + savepath: str, + file_type: str = "csv", +): + """Save data in to hive patitions schema, given a dataframe and a list of partition columns. + Args: + data (pandas.core.frame.DataFrame): Dataframe to be partitioned. + partition_columns (list): List of columns to be used as partitions. + savepath (str, pathlib.PosixPath): folder path to save the partitions. + file_type (str): default to csv. Accepts parquet. + Exemple: + data = { + "ano": [2020, 2021, 2020, 2021, 2020, 2021, 2021,2025], + "mes": [1, 2, 3, 4, 5, 6, 6,9], + "sigla_uf": ["SP", "SP", "RJ", "RJ", "PR", "PR", "PR","PR"], + "dado": ["a", "b", "c", "d", "e", "f", "g",'h'], + } + to_partitions( + data=pd.DataFrame(data), + partition_columns=['ano','mes','sigla_uf'], + savepath='partitions/', + ) + """ + + if isinstance(data, (pd.core.frame.DataFrame)): + savepath = Path(savepath) + # create unique combinations between partition columns + unique_combinations = ( + data[partition_columns] + # .astype(str) + .drop_duplicates(subset=partition_columns).to_dict(orient="records") + ) + + for filter_combination in unique_combinations: + patitions_values = [ + f"{partition}={value}" + for partition, value in filter_combination.items() + ] + + # get filtered data + df_filter = data.loc[ + data[filter_combination.keys()] + .isin(filter_combination.values()) + .all(axis=1), + :, + ] + df_filter = df_filter.drop(columns=partition_columns) + + # create folder tree + filter_save_path = Path(savepath / "/".join(patitions_values)) + filter_save_path.mkdir(parents=True, exist_ok=True) + + if file_type == "csv": + # append data to csv + file_filter_save_path = Path(filter_save_path) / "data.csv" + df_filter.to_csv( + file_filter_save_path, + sep=",", + encoding="utf-8", + na_rep="", + index=False, + mode="a", + header=not file_filter_save_path.exists(), + ) + elif file_type == "parquet": + # append data to parquet + file_filter_save_path = Path(filter_save_path) / "data.parquet" + df_filter.to_parquet( + file_filter_save_path, index=False, compression="gzip" + ) + else: + raise BaseException("Data need to be a pandas DataFrame") + +def save_data(df,file_dir,partition_cols): + data_directory = os.path.join(file_directory,file_dir) + to_partitions(data=df,partition_columns=partition_cols,savepath=data_directory) diff --git a/models/br_rf_arrecadacao/code/clean_ir_ipi.py b/models/br_rf_arrecadacao/code/clean_ir_ipi.py new file mode 100644 index 00000000..af7f99b2 --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_ir_ipi.py @@ -0,0 +1,37 @@ +import os +import numpy as np +import pandas as pd +from clean_functions import * + +def rename_columns(df): + name_dict = { + 'Ano':'ano', + 'Mês':'mes', + 'Tributo':'tributo', + 'Decêndio':'decendio', + 'Arrecadação Bruta':'arrecadacao_bruta', + 'Retificação':'retificacao', + 'Compensação':'compensacao', + 'Restituição':'restituicao', + 'Outros':'outros', + 'Arrecadação Líquida':'arrecadacao_liquida' + } + + return df.rename(columns=name_dict) + +def change_types(df): + df['ano'] = df['ano'].astype('int') + df['mes'] = get_month_number(df['mes']) + + #All remaining columns are monetary values + for col in df.columns[4:]: + df[col] = df[col].apply(replace_commas).apply(remove_dots).astype('float') + + return df + +if __name__ == '__main__': + df = read_data(file_dir='../input/arrecadacao-ir-ipi.csv') + df = remove_empty_rows(df) + df = rename_columns(df) + df = change_types(df) + save_data(df=df,file_dir='../output/br_rf_arrecadacao_ir_ipi',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/code/clean_itr.py b/models/br_rf_arrecadacao/code/clean_itr.py new file mode 100644 index 00000000..8eea9ffb --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_itr.py @@ -0,0 +1,30 @@ +import os +import numpy as np +import pandas as pd +from clean_functions import * + +def rename_columns(df): + name_dict = { + 'Ano':'ano', + 'Mês':'mes', + 'Unidade da Federação':'nome_uf', + 'Região Política':'regiao_politica', + 'Cidade e UF':'cidade_uf', + 'Valor':'valor_arrecadado' + } + + return df.rename(columns=name_dict) + +def change_types(df): + df['ano'] = df['ano'].astype('int') + df['mes'] = get_month_number(df['mes']) + df['valor_arrecadado'] = df['valor_arrecadado'].apply(replace_commas).apply(remove_dots).astype('float') + + return df + +if __name__ == '__main__': + df = read_data(file_dir='../input/arrecadacao-itr.csv') + df = remove_empty_rows(df) + df = rename_columns(df) + df = change_types(df) + save_data(df=df,file_dir='../output/br_rf_arrecadacao_itr',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/code/clean_natureza_juridica.py b/models/br_rf_arrecadacao/code/clean_natureza_juridica.py new file mode 100644 index 00000000..df9ce70d --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_natureza_juridica.py @@ -0,0 +1,50 @@ +import os +import numpy as np +import pandas as pd +from clean_functions import * + +def rename_columns(df): + name_dict = { + 'Ano':'ano', + 'Mês':'mes', + 'Natureza Jurídica - Código':'natureza_juridica_codigo', + 'Natureza Jurídica - Nome':'natureza_juridica_nome', + 'II':'imposto_importacao', + 'IE':'imposto_exportacao', + 'IPI':'ipi', + 'IRPF':'irpf', + 'IRPJ':'irpj', + 'IRRF':'irrf', + 'IOF':'iof', + 'ITR':'itr', + 'Cofins':'cofins', + 'Pis/Pasep':'pis_pasep', + 'CSLL':'csll', + 'Cide': 'cide_combustiveis', + 'Contribuição Previdenciária':'contribuicao_previdenciaria', + 'CPSSS':'cpsss', + 'Pagamento Unificado':'pagamento_unificado', + 'Outras Receitas Administradas':'outras_receitas_rfb', + 'Receitas Não Administradas':'demais_receitas' + } + + return df.rename(columns=name_dict) + +def change_types(df): + df['ano'] = df['ano'].astype('int') + df['mes'] = get_month_number(df['mes']) + df['natureza_juridica_nome'] = df['natureza_juridica_nome'].str.title() + + #All remaining columns are monetary values + for col in df.columns[4:]: + df[col] = df[col].apply(replace_commas).apply(remove_dots).astype('float') + + return df + +if __name__ == '__main__': + df = read_data(file_dir='../input/arrecadacao-natureza.csv') + df = remove_empty_rows(df) + df = remove_empty_columns(df) + df = rename_columns(df) + df = change_types(df) + save_data(df=df,file_dir='../output/br_rf_arrecadacao_natureza_juridica',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/code/clean_data.py b/models/br_rf_arrecadacao/code/clean_uf.py similarity index 63% rename from models/br_rf_arrecadacao/code/clean_data.py rename to models/br_rf_arrecadacao/code/clean_uf.py index c9b0190f..97098652 100644 --- a/models/br_rf_arrecadacao/code/clean_data.py +++ b/models/br_rf_arrecadacao/code/clean_uf.py @@ -1,15 +1,7 @@ import os import numpy as np import pandas as pd - -file_directory = os.path.dirname(__file__) - -def read_data(): - data_directory = os.path.join(file_directory, '../input/arrecadacao-estado.csv') - return pd.read_csv(data_directory, sep=';') - -def removeEmptyRows(df): - return df.dropna(axis=0, how='all') +from clean_functions import * def rename_columns(df): name_dict = { @@ -35,13 +27,13 @@ def rename_columns(df): 'IMPOSTO PROVIS.S/ MOVIMENT. FINANC. - IPMF':'ipmf', 'CPMF':'cpmf', 'COFINS':'cofins', - 'COFINS - FINANCEIRAS':'cofins_financeiras', + 'COFINS - FINANCEIRAS':'cofins_entidades_financeiras', 'COFINS - DEMAIS':'cofins_demais_empresas', 'CONTRIBUIÇÃO PARA O PIS/PASEP':'pis_pasep', 'CONTRIBUIÇÃO PARA O PIS/PASEP - FINANCEIRAS':'pis_pasep_entidades_financeiras', 'CONTRIBUIÇÃO PARA O PIS/PASEP - DEMAIS':'pis_pasep_demais_empresas', 'CSLL':'csll', - 'CSLL - FINANCEIRAS':'csll_financeiras', + 'CSLL - FINANCEIRAS':'csll_entidades_financeiras', 'CSLL - DEMAIS':'csll_demais_empresas', 'CIDE-COMBUSTÍVEIS (parc. não dedutível)': 'cide_combustiveis_parcela_nao_dedutivel', 'CIDE-COMBUSTÍVEIS':'cide_combustiveis', @@ -52,7 +44,7 @@ def rename_columns(df): 'PAES':'paes', 'RETENÇÃO NA FONTE - LEI 10.833, Art. 30':'retencoes_fonte', 'PAGAMENTO UNIFICADO':'pagamento_unificado', - 'OUTRAS RECEITAS ADMINISTRADAS':'outras_receitas_', + 'OUTRAS RECEITAS ADMINISTRADAS':'outras_receitas_rfb', 'DEMAIS RECEITAS':'demais_receitas', 'RECEITA PREVIDENCIÁRIA':'receita_previdenciaria', 'RECEITA PREVIDENCIÁRIA - PRÓPRIA':'receita_previdenciaria_propria', @@ -62,41 +54,6 @@ def rename_columns(df): return df.rename(columns=name_dict) -def replace_commas(value): - string_value = str(value) - num_commas = string_value.count(',') - if num_commas == 1: - return string_value.replace(',','.') - elif num_commas > 1: - return string_value.replace(',','',num_commas-1).replace(',','.') - else: - return string_value - -def remove_dots(value): - string_value = str(value) - num_dots = string_value.count('.') - if num_dots > 1: - return string_value.replace('.','',num_dots-1) - else: - return string_value - -def get_month_number(month_column): - month_numbers = { - 'Janeiro': '1', - 'Fevereiro': '2', - 'Março': '3', - 'Abril': '4', - 'Maio': '5', - 'Junho': '6', - 'Julho': '7', - 'Agosto': '8', - 'Setembro': '9', - 'Outubro': '10', - 'Novembro': '11', - 'Dezembro':'12' - } - return month_column.replace(month_numbers).astype('int') - def change_types(df): df['ano'] = df['ano'].astype('int') df['mes'] = get_month_number(df['mes']) @@ -108,13 +65,9 @@ def change_types(df): return df -def save_data(df): - data_directory = os.path.join(file_directory, '../output/br_rf_arrecadacao') - df.to_parquet(data_directory, partition_cols=['ano','mes']) - if __name__ == '__main__': - df = read_data() - df = removeEmptyRows(df) + df = read_data(file_dir='../input/arrecadacao-estado.csv') + df = remove_empty_rows(df) df = rename_columns(df) df = change_types(df) - save_data(df) + save_data(df=df,file_dir='../output/br_rf_arrecadacao_uf',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/code/download_data.py b/models/br_rf_arrecadacao/code/download_data.py index 888af4ba..dbe8db37 100644 --- a/models/br_rf_arrecadacao/code/download_data.py +++ b/models/br_rf_arrecadacao/code/download_data.py @@ -1,11 +1,26 @@ import requests +import gzip def download_data(url, file_path): response = requests.get(url) + with open(file_path, 'w') as file: - file.write(response.content.decode('latin1')) + if response.headers['Content-Type'] == 'application/gzip': + content = str(gzip.decompress(response.content),'utf-8') + else: + content = response.content.decode('latin1') + file.write(content) if __name__ == "__main__": - url = "https://www.gov.br/receitafederal/dados/arrecadacao-estado.csv" - file_path = f"input/arrecadacao-estado.csv" - download_data(url, file_path) + + extractions = [ + {'url':'https://www.gov.br/receitafederal/dados/arrecadacao-estado.csv','file_path':'input/arrecadacao-estado.csv'}, #Tabela uf + {'url':'https://www.gov.br/receitafederal/dados/arrecadacao-cnae.csv','file_path':'input/arrecadacao-cnae.csv'}, #Tabela cnae + {'url':'https://www.gov.br/receitafederal/dados/arrecadacao-natureza.csv','file_path':'input/arrecadacao-natureza.csv'}, #Tabela natureza_juridica + {'url':'https://www.gov.br/receitafederal/dados/arrecadacao-ir-ipi.csv','file_path':'input/arrecadacao-ir-ipi.csv'}, #Tabela ir_ipi + {'url':'https://www.gov.br/receitafederal/dados/arrecadacao-itr.csv','file_path':'input/arrecadacao-itr.csv'}, #Tabela itr + ] + + for extract in extractions: + download_data(extract['url'], extract['file_path']) + diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 821c1cff..99dc4ea2 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -1,264 +1,357 @@ ---- version: 2 + models: - name: br_rf_arrecadacao__uf - description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo - receitas administradas e não administradas pela Receita Federal do Brasil. + description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo receitas administradas e não administradas pela RFB. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, sigla_uf] + combination_of_columns: + - insert unique keys here + - not_null_proportion_multiple_columns: + at_least: 0.95 columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - dbt_utils.not_null_proportion: - at_least: 0.95 + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - dbt_utils.not_null_proportion: - at_least: 0.95 + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes - name: sigla_uf description: Sigla da Unidade da Federação. tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - dbt_utils.not_null_proportion: - at_least: 0.95 + to: ref('br_bd_diretorios_brasil__uf') + field: sigla - name: imposto_importacao description: Imposto sobre a Importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: imposto_exportacao description: Imposto sobre a Exportação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: ipi_fumo description: Imposto sobre Produtos Industrializado incidente sobre setor - de fumo. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + de fumo. - name: ipi_bebidas description: Imposto sobre Produtos Industrializado incidente sobre setor - de bebidas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + de bebidas. - name: ipi_automoveis description: Imposto sobre Produtos Industrializado incidente sobre setor - de automóveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + de automóveis. - name: ipi_importacoes description: Imposto sobre Produtos Industrializado vinculado à importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: ipi_outros description: Imposto sobre Produtos Industrializado incidente sobre outros - produtos. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + produtos. - name: irpf description: Imposto sobre a Renda da Pessoa Física. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: irpj_entidades_financeiras description: Imposto sobre a Renda da Pessoa Jurídica incidente em entidades - financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + financeiras. - name: irpj_demais_empresas description: Imposto sobre a Renda da Pessoa Jurídica incidente em demais - empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + empresas. - name: irrf_rendimentos_trabalho description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do trabalho. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + do trabalho. - name: irrf_rendimentos_capital description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do capital. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + do capital. - name: irrf_remessas_exterior description: Imposto sobre a Renda Retido na Fonte referente à remessas para - o exterior. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + o exterior. - name: irrf_outros_rendimentos description: Imposto sobre a Renda Retido na Fonte referente à outros rendimentos. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: iof description: Imposto sobre Operações Financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: itr description: Imposto sobre a Propriedade Territorial Rural. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: ipmf - description: Imposto Provisório sobre Movimentação Financeira. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.06 + description: 'Imposto Provisório sobre Movimentação Financeira. ' - name: cpmf description: Contribuição Provisória sobre Movimentação Financeira. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.45 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 - name: cofins_entidades_financeiras - description: Contribuição para o Financiamento da Seguridade Social referente - à entidades financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + description: 'Contribuição para o Financiamento da Seguridade Social referente + à entidades financeiras. ' - name: cofins_demais_empresas description: Contribuição para o Financiamento da Seguridade Social referente - à demais empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + à demais empresas. - name: pis_pasep - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 + description: 'Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. ' - name: pis_pasep_entidades_financeiras description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à entidades financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + do Servidor Público referente à entidades financeiras. - name: pis_pasep_demais_empresas description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à demais empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + do Servidor Público referente à demais empresas. - name: csll - description: Contribuição Social sobre o Lucro Líquido. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 + description: 'Contribuição Social sobre o Lucro Líquido. ' - name: csll_entidades_financeiras description: Contribuição Social sobre o Lucro Líquido referente à entidades - financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + financeiras. - name: csll_demais_empresas description: Contribuição Social sobre o Lucro Líquido referente à demais - empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 + empresas. - name: cide_combustiveis_parcela_nao_dedutivel description: Parcela não dedutível da Contribuição de Intervenção no Domínio - Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 + Econômico aplicada à combustíveis. - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - name: cpsss_1 - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 + description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' - name: cpsss_2 - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.50 - - name: contribuicao_fundaf - description: Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento - das Atividades de Fiscalização (Fundaf). - tests: - - dbt_utils.not_null_proportion: - at_least: 0.55 + description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + - name: contribuicoes_fundaf + description: 'Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento + das Atividades de Fiscalização (Fundaf). ' - name: refis description: Programa de Recuperação Fiscal. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 - name: paes description: Parcelamento Especial. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 - name: retencoes_fonte - description: Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no - art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.02 + description: 'Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no + art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. ' - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, tipo parcelamentos, retenções, Simples etc. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.04 + de arrecadação, tipo parcelamentos, retenções, Simples etc. - name: outras_receitas_rfb - description: Outras receitas administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 + description: 'Outras receitas administradas pela RFB. ' - name: demais_receitas - description: Outras receitas não administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.25 + description: 'Outras receitas não administradas pela RFB. ' - name: receita_previdenciaria description: Total da Receita Previdenciária. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.25 - name: receita_previdenciaria_propria description: Receita Previdenciária Própria. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.15 - name: receita_previdenciaria_demais description: Receita Previdenciária Demais. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.15 - name: receitas_outros_orgaos description: Receitas administradas por outros órgãos. + - name: br_rf_arrecadacao__cnae + description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores econômicos, identificados pela seção, constantes da tabela de Classificação Nacional de Atividades Econômicas (Cnae). + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - insert unique keys here + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: secao_sigla + description: Código da Seção da atividade econômica constante da Cnae. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__cnae_2') + field: secao + - name: secao_nome + description: Nome da Seção da atividade econômica constante da Cnae + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__cnae_2') + field: descricao_secao + - name: imposto_importacao + description: Imposto sobre a Importação. + - name: imposto_exportacao + description: Imposto sobre a Exportação. + - name: ipi + description: Imposto sobre Produtos Industrializados. + - name: irpf + description: Imposto sobre a Renda da Pessoa Física. + - name: irpj + description: Imposto sobre a Renda da Pessoa Jurídica. + - name: irrf + description: Imposto sobre a Renda Retido na Fonte. + - name: iof + description: Imposto sobre Operações Financeiras. + - name: itr + description: Imposto sobre a Propriedade Territorial Rural. + - name: cofins + description: Contribuição para o Financiamento da Seguridade Social. + - name: pis_pasep + description: 'Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. ' + - name: csll + description: 'Contribuição Social sobre o Lucro Líquido. ' + - name: cide_combustiveis + description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + - name: contribuicao_previdenciaria + description: Contribuição Previdenciária arrecadada em Darf. + - name: cpsss + description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + - name: pagamento_unificado + description: Pagamentos referentes a vários tributos feitos em um único documento + de arrecadação, como parcelamentos, retenções, Simples etc. + - name: outras_receitas_rfb + description: 'Outras receitas administradas pela RFB. ' + - name: demais_receitas + description: 'Outras receitas não administradas pela RFB. ' + - name: br_rf_arrecadacao__natureza_juridica + description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos tipos de Naturezas Jurídicas. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - insert unique keys here + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. tests: - - dbt_utils.not_null_proportion: - at_least: 0.50 + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: natureza_juridica_codigo + description: Código do tipo de Natureza Jurídica. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: id_natureza_juridica + - name: natureza_juridica_nome + description: Nome do tipo da Natureza Jurídica. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: descricao + - name: imposto_importacao + description: Imposto sobre a Importação. + - name: imposto_exportacao + description: Imposto sobre a Exportação. + - name: ipi + description: Imposto sobre Produtos Industrializados. + - name: irpf + description: Imposto sobre a Renda da Pessoa Física. + - name: irpj + description: Imposto sobre a Renda da Pessoa Jurídica. + - name: irrf + description: Imposto sobre a Renda Retido na Fonte. + - name: iof + description: Imposto sobre Operações Financeiras. + - name: itr + description: Imposto sobre a Propriedade Territorial Rural. + - name: cofins + description: Contribuição para o Financiamento da Seguridade Social. + - name: pis_pasep + description: 'Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. ' + - name: csll + description: 'Contribuição Social sobre o Lucro Líquido. ' + - name: cide_combustiveis + description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + - name: contribuicao_previdenciaria + description: Contribuição Previdenciária arrecadada em Darf. + - name: cpsss + description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + - name: pagamento_unificado + description: Pagamentos referentes a vários tributos feitos em um único documento + de arrecadação, como parcelamentos, retenções, Simples etc. + - name: outras_receitas_rfb + description: 'Outras receitas administradas pela RFB. ' + - name: demais_receitas + description: 'Outras receitas não administradas pela RFB. ' + - name: br_rf_arrecadacao__ir_ipi + description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação líquida, valor este último passível de repasse aos Fundos de Participação dos Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - insert unique keys here + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: tributo + description: Identificação de Tributo (IR ou IPI). + - name: decendio + description: Decêndio de referência. + - name: arrecadacao_bruta + description: "Valor da arrecadação bruta dos tributos sem nenhum acréscimo\n + ou dedução. É a etapa inicial da arrecadação, quando há o pagamento\n + efetuado pelo contribuinte." + - name: retificacao + description: "Valor do saldo das retificações efetuadas nos Documentos de\n + Arrecadação de Receitas Federais (Darf). São alterações feitas nos\ndocumentos + de arrecadação em função de erro de preenchimento." + - name: compensacao + description: "Valor do saldo das compensações efetuadas. Utilização de valores + pagos\nanteriormente para quitação de débitos de outros tributos, distintos + de\nIR ou IPI, e vice-versa." + - name: restituicao + description: "Valor do saldo das restituições efetuadas pela Receita Federal + em função\nde pagamentos feitos a maior ou indevidos." + - name: outros + description: Demais eventos que agem sobre o valor da arrecadação bruta + - name: arrecadacao_liquida + description: "Valor resultante da arrecadação bruta, depois da incidência + dos demais\neventos de arrecadação." + - name: br_rf_arrecadacao__itr + description: Contém os dados de arrecadação líquida mensal do Imposto sobre a Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível de repasse aos próprios municípios onde se localizam essas propriedades rurais, conforme a situação do município, conveniado ou não conveniado com a União para fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - insert unique keys here + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: nome_uf + description: "Nome da Unidade da Federação onde se localiza o município conveniado\n + ou não conveniado." + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: nome + - name: regiao_politica + description: "Nome da Região Política onde se localiza o município conveniado + ou não\nconveniado." + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: regiao + - name: cidade_uf + description: "Nome do município conveniado ou não conveniado seguido da sigla + da\nUnidade da Federação onde se localiza o município." + - name: valor_arrecadado + description: Valor arrecadado. From 53007c43cff5031957455b46d4cb356aa6c703be Mon Sep 17 00:00:00 2001 From: andre-ls Date: Thu, 3 Oct 2024 12:15:35 -0300 Subject: [PATCH 02/27] =?UTF-8?q?Corre=C3=A7=C3=A3o=20Queries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql | 2 +- models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql | 2 +- models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql | 2 +- .../br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql index af513203..5c3edf04 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql @@ -21,5 +21,5 @@ safe_cast(cpsss as float64) cpsss, safe_cast(pagamento_unificado as float64) pagamento_unificado, safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(demais_receitas as float64) demais_receitas, -from `basedosdados-dev.br_rf_arrecadacao_staging.cnae` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.cnae` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql index d68a3858..abb7c372 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql @@ -10,5 +10,5 @@ safe_cast(compensacao as float64) compensacao, safe_cast(restituicao as float64) restituicao, safe_cast(outros as float64) outros, safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, -from `basedosdados-dev.br_rf_arrecadacao_staging.ir_ipi` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.ir_ipi` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql index 3e0c9662..8fc00b36 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql @@ -6,5 +6,5 @@ safe_cast(nome_uf as string) nome_uf, safe_cast(regiao_politica as string) regiao_politica, safe_cast(cidade_uf as string) cidade_uf, safe_cast(valor_arrecadado as float64) valor_arrecadado, -from `basedosdados-dev.br_rf_arrecadacao_staging.itr` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.itr` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index 485b2b6d..a9263ce8 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -25,6 +25,6 @@ safe_cast(t.cpsss as float64) cpsss, safe_cast(t.pagamento_unificado as float64) pagamento_unificado, safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(t.demais_receitas as float64) demais_receitas, -from `basedosdados-dev.br_rf_arrecadacao_staging.natureza_juridica` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.natureza_juridica` as t left join referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo From 268c13d2d603ee97e542443eb68bc6dbd8a5a895 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Thu, 3 Oct 2024 12:17:20 -0300 Subject: [PATCH 03/27] =?UTF-8?q?Corre=C3=A7=C3=A3o=20de=20Query=20de=20Na?= =?UTF-8?q?tureza=20Jur=C3=ADdica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index a9263ce8..3d7d07bc 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -1,7 +1,7 @@ {{ config(alias='natureza_juridica',schema='br_rf_arrecadacao') }} WITH referencia_codigo AS ( select id_natureza_juridica,SUBSTR(CAST(id_natureza_juridica AS STRING),0,3) as inicio_codigo - FROM basedosdados-dev.br_bd_diretorios_brasil.natureza_juridica + FROM basedosdados-staging.br_bd_diretorios_brasil.natureza_juridica ) select safe_cast(t.ano as int64) ano, From 72fe4c30b7abcf1c3225a2fea9d5385fa9dc7991 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Thu, 3 Oct 2024 13:27:24 -0300 Subject: [PATCH 04/27] =?UTF-8?q?Adi=C3=A7=C3=A3o=20de=20Combina=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20Colunas=20=C3=9Anicas=20no=20schema.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/schema.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 99dc4ea2..330d2644 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -5,8 +5,7 @@ models: description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo receitas administradas e não administradas pela RFB. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - insert unique keys here + combination_of_columns: [ano, mes, sigla_uf] - not_null_proportion_multiple_columns: at_least: 0.95 columns: @@ -136,8 +135,7 @@ models: description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores econômicos, identificados pela seção, constantes da tabela de Classificação Nacional de Atividades Econômicas (Cnae). tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - insert unique keys here + combination_of_columns: [ano,mes,secao_sigla,secao_nome] - not_null_proportion_multiple_columns: at_least: 0.95 columns: @@ -205,8 +203,7 @@ models: description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos tipos de Naturezas Jurídicas. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - insert unique keys here + combination_of_columns: [ano,mes,natureza_juridica_codigo,natureza_juridica_nome] - not_null_proportion_multiple_columns: at_least: 0.95 columns: @@ -274,8 +271,7 @@ models: description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação líquida, valor este último passível de repasse aos Fundos de Participação dos Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - insert unique keys here + combination_of_columns: [ano,mes,tributo,decendio] - not_null_proportion_multiple_columns: at_least: 0.95 columns: @@ -319,8 +315,7 @@ models: description: Contém os dados de arrecadação líquida mensal do Imposto sobre a Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível de repasse aos próprios municípios onde se localizam essas propriedades rurais, conforme a situação do município, conveniado ou não conveniado com a União para fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - insert unique keys here + combination_of_columns: [ano,mes,nome_uf,regiao_politica,cidade_uf] - not_null_proportion_multiple_columns: at_least: 0.95 columns: From 944f32d5623db30c3f3bca7e8aa38b7289452791 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Thu, 3 Oct 2024 15:50:41 -0300 Subject: [PATCH 05/27] =?UTF-8?q?Corre=C3=A7=C3=A3o=20schema.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/schema.yml | 215 ++++++++++++++++++++++------ 1 file changed, 173 insertions(+), 42 deletions(-) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 330d2644..31fe1a12 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -1,136 +1,267 @@ +--- version: 2 - models: - name: br_rf_arrecadacao__uf - description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo receitas administradas e não administradas pela RFB. + description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo + receitas administradas e não administradas pela Receita Federal do Brasil. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, sigla_uf] - - not_null_proportion_multiple_columns: - at_least: 0.95 + combination_of_columns: [ano, mes, sigla_uf] columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: sigla_uf description: Sigla da Unidade da Federação. tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: imposto_importacao description: Imposto sobre a Importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: imposto_exportacao description: Imposto sobre a Exportação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipi_fumo description: Imposto sobre Produtos Industrializado incidente sobre setor - de fumo. + de fumo. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipi_bebidas description: Imposto sobre Produtos Industrializado incidente sobre setor - de bebidas. + de bebidas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipi_automoveis description: Imposto sobre Produtos Industrializado incidente sobre setor - de automóveis. + de automóveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipi_importacoes description: Imposto sobre Produtos Industrializado vinculado à importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipi_outros description: Imposto sobre Produtos Industrializado incidente sobre outros - produtos. + produtos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irpf description: Imposto sobre a Renda da Pessoa Física. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irpj_entidades_financeiras description: Imposto sobre a Renda da Pessoa Jurídica incidente em entidades - financeiras. + financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irpj_demais_empresas description: Imposto sobre a Renda da Pessoa Jurídica incidente em demais - empresas. + empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irrf_rendimentos_trabalho description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do trabalho. + do trabalho. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irrf_rendimentos_capital description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do capital. + do capital. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irrf_remessas_exterior description: Imposto sobre a Renda Retido na Fonte referente à remessas para - o exterior. + o exterior. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: irrf_outros_rendimentos description: Imposto sobre a Renda Retido na Fonte referente à outros rendimentos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: iof description: Imposto sobre Operações Financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: itr description: Imposto sobre a Propriedade Territorial Rural. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: ipmf - description: 'Imposto Provisório sobre Movimentação Financeira. ' + description: Imposto Provisório sobre Movimentação Financeira. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.06 - name: cpmf description: Contribuição Provisória sobre Movimentação Financeira. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.45 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 - name: cofins_entidades_financeiras - description: 'Contribuição para o Financiamento da Seguridade Social referente - à entidades financeiras. ' + description: Contribuição para o Financiamento da Seguridade Social referente + à entidades financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: cofins_demais_empresas description: Contribuição para o Financiamento da Seguridade Social referente - à demais empresas. + à demais empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: pis_pasep - description: 'Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. ' + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 - name: pis_pasep_entidades_financeiras description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à entidades financeiras. + do Servidor Público referente à entidades financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: pis_pasep_demais_empresas description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à demais empresas. + do Servidor Público referente à demais empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: csll - description: 'Contribuição Social sobre o Lucro Líquido. ' + description: Contribuição Social sobre o Lucro Líquido. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 - name: csll_entidades_financeiras description: Contribuição Social sobre o Lucro Líquido referente à entidades - financeiras. + financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: csll_demais_empresas description: Contribuição Social sobre o Lucro Líquido referente à demais - empresas. + empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: cide_combustiveis_parcela_nao_dedutivel description: Parcela não dedutível da Contribuição de Intervenção no Domínio - Econômico aplicada à combustíveis. + Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 - name: cpsss_1 - description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 - name: cpsss_2 - description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' - - name: contribuicoes_fundaf - description: 'Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento - das Atividades de Fiscalização (Fundaf). ' + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.50 + - name: contribuicao_fundaf + description: Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento + das Atividades de Fiscalização (Fundaf). + tests: + - dbt_utils.not_null_proportion: + at_least: 0.55 - name: refis description: Programa de Recuperação Fiscal. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 - name: paes description: Parcelamento Especial. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 - name: retencoes_fonte - description: 'Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no - art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. ' + description: Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no + art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.02 - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, tipo parcelamentos, retenções, Simples etc. + de arrecadação, tipo parcelamentos, retenções, Simples etc. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.04 - name: outras_receitas_rfb - description: 'Outras receitas administradas pela RFB. ' + description: Outras receitas administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: demais_receitas - description: 'Outras receitas não administradas pela RFB. ' + description: Outras receitas não administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.25 - name: receita_previdenciaria description: Total da Receita Previdenciária. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.25 - name: receita_previdenciaria_propria description: Receita Previdenciária Própria. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.15 - name: receita_previdenciaria_demais description: Receita Previdenciária Demais. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.15 - name: receitas_outros_orgaos description: Receitas administradas por outros órgãos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.50 - name: br_rf_arrecadacao__cnae description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores econômicos, identificados pela seção, constantes da tabela de Classificação Nacional de Atividades Econômicas (Cnae). tests: From b55d36297425650c54ca2e364ab3667b33645777 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Fri, 4 Oct 2024 16:38:13 +0000 Subject: [PATCH 06/27] =?UTF-8?q?Execu=C3=A7=C3=A3o=20de=20Pre-Commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/schema.yml | 148 ++++++++++++++++------------ 1 file changed, 85 insertions(+), 63 deletions(-) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 31fe1a12..a96940e3 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -263,37 +263,40 @@ models: - dbt_utils.not_null_proportion: at_least: 0.50 - name: br_rf_arrecadacao__cnae - description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores econômicos, identificados pela seção, constantes da tabela de Classificação Nacional de Atividades Econômicas (Cnae). + description: Contém os dados de arrecadação bruta mensal realizadas em Documento + de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores + econômicos, identificados pela seção, constantes da tabela de Classificação + Nacional de Atividades Econômicas(Cnae). tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano,mes,secao_sigla,secao_nome] + combination_of_columns: [ano, mes, secao_sigla, secao_nome] - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.95 columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes - name: secao_sigla description: Código da Seção da atividade econômica constante da Cnae. tests: - relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: secao + to: ref('br_bd_diretorios_brasil__cnae_2') + field: secao - name: secao_nome description: Nome da Seção da atividade econômica constante da Cnae tests: - relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: descricao_secao + to: ref('br_bd_diretorios_brasil__cnae_2') + field: descricao_secao - name: imposto_importacao description: Imposto sobre a Importação. - name: imposto_exportacao @@ -314,7 +317,7 @@ models: description: Contribuição para o Financiamento da Seguridade Social. - name: pis_pasep description: 'Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. ' + do Servidor Público. ' - name: csll description: 'Contribuição Social sobre o Lucro Líquido. ' - name: cide_combustiveis @@ -325,43 +328,49 @@ models: description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, como parcelamentos, retenções, Simples etc. + de arrecadação, como parcelamentos, retenções, Simples etc. - name: outras_receitas_rfb description: 'Outras receitas administradas pela RFB. ' - name: demais_receitas description: 'Outras receitas não administradas pela RFB. ' - name: br_rf_arrecadacao__natureza_juridica - description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos tipos de Naturezas Jurídicas. + description: Contém os dados de arrecadação bruta mensal realizadas em Documento + de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos + tipos de Naturezas Jurídicas. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano,mes,natureza_juridica_codigo,natureza_juridica_nome] + combination_of_columns: + - ano + - mes + - natureza_juridica_codigo + - natureza_juridica_nome - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.95 columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes - name: natureza_juridica_codigo description: Código do tipo de Natureza Jurídica. tests: - relationships: - to: ref('br_bd_diretorios_brasil__natureza_juridica') - field: id_natureza_juridica + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: id_natureza_juridica - name: natureza_juridica_nome description: Nome do tipo da Natureza Jurídica. tests: - relationships: - to: ref('br_bd_diretorios_brasil__natureza_juridica') - field: descricao + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: descricao - name: imposto_importacao description: Imposto sobre a Importação. - name: imposto_exportacao @@ -382,7 +391,7 @@ models: description: Contribuição para o Financiamento da Seguridade Social. - name: pis_pasep description: 'Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. ' + do Servidor Público. ' - name: csll description: 'Contribuição Social sobre o Lucro Líquido. ' - name: cide_combustiveis @@ -393,91 +402,104 @@ models: description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, como parcelamentos, retenções, Simples etc. + de arrecadação, como parcelamentos, retenções, Simples etc. - name: outras_receitas_rfb description: 'Outras receitas administradas pela RFB. ' - name: demais_receitas description: 'Outras receitas não administradas pela RFB. ' - name: br_rf_arrecadacao__ir_ipi - description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação líquida, valor este último passível de repasse aos Fundos de Participação dos Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. + description: Contém os dados de arrecadação decendial do Imposto sobre a Renda + (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação + bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação + líquida, valor este último passível de repasse aos Fundos de Participação dos + Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano,mes,tributo,decendio] + combination_of_columns: [ano, mes, tributo, decendio] - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.95 columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes - name: tributo description: Identificação de Tributo (IR ou IPI). - name: decendio description: Decêndio de referência. - name: arrecadacao_bruta - description: "Valor da arrecadação bruta dos tributos sem nenhum acréscimo\n - ou dedução. É a etapa inicial da arrecadação, quando há o pagamento\n - efetuado pelo contribuinte." + description: "Valor da arrecadação bruta dos tributos sem nenhum acréscimo\n\ + \ ou dedução. É a etapa inicial da arrecadação, quando há o pagamento\n\ + \ efetuado pelo contribuinte." - name: retificacao - description: "Valor do saldo das retificações efetuadas nos Documentos de\n - Arrecadação de Receitas Federais (Darf). São alterações feitas nos\ndocumentos - de arrecadação em função de erro de preenchimento." + description: "Valor do saldo das retificações efetuadas nos Documentos de\n\ + \ Arrecadação de Receitas Federais (Darf). São alterações feitas nos\ndocumentos\ + \ de arrecadação em função de erro de preenchimento." - name: compensacao - description: "Valor do saldo das compensações efetuadas. Utilização de valores - pagos\nanteriormente para quitação de débitos de outros tributos, distintos - de\nIR ou IPI, e vice-versa." + description: "Valor do saldo das compensações efetuadas. Utilização de valores\ + \ pagos\nanteriormente para quitação de débitos de outros tributos, distintos\ + \ de\nIR ou IPI, e vice-versa." - name: restituicao - description: "Valor do saldo das restituições efetuadas pela Receita Federal - em função\nde pagamentos feitos a maior ou indevidos." + description: "Valor do saldo das restituições efetuadas pela Receita Federal\ + \ em função\nde pagamentos feitos a maior ou indevidos." - name: outros description: Demais eventos que agem sobre o valor da arrecadação bruta - name: arrecadacao_liquida - description: "Valor resultante da arrecadação bruta, depois da incidência - dos demais\neventos de arrecadação." + description: "Valor resultante da arrecadação bruta, depois da incidência\ + \ dos demais\neventos de arrecadação." - name: br_rf_arrecadacao__itr - description: Contém os dados de arrecadação líquida mensal do Imposto sobre a Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível de repasse aos próprios municípios onde se localizam essas propriedades rurais, conforme a situação do município, conveniado ou não conveniado com a União para fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. + description: Contém os dados de arrecadação líquida mensal do Imposto sobre a + Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível + de repasse aos próprios municípios onde se localizam essas propriedades rurais, + conforme a situação do município, conveniado ou não conveniado com a União para + fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano,mes,nome_uf,regiao_politica,cidade_uf] + combination_of_columns: + - ano + - mes + - nome_uf + - regiao_politica + - cidade_uf - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.95 columns: - name: ano description: Ano de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano - name: mes description: Mês de referência. tests: - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes - name: nome_uf - description: "Nome da Unidade da Federação onde se localiza o município conveniado\n - ou não conveniado." + description: "Nome da Unidade da Federação onde se localiza o município conveniado\n\ + \ ou não conveniado." tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: nome + to: ref('br_bd_diretorios_brasil__uf') + field: nome - name: regiao_politica - description: "Nome da Região Política onde se localiza o município conveniado - ou não\nconveniado." + description: "Nome da Região Política onde se localiza o município conveniado\ + \ ou não\nconveniado." tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: regiao + to: ref('br_bd_diretorios_brasil__uf') + field: regiao - name: cidade_uf - description: "Nome do município conveniado ou não conveniado seguido da sigla - da\nUnidade da Federação onde se localiza o município." + description: "Nome do município conveniado ou não conveniado seguido da sigla\ + \ da\nUnidade da Federação onde se localiza o município." - name: valor_arrecadado description: Valor arrecadado. From 721729027889e3078b1d25bcfbf242706fc2e612 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Fri, 4 Oct 2024 17:09:22 +0000 Subject: [PATCH 07/27] =?UTF-8?q?Execu=C3=A7=C3=A3o=20de=20Pre-Commit=20na?= =?UTF-8?q?s=20Queries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_rf_arrecadacao__cnae.sql | 45 +++++++------- .../br_rf_arrecadacao__ir_ipi.sql | 23 ++++--- .../br_rf_arrecadacao__itr.sql | 15 +++-- .../br_rf_arrecadacao__natureza_juridica.sql | 61 ++++++++++--------- 4 files changed, 73 insertions(+), 71 deletions(-) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql index 5c3edf04..274d138e 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql @@ -1,25 +1,24 @@ -{{ config(alias='cnae',schema='br_rf_arrecadacao') }} +{{ config(alias="cnae", schema="br_rf_arrecadacao") }} select -safe_cast(ano as int64) ano, -safe_cast(mes as int64) mes, -safe_cast(secao_sigla as string) secao_sigla, -safe_cast(secao_nome as string) secao_nome, -safe_cast(imposto_importacao as float64) imposto_importacao, -safe_cast(imposto_exportacao as float64) imposto_exportacao, -safe_cast(ipi as float64) ipi, -safe_cast(irpf as float64) irpf, -safe_cast(irpj as float64) irpj, -safe_cast(irrf as float64) irrf, -safe_cast(iof as float64) iof, -safe_cast(itr as float64) itr, -safe_cast(cofins as float64) cofins, -safe_cast(pis_pasep as float64) pis_pasep, -safe_cast(csll as float64) csll, -safe_cast(cide_combustiveis as float64) cide_combustiveis, -safe_cast(contribuicao_previdenciaria as float64) contribuicao_previdenciaria, -safe_cast(cpsss as float64) cpsss, -safe_cast(pagamento_unificado as float64) pagamento_unificado, -safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, -safe_cast(demais_receitas as float64) demais_receitas, + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(secao_sigla as string) secao_sigla, + safe_cast(secao_nome as string) secao_nome, + safe_cast(imposto_importacao as float64) imposto_importacao, + safe_cast(imposto_exportacao as float64) imposto_exportacao, + safe_cast(ipi as float64) ipi, + safe_cast(irpf as float64) irpf, + safe_cast(irpj as float64) irpj, + safe_cast(irrf as float64) irrf, + safe_cast(iof as float64) iof, + safe_cast(itr as float64) itr, + safe_cast(cofins as float64) cofins, + safe_cast(pis_pasep as float64) pis_pasep, + safe_cast(csll as float64) csll, + safe_cast(cide_combustiveis as float64) cide_combustiveis, + safe_cast(contribuicao_previdenciaria as float64) contribuicao_previdenciaria, + safe_cast(cpsss as float64) cpsss, + safe_cast(pagamento_unificado as float64) pagamento_unificado, + safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, + safe_cast(demais_receitas as float64) demais_receitas, from `basedosdados-staging.br_rf_arrecadacao_staging.cnae` as t - diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql index abb7c372..d0e21a42 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql @@ -1,14 +1,13 @@ -{{ config(alias='ir_ipi',schema='br_rf_arrecadacao') }} +{{ config(alias="ir_ipi", schema="br_rf_arrecadacao") }} select -safe_cast(ano as int64) ano, -safe_cast(mes as int64) mes, -safe_cast(tributo as string) tributo, -safe_cast(decendio as string) decendio, -safe_cast(arrecadacao_bruta as float64) arrecadacao_bruta, -safe_cast(retificacao as float64) retificacao, -safe_cast(compensacao as float64) compensacao, -safe_cast(restituicao as float64) restituicao, -safe_cast(outros as float64) outros, -safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(tributo as string) tributo, + safe_cast(decendio as string) decendio, + safe_cast(arrecadacao_bruta as float64) arrecadacao_bruta, + safe_cast(retificacao as float64) retificacao, + safe_cast(compensacao as float64) compensacao, + safe_cast(restituicao as float64) restituicao, + safe_cast(outros as float64) outros, + safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, from `basedosdados-staging.br_rf_arrecadacao_staging.ir_ipi` as t - diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql index 8fc00b36..62d48cc9 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql @@ -1,10 +1,9 @@ -{{ config(alias='itr',schema='br_rf_arrecadacao') }} +{{ config(alias="itr", schema="br_rf_arrecadacao") }} select -safe_cast(ano as int64) ano, -safe_cast(mes as int64) mes, -safe_cast(nome_uf as string) nome_uf, -safe_cast(regiao_politica as string) regiao_politica, -safe_cast(cidade_uf as string) cidade_uf, -safe_cast(valor_arrecadado as float64) valor_arrecadado, + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(nome_uf as string) nome_uf, + safe_cast(regiao_politica as string) regiao_politica, + safe_cast(cidade_uf as string) cidade_uf, + safe_cast(valor_arrecadado as float64) valor_arrecadado, from `basedosdados-staging.br_rf_arrecadacao_staging.itr` as t - diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index 3d7d07bc..2aa0cad6 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -1,30 +1,35 @@ -{{ config(alias='natureza_juridica',schema='br_rf_arrecadacao') }} -WITH referencia_codigo AS ( - select id_natureza_juridica,SUBSTR(CAST(id_natureza_juridica AS STRING),0,3) as inicio_codigo - FROM basedosdados-staging.br_bd_diretorios_brasil.natureza_juridica -) +{{ config(alias="natureza_juridica", schema="br_rf_arrecadacao") }} +with + referencia_codigo as ( + select + id_natureza_juridica, + substr(cast(id_natureza_juridica as string), 0, 3) as inicio_codigo + from basedosdados - staging.br_bd_diretorios_brasil.natureza_juridica + ) select -safe_cast(t.ano as int64) ano, -safe_cast(t.mes as int64) mes, -safe_cast(referencia_codigo.id_natureza_juridica as string) natureza_juridica_codigo, -safe_cast(t.natureza_juridica_nome as string) natureza_juridica_nome, -safe_cast(t.imposto_importacao as float64) imposto_importacao, -safe_cast(t.imposto_exportacao as float64) imposto_exportacao, -safe_cast(t.ipi as float64) ipi, -safe_cast(t.irpf as float64) irpf, -safe_cast(t.irpj as float64) irpj, -safe_cast(t.irrf as float64) irrf, -safe_cast(t.iof as float64) iof, -safe_cast(t.itr as float64) itr, -safe_cast(t.cofins as float64) cofins, -safe_cast(t.pis_pasep as float64) pis_pasep, -safe_cast(t.csll as float64) csll, -safe_cast(t.cide_combustiveis as float64) cide_combustiveis, -safe_cast(t.contribuicao_previdenciaria as float64) contribuicao_previdenciaria, -safe_cast(t.cpsss as float64) cpsss, -safe_cast(t.pagamento_unificado as float64) pagamento_unificado, -safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, -safe_cast(t.demais_receitas as float64) demais_receitas, + safe_cast(t.ano as int64) ano, + safe_cast(t.mes as int64) mes, + safe_cast( + referencia_codigo.id_natureza_juridica as string + ) natureza_juridica_codigo, + safe_cast(t.natureza_juridica_nome as string) natureza_juridica_nome, + safe_cast(t.imposto_importacao as float64) imposto_importacao, + safe_cast(t.imposto_exportacao as float64) imposto_exportacao, + safe_cast(t.ipi as float64) ipi, + safe_cast(t.irpf as float64) irpf, + safe_cast(t.irpj as float64) irpj, + safe_cast(t.irrf as float64) irrf, + safe_cast(t.iof as float64) iof, + safe_cast(t.itr as float64) itr, + safe_cast(t.cofins as float64) cofins, + safe_cast(t.pis_pasep as float64) pis_pasep, + safe_cast(t.csll as float64) csll, + safe_cast(t.cide_combustiveis as float64) cide_combustiveis, + safe_cast(t.contribuicao_previdenciaria as float64) contribuicao_previdenciaria, + safe_cast(t.cpsss as float64) cpsss, + safe_cast(t.pagamento_unificado as float64) pagamento_unificado, + safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, + safe_cast(t.demais_receitas as float64) demais_receitas, from `basedosdados-staging.br_rf_arrecadacao_staging.natureza_juridica` as t -left join referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo - +left join + referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo From 16a6e6a6708837ee99c5c622deaa71f44a30ae99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Luis?= Date: Thu, 10 Oct 2024 13:22:42 -0300 Subject: [PATCH 08/27] =?UTF-8?q?Corre=C3=A7=C3=B5es=20schema.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correções na formatação de descrições de colunas do Schema. --- models/br_rf_arrecadacao/schema.yml | 60 ++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index a96940e3..6ad124e7 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -316,23 +316,23 @@ models: - name: cofins description: Contribuição para o Financiamento da Seguridade Social. - name: pis_pasep - description: 'Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. ' + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. - name: csll - description: 'Contribuição Social sobre o Lucro Líquido. ' + description: Contribuição Social sobre o Lucro Líquido. - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. - name: cpsss - description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + description: Contribuição para o Plano de Seguridade Social do Servidor Público. - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. - name: outras_receitas_rfb - description: 'Outras receitas administradas pela RFB. ' + description: Outras receitas administradas pela RFB. - name: demais_receitas - description: 'Outras receitas não administradas pela RFB. ' + description: Outras receitas não administradas pela RFB. - name: br_rf_arrecadacao__natureza_juridica description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos @@ -390,23 +390,23 @@ models: - name: cofins description: Contribuição para o Financiamento da Seguridade Social. - name: pis_pasep - description: 'Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. ' + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. - name: csll - description: 'Contribuição Social sobre o Lucro Líquido. ' + description: Contribuição Social sobre o Lucro Líquido. - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. - name: cpsss - description: 'Contribuição para o Plano de Seguridade Social do Servidor Público. ' + description: Contribuição para o Plano de Seguridade Social do Servidor Público. - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. - name: outras_receitas_rfb - description: 'Outras receitas administradas pela RFB. ' + description: Outras receitas administradas pela RFB. - name: demais_receitas - description: 'Outras receitas não administradas pela RFB. ' + description: Outras receitas não administradas pela RFB. - name: br_rf_arrecadacao__ir_ipi description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação @@ -436,25 +436,25 @@ models: - name: decendio description: Decêndio de referência. - name: arrecadacao_bruta - description: "Valor da arrecadação bruta dos tributos sem nenhum acréscimo\n\ - \ ou dedução. É a etapa inicial da arrecadação, quando há o pagamento\n\ - \ efetuado pelo contribuinte." + description: Valor da arrecadação bruta dos tributos sem nenhum acréscimo + ou dedução. É a etapa inicial da arrecadação, quando há o pagamento efetuado + pelo contribuinte. - name: retificacao - description: "Valor do saldo das retificações efetuadas nos Documentos de\n\ - \ Arrecadação de Receitas Federais (Darf). São alterações feitas nos\ndocumentos\ - \ de arrecadação em função de erro de preenchimento." + description: Valor do saldo das retificações efetuadas nos Documentos de Arrecadação + de Receitas Federais (Darf). São alterações feitas nos documentos de arrecadação + em função de erro de preenchimento. - name: compensacao - description: "Valor do saldo das compensações efetuadas. Utilização de valores\ - \ pagos\nanteriormente para quitação de débitos de outros tributos, distintos\ - \ de\nIR ou IPI, e vice-versa." + description: Valor do saldo das compensações efetuadas. Utilização de valores + pagos anteriormente para quitação de débitos de outros tributos, distintos + de IR ou IPI, e vice-versa. - name: restituicao - description: "Valor do saldo das restituições efetuadas pela Receita Federal\ - \ em função\nde pagamentos feitos a maior ou indevidos." + description: Valor do saldo das restituições efetuadas pela Receita Federal + em função de pagamentos feitos a maior ou indevidos. - name: outros - description: Demais eventos que agem sobre o valor da arrecadação bruta + description: Demais eventos que agem sobre o valor da arrecadação bruta. - name: arrecadacao_liquida - description: "Valor resultante da arrecadação bruta, depois da incidência\ - \ dos demais\neventos de arrecadação." + description: Valor resultante da arrecadação bruta, depois da incidência dos + demais eventos de arrecadação. - name: br_rf_arrecadacao__itr description: Contém os dados de arrecadação líquida mensal do Imposto sobre a Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível @@ -485,15 +485,15 @@ models: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes - name: nome_uf - description: "Nome da Unidade da Federação onde se localiza o município conveniado\n\ - \ ou não conveniado." + description: Nome da Unidade da Federação onde se localiza o município conveniado + ou não conveniado. tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') field: nome - name: regiao_politica - description: "Nome da Região Política onde se localiza o município conveniado\ - \ ou não\nconveniado." + description: Nome da Região Política onde se localiza o município conveniado + ou não conveniado. tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') From 2441e38932f2c962a59c73e8ed13b47e95caf212 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Thu, 24 Oct 2024 10:37:54 -0300 Subject: [PATCH 09/27] Atualizar resultados_candidato com 2024 e colocar testes --- .../br_tse_eleicoes__resultados_candidato.sql | 4 ++-- models/br_tse_eleicoes/schema.yml | 20 ++++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato.sql index ea7549c6..6be9f640 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato.sql @@ -6,7 +6,7 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 1945, "end": 2022, "interval": 1}, + "range": {"start": 1945, "end": 2024, "interval": 1}, }, ) }} @@ -15,7 +15,7 @@ select safe_cast(turno as int64) turno, safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as string) data_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index b72411f2..5581732f 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -1174,7 +1174,7 @@ models: - numero_candidato - nome_candidato - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.80 columns: - name: ano description: Ano @@ -1186,14 +1186,27 @@ models: description: Cargo - name: data_eleicao description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: id_candidato_bd description: ID Candidato - Base dos Dados - name: id_eleicao description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: nome_candidato description: Nome do candidato - name: numero_candidato @@ -1208,6 +1221,11 @@ models: description: Sigla do partido - name: sigla_uf description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [GB, GP, RB] - name: tipo_eleicao description: Tipo da eleição - name: turno From 783efab8faa266304f68689ad6b651b915a8fa2c Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Thu, 24 Oct 2024 11:37:02 -0300 Subject: [PATCH 10/27] fix data types educacao_especial --- .../br_inep_educacao_especial__distorcao_idade_serie.sql | 2 +- .../br_inep_educacao_especial__docente_aee.sql | 4 ++-- .../br_inep_educacao_especial__docente_formacao.sql | 2 +- .../br_inep_educacao_especial__matricula_aee.sql | 4 ++-- .../br_inep_educacao_especial__taxa_rendimento.sql | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql index c4843e18..2a8451e0 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql @@ -10,5 +10,5 @@ select safe_cast(ano as int64) ano, safe_cast(sigla_uf as string) sigla_uf, safe_cast(etapa_ensino as string) etapa_ensino, - safe_cast(tdi as numeric) tdi, + safe_cast(tdi as float64) tdi, from `basedosdados-staging.br_inep_educacao_especial_staging.distorcao_idade_serie` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_aee.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_aee.sql index 0fa2f225..45dc6d5b 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_aee.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_aee.sql @@ -10,8 +10,8 @@ select safe_cast(ano as int64) ano, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, - safe_cast(quantidade_docente_regente as int64) quantidade_docente_regente, - safe_cast(quantidade_docente_aee as int64) quantidade_docente_aee, + safe_cast(quantidade_docente_regente as numeric) quantidade_docente_regente, + safe_cast(quantidade_docente_aee as numeric) quantidade_docente_aee, safe_cast( quantidade_docente_regente_formacao_continuada as int64 ) quantidade_docente_regente_formacao_continuada, diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_formacao.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_formacao.sql index 2dca248e..ba4334ed 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_formacao.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__docente_formacao.sql @@ -12,7 +12,7 @@ select safe_cast(id_municipio as string) id_municipio, safe_cast(rede as string) rede, safe_cast( - quantidade_docente_formacao_continuada as int64 + quantidade_docente_formacao_continuada as numeric ) quantidade_docente_formacao_continuada, from `basedosdados-staging.br_inep_educacao_especial_staging.docente_formacao` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__matricula_aee.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__matricula_aee.sql index 174da9a4..b15b5053 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__matricula_aee.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__matricula_aee.sql @@ -10,7 +10,7 @@ select safe_cast(ano as int64) ano, safe_cast(sigla_uf as string) sigla_uf, safe_cast(rede as string) rede, - safe_cast(quantidade_matricula as int64) quantidade_matricula, - safe_cast(quantidade_matricula_aee as int64) quantidade_matricula_aee, + safe_cast(quantidade_matricula as numeric) quantidade_matricula, + safe_cast(quantidade_matricula_aee as numeric) quantidade_matricula_aee, from `basedosdados-staging.br_inep_educacao_especial_staging.matricula_aee` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql index 270136ab..de69f9be 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql @@ -10,7 +10,7 @@ select safe_cast(ano as int64) ano, safe_cast(sigla_uf as string) sigla_uf, safe_cast(etapa_ensino as string) etapa_ensino, - safe_cast(taxa_aprovacao as numeric) taxa_aprovacao, - safe_cast(taxa_reprovacao as numeric) taxa_reprovacao, - safe_cast(taxa_abandono as numeric) taxa_abandono, + safe_cast(taxa_aprovacao as float64) taxa_aprovacao, + safe_cast(taxa_reprovacao as float64) taxa_reprovacao, + safe_cast(taxa_abandono as float64) taxa_abandono, from `basedosdados-staging.br_inep_educacao_especial_staging.taxa_rendimento` as t From dbb9f1f77fd20c8f3e9cb1a41ce71615924105be Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Thu, 24 Oct 2024 22:20:40 -0300 Subject: [PATCH 11/27] add tabelas com recorte de brasil --- ...especial__brasil_distorcao_idade_serie.sql | 15 + ...cacao_especial__brasil_taxa_rendimento.sql | 15 + ...cao_especial__uf_distorcao_idade_serie.sql | 14 + ..._educacao_especial__uf_taxa_rendimento.sql | 16 + ...special_brasil_distorcao_idade_serie.ipynb | 4579 +++++++++++++++++ ...acao_especial_brasil_taxa_rendimento.ipynb | 1661 ++++++ ...nb => educacao_especial_docente_aee.ipynb} | 0 ... educacao_especial_docente_formacao.ipynb} | 0 ... => educacao_especial_matricula_aee.ipynb} | 0 ...o_especial_uf_distorcao_idade_serie.ipynb} | 0 ...ducacao_especial_uf_taxa_rendimento.ipynb} | 0 .../br_inep_educacao_especial/schema copy.yml | 391 ++ 12 files changed, 6691 insertions(+) create mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql create mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql create mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql create mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__uf_taxa_rendimento.sql create mode 100644 models/br_inep_educacao_especial/code/educacao_especial_brasil_distorcao_idade_serie.ipynb create mode 100644 models/br_inep_educacao_especial/code/educacao_especial_brasil_taxa_rendimento.ipynb rename models/br_inep_educacao_especial/code/{educacao_especial_aee_docente.ipynb => educacao_especial_docente_aee.ipynb} (100%) rename models/br_inep_educacao_especial/code/{educacao_especial_formacao_docente.ipynb => educacao_especial_docente_formacao.ipynb} (100%) rename models/br_inep_educacao_especial/code/{educacao_especial_aee_matricula.ipynb => educacao_especial_matricula_aee.ipynb} (100%) rename models/br_inep_educacao_especial/code/{educacao_especial_distorcao_idade_serie.ipynb => educacao_especial_uf_distorcao_idade_serie.ipynb} (100%) rename models/br_inep_educacao_especial/code/{educacao_especial_taxa_rendimento.ipynb => educacao_especial_uf_taxa_rendimento.ipynb} (100%) create mode 100644 models/br_inep_educacao_especial/schema copy.yml diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql new file mode 100644 index 00000000..b7547236 --- /dev/null +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql @@ -0,0 +1,15 @@ +{{ + config( + alias="brasil_distorcao_idade_serie", + schema="br_inep_educacao_especial", + materialized="table", + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(etapa_ensino as string) etapa_ensino, + safe_cast(tdi as float64) tdi, +from + `basedosdados-staging.br_inep_educacao_especial_staging.brasil_distorcao_idade_serie` + as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql new file mode 100644 index 00000000..f6138975 --- /dev/null +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql @@ -0,0 +1,15 @@ +{{ + config( + alias="brasil_taxa_rendimento", + schema="br_inep_educacao_especial", + materialized="table", + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(etapa_ensino as string) etapa_ensino, + safe_cast(taxa_aprovacao as float64) taxa_aprovacao, + safe_cast(taxa_reprovacao as float64) taxa_reprovacao, + safe_cast(taxa_abandono as float64) taxa_abandono, +from `basedosdados-staging.br_inep_educacao_especial_staging.brasil_taxa_rendimento` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql new file mode 100644 index 00000000..5c8fa01f --- /dev/null +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql @@ -0,0 +1,14 @@ +{{ + config( + alias="uf_distorcao_idade_serie", + schema="br_inep_educacao_especial", + materialized="table", + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(etapa_ensino as string) etapa_ensino, + safe_cast(tdi as float64) tdi, +from `basedosdados-staging.br_inep_educacao_especial_staging.uf_distorcao_idade_serie` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_taxa_rendimento.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_taxa_rendimento.sql new file mode 100644 index 00000000..4c8e81d2 --- /dev/null +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_taxa_rendimento.sql @@ -0,0 +1,16 @@ +{{ + config( + alias="uf_taxa_rendimento", + schema="br_inep_educacao_especial", + materialized="table", + ) +}} + +select + safe_cast(ano as int64) ano, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(etapa_ensino as string) etapa_ensino, + safe_cast(taxa_aprovacao as float64) taxa_aprovacao, + safe_cast(taxa_reprovacao as float64) taxa_reprovacao, + safe_cast(taxa_abandono as float64) taxa_abandono, +from `basedosdados-staging.br_inep_educacao_especial_staging.uf_taxa_rendimento` as t diff --git a/models/br_inep_educacao_especial/code/educacao_especial_brasil_distorcao_idade_serie.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_brasil_distorcao_idade_serie.ipynb new file mode 100644 index 00000000..8216a77c --- /dev/null +++ b/models/br_inep_educacao_especial/code/educacao_especial_brasil_distorcao_idade_serie.ipynb @@ -0,0 +1,4579 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import zipfile\n", + "import pandas as pd\n", + "import basedosdados as bd\n", + "\n", + "INPUT = os.path.join(os.getcwd(), \"input\")\n", + "OUTPUT = os.path.join(os.getcwd(), \"output\")\n", + "\n", + "os.makedirs(INPUT, exist_ok=True)\n", + "os.makedirs(OUTPUT, exist_ok=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def read_sheet(sheet_name: str, skiprows: int = 3) -> pd.DataFrame:\n", + " return pd.read_excel(\n", + " os.path.join(\n", + " INPUT,\n", + " \"TDI_-_Alunos_com_defici_ncia.xlsx\"\n", + " ),\n", + " skiprows=skiprows,\n", + " sheet_name=sheet_name\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "excel_data = pd.ExcelFile(os.path.join(\n", + " INPUT,\n", + " \"TDI_-_Alunos_com_defici_ncia.xlsx\"\n", + " ))\n", + "\n", + "# Get the sheet names\n", + "sheet_names = excel_data.sheet_names" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "dfs = {\n", + " sheet_name: read_sheet(sheet_name)\n", + " for sheet_name in sheet_names\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'2007': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 72.2 60.6 \n", + " 1 Norte 76.1 69.7 \n", + " 2 Nordeste 74.4 64.7 \n", + " 3 Sudeste 69.3 56.5 \n", + " 4 Sul 73.3 59.6 \n", + " 5 Centro-Oeste 78.7 73.6 \n", + " 6 Rondônia 72.8 65.8 \n", + " 7 Acre 67.2 60.0 \n", + " 8 Amazonas 76.3 75.7 \n", + " 9 Roraima 71.0 69.5 \n", + " 10 Pará 78.2 68.4 \n", + " 11 Amapá 76.4 81.0 \n", + " 12 Tocantins 75.4 70.7 \n", + " 13 Maranhão 74.2 61.2 \n", + " 14 Piauí 83.0 69.3 \n", + " 15 Ceará 67.8 56.9 \n", + " 16 Rio Grande do Norte 66.4 74.0 \n", + " 17 Paraíba 73.3 71.6 \n", + " 18 Pernambuco 78.6 64.5 \n", + " 19 Alagoas 72.0 79.2 \n", + " 20 Sergipe 85.0 85.4 \n", + " 21 Bahia 76.7 66.5 \n", + " 22 Minas Gerais 79.0 69.1 \n", + " 23 Espírito Santo 67.5 69.0 \n", + " 24 Rio de Janeiro 85.1 77.2 \n", + " 25 São Paulo 60.7 50.2 \n", + " 26 Paraná 72.3 54.2 \n", + " 27 Santa Catarina 75.8 65.3 \n", + " 28 Rio Grande do Sul 73.6 66.1 \n", + " 29 Mato Grosso do Sul 86.0 81.2 \n", + " 30 Mato Grosso 76.3 66.2 \n", + " 31 Goiás 76.8 75.7 \n", + " 32 Distrito Federal 74.6 70.6 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 65.3 \n", + " 1 75.7 \n", + " 2 77.9 \n", + " 3 58.4 \n", + " 4 62.6 \n", + " 5 73.6 \n", + " 6 76.2 \n", + " 7 60.5 \n", + " 8 75.5 \n", + " 9 76.9 \n", + " 10 77.7 \n", + " 11 69.4 \n", + " 12 75.9 \n", + " 13 76.2 \n", + " 14 80.5 \n", + " 15 83.7 \n", + " 16 78.0 \n", + " 17 88.0 \n", + " 18 81.3 \n", + " 19 88.3 \n", + " 20 85.7 \n", + " 21 67.1 \n", + " 22 69.1 \n", + " 23 69.1 \n", + " 24 86.7 \n", + " 25 51.5 \n", + " 26 59.5 \n", + " 27 71.9 \n", + " 28 60.4 \n", + " 29 75.4 \n", + " 30 78.1 \n", + " 31 75.5 \n", + " 32 69.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2008': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 66.5 54.5 \n", + " 1 Norte 61.2 44.8 \n", + " 2 Nordeste 60.7 45.7 \n", + " 3 Sudeste 65.7 53.5 \n", + " 4 Sul 73.5 63.2 \n", + " 5 Centro-Oeste 72.3 63.6 \n", + " 6 Rondônia 55.1 35.9 \n", + " 7 Acre 43.8 29.7 \n", + " 8 Amazonas 58.0 57.0 \n", + " 9 Roraima 44.2 28.4 \n", + " 10 Pará 65.1 48.3 \n", + " 11 Amapá 57.0 54.4 \n", + " 12 Tocantins 67.1 46.3 \n", + " 13 Maranhão 62.8 44.3 \n", + " 14 Piauí 66.3 57.9 \n", + " 15 Ceará 55.9 38.6 \n", + " 16 Rio Grande do Norte 47.1 45.2 \n", + " 17 Paraíba 54.0 48.1 \n", + " 18 Pernambuco 73.5 58.6 \n", + " 19 Alagoas 49.0 46.1 \n", + " 20 Sergipe 68.5 58.9 \n", + " 21 Bahia 60.5 44.4 \n", + " 22 Minas Gerais 73.1 61.8 \n", + " 23 Espírito Santo 62.9 61.2 \n", + " 24 Rio de Janeiro 82.7 72.7 \n", + " 25 São Paulo 57.5 48.2 \n", + " 26 Paraná 78.0 60.6 \n", + " 27 Santa Catarina 69.5 64.5 \n", + " 28 Rio Grande do Sul 70.1 65.0 \n", + " 29 Mato Grosso do Sul 84.6 75.7 \n", + " 30 Mato Grosso 72.6 66.2 \n", + " 31 Goiás 68.0 62.1 \n", + " 32 Distrito Federal 62.0 60.0 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 57.3 \n", + " 1 50.7 \n", + " 2 49.4 \n", + " 3 56.6 \n", + " 4 65.0 \n", + " 5 60.5 \n", + " 6 48.8 \n", + " 7 47.2 \n", + " 8 62.2 \n", + " 9 41.2 \n", + " 10 48.7 \n", + " 11 60.0 \n", + " 12 48.2 \n", + " 13 45.3 \n", + " 14 51.0 \n", + " 15 48.7 \n", + " 16 44.2 \n", + " 17 52.3 \n", + " 18 65.1 \n", + " 19 61.1 \n", + " 20 65.7 \n", + " 21 41.9 \n", + " 22 58.6 \n", + " 23 73.5 \n", + " 24 80.2 \n", + " 25 51.5 \n", + " 26 59.6 \n", + " 27 72.5 \n", + " 28 64.0 \n", + " 29 80.0 \n", + " 30 72.7 \n", + " 31 55.8 \n", + " 32 60.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2009': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 68.4 54.8 \n", + " 1 Norte 69.8 51.0 \n", + " 2 Nordeste 66.9 50.7 \n", + " 3 Sudeste 65.6 52.1 \n", + " 4 Sul 75.8 63.8 \n", + " 5 Centro-Oeste 73.1 65.6 \n", + " 6 Rondônia 64.2 47.3 \n", + " 7 Acre 51.6 37.8 \n", + " 8 Amazonas 70.6 56.7 \n", + " 9 Roraima 50.6 51.7 \n", + " 10 Pará 74.2 54.0 \n", + " 11 Amapá 64.5 49.2 \n", + " 12 Tocantins 72.8 50.5 \n", + " 13 Maranhão 64.4 48.8 \n", + " 14 Piauí 70.6 47.2 \n", + " 15 Ceará 64.3 44.5 \n", + " 16 Rio Grande do Norte 53.4 57.9 \n", + " 17 Paraíba 70.4 47.9 \n", + " 18 Pernambuco 78.3 64.5 \n", + " 19 Alagoas 54.1 58.9 \n", + " 20 Sergipe 78.2 61.1 \n", + " 21 Bahia 65.5 50.2 \n", + " 22 Minas Gerais 75.4 64.4 \n", + " 23 Espírito Santo 69.9 60.2 \n", + " 24 Rio de Janeiro 84.6 74.3 \n", + " 25 São Paulo 57.0 47.3 \n", + " 26 Paraná 80.6 61.1 \n", + " 27 Santa Catarina 57.4 61.8 \n", + " 28 Rio Grande do Sul 75.0 67.9 \n", + " 29 Mato Grosso do Sul 84.1 78.9 \n", + " 30 Mato Grosso 73.2 69.7 \n", + " 31 Goiás 65.7 61.2 \n", + " 32 Distrito Federal 66.4 64.6 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 56.0 \n", + " 1 57.5 \n", + " 2 56.6 \n", + " 3 52.1 \n", + " 4 62.1 \n", + " 5 62.2 \n", + " 6 45.1 \n", + " 7 43.4 \n", + " 8 61.4 \n", + " 9 21.4 \n", + " 10 62.1 \n", + " 11 54.7 \n", + " 12 55.2 \n", + " 13 48.2 \n", + " 14 61.4 \n", + " 15 52.6 \n", + " 16 51.1 \n", + " 17 50.2 \n", + " 18 69.3 \n", + " 19 64.1 \n", + " 20 68.9 \n", + " 21 54.4 \n", + " 22 59.9 \n", + " 23 69.9 \n", + " 24 74.8 \n", + " 25 46.0 \n", + " 26 57.4 \n", + " 27 57.4 \n", + " 28 70.3 \n", + " 29 80.6 \n", + " 30 70.9 \n", + " 31 56.2 \n", + " 32 67.5 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2010': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 67.5 57.2 \n", + " 1 Norte 70.0 59.4 \n", + " 2 Nordeste 67.1 57.8 \n", + " 3 Sudeste 65.0 52.8 \n", + " 4 Sul 72.4 62.8 \n", + " 5 Centro-Oeste 68.6 67.2 \n", + " 6 Rondônia 67.5 60.7 \n", + " 7 Acre 57.2 49.4 \n", + " 8 Amazonas 70.7 64.2 \n", + " 9 Roraima 50.6 59.2 \n", + " 10 Pará 74.9 62.5 \n", + " 11 Amapá 66.7 54.7 \n", + " 12 Tocantins 68.6 57.5 \n", + " 13 Maranhão 65.2 55.5 \n", + " 14 Piauí 69.2 56.1 \n", + " 15 Ceará 64.2 50.7 \n", + " 16 Rio Grande do Norte 56.2 66.8 \n", + " 17 Paraíba 71.7 56.5 \n", + " 18 Pernambuco 74.9 65.6 \n", + " 19 Alagoas 57.6 60.2 \n", + " 20 Sergipe 78.2 72.2 \n", + " 21 Bahia 67.4 59.3 \n", + " 22 Minas Gerais 69.3 66.1 \n", + " 23 Espírito Santo 59.1 59.0 \n", + " 24 Rio de Janeiro 82.2 73.3 \n", + " 25 São Paulo 58.4 47.4 \n", + " 26 Paraná 76.0 59.0 \n", + " 27 Santa Catarina 54.1 62.1 \n", + " 28 Rio Grande do Sul 73.0 67.8 \n", + " 29 Mato Grosso do Sul 81.2 78.7 \n", + " 30 Mato Grosso 64.6 66.7 \n", + " 31 Goiás 62.2 66.2 \n", + " 32 Distrito Federal 62.7 61.7 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 56.4 \n", + " 1 63.0 \n", + " 2 60.3 \n", + " 3 52.1 \n", + " 4 55.6 \n", + " 5 64.6 \n", + " 6 45.9 \n", + " 7 56.6 \n", + " 8 70.9 \n", + " 9 58.6 \n", + " 10 70.8 \n", + " 11 54.1 \n", + " 12 56.0 \n", + " 13 56.7 \n", + " 14 65.9 \n", + " 15 50.6 \n", + " 16 67.4 \n", + " 17 55.6 \n", + " 18 69.9 \n", + " 19 69.1 \n", + " 20 80.1 \n", + " 21 57.6 \n", + " 22 58.9 \n", + " 23 60.1 \n", + " 24 67.7 \n", + " 25 47.3 \n", + " 26 51.1 \n", + " 27 53.0 \n", + " 28 62.9 \n", + " 29 75.6 \n", + " 30 69.6 \n", + " 31 63.2 \n", + " 32 61.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2011': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 66.5 58.5 \n", + " 1 Norte 69.1 63.2 \n", + " 2 Nordeste 66.9 61.9 \n", + " 3 Sudeste 64.7 53.6 \n", + " 4 Sul 69.1 60.6 \n", + " 5 Centro-Oeste 66.1 66.2 \n", + " 6 Rondônia 67.5 61.4 \n", + " 7 Acre 57.1 53.4 \n", + " 8 Amazonas 69.7 69.5 \n", + " 9 Roraima 49.4 65.6 \n", + " 10 Pará 73.4 66.5 \n", + " 11 Amapá 69.8 55.4 \n", + " 12 Tocantins 67.2 62.8 \n", + " 13 Maranhão 64.8 60.2 \n", + " 14 Piauí 67.1 61.0 \n", + " 15 Ceará 62.1 56.8 \n", + " 16 Rio Grande do Norte 57.6 68.9 \n", + " 17 Paraíba 71.2 60.8 \n", + " 18 Pernambuco 74.3 67.4 \n", + " 19 Alagoas 60.4 64.5 \n", + " 20 Sergipe 78.4 73.3 \n", + " 21 Bahia 67.7 61.6 \n", + " 22 Minas Gerais 65.1 65.3 \n", + " 23 Espírito Santo 54.4 58.0 \n", + " 24 Rio de Janeiro 79.6 72.8 \n", + " 25 São Paulo 60.4 47.5 \n", + " 26 Paraná 73.5 56.1 \n", + " 27 Santa Catarina 50.3 60.1 \n", + " 28 Rio Grande do Sul 69.8 66.4 \n", + " 29 Mato Grosso do Sul 78.4 79.3 \n", + " 30 Mato Grosso 58.8 62.5 \n", + " 31 Goiás 60.5 65.1 \n", + " 32 Distrito Federal 63.0 61.0 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 56.1 \n", + " 1 62.9 \n", + " 2 59.9 \n", + " 3 52.5 \n", + " 4 54.3 \n", + " 5 62.5 \n", + " 6 51.0 \n", + " 7 51.2 \n", + " 8 68.9 \n", + " 9 48.1 \n", + " 10 69.1 \n", + " 11 57.7 \n", + " 12 62.9 \n", + " 13 54.6 \n", + " 14 63.0 \n", + " 15 57.7 \n", + " 16 68.8 \n", + " 17 50.5 \n", + " 18 65.9 \n", + " 19 62.8 \n", + " 20 73.5 \n", + " 21 57.1 \n", + " 22 59.8 \n", + " 23 59.1 \n", + " 24 66.3 \n", + " 25 47.4 \n", + " 26 50.7 \n", + " 27 51.3 \n", + " 28 61.2 \n", + " 29 68.9 \n", + " 30 64.6 \n", + " 31 63.8 \n", + " 32 57.2 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2012': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 64.4 58.9 \n", + " 1 Norte 67.0 64.7 \n", + " 2 Nordeste 66.2 63.7 \n", + " 3 Sudeste 62.0 53.1 \n", + " 4 Sul 67.1 61.4 \n", + " 5 Centro-Oeste 62.5 64.3 \n", + " 6 Rondônia 67.0 60.8 \n", + " 7 Acre 54.5 58.5 \n", + " 8 Amazonas 66.0 72.1 \n", + " 9 Roraima 43.5 62.5 \n", + " 10 Pará 70.2 67.7 \n", + " 11 Amapá 68.3 61.9 \n", + " 12 Tocantins 68.3 62.9 \n", + " 13 Maranhão 62.6 60.3 \n", + " 14 Piauí 68.5 61.3 \n", + " 15 Ceará 57.8 59.4 \n", + " 16 Rio Grande do Norte 57.6 69.9 \n", + " 17 Paraíba 69.3 61.9 \n", + " 18 Pernambuco 74.2 69.6 \n", + " 19 Alagoas 61.7 66.2 \n", + " 20 Sergipe 79.5 75.4 \n", + " 21 Bahia 68.0 64.0 \n", + " 22 Minas Gerais 57.8 63.3 \n", + " 23 Espírito Santo 50.4 59.4 \n", + " 24 Rio de Janeiro 78.8 71.8 \n", + " 25 São Paulo 59.6 46.6 \n", + " 26 Paraná 73.8 56.9 \n", + " 27 Santa Catarina 41.5 59.9 \n", + " 28 Rio Grande do Sul 67.0 67.6 \n", + " 29 Mato Grosso do Sul 77.2 78.6 \n", + " 30 Mato Grosso 47.1 57.6 \n", + " 31 Goiás 56.6 63.0 \n", + " 32 Distrito Federal 62.6 59.9 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 55.3 \n", + " 1 62.9 \n", + " 2 60.9 \n", + " 3 51.4 \n", + " 4 51.8 \n", + " 5 61.5 \n", + " 6 53.9 \n", + " 7 52.0 \n", + " 8 66.0 \n", + " 9 57.5 \n", + " 10 70.9 \n", + " 11 52.5 \n", + " 12 61.0 \n", + " 13 57.8 \n", + " 14 58.3 \n", + " 15 59.0 \n", + " 16 67.7 \n", + " 17 52.1 \n", + " 18 67.1 \n", + " 19 63.5 \n", + " 20 73.7 \n", + " 21 59.8 \n", + " 22 59.8 \n", + " 23 56.2 \n", + " 24 60.5 \n", + " 25 46.6 \n", + " 26 46.9 \n", + " 27 49.9 \n", + " 28 59.4 \n", + " 29 69.8 \n", + " 30 57.5 \n", + " 31 64.7 \n", + " 32 53.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2013': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 61.8 59.3 \n", + " 1 Norte 65.1 65.2 \n", + " 2 Nordeste 63.8 66.2 \n", + " 3 Sudeste 59.5 52.2 \n", + " 4 Sul 63.0 63.8 \n", + " 5 Centro-Oeste 60.1 61.6 \n", + " 6 Rondônia 66.3 62.2 \n", + " 7 Acre 55.8 56.4 \n", + " 8 Amazonas 63.2 66.0 \n", + " 9 Roraima 38.4 58.2 \n", + " 10 Pará 69.1 69.9 \n", + " 11 Amapá 64.4 60.6 \n", + " 12 Tocantins 63.3 66.0 \n", + " 13 Maranhão 60.5 61.9 \n", + " 14 Piauí 66.0 66.3 \n", + " 15 Ceará 50.2 63.1 \n", + " 16 Rio Grande do Norte 56.4 72.8 \n", + " 17 Paraíba 68.0 67.2 \n", + " 18 Pernambuco 73.1 71.1 \n", + " 19 Alagoas 61.3 65.7 \n", + " 20 Sergipe 76.4 77.6 \n", + " 21 Bahia 66.8 65.8 \n", + " 22 Minas Gerais 52.4 60.5 \n", + " 23 Espírito Santo 47.8 61.8 \n", + " 24 Rio de Janeiro 77.1 74.3 \n", + " 25 São Paulo 58.4 44.8 \n", + " 26 Paraná 70.7 59.6 \n", + " 27 Santa Catarina 35.1 59.7 \n", + " 28 Rio Grande do Sul 62.8 70.3 \n", + " 29 Mato Grosso do Sul 76.4 75.2 \n", + " 30 Mato Grosso 41.9 47.7 \n", + " 31 Goiás 53.5 64.7 \n", + " 32 Distrito Federal 63.5 58.7 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 55.4 \n", + " 1 62.0 \n", + " 2 61.9 \n", + " 3 51.0 \n", + " 4 52.9 \n", + " 5 61.4 \n", + " 6 54.1 \n", + " 7 48.6 \n", + " 8 63.9 \n", + " 9 60.3 \n", + " 10 70.6 \n", + " 11 54.4 \n", + " 12 60.4 \n", + " 13 57.8 \n", + " 14 63.2 \n", + " 15 60.9 \n", + " 16 65.5 \n", + " 17 56.9 \n", + " 18 71.0 \n", + " 19 55.5 \n", + " 20 72.9 \n", + " 21 60.0 \n", + " 22 61.1 \n", + " 23 51.7 \n", + " 24 63.1 \n", + " 25 46.1 \n", + " 26 48.2 \n", + " 27 51.8 \n", + " 28 59.4 \n", + " 29 67.8 \n", + " 30 60.5 \n", + " 31 65.1 \n", + " 32 53.9 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2014': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 58.7 59.6 \n", + " 1 Norte 60.7 65.6 \n", + " 2 Nordeste 60.4 68.1 \n", + " 3 Sudeste 56.4 51.9 \n", + " 4 Sul 61.2 64.5 \n", + " 5 Centro-Oeste 56.0 58.6 \n", + " 6 Rondônia 57.7 63.7 \n", + " 7 Acre 53.6 55.5 \n", + " 8 Amazonas 61.6 67.2 \n", + " 9 Roraima 35.5 54.8 \n", + " 10 Pará 64.8 72.0 \n", + " 11 Amapá 60.4 60.3 \n", + " 12 Tocantins 56.9 65.2 \n", + " 13 Maranhão 59.0 63.6 \n", + " 14 Piauí 62.1 68.2 \n", + " 15 Ceará 42.5 63.9 \n", + " 16 Rio Grande do Norte 52.5 74.8 \n", + " 17 Paraíba 65.0 69.4 \n", + " 18 Pernambuco 71.2 72.7 \n", + " 19 Alagoas 60.1 69.4 \n", + " 20 Sergipe 71.9 81.3 \n", + " 21 Bahia 64.4 67.9 \n", + " 22 Minas Gerais 46.0 56.6 \n", + " 23 Espírito Santo 45.6 63.0 \n", + " 24 Rio de Janeiro 75.3 73.7 \n", + " 25 São Paulo 56.1 44.9 \n", + " 26 Paraná 73.2 61.2 \n", + " 27 Santa Catarina 30.0 57.5 \n", + " 28 Rio Grande do Sul 58.9 70.9 \n", + " 29 Mato Grosso do Sul 75.1 73.4 \n", + " 30 Mato Grosso 35.0 37.8 \n", + " 31 Goiás 46.7 62.0 \n", + " 32 Distrito Federal 62.9 61.1 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 54.5 \n", + " 1 58.9 \n", + " 2 64.7 \n", + " 3 49.3 \n", + " 4 52.4 \n", + " 5 61.0 \n", + " 6 52.9 \n", + " 7 49.4 \n", + " 8 67.0 \n", + " 9 64.4 \n", + " 10 63.8 \n", + " 11 57.8 \n", + " 12 60.8 \n", + " 13 61.1 \n", + " 14 63.6 \n", + " 15 62.2 \n", + " 16 69.0 \n", + " 17 60.3 \n", + " 18 68.6 \n", + " 19 61.3 \n", + " 20 74.1 \n", + " 21 67.8 \n", + " 22 60.5 \n", + " 23 53.9 \n", + " 24 63.1 \n", + " 25 43.5 \n", + " 26 48.4 \n", + " 27 50.4 \n", + " 28 59.0 \n", + " 29 66.4 \n", + " 30 58.7 \n", + " 31 64.4 \n", + " 32 54.2 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2015': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 55.8 59.2 \n", + " 1 Norte 57.8 66.0 \n", + " 2 Nordeste 57.2 67.6 \n", + " 3 Sudeste 53.8 51.1 \n", + " 4 Sul 57.6 63.6 \n", + " 5 Centro-Oeste 53.3 56.2 \n", + " 6 Rondônia 53.0 62.4 \n", + " 7 Acre 50.5 54.1 \n", + " 8 Amazonas 59.2 65.1 \n", + " 9 Roraima 32.1 54.7 \n", + " 10 Pará 62.8 73.7 \n", + " 11 Amapá 55.7 61.7 \n", + " 12 Tocantins 53.1 64.9 \n", + " 13 Maranhão 55.3 63.7 \n", + " 14 Piauí 60.1 67.5 \n", + " 15 Ceará 36.3 60.4 \n", + " 16 Rio Grande do Norte 49.0 74.2 \n", + " 17 Paraíba 62.9 70.4 \n", + " 18 Pernambuco 69.3 73.1 \n", + " 19 Alagoas 58.1 69.9 \n", + " 20 Sergipe 68.2 81.0 \n", + " 21 Bahia 62.7 68.6 \n", + " 22 Minas Gerais 41.7 53.1 \n", + " 23 Espírito Santo 43.0 62.6 \n", + " 24 Rio de Janeiro 72.9 72.3 \n", + " 25 São Paulo 54.5 44.4 \n", + " 26 Paraná 69.7 61.2 \n", + " 27 Santa Catarina 26.5 54.1 \n", + " 28 Rio Grande do Sul 56.0 70.5 \n", + " 29 Mato Grosso do Sul 73.1 69.4 \n", + " 30 Mato Grosso 30.8 34.0 \n", + " 31 Goiás 42.7 60.6 \n", + " 32 Distrito Federal 62.1 59.7 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 53.7 \n", + " 1 58.4 \n", + " 2 64.4 \n", + " 3 48.3 \n", + " 4 52.0 \n", + " 5 58.3 \n", + " 6 53.3 \n", + " 7 49.6 \n", + " 8 68.1 \n", + " 9 54.5 \n", + " 10 65.6 \n", + " 11 55.5 \n", + " 12 58.9 \n", + " 13 61.0 \n", + " 14 65.6 \n", + " 15 62.6 \n", + " 16 69.1 \n", + " 17 60.4 \n", + " 18 66.0 \n", + " 19 57.8 \n", + " 20 73.7 \n", + " 21 67.6 \n", + " 22 60.9 \n", + " 23 54.2 \n", + " 24 62.0 \n", + " 25 41.7 \n", + " 26 48.0 \n", + " 27 50.1 \n", + " 28 58.0 \n", + " 29 67.2 \n", + " 30 52.3 \n", + " 31 61.6 \n", + " 32 52.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2016': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 53.5 58.2 \n", + " 1 Norte 55.7 65.6 \n", + " 2 Nordeste 54.3 66.9 \n", + " 3 Sudeste 51.4 49.7 \n", + " 4 Sul 56.9 61.2 \n", + " 5 Centro-Oeste 51.0 55.3 \n", + " 6 Rondônia 47.2 62.7 \n", + " 7 Acre 46.8 55.5 \n", + " 8 Amazonas 57.7 63.3 \n", + " 9 Roraima 28.9 52.9 \n", + " 10 Pará 61.3 73.2 \n", + " 11 Amapá 54.4 62.0 \n", + " 12 Tocantins 52.5 62.7 \n", + " 13 Maranhão 53.1 64.2 \n", + " 14 Piauí 57.3 67.5 \n", + " 15 Ceará 30.9 55.6 \n", + " 16 Rio Grande do Norte 45.4 72.9 \n", + " 17 Paraíba 60.3 71.4 \n", + " 18 Pernambuco 65.8 74.0 \n", + " 19 Alagoas 56.1 70.7 \n", + " 20 Sergipe 66.1 79.4 \n", + " 21 Bahia 61.4 69.9 \n", + " 22 Minas Gerais 39.3 50.9 \n", + " 23 Espírito Santo 40.7 59.8 \n", + " 24 Rio de Janeiro 70.1 70.2 \n", + " 25 São Paulo 51.9 43.3 \n", + " 26 Paraná 69.5 59.3 \n", + " 27 Santa Catarina 24.5 47.9 \n", + " 28 Rio Grande do Sul 54.9 68.4 \n", + " 29 Mato Grosso do Sul 71.9 67.3 \n", + " 30 Mato Grosso 30.0 31.1 \n", + " 31 Goiás 40.0 60.1 \n", + " 32 Distrito Federal 59.7 59.9 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 53.9 \n", + " 1 60.4 \n", + " 2 64.6 \n", + " 3 47.8 \n", + " 4 53.6 \n", + " 5 57.3 \n", + " 6 54.4 \n", + " 7 51.1 \n", + " 8 67.3 \n", + " 9 51.1 \n", + " 10 69.7 \n", + " 11 55.5 \n", + " 12 60.9 \n", + " 13 58.7 \n", + " 14 63.5 \n", + " 15 64.1 \n", + " 16 68.3 \n", + " 17 65.5 \n", + " 18 65.4 \n", + " 19 64.6 \n", + " 20 72.0 \n", + " 21 68.0 \n", + " 22 59.8 \n", + " 23 56.2 \n", + " 24 58.3 \n", + " 25 41.2 \n", + " 26 49.1 \n", + " 27 50.7 \n", + " 28 61.0 \n", + " 29 68.0 \n", + " 30 49.8 \n", + " 31 61.6 \n", + " 32 50.8 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2017': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 51.4 56.8 \n", + " 1 Norte 53.1 64.8 \n", + " 2 Nordeste 52.2 65.3 \n", + " 3 Sudeste 49.4 48.3 \n", + " 4 Sul 54.6 59.2 \n", + " 5 Centro-Oeste 48.2 52.5 \n", + " 6 Rondônia 42.7 60.5 \n", + " 7 Acre 45.1 54.0 \n", + " 8 Amazonas 54.5 62.9 \n", + " 9 Roraima 26.2 50.3 \n", + " 10 Pará 59.9 72.7 \n", + " 11 Amapá 53.8 60.4 \n", + " 12 Tocantins 44.1 61.6 \n", + " 13 Maranhão 50.5 63.3 \n", + " 14 Piauí 54.4 63.7 \n", + " 15 Ceará 28.4 50.8 \n", + " 16 Rio Grande do Norte 43.2 69.6 \n", + " 17 Paraíba 59.1 71.3 \n", + " 18 Pernambuco 62.6 73.2 \n", + " 19 Alagoas 55.1 69.8 \n", + " 20 Sergipe 62.3 78.4 \n", + " 21 Bahia 59.6 70.4 \n", + " 22 Minas Gerais 36.8 49.4 \n", + " 23 Espírito Santo 37.9 58.2 \n", + " 24 Rio de Janeiro 68.0 67.8 \n", + " 25 São Paulo 50.8 41.2 \n", + " 26 Paraná 66.0 58.0 \n", + " 27 Santa Catarina 23.0 44.4 \n", + " 28 Rio Grande do Sul 53.4 66.9 \n", + " 29 Mato Grosso do Sul 71.5 68.3 \n", + " 30 Mato Grosso 29.3 33.3 \n", + " 31 Goiás 37.3 54.6 \n", + " 32 Distrito Federal 56.8 56.1 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 53.1 \n", + " 1 59.9 \n", + " 2 61.8 \n", + " 3 46.7 \n", + " 4 54.9 \n", + " 5 55.5 \n", + " 6 52.2 \n", + " 7 48.1 \n", + " 8 64.1 \n", + " 9 51.2 \n", + " 10 69.8 \n", + " 11 54.6 \n", + " 12 59.5 \n", + " 13 56.2 \n", + " 14 59.9 \n", + " 15 60.8 \n", + " 16 67.9 \n", + " 17 66.9 \n", + " 18 65.2 \n", + " 19 52.6 \n", + " 20 75.2 \n", + " 21 65.7 \n", + " 22 57.4 \n", + " 23 51.5 \n", + " 24 58.6 \n", + " 25 39.6 \n", + " 26 51.2 \n", + " 27 50.5 \n", + " 28 62.0 \n", + " 29 65.6 \n", + " 30 46.4 \n", + " 31 60.5 \n", + " 32 50.5 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2018': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 48.4 55.0 \n", + " 1 Norte 49.9 62.6 \n", + " 2 Nordeste 48.9 63.4 \n", + " 3 Sudeste 46.6 46.8 \n", + " 4 Sul 52.5 57.0 \n", + " 5 Centro-Oeste 44.1 49.8 \n", + " 6 Rondônia 36.6 58.4 \n", + " 7 Acre 41.4 51.5 \n", + " 8 Amazonas 51.6 60.7 \n", + " 9 Roraima 25.2 45.0 \n", + " 10 Pará 57.7 70.7 \n", + " 11 Amapá 51.3 60.2 \n", + " 12 Tocantins 38.7 57.7 \n", + " 13 Maranhão 47.7 61.2 \n", + " 14 Piauí 50.9 62.2 \n", + " 15 Ceará 24.6 46.0 \n", + " 16 Rio Grande do Norte 41.0 67.5 \n", + " 17 Paraíba 57.0 70.7 \n", + " 18 Pernambuco 57.0 70.8 \n", + " 19 Alagoas 50.1 68.2 \n", + " 20 Sergipe 60.8 76.4 \n", + " 21 Bahia 56.8 69.9 \n", + " 22 Minas Gerais 34.0 48.1 \n", + " 23 Espírito Santo 34.5 55.4 \n", + " 24 Rio de Janeiro 64.7 66.6 \n", + " 25 São Paulo 48.3 38.8 \n", + " 26 Paraná 63.0 55.2 \n", + " 27 Santa Catarina 21.7 41.4 \n", + " 28 Rio Grande do Sul 51.9 65.4 \n", + " 29 Mato Grosso do Sul 67.4 67.6 \n", + " 30 Mato Grosso 27.9 34.6 \n", + " 31 Goiás 32.9 50.0 \n", + " 32 Distrito Federal 54.3 53.8 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 53.2 \n", + " 1 61.0 \n", + " 2 61.2 \n", + " 3 47.0 \n", + " 4 54.1 \n", + " 5 53.2 \n", + " 6 51.2 \n", + " 7 48.4 \n", + " 8 61.4 \n", + " 9 52.5 \n", + " 10 70.6 \n", + " 11 56.1 \n", + " 12 58.8 \n", + " 13 56.3 \n", + " 14 55.7 \n", + " 15 57.4 \n", + " 16 67.7 \n", + " 17 66.1 \n", + " 18 63.2 \n", + " 19 60.0 \n", + " 20 75.8 \n", + " 21 63.9 \n", + " 22 55.4 \n", + " 23 52.4 \n", + " 24 60.3 \n", + " 25 38.8 \n", + " 26 49.9 \n", + " 27 47.4 \n", + " 28 63.0 \n", + " 29 62.6 \n", + " 30 43.8 \n", + " 31 58.2 \n", + " 32 47.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2019': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 44.9 53.3 \n", + " 1 Norte 46.8 60.9 \n", + " 2 Nordeste 45.1 61.3 \n", + " 3 Sudeste 42.6 45.2 \n", + " 4 Sul 50.1 55.0 \n", + " 5 Centro-Oeste 41.1 48.3 \n", + " 6 Rondônia 30.9 52.9 \n", + " 7 Acre 36.9 49.6 \n", + " 8 Amazonas 49.0 59.5 \n", + " 9 Roraima 24.8 43.4 \n", + " 10 Pará 55.1 69.7 \n", + " 11 Amapá 46.4 59.8 \n", + " 12 Tocantins 35.5 55.8 \n", + " 13 Maranhão 44.7 59.9 \n", + " 14 Piauí 45.6 62.2 \n", + " 15 Ceará 21.6 40.5 \n", + " 16 Rio Grande do Norte 37.6 64.8 \n", + " 17 Paraíba 53.8 70.6 \n", + " 18 Pernambuco 51.2 68.4 \n", + " 19 Alagoas 45.0 65.0 \n", + " 20 Sergipe 57.4 75.1 \n", + " 21 Bahia 53.5 69.5 \n", + " 22 Minas Gerais 30.7 45.6 \n", + " 23 Espírito Santo 30.8 53.4 \n", + " 24 Rio de Janeiro 60.4 65.9 \n", + " 25 São Paulo 43.9 37.5 \n", + " 26 Paraná 61.6 51.5 \n", + " 27 Santa Catarina 20.0 38.7 \n", + " 28 Rio Grande do Sul 49.1 64.2 \n", + " 29 Mato Grosso do Sul 65.0 66.2 \n", + " 30 Mato Grosso 27.5 33.9 \n", + " 31 Goiás 30.2 47.7 \n", + " 32 Distrito Federal 44.8 50.5 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 51.1 \n", + " 1 59.3 \n", + " 2 59.4 \n", + " 3 44.7 \n", + " 4 50.9 \n", + " 5 51.4 \n", + " 6 48.3 \n", + " 7 46.7 \n", + " 8 62.3 \n", + " 9 47.7 \n", + " 10 68.5 \n", + " 11 51.7 \n", + " 12 56.8 \n", + " 13 54.8 \n", + " 14 55.8 \n", + " 15 52.0 \n", + " 16 66.1 \n", + " 17 64.5 \n", + " 18 65.5 \n", + " 19 59.3 \n", + " 20 74.6 \n", + " 21 63.1 \n", + " 22 50.7 \n", + " 23 50.2 \n", + " 24 59.5 \n", + " 25 36.9 \n", + " 26 45.2 \n", + " 27 43.0 \n", + " 28 59.4 \n", + " 29 59.2 \n", + " 30 43.9 \n", + " 31 56.0 \n", + " 32 45.1 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2020': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 41.7 51.6 \n", + " 1 Norte 44.0 58.8 \n", + " 2 Nordeste 40.9 59.3 \n", + " 3 Sudeste 39.3 43.8 \n", + " 4 Sul 48.2 53.7 \n", + " 5 Centro-Oeste 38.1 45.4 \n", + " 6 Rondônia 29.2 47.8 \n", + " 7 Acre 34.9 47.4 \n", + " 8 Amazonas 45.9 57.8 \n", + " 9 Roraima 25.2 37.0 \n", + " 10 Pará 52.0 68.6 \n", + " 11 Amapá 41.1 59.7 \n", + " 12 Tocantins 32.2 52.9 \n", + " 13 Maranhão 41.2 58.6 \n", + " 14 Piauí 39.8 58.2 \n", + " 15 Ceará 18.4 37.1 \n", + " 16 Rio Grande do Norte 33.4 62.5 \n", + " 17 Paraíba 50.3 68.4 \n", + " 18 Pernambuco 43.5 65.2 \n", + " 19 Alagoas 39.7 61.2 \n", + " 20 Sergipe 53.9 74.8 \n", + " 21 Bahia 50.6 68.8 \n", + " 22 Minas Gerais 28.2 44.7 \n", + " 23 Espírito Santo 27.9 51.2 \n", + " 24 Rio de Janeiro 55.4 64.5 \n", + " 25 São Paulo 40.7 35.4 \n", + " 26 Paraná 61.5 49.7 \n", + " 27 Santa Catarina 18.7 37.4 \n", + " 28 Rio Grande do Sul 46.0 63.8 \n", + " 29 Mato Grosso do Sul 61.7 65.3 \n", + " 30 Mato Grosso 24.5 35.0 \n", + " 31 Goiás 29.2 42.5 \n", + " 32 Distrito Federal 39.9 49.1 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 50.3 \n", + " 1 58.5 \n", + " 2 58.5 \n", + " 3 44.2 \n", + " 4 48.8 \n", + " 5 49.4 \n", + " 6 49.1 \n", + " 7 46.7 \n", + " 8 58.6 \n", + " 9 48.3 \n", + " 10 67.6 \n", + " 11 52.2 \n", + " 12 54.8 \n", + " 13 52.4 \n", + " 14 55.8 \n", + " 15 49.2 \n", + " 16 62.7 \n", + " 17 62.1 \n", + " 18 63.7 \n", + " 19 58.8 \n", + " 20 71.3 \n", + " 21 64.9 \n", + " 22 49.6 \n", + " 23 49.4 \n", + " 24 60.4 \n", + " 25 35.7 \n", + " 26 44.3 \n", + " 27 40.0 \n", + " 28 58.0 \n", + " 29 59.3 \n", + " 30 42.7 \n", + " 31 51.9 \n", + " 32 44.3 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2021': Unnamed: 0 Unnamed: 1 \\\n", + " 0 NaN 0 \n", + " 1 NaN 1 \n", + " 2 NaN 2 \n", + " 3 NaN 3 \n", + " 4 NaN 4 \n", + " 5 NaN 5 \n", + " 6 NaN 11 \n", + " 7 NaN 12 \n", + " 8 NaN 13 \n", + " 9 NaN 14 \n", + " 10 NaN 15 \n", + " 11 NaN 16 \n", + " 12 NaN 17 \n", + " 13 NaN 21 \n", + " 14 NaN 22 \n", + " 15 NaN 23 \n", + " 16 NaN 24 \n", + " 17 NaN 25 \n", + " 18 NaN 26 \n", + " 19 NaN 27 \n", + " 20 NaN 28 \n", + " 21 NaN 29 \n", + " 22 NaN 31 \n", + " 23 NaN 32 \n", + " 24 NaN 33 \n", + " 25 NaN 35 \n", + " 26 NaN 41 \n", + " 27 NaN 42 \n", + " 28 NaN 43 \n", + " 29 NaN 50 \n", + " 30 NaN 51 \n", + " 31 NaN 52 \n", + " 32 NaN 53 \n", + " 33 NaN NaN \n", + " 34 NaN Notas: Foram consideradas a rede total (escola... \n", + " \n", + " Unnamed: 2 Distorção Idade-Série Distorção Idade-Série.1 \\\n", + " 0 Brasil 36.6 49.5 \n", + " 1 Norte 36.8 57.7 \n", + " 2 Nordeste 34.2 56.9 \n", + " 3 Sudeste 36.2 41.1 \n", + " 4 Sul 43.1 51.1 \n", + " 5 Centro-Oeste 33.6 43.3 \n", + " 6 Rondônia 23.4 43.6 \n", + " 7 Acre 27.9 46.2 \n", + " 8 Amazonas 39.8 56.7 \n", + " 9 Roraima 20.5 35.8 \n", + " 10 Pará 43.4 68.1 \n", + " 11 Amapá 34.0 58.8 \n", + " 12 Tocantins 27.0 48.7 \n", + " 13 Maranhão 35.3 56.5 \n", + " 14 Piauí 33.2 56.3 \n", + " 15 Ceará 14.6 33.3 \n", + " 16 Rio Grande do Norte 23.6 60.1 \n", + " 17 Paraíba 42.4 65.7 \n", + " 18 Pernambuco 36.4 60.8 \n", + " 19 Alagoas 32.2 57.4 \n", + " 20 Sergipe 44.5 72.2 \n", + " 21 Bahia 42.9 66.6 \n", + " 22 Minas Gerais 25.0 40.4 \n", + " 23 Espírito Santo 20.4 47.6 \n", + " 24 Rio de Janeiro 49.3 63.4 \n", + " 25 São Paulo 38.8 32.6 \n", + " 26 Paraná 60.2 46.1 \n", + " 27 Santa Catarina 14.6 35.1 \n", + " 28 Rio Grande do Sul 37.6 61.6 \n", + " 29 Mato Grosso do Sul 56.0 63.4 \n", + " 30 Mato Grosso 21.1 32.3 \n", + " 31 Goiás 25.2 39.8 \n", + " 32 Distrito Federal 36.0 48.9 \n", + " 33 NaN NaN NaN \n", + " 34 NaN NaN NaN \n", + " \n", + " Distorção Idade-Série.2 \n", + " 0 48.3 \n", + " 1 57.5 \n", + " 2 57.8 \n", + " 3 41.8 \n", + " 4 44.9 \n", + " 5 46.1 \n", + " 6 48.7 \n", + " 7 44.4 \n", + " 8 55.9 \n", + " 9 43.7 \n", + " 10 66.7 \n", + " 11 54.5 \n", + " 12 52.9 \n", + " 13 50.8 \n", + " 14 55.3 \n", + " 15 44.4 \n", + " 16 59.9 \n", + " 17 61.8 \n", + " 18 61.3 \n", + " 19 58.9 \n", + " 20 68.7 \n", + " 21 68.6 \n", + " 22 45.1 \n", + " 23 47.3 \n", + " 24 57.8 \n", + " 25 34.9 \n", + " 26 40.6 \n", + " 27 37.1 \n", + " 28 53.2 \n", + " 29 57.9 \n", + " 30 40.7 \n", + " 31 46.5 \n", + " 32 43.6 \n", + " 33 NaN \n", + " 34 NaN }" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfs" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sheet: 2007\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2008\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2009\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2010\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2011\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2012\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2013\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2014\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2015\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2016\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2017\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2018\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2019\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2020\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2021\n", + "Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Distorção Idade-Série',\n", + " 'Distorção Idade-Série.1', 'Distorção Idade-Série.2'],\n", + " dtype='object')\n", + "\n" + ] + } + ], + "source": [ + "for sheet_name, df in dfs.items():\n", + " print(f\"Sheet: {sheet_name}\")\n", + " print(df.columns) # This will print the column names of each DataFrame\n", + " print() # Adds a blank line for readability\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "dataframes = {}\n", + "\n", + "for table_name, columns in dfs.items():\n", + " df = pd.DataFrame(columns) # Create DataFrame for each table\n", + " dataframes[table_name] = df # Store the DataFrame in a dictionary\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "RENAME_COLUMNS = {\n", + " 'Unnamed: 1':'id_uf',\n", + " 'Unnamed: 2':'nome',\n", + " 'Distorção Idade-Série': 'Ensino Fundamental – Anos Iniciais',\n", + " 'Distorção Idade-Série.1':'Ensino Fundamental – Anos Finais',\n", + " 'Distorção Idade-Série.2':'Ensino Médio Regular' \n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "def drop_unused_columns(df: pd.DataFrame) -> pd.DataFrame:\n", + " cols_drop = [\n", + " col\n", + " for col in df.columns\n", + " if col.startswith(\"Unnamed\")\n", + " ]\n", + "\n", + " return df.drop(columns=cols_drop)\n", + "\n", + "dfs = {\n", + " name: drop_unused_columns(\n", + " df.rename(columns=RENAME_COLUMNS, errors=\"raise\")\n", + " )\n", + " for name, df in dfs.items()\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'2007': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 72.2 60.6 \n", + " 1 76.1 69.7 \n", + " 2 74.4 64.7 \n", + " 3 69.3 56.5 \n", + " 4 73.3 59.6 \n", + " 5 78.7 73.6 \n", + " 6 72.8 65.8 \n", + " 7 67.2 60.0 \n", + " 8 76.3 75.7 \n", + " 9 71.0 69.5 \n", + " 10 78.2 68.4 \n", + " 11 76.4 81.0 \n", + " 12 75.4 70.7 \n", + " 13 74.2 61.2 \n", + " 14 83.0 69.3 \n", + " 15 67.8 56.9 \n", + " 16 66.4 74.0 \n", + " 17 73.3 71.6 \n", + " 18 78.6 64.5 \n", + " 19 72.0 79.2 \n", + " 20 85.0 85.4 \n", + " 21 76.7 66.5 \n", + " 22 79.0 69.1 \n", + " 23 67.5 69.0 \n", + " 24 85.1 77.2 \n", + " 25 60.7 50.2 \n", + " 26 72.3 54.2 \n", + " 27 75.8 65.3 \n", + " 28 73.6 66.1 \n", + " 29 86.0 81.2 \n", + " 30 76.3 66.2 \n", + " 31 76.8 75.7 \n", + " 32 74.6 70.6 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 65.3 \n", + " 1 75.7 \n", + " 2 77.9 \n", + " 3 58.4 \n", + " 4 62.6 \n", + " 5 73.6 \n", + " 6 76.2 \n", + " 7 60.5 \n", + " 8 75.5 \n", + " 9 76.9 \n", + " 10 77.7 \n", + " 11 69.4 \n", + " 12 75.9 \n", + " 13 76.2 \n", + " 14 80.5 \n", + " 15 83.7 \n", + " 16 78.0 \n", + " 17 88.0 \n", + " 18 81.3 \n", + " 19 88.3 \n", + " 20 85.7 \n", + " 21 67.1 \n", + " 22 69.1 \n", + " 23 69.1 \n", + " 24 86.7 \n", + " 25 51.5 \n", + " 26 59.5 \n", + " 27 71.9 \n", + " 28 60.4 \n", + " 29 75.4 \n", + " 30 78.1 \n", + " 31 75.5 \n", + " 32 69.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2008': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 66.5 54.5 \n", + " 1 61.2 44.8 \n", + " 2 60.7 45.7 \n", + " 3 65.7 53.5 \n", + " 4 73.5 63.2 \n", + " 5 72.3 63.6 \n", + " 6 55.1 35.9 \n", + " 7 43.8 29.7 \n", + " 8 58.0 57.0 \n", + " 9 44.2 28.4 \n", + " 10 65.1 48.3 \n", + " 11 57.0 54.4 \n", + " 12 67.1 46.3 \n", + " 13 62.8 44.3 \n", + " 14 66.3 57.9 \n", + " 15 55.9 38.6 \n", + " 16 47.1 45.2 \n", + " 17 54.0 48.1 \n", + " 18 73.5 58.6 \n", + " 19 49.0 46.1 \n", + " 20 68.5 58.9 \n", + " 21 60.5 44.4 \n", + " 22 73.1 61.8 \n", + " 23 62.9 61.2 \n", + " 24 82.7 72.7 \n", + " 25 57.5 48.2 \n", + " 26 78.0 60.6 \n", + " 27 69.5 64.5 \n", + " 28 70.1 65.0 \n", + " 29 84.6 75.7 \n", + " 30 72.6 66.2 \n", + " 31 68.0 62.1 \n", + " 32 62.0 60.0 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 57.3 \n", + " 1 50.7 \n", + " 2 49.4 \n", + " 3 56.6 \n", + " 4 65.0 \n", + " 5 60.5 \n", + " 6 48.8 \n", + " 7 47.2 \n", + " 8 62.2 \n", + " 9 41.2 \n", + " 10 48.7 \n", + " 11 60.0 \n", + " 12 48.2 \n", + " 13 45.3 \n", + " 14 51.0 \n", + " 15 48.7 \n", + " 16 44.2 \n", + " 17 52.3 \n", + " 18 65.1 \n", + " 19 61.1 \n", + " 20 65.7 \n", + " 21 41.9 \n", + " 22 58.6 \n", + " 23 73.5 \n", + " 24 80.2 \n", + " 25 51.5 \n", + " 26 59.6 \n", + " 27 72.5 \n", + " 28 64.0 \n", + " 29 80.0 \n", + " 30 72.7 \n", + " 31 55.8 \n", + " 32 60.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2009': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 68.4 54.8 \n", + " 1 69.8 51.0 \n", + " 2 66.9 50.7 \n", + " 3 65.6 52.1 \n", + " 4 75.8 63.8 \n", + " 5 73.1 65.6 \n", + " 6 64.2 47.3 \n", + " 7 51.6 37.8 \n", + " 8 70.6 56.7 \n", + " 9 50.6 51.7 \n", + " 10 74.2 54.0 \n", + " 11 64.5 49.2 \n", + " 12 72.8 50.5 \n", + " 13 64.4 48.8 \n", + " 14 70.6 47.2 \n", + " 15 64.3 44.5 \n", + " 16 53.4 57.9 \n", + " 17 70.4 47.9 \n", + " 18 78.3 64.5 \n", + " 19 54.1 58.9 \n", + " 20 78.2 61.1 \n", + " 21 65.5 50.2 \n", + " 22 75.4 64.4 \n", + " 23 69.9 60.2 \n", + " 24 84.6 74.3 \n", + " 25 57.0 47.3 \n", + " 26 80.6 61.1 \n", + " 27 57.4 61.8 \n", + " 28 75.0 67.9 \n", + " 29 84.1 78.9 \n", + " 30 73.2 69.7 \n", + " 31 65.7 61.2 \n", + " 32 66.4 64.6 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 56.0 \n", + " 1 57.5 \n", + " 2 56.6 \n", + " 3 52.1 \n", + " 4 62.1 \n", + " 5 62.2 \n", + " 6 45.1 \n", + " 7 43.4 \n", + " 8 61.4 \n", + " 9 21.4 \n", + " 10 62.1 \n", + " 11 54.7 \n", + " 12 55.2 \n", + " 13 48.2 \n", + " 14 61.4 \n", + " 15 52.6 \n", + " 16 51.1 \n", + " 17 50.2 \n", + " 18 69.3 \n", + " 19 64.1 \n", + " 20 68.9 \n", + " 21 54.4 \n", + " 22 59.9 \n", + " 23 69.9 \n", + " 24 74.8 \n", + " 25 46.0 \n", + " 26 57.4 \n", + " 27 57.4 \n", + " 28 70.3 \n", + " 29 80.6 \n", + " 30 70.9 \n", + " 31 56.2 \n", + " 32 67.5 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2010': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 67.5 57.2 \n", + " 1 70.0 59.4 \n", + " 2 67.1 57.8 \n", + " 3 65.0 52.8 \n", + " 4 72.4 62.8 \n", + " 5 68.6 67.2 \n", + " 6 67.5 60.7 \n", + " 7 57.2 49.4 \n", + " 8 70.7 64.2 \n", + " 9 50.6 59.2 \n", + " 10 74.9 62.5 \n", + " 11 66.7 54.7 \n", + " 12 68.6 57.5 \n", + " 13 65.2 55.5 \n", + " 14 69.2 56.1 \n", + " 15 64.2 50.7 \n", + " 16 56.2 66.8 \n", + " 17 71.7 56.5 \n", + " 18 74.9 65.6 \n", + " 19 57.6 60.2 \n", + " 20 78.2 72.2 \n", + " 21 67.4 59.3 \n", + " 22 69.3 66.1 \n", + " 23 59.1 59.0 \n", + " 24 82.2 73.3 \n", + " 25 58.4 47.4 \n", + " 26 76.0 59.0 \n", + " 27 54.1 62.1 \n", + " 28 73.0 67.8 \n", + " 29 81.2 78.7 \n", + " 30 64.6 66.7 \n", + " 31 62.2 66.2 \n", + " 32 62.7 61.7 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 56.4 \n", + " 1 63.0 \n", + " 2 60.3 \n", + " 3 52.1 \n", + " 4 55.6 \n", + " 5 64.6 \n", + " 6 45.9 \n", + " 7 56.6 \n", + " 8 70.9 \n", + " 9 58.6 \n", + " 10 70.8 \n", + " 11 54.1 \n", + " 12 56.0 \n", + " 13 56.7 \n", + " 14 65.9 \n", + " 15 50.6 \n", + " 16 67.4 \n", + " 17 55.6 \n", + " 18 69.9 \n", + " 19 69.1 \n", + " 20 80.1 \n", + " 21 57.6 \n", + " 22 58.9 \n", + " 23 60.1 \n", + " 24 67.7 \n", + " 25 47.3 \n", + " 26 51.1 \n", + " 27 53.0 \n", + " 28 62.9 \n", + " 29 75.6 \n", + " 30 69.6 \n", + " 31 63.2 \n", + " 32 61.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2011': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 66.5 58.5 \n", + " 1 69.1 63.2 \n", + " 2 66.9 61.9 \n", + " 3 64.7 53.6 \n", + " 4 69.1 60.6 \n", + " 5 66.1 66.2 \n", + " 6 67.5 61.4 \n", + " 7 57.1 53.4 \n", + " 8 69.7 69.5 \n", + " 9 49.4 65.6 \n", + " 10 73.4 66.5 \n", + " 11 69.8 55.4 \n", + " 12 67.2 62.8 \n", + " 13 64.8 60.2 \n", + " 14 67.1 61.0 \n", + " 15 62.1 56.8 \n", + " 16 57.6 68.9 \n", + " 17 71.2 60.8 \n", + " 18 74.3 67.4 \n", + " 19 60.4 64.5 \n", + " 20 78.4 73.3 \n", + " 21 67.7 61.6 \n", + " 22 65.1 65.3 \n", + " 23 54.4 58.0 \n", + " 24 79.6 72.8 \n", + " 25 60.4 47.5 \n", + " 26 73.5 56.1 \n", + " 27 50.3 60.1 \n", + " 28 69.8 66.4 \n", + " 29 78.4 79.3 \n", + " 30 58.8 62.5 \n", + " 31 60.5 65.1 \n", + " 32 63.0 61.0 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 56.1 \n", + " 1 62.9 \n", + " 2 59.9 \n", + " 3 52.5 \n", + " 4 54.3 \n", + " 5 62.5 \n", + " 6 51.0 \n", + " 7 51.2 \n", + " 8 68.9 \n", + " 9 48.1 \n", + " 10 69.1 \n", + " 11 57.7 \n", + " 12 62.9 \n", + " 13 54.6 \n", + " 14 63.0 \n", + " 15 57.7 \n", + " 16 68.8 \n", + " 17 50.5 \n", + " 18 65.9 \n", + " 19 62.8 \n", + " 20 73.5 \n", + " 21 57.1 \n", + " 22 59.8 \n", + " 23 59.1 \n", + " 24 66.3 \n", + " 25 47.4 \n", + " 26 50.7 \n", + " 27 51.3 \n", + " 28 61.2 \n", + " 29 68.9 \n", + " 30 64.6 \n", + " 31 63.8 \n", + " 32 57.2 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2012': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 64.4 58.9 \n", + " 1 67.0 64.7 \n", + " 2 66.2 63.7 \n", + " 3 62.0 53.1 \n", + " 4 67.1 61.4 \n", + " 5 62.5 64.3 \n", + " 6 67.0 60.8 \n", + " 7 54.5 58.5 \n", + " 8 66.0 72.1 \n", + " 9 43.5 62.5 \n", + " 10 70.2 67.7 \n", + " 11 68.3 61.9 \n", + " 12 68.3 62.9 \n", + " 13 62.6 60.3 \n", + " 14 68.5 61.3 \n", + " 15 57.8 59.4 \n", + " 16 57.6 69.9 \n", + " 17 69.3 61.9 \n", + " 18 74.2 69.6 \n", + " 19 61.7 66.2 \n", + " 20 79.5 75.4 \n", + " 21 68.0 64.0 \n", + " 22 57.8 63.3 \n", + " 23 50.4 59.4 \n", + " 24 78.8 71.8 \n", + " 25 59.6 46.6 \n", + " 26 73.8 56.9 \n", + " 27 41.5 59.9 \n", + " 28 67.0 67.6 \n", + " 29 77.2 78.6 \n", + " 30 47.1 57.6 \n", + " 31 56.6 63.0 \n", + " 32 62.6 59.9 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 55.3 \n", + " 1 62.9 \n", + " 2 60.9 \n", + " 3 51.4 \n", + " 4 51.8 \n", + " 5 61.5 \n", + " 6 53.9 \n", + " 7 52.0 \n", + " 8 66.0 \n", + " 9 57.5 \n", + " 10 70.9 \n", + " 11 52.5 \n", + " 12 61.0 \n", + " 13 57.8 \n", + " 14 58.3 \n", + " 15 59.0 \n", + " 16 67.7 \n", + " 17 52.1 \n", + " 18 67.1 \n", + " 19 63.5 \n", + " 20 73.7 \n", + " 21 59.8 \n", + " 22 59.8 \n", + " 23 56.2 \n", + " 24 60.5 \n", + " 25 46.6 \n", + " 26 46.9 \n", + " 27 49.9 \n", + " 28 59.4 \n", + " 29 69.8 \n", + " 30 57.5 \n", + " 31 64.7 \n", + " 32 53.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2013': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 61.8 59.3 \n", + " 1 65.1 65.2 \n", + " 2 63.8 66.2 \n", + " 3 59.5 52.2 \n", + " 4 63.0 63.8 \n", + " 5 60.1 61.6 \n", + " 6 66.3 62.2 \n", + " 7 55.8 56.4 \n", + " 8 63.2 66.0 \n", + " 9 38.4 58.2 \n", + " 10 69.1 69.9 \n", + " 11 64.4 60.6 \n", + " 12 63.3 66.0 \n", + " 13 60.5 61.9 \n", + " 14 66.0 66.3 \n", + " 15 50.2 63.1 \n", + " 16 56.4 72.8 \n", + " 17 68.0 67.2 \n", + " 18 73.1 71.1 \n", + " 19 61.3 65.7 \n", + " 20 76.4 77.6 \n", + " 21 66.8 65.8 \n", + " 22 52.4 60.5 \n", + " 23 47.8 61.8 \n", + " 24 77.1 74.3 \n", + " 25 58.4 44.8 \n", + " 26 70.7 59.6 \n", + " 27 35.1 59.7 \n", + " 28 62.8 70.3 \n", + " 29 76.4 75.2 \n", + " 30 41.9 47.7 \n", + " 31 53.5 64.7 \n", + " 32 63.5 58.7 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 55.4 \n", + " 1 62.0 \n", + " 2 61.9 \n", + " 3 51.0 \n", + " 4 52.9 \n", + " 5 61.4 \n", + " 6 54.1 \n", + " 7 48.6 \n", + " 8 63.9 \n", + " 9 60.3 \n", + " 10 70.6 \n", + " 11 54.4 \n", + " 12 60.4 \n", + " 13 57.8 \n", + " 14 63.2 \n", + " 15 60.9 \n", + " 16 65.5 \n", + " 17 56.9 \n", + " 18 71.0 \n", + " 19 55.5 \n", + " 20 72.9 \n", + " 21 60.0 \n", + " 22 61.1 \n", + " 23 51.7 \n", + " 24 63.1 \n", + " 25 46.1 \n", + " 26 48.2 \n", + " 27 51.8 \n", + " 28 59.4 \n", + " 29 67.8 \n", + " 30 60.5 \n", + " 31 65.1 \n", + " 32 53.9 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2014': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 58.7 59.6 \n", + " 1 60.7 65.6 \n", + " 2 60.4 68.1 \n", + " 3 56.4 51.9 \n", + " 4 61.2 64.5 \n", + " 5 56.0 58.6 \n", + " 6 57.7 63.7 \n", + " 7 53.6 55.5 \n", + " 8 61.6 67.2 \n", + " 9 35.5 54.8 \n", + " 10 64.8 72.0 \n", + " 11 60.4 60.3 \n", + " 12 56.9 65.2 \n", + " 13 59.0 63.6 \n", + " 14 62.1 68.2 \n", + " 15 42.5 63.9 \n", + " 16 52.5 74.8 \n", + " 17 65.0 69.4 \n", + " 18 71.2 72.7 \n", + " 19 60.1 69.4 \n", + " 20 71.9 81.3 \n", + " 21 64.4 67.9 \n", + " 22 46.0 56.6 \n", + " 23 45.6 63.0 \n", + " 24 75.3 73.7 \n", + " 25 56.1 44.9 \n", + " 26 73.2 61.2 \n", + " 27 30.0 57.5 \n", + " 28 58.9 70.9 \n", + " 29 75.1 73.4 \n", + " 30 35.0 37.8 \n", + " 31 46.7 62.0 \n", + " 32 62.9 61.1 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 54.5 \n", + " 1 58.9 \n", + " 2 64.7 \n", + " 3 49.3 \n", + " 4 52.4 \n", + " 5 61.0 \n", + " 6 52.9 \n", + " 7 49.4 \n", + " 8 67.0 \n", + " 9 64.4 \n", + " 10 63.8 \n", + " 11 57.8 \n", + " 12 60.8 \n", + " 13 61.1 \n", + " 14 63.6 \n", + " 15 62.2 \n", + " 16 69.0 \n", + " 17 60.3 \n", + " 18 68.6 \n", + " 19 61.3 \n", + " 20 74.1 \n", + " 21 67.8 \n", + " 22 60.5 \n", + " 23 53.9 \n", + " 24 63.1 \n", + " 25 43.5 \n", + " 26 48.4 \n", + " 27 50.4 \n", + " 28 59.0 \n", + " 29 66.4 \n", + " 30 58.7 \n", + " 31 64.4 \n", + " 32 54.2 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2015': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 55.8 59.2 \n", + " 1 57.8 66.0 \n", + " 2 57.2 67.6 \n", + " 3 53.8 51.1 \n", + " 4 57.6 63.6 \n", + " 5 53.3 56.2 \n", + " 6 53.0 62.4 \n", + " 7 50.5 54.1 \n", + " 8 59.2 65.1 \n", + " 9 32.1 54.7 \n", + " 10 62.8 73.7 \n", + " 11 55.7 61.7 \n", + " 12 53.1 64.9 \n", + " 13 55.3 63.7 \n", + " 14 60.1 67.5 \n", + " 15 36.3 60.4 \n", + " 16 49.0 74.2 \n", + " 17 62.9 70.4 \n", + " 18 69.3 73.1 \n", + " 19 58.1 69.9 \n", + " 20 68.2 81.0 \n", + " 21 62.7 68.6 \n", + " 22 41.7 53.1 \n", + " 23 43.0 62.6 \n", + " 24 72.9 72.3 \n", + " 25 54.5 44.4 \n", + " 26 69.7 61.2 \n", + " 27 26.5 54.1 \n", + " 28 56.0 70.5 \n", + " 29 73.1 69.4 \n", + " 30 30.8 34.0 \n", + " 31 42.7 60.6 \n", + " 32 62.1 59.7 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 53.7 \n", + " 1 58.4 \n", + " 2 64.4 \n", + " 3 48.3 \n", + " 4 52.0 \n", + " 5 58.3 \n", + " 6 53.3 \n", + " 7 49.6 \n", + " 8 68.1 \n", + " 9 54.5 \n", + " 10 65.6 \n", + " 11 55.5 \n", + " 12 58.9 \n", + " 13 61.0 \n", + " 14 65.6 \n", + " 15 62.6 \n", + " 16 69.1 \n", + " 17 60.4 \n", + " 18 66.0 \n", + " 19 57.8 \n", + " 20 73.7 \n", + " 21 67.6 \n", + " 22 60.9 \n", + " 23 54.2 \n", + " 24 62.0 \n", + " 25 41.7 \n", + " 26 48.0 \n", + " 27 50.1 \n", + " 28 58.0 \n", + " 29 67.2 \n", + " 30 52.3 \n", + " 31 61.6 \n", + " 32 52.7 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2016': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 53.5 58.2 \n", + " 1 55.7 65.6 \n", + " 2 54.3 66.9 \n", + " 3 51.4 49.7 \n", + " 4 56.9 61.2 \n", + " 5 51.0 55.3 \n", + " 6 47.2 62.7 \n", + " 7 46.8 55.5 \n", + " 8 57.7 63.3 \n", + " 9 28.9 52.9 \n", + " 10 61.3 73.2 \n", + " 11 54.4 62.0 \n", + " 12 52.5 62.7 \n", + " 13 53.1 64.2 \n", + " 14 57.3 67.5 \n", + " 15 30.9 55.6 \n", + " 16 45.4 72.9 \n", + " 17 60.3 71.4 \n", + " 18 65.8 74.0 \n", + " 19 56.1 70.7 \n", + " 20 66.1 79.4 \n", + " 21 61.4 69.9 \n", + " 22 39.3 50.9 \n", + " 23 40.7 59.8 \n", + " 24 70.1 70.2 \n", + " 25 51.9 43.3 \n", + " 26 69.5 59.3 \n", + " 27 24.5 47.9 \n", + " 28 54.9 68.4 \n", + " 29 71.9 67.3 \n", + " 30 30.0 31.1 \n", + " 31 40.0 60.1 \n", + " 32 59.7 59.9 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 53.9 \n", + " 1 60.4 \n", + " 2 64.6 \n", + " 3 47.8 \n", + " 4 53.6 \n", + " 5 57.3 \n", + " 6 54.4 \n", + " 7 51.1 \n", + " 8 67.3 \n", + " 9 51.1 \n", + " 10 69.7 \n", + " 11 55.5 \n", + " 12 60.9 \n", + " 13 58.7 \n", + " 14 63.5 \n", + " 15 64.1 \n", + " 16 68.3 \n", + " 17 65.5 \n", + " 18 65.4 \n", + " 19 64.6 \n", + " 20 72.0 \n", + " 21 68.0 \n", + " 22 59.8 \n", + " 23 56.2 \n", + " 24 58.3 \n", + " 25 41.2 \n", + " 26 49.1 \n", + " 27 50.7 \n", + " 28 61.0 \n", + " 29 68.0 \n", + " 30 49.8 \n", + " 31 61.6 \n", + " 32 50.8 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2017': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 51.4 56.8 \n", + " 1 53.1 64.8 \n", + " 2 52.2 65.3 \n", + " 3 49.4 48.3 \n", + " 4 54.6 59.2 \n", + " 5 48.2 52.5 \n", + " 6 42.7 60.5 \n", + " 7 45.1 54.0 \n", + " 8 54.5 62.9 \n", + " 9 26.2 50.3 \n", + " 10 59.9 72.7 \n", + " 11 53.8 60.4 \n", + " 12 44.1 61.6 \n", + " 13 50.5 63.3 \n", + " 14 54.4 63.7 \n", + " 15 28.4 50.8 \n", + " 16 43.2 69.6 \n", + " 17 59.1 71.3 \n", + " 18 62.6 73.2 \n", + " 19 55.1 69.8 \n", + " 20 62.3 78.4 \n", + " 21 59.6 70.4 \n", + " 22 36.8 49.4 \n", + " 23 37.9 58.2 \n", + " 24 68.0 67.8 \n", + " 25 50.8 41.2 \n", + " 26 66.0 58.0 \n", + " 27 23.0 44.4 \n", + " 28 53.4 66.9 \n", + " 29 71.5 68.3 \n", + " 30 29.3 33.3 \n", + " 31 37.3 54.6 \n", + " 32 56.8 56.1 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 53.1 \n", + " 1 59.9 \n", + " 2 61.8 \n", + " 3 46.7 \n", + " 4 54.9 \n", + " 5 55.5 \n", + " 6 52.2 \n", + " 7 48.1 \n", + " 8 64.1 \n", + " 9 51.2 \n", + " 10 69.8 \n", + " 11 54.6 \n", + " 12 59.5 \n", + " 13 56.2 \n", + " 14 59.9 \n", + " 15 60.8 \n", + " 16 67.9 \n", + " 17 66.9 \n", + " 18 65.2 \n", + " 19 52.6 \n", + " 20 75.2 \n", + " 21 65.7 \n", + " 22 57.4 \n", + " 23 51.5 \n", + " 24 58.6 \n", + " 25 39.6 \n", + " 26 51.2 \n", + " 27 50.5 \n", + " 28 62.0 \n", + " 29 65.6 \n", + " 30 46.4 \n", + " 31 60.5 \n", + " 32 50.5 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2018': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 48.4 55.0 \n", + " 1 49.9 62.6 \n", + " 2 48.9 63.4 \n", + " 3 46.6 46.8 \n", + " 4 52.5 57.0 \n", + " 5 44.1 49.8 \n", + " 6 36.6 58.4 \n", + " 7 41.4 51.5 \n", + " 8 51.6 60.7 \n", + " 9 25.2 45.0 \n", + " 10 57.7 70.7 \n", + " 11 51.3 60.2 \n", + " 12 38.7 57.7 \n", + " 13 47.7 61.2 \n", + " 14 50.9 62.2 \n", + " 15 24.6 46.0 \n", + " 16 41.0 67.5 \n", + " 17 57.0 70.7 \n", + " 18 57.0 70.8 \n", + " 19 50.1 68.2 \n", + " 20 60.8 76.4 \n", + " 21 56.8 69.9 \n", + " 22 34.0 48.1 \n", + " 23 34.5 55.4 \n", + " 24 64.7 66.6 \n", + " 25 48.3 38.8 \n", + " 26 63.0 55.2 \n", + " 27 21.7 41.4 \n", + " 28 51.9 65.4 \n", + " 29 67.4 67.6 \n", + " 30 27.9 34.6 \n", + " 31 32.9 50.0 \n", + " 32 54.3 53.8 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 53.2 \n", + " 1 61.0 \n", + " 2 61.2 \n", + " 3 47.0 \n", + " 4 54.1 \n", + " 5 53.2 \n", + " 6 51.2 \n", + " 7 48.4 \n", + " 8 61.4 \n", + " 9 52.5 \n", + " 10 70.6 \n", + " 11 56.1 \n", + " 12 58.8 \n", + " 13 56.3 \n", + " 14 55.7 \n", + " 15 57.4 \n", + " 16 67.7 \n", + " 17 66.1 \n", + " 18 63.2 \n", + " 19 60.0 \n", + " 20 75.8 \n", + " 21 63.9 \n", + " 22 55.4 \n", + " 23 52.4 \n", + " 24 60.3 \n", + " 25 38.8 \n", + " 26 49.9 \n", + " 27 47.4 \n", + " 28 63.0 \n", + " 29 62.6 \n", + " 30 43.8 \n", + " 31 58.2 \n", + " 32 47.6 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2019': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 44.9 53.3 \n", + " 1 46.8 60.9 \n", + " 2 45.1 61.3 \n", + " 3 42.6 45.2 \n", + " 4 50.1 55.0 \n", + " 5 41.1 48.3 \n", + " 6 30.9 52.9 \n", + " 7 36.9 49.6 \n", + " 8 49.0 59.5 \n", + " 9 24.8 43.4 \n", + " 10 55.1 69.7 \n", + " 11 46.4 59.8 \n", + " 12 35.5 55.8 \n", + " 13 44.7 59.9 \n", + " 14 45.6 62.2 \n", + " 15 21.6 40.5 \n", + " 16 37.6 64.8 \n", + " 17 53.8 70.6 \n", + " 18 51.2 68.4 \n", + " 19 45.0 65.0 \n", + " 20 57.4 75.1 \n", + " 21 53.5 69.5 \n", + " 22 30.7 45.6 \n", + " 23 30.8 53.4 \n", + " 24 60.4 65.9 \n", + " 25 43.9 37.5 \n", + " 26 61.6 51.5 \n", + " 27 20.0 38.7 \n", + " 28 49.1 64.2 \n", + " 29 65.0 66.2 \n", + " 30 27.5 33.9 \n", + " 31 30.2 47.7 \n", + " 32 44.8 50.5 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 51.1 \n", + " 1 59.3 \n", + " 2 59.4 \n", + " 3 44.7 \n", + " 4 50.9 \n", + " 5 51.4 \n", + " 6 48.3 \n", + " 7 46.7 \n", + " 8 62.3 \n", + " 9 47.7 \n", + " 10 68.5 \n", + " 11 51.7 \n", + " 12 56.8 \n", + " 13 54.8 \n", + " 14 55.8 \n", + " 15 52.0 \n", + " 16 66.1 \n", + " 17 64.5 \n", + " 18 65.5 \n", + " 19 59.3 \n", + " 20 74.6 \n", + " 21 63.1 \n", + " 22 50.7 \n", + " 23 50.2 \n", + " 24 59.5 \n", + " 25 36.9 \n", + " 26 45.2 \n", + " 27 43.0 \n", + " 28 59.4 \n", + " 29 59.2 \n", + " 30 43.9 \n", + " 31 56.0 \n", + " 32 45.1 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2020': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 41.7 51.6 \n", + " 1 44.0 58.8 \n", + " 2 40.9 59.3 \n", + " 3 39.3 43.8 \n", + " 4 48.2 53.7 \n", + " 5 38.1 45.4 \n", + " 6 29.2 47.8 \n", + " 7 34.9 47.4 \n", + " 8 45.9 57.8 \n", + " 9 25.2 37.0 \n", + " 10 52.0 68.6 \n", + " 11 41.1 59.7 \n", + " 12 32.2 52.9 \n", + " 13 41.2 58.6 \n", + " 14 39.8 58.2 \n", + " 15 18.4 37.1 \n", + " 16 33.4 62.5 \n", + " 17 50.3 68.4 \n", + " 18 43.5 65.2 \n", + " 19 39.7 61.2 \n", + " 20 53.9 74.8 \n", + " 21 50.6 68.8 \n", + " 22 28.2 44.7 \n", + " 23 27.9 51.2 \n", + " 24 55.4 64.5 \n", + " 25 40.7 35.4 \n", + " 26 61.5 49.7 \n", + " 27 18.7 37.4 \n", + " 28 46.0 63.8 \n", + " 29 61.7 65.3 \n", + " 30 24.5 35.0 \n", + " 31 29.2 42.5 \n", + " 32 39.9 49.1 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 50.3 \n", + " 1 58.5 \n", + " 2 58.5 \n", + " 3 44.2 \n", + " 4 48.8 \n", + " 5 49.4 \n", + " 6 49.1 \n", + " 7 46.7 \n", + " 8 58.6 \n", + " 9 48.3 \n", + " 10 67.6 \n", + " 11 52.2 \n", + " 12 54.8 \n", + " 13 52.4 \n", + " 14 55.8 \n", + " 15 49.2 \n", + " 16 62.7 \n", + " 17 62.1 \n", + " 18 63.7 \n", + " 19 58.8 \n", + " 20 71.3 \n", + " 21 64.9 \n", + " 22 49.6 \n", + " 23 49.4 \n", + " 24 60.4 \n", + " 25 35.7 \n", + " 26 44.3 \n", + " 27 40.0 \n", + " 28 58.0 \n", + " 29 59.3 \n", + " 30 42.7 \n", + " 31 51.9 \n", + " 32 44.3 \n", + " 33 NaN \n", + " 34 NaN ,\n", + " '2021': id_uf nome \\\n", + " 0 0 Brasil \n", + " 1 1 Norte \n", + " 2 2 Nordeste \n", + " 3 3 Sudeste \n", + " 4 4 Sul \n", + " 5 5 Centro-Oeste \n", + " 6 11 Rondônia \n", + " 7 12 Acre \n", + " 8 13 Amazonas \n", + " 9 14 Roraima \n", + " 10 15 Pará \n", + " 11 16 Amapá \n", + " 12 17 Tocantins \n", + " 13 21 Maranhão \n", + " 14 22 Piauí \n", + " 15 23 Ceará \n", + " 16 24 Rio Grande do Norte \n", + " 17 25 Paraíba \n", + " 18 26 Pernambuco \n", + " 19 27 Alagoas \n", + " 20 28 Sergipe \n", + " 21 29 Bahia \n", + " 22 31 Minas Gerais \n", + " 23 32 Espírito Santo \n", + " 24 33 Rio de Janeiro \n", + " 25 35 São Paulo \n", + " 26 41 Paraná \n", + " 27 42 Santa Catarina \n", + " 28 43 Rio Grande do Sul \n", + " 29 50 Mato Grosso do Sul \n", + " 30 51 Mato Grosso \n", + " 31 52 Goiás \n", + " 32 53 Distrito Federal \n", + " 33 NaN NaN \n", + " 34 Notas: Foram consideradas a rede total (escola... NaN \n", + " \n", + " Ensino Fundamental – Anos Iniciais Ensino Fundamental – Anos Finais \\\n", + " 0 36.6 49.5 \n", + " 1 36.8 57.7 \n", + " 2 34.2 56.9 \n", + " 3 36.2 41.1 \n", + " 4 43.1 51.1 \n", + " 5 33.6 43.3 \n", + " 6 23.4 43.6 \n", + " 7 27.9 46.2 \n", + " 8 39.8 56.7 \n", + " 9 20.5 35.8 \n", + " 10 43.4 68.1 \n", + " 11 34.0 58.8 \n", + " 12 27.0 48.7 \n", + " 13 35.3 56.5 \n", + " 14 33.2 56.3 \n", + " 15 14.6 33.3 \n", + " 16 23.6 60.1 \n", + " 17 42.4 65.7 \n", + " 18 36.4 60.8 \n", + " 19 32.2 57.4 \n", + " 20 44.5 72.2 \n", + " 21 42.9 66.6 \n", + " 22 25.0 40.4 \n", + " 23 20.4 47.6 \n", + " 24 49.3 63.4 \n", + " 25 38.8 32.6 \n", + " 26 60.2 46.1 \n", + " 27 14.6 35.1 \n", + " 28 37.6 61.6 \n", + " 29 56.0 63.4 \n", + " 30 21.1 32.3 \n", + " 31 25.2 39.8 \n", + " 32 36.0 48.9 \n", + " 33 NaN NaN \n", + " 34 NaN NaN \n", + " \n", + " Ensino Médio Regular \n", + " 0 48.3 \n", + " 1 57.5 \n", + " 2 57.8 \n", + " 3 41.8 \n", + " 4 44.9 \n", + " 5 46.1 \n", + " 6 48.7 \n", + " 7 44.4 \n", + " 8 55.9 \n", + " 9 43.7 \n", + " 10 66.7 \n", + " 11 54.5 \n", + " 12 52.9 \n", + " 13 50.8 \n", + " 14 55.3 \n", + " 15 44.4 \n", + " 16 59.9 \n", + " 17 61.8 \n", + " 18 61.3 \n", + " 19 58.9 \n", + " 20 68.7 \n", + " 21 68.6 \n", + " 22 45.1 \n", + " 23 47.3 \n", + " 24 57.8 \n", + " 25 34.9 \n", + " 26 40.6 \n", + " 27 37.1 \n", + " 28 53.2 \n", + " 29 57.9 \n", + " 30 40.7 \n", + " 31 46.5 \n", + " 32 43.6 \n", + " 33 NaN \n", + " 34 NaN }" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfs" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sheet: 2007\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2008\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2009\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2010\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2011\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2012\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2013\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2014\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2015\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2016\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2017\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2018\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2019\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2020\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n", + "Sheet: 2021\n", + "Index(['id_uf', 'nome', 'Ensino Fundamental – Anos Iniciais',\n", + " 'Ensino Fundamental – Anos Finais', 'Ensino Médio Regular'],\n", + " dtype='object')\n", + "\n" + ] + } + ], + "source": [ + "for sheet_name, df in dfs.items():\n", + " print(f\"Sheet: {sheet_name}\")\n", + " print(df.columns) # This will print the column names of each DataFrame\n", + " print() # Adds a blank line for readability" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "melted_dataframe = pd.concat(\n", + " [\n", + " df.pipe(\n", + " lambda d: d.loc[(d[\"id_uf\"] == 0)]\n", + " )\n", + " .pipe(\n", + " lambda d: pd.melt(\n", + " d,\n", + " id_vars=[\"id_uf\", \"nome\"],\n", + " value_vars=d.columns.difference([\"id_uf\", \"nome\"]).tolist(), # Convert to list\n", + " var_name=\"etapa_ensino\",\n", + " value_name=\"tdi\",\n", + " )\n", + " )\n", + " .assign(ano=ano)\n", + " for ano, df in dfs.items()\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
id_ufnomeetapa_ensinotdiano
00BrasilEnsino Fundamental – Anos Finais60.62007
10BrasilEnsino Fundamental – Anos Iniciais72.22007
20BrasilEnsino Médio Regular65.32007
00BrasilEnsino Fundamental – Anos Finais54.52008
10BrasilEnsino Fundamental – Anos Iniciais66.52008
20BrasilEnsino Médio Regular57.32008
00BrasilEnsino Fundamental – Anos Finais54.82009
10BrasilEnsino Fundamental – Anos Iniciais68.42009
20BrasilEnsino Médio Regular56.02009
00BrasilEnsino Fundamental – Anos Finais57.22010
10BrasilEnsino Fundamental – Anos Iniciais67.52010
20BrasilEnsino Médio Regular56.42010
00BrasilEnsino Fundamental – Anos Finais58.52011
10BrasilEnsino Fundamental – Anos Iniciais66.52011
20BrasilEnsino Médio Regular56.12011
00BrasilEnsino Fundamental – Anos Finais58.92012
10BrasilEnsino Fundamental – Anos Iniciais64.42012
20BrasilEnsino Médio Regular55.32012
00BrasilEnsino Fundamental – Anos Finais59.32013
10BrasilEnsino Fundamental – Anos Iniciais61.82013
20BrasilEnsino Médio Regular55.42013
00BrasilEnsino Fundamental – Anos Finais59.62014
10BrasilEnsino Fundamental – Anos Iniciais58.72014
20BrasilEnsino Médio Regular54.52014
00BrasilEnsino Fundamental – Anos Finais59.22015
10BrasilEnsino Fundamental – Anos Iniciais55.82015
20BrasilEnsino Médio Regular53.72015
00BrasilEnsino Fundamental – Anos Finais58.22016
10BrasilEnsino Fundamental – Anos Iniciais53.52016
20BrasilEnsino Médio Regular53.92016
00BrasilEnsino Fundamental – Anos Finais56.82017
10BrasilEnsino Fundamental – Anos Iniciais51.42017
20BrasilEnsino Médio Regular53.12017
00BrasilEnsino Fundamental – Anos Finais55.02018
10BrasilEnsino Fundamental – Anos Iniciais48.42018
20BrasilEnsino Médio Regular53.22018
00BrasilEnsino Fundamental – Anos Finais53.32019
10BrasilEnsino Fundamental – Anos Iniciais44.92019
20BrasilEnsino Médio Regular51.12019
00BrasilEnsino Fundamental – Anos Finais51.62020
10BrasilEnsino Fundamental – Anos Iniciais41.72020
20BrasilEnsino Médio Regular50.32020
00BrasilEnsino Fundamental – Anos Finais49.52021
10BrasilEnsino Fundamental – Anos Iniciais36.62021
20BrasilEnsino Médio Regular48.32021
\n", + "
" + ], + "text/plain": [ + " id_uf nome etapa_ensino tdi ano\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 60.6 2007\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 72.2 2007\n", + "2 0 Brasil Ensino Médio Regular 65.3 2007\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 54.5 2008\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 66.5 2008\n", + "2 0 Brasil Ensino Médio Regular 57.3 2008\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 54.8 2009\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 68.4 2009\n", + "2 0 Brasil Ensino Médio Regular 56.0 2009\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 57.2 2010\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 67.5 2010\n", + "2 0 Brasil Ensino Médio Regular 56.4 2010\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 58.5 2011\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 66.5 2011\n", + "2 0 Brasil Ensino Médio Regular 56.1 2011\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 58.9 2012\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 64.4 2012\n", + "2 0 Brasil Ensino Médio Regular 55.3 2012\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 59.3 2013\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 61.8 2013\n", + "2 0 Brasil Ensino Médio Regular 55.4 2013\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 59.6 2014\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 58.7 2014\n", + "2 0 Brasil Ensino Médio Regular 54.5 2014\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 59.2 2015\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 55.8 2015\n", + "2 0 Brasil Ensino Médio Regular 53.7 2015\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 58.2 2016\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 53.5 2016\n", + "2 0 Brasil Ensino Médio Regular 53.9 2016\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 56.8 2017\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 51.4 2017\n", + "2 0 Brasil Ensino Médio Regular 53.1 2017\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 55.0 2018\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 48.4 2018\n", + "2 0 Brasil Ensino Médio Regular 53.2 2018\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 53.3 2019\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 44.9 2019\n", + "2 0 Brasil Ensino Médio Regular 51.1 2019\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 51.6 2020\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 41.7 2020\n", + "2 0 Brasil Ensino Médio Regular 50.3 2020\n", + "0 0 Brasil Ensino Fundamental – Anos Finais 49.5 2021\n", + "1 0 Brasil Ensino Fundamental – Anos Iniciais 36.6 2021\n", + "2 0 Brasil Ensino Médio Regular 48.3 2021" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "melted_dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31,\n", + " 32, 33, 35, 41, 42, 43, 50, 51, 52, 53], dtype=object)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "melted_dataframe['id_uf'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "melted_dataframe = melted_dataframe.drop(\n", + " columns=['id_uf', 'nome']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "melted_dataframe = melted_dataframe[\n", + " [\n", + " \"ano\",\n", + " \"etapa_ensino\",\n", + " \"tdi\",\n", + " ]\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
anoetapa_ensinotdi
02007Ensino Fundamental – Anos Finais60.6
12007Ensino Fundamental – Anos Iniciais72.2
22007Ensino Médio Regular65.3
02008Ensino Fundamental – Anos Finais54.5
12008Ensino Fundamental – Anos Iniciais66.5
22008Ensino Médio Regular57.3
02009Ensino Fundamental – Anos Finais54.8
12009Ensino Fundamental – Anos Iniciais68.4
22009Ensino Médio Regular56.0
02010Ensino Fundamental – Anos Finais57.2
12010Ensino Fundamental – Anos Iniciais67.5
22010Ensino Médio Regular56.4
02011Ensino Fundamental – Anos Finais58.5
12011Ensino Fundamental – Anos Iniciais66.5
22011Ensino Médio Regular56.1
02012Ensino Fundamental – Anos Finais58.9
12012Ensino Fundamental – Anos Iniciais64.4
22012Ensino Médio Regular55.3
02013Ensino Fundamental – Anos Finais59.3
12013Ensino Fundamental – Anos Iniciais61.8
22013Ensino Médio Regular55.4
02014Ensino Fundamental – Anos Finais59.6
12014Ensino Fundamental – Anos Iniciais58.7
22014Ensino Médio Regular54.5
02015Ensino Fundamental – Anos Finais59.2
12015Ensino Fundamental – Anos Iniciais55.8
22015Ensino Médio Regular53.7
02016Ensino Fundamental – Anos Finais58.2
12016Ensino Fundamental – Anos Iniciais53.5
22016Ensino Médio Regular53.9
02017Ensino Fundamental – Anos Finais56.8
12017Ensino Fundamental – Anos Iniciais51.4
22017Ensino Médio Regular53.1
02018Ensino Fundamental – Anos Finais55.0
12018Ensino Fundamental – Anos Iniciais48.4
22018Ensino Médio Regular53.2
02019Ensino Fundamental – Anos Finais53.3
12019Ensino Fundamental – Anos Iniciais44.9
22019Ensino Médio Regular51.1
02020Ensino Fundamental – Anos Finais51.6
12020Ensino Fundamental – Anos Iniciais41.7
22020Ensino Médio Regular50.3
02021Ensino Fundamental – Anos Finais49.5
12021Ensino Fundamental – Anos Iniciais36.6
22021Ensino Médio Regular48.3
\n", + "
" + ], + "text/plain": [ + " ano etapa_ensino tdi\n", + "0 2007 Ensino Fundamental – Anos Finais 60.6\n", + "1 2007 Ensino Fundamental – Anos Iniciais 72.2\n", + "2 2007 Ensino Médio Regular 65.3\n", + "0 2008 Ensino Fundamental – Anos Finais 54.5\n", + "1 2008 Ensino Fundamental – Anos Iniciais 66.5\n", + "2 2008 Ensino Médio Regular 57.3\n", + "0 2009 Ensino Fundamental – Anos Finais 54.8\n", + "1 2009 Ensino Fundamental – Anos Iniciais 68.4\n", + "2 2009 Ensino Médio Regular 56.0\n", + "0 2010 Ensino Fundamental – Anos Finais 57.2\n", + "1 2010 Ensino Fundamental – Anos Iniciais 67.5\n", + "2 2010 Ensino Médio Regular 56.4\n", + "0 2011 Ensino Fundamental – Anos Finais 58.5\n", + "1 2011 Ensino Fundamental – Anos Iniciais 66.5\n", + "2 2011 Ensino Médio Regular 56.1\n", + "0 2012 Ensino Fundamental – Anos Finais 58.9\n", + "1 2012 Ensino Fundamental – Anos Iniciais 64.4\n", + "2 2012 Ensino Médio Regular 55.3\n", + "0 2013 Ensino Fundamental – Anos Finais 59.3\n", + "1 2013 Ensino Fundamental – Anos Iniciais 61.8\n", + "2 2013 Ensino Médio Regular 55.4\n", + "0 2014 Ensino Fundamental – Anos Finais 59.6\n", + "1 2014 Ensino Fundamental – Anos Iniciais 58.7\n", + "2 2014 Ensino Médio Regular 54.5\n", + "0 2015 Ensino Fundamental – Anos Finais 59.2\n", + "1 2015 Ensino Fundamental – Anos Iniciais 55.8\n", + "2 2015 Ensino Médio Regular 53.7\n", + "0 2016 Ensino Fundamental – Anos Finais 58.2\n", + "1 2016 Ensino Fundamental – Anos Iniciais 53.5\n", + "2 2016 Ensino Médio Regular 53.9\n", + "0 2017 Ensino Fundamental – Anos Finais 56.8\n", + "1 2017 Ensino Fundamental – Anos Iniciais 51.4\n", + "2 2017 Ensino Médio Regular 53.1\n", + "0 2018 Ensino Fundamental – Anos Finais 55.0\n", + "1 2018 Ensino Fundamental – Anos Iniciais 48.4\n", + "2 2018 Ensino Médio Regular 53.2\n", + "0 2019 Ensino Fundamental – Anos Finais 53.3\n", + "1 2019 Ensino Fundamental – Anos Iniciais 44.9\n", + "2 2019 Ensino Médio Regular 51.1\n", + "0 2020 Ensino Fundamental – Anos Finais 51.6\n", + "1 2020 Ensino Fundamental – Anos Iniciais 41.7\n", + "2 2020 Ensino Médio Regular 50.3\n", + "0 2021 Ensino Fundamental – Anos Finais 49.5\n", + "1 2021 Ensino Fundamental – Anos Iniciais 36.6\n", + "2 2021 Ensino Médio Regular 48.3" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "melted_dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "path = os.path.join(\n", + " OUTPUT, \"educacao_especial_brasil_distorcao_idade_serie\"\n", + " )\n", + "\n", + "os.makedirs(path, exist_ok=True)\n", + "melted_dataframe.astype(str).to_csv(os.path.join(path, \"data.csv\"), index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/models/br_inep_educacao_especial/code/educacao_especial_brasil_taxa_rendimento.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_brasil_taxa_rendimento.ipynb new file mode 100644 index 00000000..ca3a594c --- /dev/null +++ b/models/br_inep_educacao_especial/code/educacao_especial_brasil_taxa_rendimento.ipynb @@ -0,0 +1,1661 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import zipfile\n", + "import pandas as pd\n", + "import basedosdados as bd\n", + "\n", + "INPUT = os.path.join(os.getcwd(), \"input\")\n", + "OUTPUT = os.path.join(os.getcwd(), \"output\")\n", + "\n", + "os.makedirs(INPUT, exist_ok=True)\n", + "os.makedirs(OUTPUT, exist_ok=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def read_sheet(sheet_name: str, skiprows: int = 8) -> pd.DataFrame:\n", + " return pd.read_excel(\n", + " os.path.join(\n", + " INPUT,\n", + " \"tx_rend_brasil_regioes_ufs_esp.xlsx\"\n", + " ),\n", + " skiprows=skiprows,\n", + " sheet_name=sheet_name\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "excel_data = pd.ExcelFile(os.path.join(\n", + " INPUT,\n", + " \"tx_rend_brasil_regioes_ufs_esp.xlsx\"\n", + " ))\n", + "\n", + "# Get the sheet names\n", + "sheet_names = excel_data.sheet_names" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "dfs = {\n", + " sheet_name: read_sheet(sheet_name)\n", + " for sheet_name in sheet_names\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BRASIL_REGIOES_UFS ': NU_ANO_CENSO UNIDGEO \\\n", + " 0 2007 Brasil \n", + " 1 2007 Norte \n", + " 2 2007 Nordeste \n", + " 3 2007 Sudeste \n", + " 4 2007 Sul \n", + " .. ... ... \n", + " 492 2021 Mato Grosso \n", + " 493 2021 Goiás \n", + " 494 2021 Distrito Federal \n", + " 495 NaN NaN \n", + " 496 Fonte: Censo da Educação Básica 2021/INEP. NaN \n", + " \n", + " NO_CATEGORIA NO_DEPENDENCIA 1_CAT_FUN 1_CAT_FUN_AI 1_CAT_FUN_AF \\\n", + " 0 Total Total 73.1 71.6 78.7 \n", + " 1 Total Total 63.2 61.4 75.5 \n", + " 2 Total Total 67.0 65.7 73.0 \n", + " 3 Total Total 77.0 75.6 81.5 \n", + " 4 Total Total 76.8 76.4 78.1 \n", + " .. ... ... ... ... ... \n", + " 492 Total Total 96.3 96.2 96.4 \n", + " 493 Total Total 96.5 95.2 97.6 \n", + " 494 Total Total 89.1 83.1 95.7 \n", + " 495 NaN NaN NaN NaN NaN \n", + " 496 NaN NaN NaN NaN NaN \n", + " \n", + " 1_CAT_MED 2_CAT_FUN 2_CAT_FUN_AI 2_CAT_FUN_AF 2_CAT_MED 3_CAT_FUN \\\n", + " 0 79.6 22.1 23.8 16.2 13.0 4.8 \n", + " 1 77.5 28.6 30.4 16.6 11.1 8.2 \n", + " 2 77.0 24.7 26.2 17.9 11.3 8.3 \n", + " 3 79.6 19.9 21.4 14.7 14.9 3.1 \n", + " 4 81.4 20.4 21.0 18.3 11.5 2.8 \n", + " .. ... ... ... ... ... ... \n", + " 492 81.9 3.1 3.4 2.7 13.4 0.6 \n", + " 493 97.8 2.8 4.2 1.6 1.3 0.7 \n", + " 494 92.2 10.6 16.4 4.1 7.3 0.3 \n", + " 495 NaN NaN NaN NaN NaN NaN \n", + " 496 NaN NaN NaN NaN NaN NaN \n", + " \n", + " 3_CAT_FUN_AI 3_CAT_FUN_AF 3_CAT_MED \n", + " 0 4.6 5.1 7.4 \n", + " 1 8.2 7.9 11.4 \n", + " 2 8.1 9.1 11.7 \n", + " 3 3.0 3.8 5.5 \n", + " 4 2.6 3.6 7.1 \n", + " .. ... ... ... \n", + " 492 0.4 0.9 4.7 \n", + " 493 0.6 0.8 0.9 \n", + " 494 0.5 0.2 0.5 \n", + " 495 NaN NaN NaN \n", + " 496 NaN NaN NaN \n", + " \n", + " [497 rows x 16 columns]}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfs" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sheet: BRASIL_REGIOES_UFS \n", + "Index(['NU_ANO_CENSO', 'UNIDGEO', 'NO_CATEGORIA', 'NO_DEPENDENCIA',\n", + " '1_CAT_FUN', '1_CAT_FUN_AI', '1_CAT_FUN_AF', '1_CAT_MED', '2_CAT_FUN',\n", + " '2_CAT_FUN_AI', '2_CAT_FUN_AF', '2_CAT_MED', '3_CAT_FUN',\n", + " '3_CAT_FUN_AI', '3_CAT_FUN_AF', '3_CAT_MED'],\n", + " dtype='object')\n", + "\n" + ] + } + ], + "source": [ + "for sheet_name, df in dfs.items():\n", + " print(f\"Sheet: {sheet_name}\")\n", + " print(df.columns) # This will print the column names of each DataFrame\n", + " print() # Adds a blank line for readability\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "RENAME_COLUMNS = {\n", + " 'NU_ANO_CENSO':'ano', \n", + " 'UNIDGEO':'nome_uf',\n", + " '1_CAT_FUN_AI':'taxaaprovacao_anosiniciais', \n", + " '1_CAT_FUN_AF':'taxaaprovacao_anosfinais', \n", + " '1_CAT_MED':'taxaaprovacao_ensinomedio', \n", + " '2_CAT_FUN_AI':'taxareprovacao_anosiniciais', \n", + " '2_CAT_FUN_AF':'taxareprovacao_anosfinais', \n", + " '2_CAT_MED':'taxareprovacao_ensinomedio', \n", + " '3_CAT_FUN_AI':'taxaabandono_anosiniciais', \n", + " '3_CAT_FUN_AF':'taxaabandono_anosfinais', \n", + " '3_CAT_MED' : 'taxaabandono_ensinomedio' \n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def drop_unused_columns(df: pd.DataFrame) -> pd.DataFrame:\n", + " cols_drop = [\n", + " col\n", + " for col in df.columns\n", + " if col.startswith(\"NO_\") \n", + " or col.startswith(\"1_\") \n", + " or col.startswith(\"2_\") \n", + " or col.startswith(\"3_\")\n", + " ]\n", + "\n", + " return df.drop(columns=cols_drop)\n", + "\n", + "dfs = {\n", + " name: drop_unused_columns(\n", + " df.rename(columns=RENAME_COLUMNS, errors=\"raise\")\n", + " )\n", + " for name, df in dfs.items()\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BRASIL_REGIOES_UFS ': ano nome_uf \\\n", + " 0 2007 Brasil \n", + " 1 2007 Norte \n", + " 2 2007 Nordeste \n", + " 3 2007 Sudeste \n", + " 4 2007 Sul \n", + " .. ... ... \n", + " 492 2021 Mato Grosso \n", + " 493 2021 Goiás \n", + " 494 2021 Distrito Federal \n", + " 495 NaN NaN \n", + " 496 Fonte: Censo da Educação Básica 2021/INEP. NaN \n", + " \n", + " taxaaprovacao_anosiniciais taxaaprovacao_anosfinais \\\n", + " 0 71.6 78.7 \n", + " 1 61.4 75.5 \n", + " 2 65.7 73.0 \n", + " 3 75.6 81.5 \n", + " 4 76.4 78.1 \n", + " .. ... ... \n", + " 492 96.2 96.4 \n", + " 493 95.2 97.6 \n", + " 494 83.1 95.7 \n", + " 495 NaN NaN \n", + " 496 NaN NaN \n", + " \n", + " taxaaprovacao_ensinomedio taxareprovacao_anosiniciais \\\n", + " 0 79.6 23.8 \n", + " 1 77.5 30.4 \n", + " 2 77.0 26.2 \n", + " 3 79.6 21.4 \n", + " 4 81.4 21.0 \n", + " .. ... ... \n", + " 492 81.9 3.4 \n", + " 493 97.8 4.2 \n", + " 494 92.2 16.4 \n", + " 495 NaN NaN \n", + " 496 NaN NaN \n", + " \n", + " taxareprovacao_anosfinais taxareprovacao_ensinomedio \\\n", + " 0 16.2 13.0 \n", + " 1 16.6 11.1 \n", + " 2 17.9 11.3 \n", + " 3 14.7 14.9 \n", + " 4 18.3 11.5 \n", + " .. ... ... \n", + " 492 2.7 13.4 \n", + " 493 1.6 1.3 \n", + " 494 4.1 7.3 \n", + " 495 NaN NaN \n", + " 496 NaN NaN \n", + " \n", + " taxaabandono_anosiniciais taxaabandono_anosfinais \\\n", + " 0 4.6 5.1 \n", + " 1 8.2 7.9 \n", + " 2 8.1 9.1 \n", + " 3 3.0 3.8 \n", + " 4 2.6 3.6 \n", + " .. ... ... \n", + " 492 0.4 0.9 \n", + " 493 0.6 0.8 \n", + " 494 0.5 0.2 \n", + " 495 NaN NaN \n", + " 496 NaN NaN \n", + " \n", + " taxaabandono_ensinomedio \n", + " 0 7.4 \n", + " 1 11.4 \n", + " 2 11.7 \n", + " 3 5.5 \n", + " 4 7.1 \n", + " .. ... \n", + " 492 4.7 \n", + " 493 0.9 \n", + " 494 0.5 \n", + " 495 NaN \n", + " 496 NaN \n", + " \n", + " [497 rows x 11 columns]}" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfs" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sheet: BRASIL_REGIOES_UFS \n", + "Index(['ano', 'nome_uf', 'taxaaprovacao_anosiniciais',\n", + " 'taxaaprovacao_anosfinais', 'taxaaprovacao_ensinomedio',\n", + " 'taxareprovacao_anosiniciais', 'taxareprovacao_anosfinais',\n", + " 'taxareprovacao_ensinomedio', 'taxaabandono_anosiniciais',\n", + " 'taxaabandono_anosfinais', 'taxaabandono_ensinomedio'],\n", + " dtype='object')\n", + "\n" + ] + } + ], + "source": [ + "for sheet_name, df in dfs.items():\n", + " print(f\"Sheet: {sheet_name}\")\n", + " print(df.columns) # This will print the column names of each DataFrame\n", + " print() # Adds a blank line for readability" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "melted_dataframe = pd.concat(\n", + " [\n", + " df.pipe(\n", + " lambda d: d.loc[(d[\"nome_uf\"] == 'Brasil' )]\n", + " )\n", + " .pipe(\n", + " lambda d: pd.melt(\n", + " d,\n", + " id_vars=[\"ano\", \"nome_uf\"],\n", + " value_vars=d.columns.difference([\"ano\", \"nome_uf\"]).tolist(), # Convert to list\n", + " var_name=\"metrica\",\n", + " value_name=\"valor\",\n", + " )\n", + " )\n", + " ]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
anonome_ufmetricavalor
02007Brasiltaxaabandono_anosfinais5.1
12008Brasiltaxaabandono_anosfinais5.0
22009Brasiltaxaabandono_anosfinais4.3
32010Brasiltaxaabandono_anosfinais4.6
42011Brasiltaxaabandono_anosfinais4.6
...............
1302017Brasiltaxareprovacao_ensinomedio11.2
1312018Brasiltaxareprovacao_ensinomedio11.4
1322019Brasiltaxareprovacao_ensinomedio9.4
1332020Brasiltaxareprovacao_ensinomedio2.2
1342021Brasiltaxareprovacao_ensinomedio3.8
\n", + "

135 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " ano nome_uf metrica valor\n", + "0 2007 Brasil taxaabandono_anosfinais 5.1\n", + "1 2008 Brasil taxaabandono_anosfinais 5.0\n", + "2 2009 Brasil taxaabandono_anosfinais 4.3\n", + "3 2010 Brasil taxaabandono_anosfinais 4.6\n", + "4 2011 Brasil taxaabandono_anosfinais 4.6\n", + ".. ... ... ... ...\n", + "130 2017 Brasil taxareprovacao_ensinomedio 11.2\n", + "131 2018 Brasil taxareprovacao_ensinomedio 11.4\n", + "132 2019 Brasil taxareprovacao_ensinomedio 9.4\n", + "133 2020 Brasil taxareprovacao_ensinomedio 2.2\n", + "134 2021 Brasil taxareprovacao_ensinomedio 3.8\n", + "\n", + "[135 rows x 4 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "melted_dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "melted_dataframe['etapa_ensino'] = melted_dataframe['metrica'].apply(\n", + " lambda v: v.split('_')[-1]) # Extracts 'anosiniciais', 'anosfinais', or 'ensinomedio'\n", + "melted_dataframe['tipo_metrica'] = melted_dataframe['metrica'].apply(\n", + " lambda v: v.split('_')[0]) # Extracts 'taxaaprovacao', 'taxareprovacao', 'taxaabandono'\n", + "\n", + "# Pivoting the melted DataFrame to get desired columns\n", + "df_final = melted_dataframe.pivot_table(index=['ano', 'nome_uf', 'etapa_ensino'], \n", + " columns='tipo_metrica', \n", + " values='valor').reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "RENAME_COLUMNS_MELTED = {\n", + " 'taxaabandono':'taxa_abandono', \n", + " 'taxaaprovacao':'taxa_aprovacao',\n", + " 'taxareprovacao':'taxa_reprovacao' \n", + "}\n", + "\n", + "etapa_ensino = {\n", + " 'anosiniciais': 'Ensino Fundamental – Anos Iniciais',\n", + " 'anosfinais':'Ensino Fundamental – Anos Finais',\n", + " 'ensinomedio':'Ensino Médio Regular'\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tipo_metricaanonome_ufetapa_ensinotaxaabandonotaxaaprovacaotaxareprovacao
02007Brasilanosfinais5.178.716.2
12007Brasilanosiniciais4.671.623.8
22007Brasilensinomedio7.479.613.0
32008Brasilanosfinais5.078.816.2
42008Brasilanosiniciais4.572.423.1
52008Brasilensinomedio7.879.312.9
62009Brasilanosfinais4.381.514.2
72009Brasilanosiniciais3.374.422.3
82009Brasilensinomedio7.080.013.0
92010Brasilanosfinais4.681.114.3
102010Brasilanosiniciais3.373.723.0
112010Brasilensinomedio7.479.413.2
122011Brasilanosfinais4.680.415.0
132011Brasilanosiniciais3.374.522.2
142011Brasilensinomedio7.179.413.5
152012Brasilanosfinais4.780.215.1
162012Brasilanosiniciais3.373.123.6
172012Brasilensinomedio7.180.112.8
182013Brasilanosfinais4.481.713.9
192013Brasilanosiniciais2.975.221.9
202013Brasilensinomedio6.881.711.5
212014Brasilanosfinais4.480.914.7
222014Brasilanosiniciais2.973.723.4
232014Brasilensinomedio6.182.011.9
242015Brasilanosfinais4.381.014.7
252015Brasilanosiniciais2.774.522.8
262015Brasilensinomedio6.282.311.5
272016Brasilanosfinais4.480.515.1
282016Brasilanosiniciais2.774.622.7
292016Brasilensinomedio5.782.511.8
302017Brasilanosfinais4.182.413.5
312017Brasilanosiniciais2.476.720.9
322017Brasilensinomedio6.082.811.2
332018Brasilanosfinais3.883.213.0
342018Brasilanosiniciais2.278.219.6
352018Brasilensinomedio6.182.511.4
362019Brasilanosfinais2.986.210.9
372019Brasilanosiniciais1.781.416.9
382019Brasilensinomedio4.586.19.4
392020Brasilanosfinais1.697.01.4
402020Brasilanosiniciais1.290.88.0
412020Brasilensinomedio2.695.22.2
422021Brasilanosfinais2.594.13.4
432021Brasilanosiniciais1.487.910.7
442021Brasilensinomedio4.591.73.8
\n", + "
" + ], + "text/plain": [ + "tipo_metrica ano nome_uf etapa_ensino taxaabandono taxaaprovacao \\\n", + "0 2007 Brasil anosfinais 5.1 78.7 \n", + "1 2007 Brasil anosiniciais 4.6 71.6 \n", + "2 2007 Brasil ensinomedio 7.4 79.6 \n", + "3 2008 Brasil anosfinais 5.0 78.8 \n", + "4 2008 Brasil anosiniciais 4.5 72.4 \n", + "5 2008 Brasil ensinomedio 7.8 79.3 \n", + "6 2009 Brasil anosfinais 4.3 81.5 \n", + "7 2009 Brasil anosiniciais 3.3 74.4 \n", + "8 2009 Brasil ensinomedio 7.0 80.0 \n", + "9 2010 Brasil anosfinais 4.6 81.1 \n", + "10 2010 Brasil anosiniciais 3.3 73.7 \n", + "11 2010 Brasil ensinomedio 7.4 79.4 \n", + "12 2011 Brasil anosfinais 4.6 80.4 \n", + "13 2011 Brasil anosiniciais 3.3 74.5 \n", + "14 2011 Brasil ensinomedio 7.1 79.4 \n", + "15 2012 Brasil anosfinais 4.7 80.2 \n", + "16 2012 Brasil anosiniciais 3.3 73.1 \n", + "17 2012 Brasil ensinomedio 7.1 80.1 \n", + "18 2013 Brasil anosfinais 4.4 81.7 \n", + "19 2013 Brasil anosiniciais 2.9 75.2 \n", + "20 2013 Brasil ensinomedio 6.8 81.7 \n", + "21 2014 Brasil anosfinais 4.4 80.9 \n", + "22 2014 Brasil anosiniciais 2.9 73.7 \n", + "23 2014 Brasil ensinomedio 6.1 82.0 \n", + "24 2015 Brasil anosfinais 4.3 81.0 \n", + "25 2015 Brasil anosiniciais 2.7 74.5 \n", + "26 2015 Brasil ensinomedio 6.2 82.3 \n", + "27 2016 Brasil anosfinais 4.4 80.5 \n", + "28 2016 Brasil anosiniciais 2.7 74.6 \n", + "29 2016 Brasil ensinomedio 5.7 82.5 \n", + "30 2017 Brasil anosfinais 4.1 82.4 \n", + "31 2017 Brasil anosiniciais 2.4 76.7 \n", + "32 2017 Brasil ensinomedio 6.0 82.8 \n", + "33 2018 Brasil anosfinais 3.8 83.2 \n", + "34 2018 Brasil anosiniciais 2.2 78.2 \n", + "35 2018 Brasil ensinomedio 6.1 82.5 \n", + "36 2019 Brasil anosfinais 2.9 86.2 \n", + "37 2019 Brasil anosiniciais 1.7 81.4 \n", + "38 2019 Brasil ensinomedio 4.5 86.1 \n", + "39 2020 Brasil anosfinais 1.6 97.0 \n", + "40 2020 Brasil anosiniciais 1.2 90.8 \n", + "41 2020 Brasil ensinomedio 2.6 95.2 \n", + "42 2021 Brasil anosfinais 2.5 94.1 \n", + "43 2021 Brasil anosiniciais 1.4 87.9 \n", + "44 2021 Brasil ensinomedio 4.5 91.7 \n", + "\n", + "tipo_metrica taxareprovacao \n", + "0 16.2 \n", + "1 23.8 \n", + "2 13.0 \n", + "3 16.2 \n", + "4 23.1 \n", + "5 12.9 \n", + "6 14.2 \n", + "7 22.3 \n", + "8 13.0 \n", + "9 14.3 \n", + "10 23.0 \n", + "11 13.2 \n", + "12 15.0 \n", + "13 22.2 \n", + "14 13.5 \n", + "15 15.1 \n", + "16 23.6 \n", + "17 12.8 \n", + "18 13.9 \n", + "19 21.9 \n", + "20 11.5 \n", + "21 14.7 \n", + "22 23.4 \n", + "23 11.9 \n", + "24 14.7 \n", + "25 22.8 \n", + "26 11.5 \n", + "27 15.1 \n", + "28 22.7 \n", + "29 11.8 \n", + "30 13.5 \n", + "31 20.9 \n", + "32 11.2 \n", + "33 13.0 \n", + "34 19.6 \n", + "35 11.4 \n", + "36 10.9 \n", + "37 16.9 \n", + "38 9.4 \n", + "39 1.4 \n", + "40 8.0 \n", + "41 2.2 \n", + "42 3.4 \n", + "43 10.7 \n", + "44 3.8 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "df_final = df_final.rename(columns=RENAME_COLUMNS_MELTED)\n", + "df_final['etapa_ensino'] = df_final['etapa_ensino'].replace(etapa_ensino)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# Rename the 'sigla' column to 'sigla_uf' and drop the 'nome' column\n", + "df_final = df_final.drop(columns=['nome_uf'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "df_final = df_final[['ano', 'etapa_ensino', 'taxa_aprovacao','taxa_reprovacao','taxa_abandono']]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
tipo_metricaanoetapa_ensinotaxa_aprovacaotaxa_reprovacaotaxa_abandono
02007Ensino Fundamental – Anos Finais78.716.25.1
12007Ensino Fundamental – Anos Iniciais71.623.84.6
22007Ensino Médio Regular79.613.07.4
32008Ensino Fundamental – Anos Finais78.816.25.0
42008Ensino Fundamental – Anos Iniciais72.423.14.5
52008Ensino Médio Regular79.312.97.8
62009Ensino Fundamental – Anos Finais81.514.24.3
72009Ensino Fundamental – Anos Iniciais74.422.33.3
82009Ensino Médio Regular80.013.07.0
92010Ensino Fundamental – Anos Finais81.114.34.6
102010Ensino Fundamental – Anos Iniciais73.723.03.3
112010Ensino Médio Regular79.413.27.4
122011Ensino Fundamental – Anos Finais80.415.04.6
132011Ensino Fundamental – Anos Iniciais74.522.23.3
142011Ensino Médio Regular79.413.57.1
152012Ensino Fundamental – Anos Finais80.215.14.7
162012Ensino Fundamental – Anos Iniciais73.123.63.3
172012Ensino Médio Regular80.112.87.1
182013Ensino Fundamental – Anos Finais81.713.94.4
192013Ensino Fundamental – Anos Iniciais75.221.92.9
202013Ensino Médio Regular81.711.56.8
212014Ensino Fundamental – Anos Finais80.914.74.4
222014Ensino Fundamental – Anos Iniciais73.723.42.9
232014Ensino Médio Regular82.011.96.1
242015Ensino Fundamental – Anos Finais81.014.74.3
252015Ensino Fundamental – Anos Iniciais74.522.82.7
262015Ensino Médio Regular82.311.56.2
272016Ensino Fundamental – Anos Finais80.515.14.4
282016Ensino Fundamental – Anos Iniciais74.622.72.7
292016Ensino Médio Regular82.511.85.7
302017Ensino Fundamental – Anos Finais82.413.54.1
312017Ensino Fundamental – Anos Iniciais76.720.92.4
322017Ensino Médio Regular82.811.26.0
332018Ensino Fundamental – Anos Finais83.213.03.8
342018Ensino Fundamental – Anos Iniciais78.219.62.2
352018Ensino Médio Regular82.511.46.1
362019Ensino Fundamental – Anos Finais86.210.92.9
372019Ensino Fundamental – Anos Iniciais81.416.91.7
382019Ensino Médio Regular86.19.44.5
392020Ensino Fundamental – Anos Finais97.01.41.6
402020Ensino Fundamental – Anos Iniciais90.88.01.2
412020Ensino Médio Regular95.22.22.6
422021Ensino Fundamental – Anos Finais94.13.42.5
432021Ensino Fundamental – Anos Iniciais87.910.71.4
442021Ensino Médio Regular91.73.84.5
\n", + "
" + ], + "text/plain": [ + "tipo_metrica ano etapa_ensino taxa_aprovacao \\\n", + "0 2007 Ensino Fundamental – Anos Finais 78.7 \n", + "1 2007 Ensino Fundamental – Anos Iniciais 71.6 \n", + "2 2007 Ensino Médio Regular 79.6 \n", + "3 2008 Ensino Fundamental – Anos Finais 78.8 \n", + "4 2008 Ensino Fundamental – Anos Iniciais 72.4 \n", + "5 2008 Ensino Médio Regular 79.3 \n", + "6 2009 Ensino Fundamental – Anos Finais 81.5 \n", + "7 2009 Ensino Fundamental – Anos Iniciais 74.4 \n", + "8 2009 Ensino Médio Regular 80.0 \n", + "9 2010 Ensino Fundamental – Anos Finais 81.1 \n", + "10 2010 Ensino Fundamental – Anos Iniciais 73.7 \n", + "11 2010 Ensino Médio Regular 79.4 \n", + "12 2011 Ensino Fundamental – Anos Finais 80.4 \n", + "13 2011 Ensino Fundamental – Anos Iniciais 74.5 \n", + "14 2011 Ensino Médio Regular 79.4 \n", + "15 2012 Ensino Fundamental – Anos Finais 80.2 \n", + "16 2012 Ensino Fundamental – Anos Iniciais 73.1 \n", + "17 2012 Ensino Médio Regular 80.1 \n", + "18 2013 Ensino Fundamental – Anos Finais 81.7 \n", + "19 2013 Ensino Fundamental – Anos Iniciais 75.2 \n", + "20 2013 Ensino Médio Regular 81.7 \n", + "21 2014 Ensino Fundamental – Anos Finais 80.9 \n", + "22 2014 Ensino Fundamental – Anos Iniciais 73.7 \n", + "23 2014 Ensino Médio Regular 82.0 \n", + "24 2015 Ensino Fundamental – Anos Finais 81.0 \n", + "25 2015 Ensino Fundamental – Anos Iniciais 74.5 \n", + "26 2015 Ensino Médio Regular 82.3 \n", + "27 2016 Ensino Fundamental – Anos Finais 80.5 \n", + "28 2016 Ensino Fundamental – Anos Iniciais 74.6 \n", + "29 2016 Ensino Médio Regular 82.5 \n", + "30 2017 Ensino Fundamental – Anos Finais 82.4 \n", + "31 2017 Ensino Fundamental – Anos Iniciais 76.7 \n", + "32 2017 Ensino Médio Regular 82.8 \n", + "33 2018 Ensino Fundamental – Anos Finais 83.2 \n", + "34 2018 Ensino Fundamental – Anos Iniciais 78.2 \n", + "35 2018 Ensino Médio Regular 82.5 \n", + "36 2019 Ensino Fundamental – Anos Finais 86.2 \n", + "37 2019 Ensino Fundamental – Anos Iniciais 81.4 \n", + "38 2019 Ensino Médio Regular 86.1 \n", + "39 2020 Ensino Fundamental – Anos Finais 97.0 \n", + "40 2020 Ensino Fundamental – Anos Iniciais 90.8 \n", + "41 2020 Ensino Médio Regular 95.2 \n", + "42 2021 Ensino Fundamental – Anos Finais 94.1 \n", + "43 2021 Ensino Fundamental – Anos Iniciais 87.9 \n", + "44 2021 Ensino Médio Regular 91.7 \n", + "\n", + "tipo_metrica taxa_reprovacao taxa_abandono \n", + "0 16.2 5.1 \n", + "1 23.8 4.6 \n", + "2 13.0 7.4 \n", + "3 16.2 5.0 \n", + "4 23.1 4.5 \n", + "5 12.9 7.8 \n", + "6 14.2 4.3 \n", + "7 22.3 3.3 \n", + "8 13.0 7.0 \n", + "9 14.3 4.6 \n", + "10 23.0 3.3 \n", + "11 13.2 7.4 \n", + "12 15.0 4.6 \n", + "13 22.2 3.3 \n", + "14 13.5 7.1 \n", + "15 15.1 4.7 \n", + "16 23.6 3.3 \n", + "17 12.8 7.1 \n", + "18 13.9 4.4 \n", + "19 21.9 2.9 \n", + "20 11.5 6.8 \n", + "21 14.7 4.4 \n", + "22 23.4 2.9 \n", + "23 11.9 6.1 \n", + "24 14.7 4.3 \n", + "25 22.8 2.7 \n", + "26 11.5 6.2 \n", + "27 15.1 4.4 \n", + "28 22.7 2.7 \n", + "29 11.8 5.7 \n", + "30 13.5 4.1 \n", + "31 20.9 2.4 \n", + "32 11.2 6.0 \n", + "33 13.0 3.8 \n", + "34 19.6 2.2 \n", + "35 11.4 6.1 \n", + "36 10.9 2.9 \n", + "37 16.9 1.7 \n", + "38 9.4 4.5 \n", + "39 1.4 1.6 \n", + "40 8.0 1.2 \n", + "41 2.2 2.6 \n", + "42 3.4 2.5 \n", + "43 10.7 1.4 \n", + "44 3.8 4.5 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "path = os.path.join(\n", + " OUTPUT, \"educacao_especial_brasil_taxa_rendimento\"\n", + " )\n", + "\n", + "os.makedirs(path, exist_ok=True)\n", + "df_final.astype(str).to_csv(os.path.join(path, \"data.csv\"), index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.17" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/models/br_inep_educacao_especial/code/educacao_especial_aee_docente.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_docente_aee.ipynb similarity index 100% rename from models/br_inep_educacao_especial/code/educacao_especial_aee_docente.ipynb rename to models/br_inep_educacao_especial/code/educacao_especial_docente_aee.ipynb diff --git a/models/br_inep_educacao_especial/code/educacao_especial_formacao_docente.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_docente_formacao.ipynb similarity index 100% rename from models/br_inep_educacao_especial/code/educacao_especial_formacao_docente.ipynb rename to models/br_inep_educacao_especial/code/educacao_especial_docente_formacao.ipynb diff --git a/models/br_inep_educacao_especial/code/educacao_especial_aee_matricula.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_matricula_aee.ipynb similarity index 100% rename from models/br_inep_educacao_especial/code/educacao_especial_aee_matricula.ipynb rename to models/br_inep_educacao_especial/code/educacao_especial_matricula_aee.ipynb diff --git a/models/br_inep_educacao_especial/code/educacao_especial_distorcao_idade_serie.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_uf_distorcao_idade_serie.ipynb similarity index 100% rename from models/br_inep_educacao_especial/code/educacao_especial_distorcao_idade_serie.ipynb rename to models/br_inep_educacao_especial/code/educacao_especial_uf_distorcao_idade_serie.ipynb diff --git a/models/br_inep_educacao_especial/code/educacao_especial_taxa_rendimento.ipynb b/models/br_inep_educacao_especial/code/educacao_especial_uf_taxa_rendimento.ipynb similarity index 100% rename from models/br_inep_educacao_especial/code/educacao_especial_taxa_rendimento.ipynb rename to models/br_inep_educacao_especial/code/educacao_especial_uf_taxa_rendimento.ipynb diff --git a/models/br_inep_educacao_especial/schema copy.yml b/models/br_inep_educacao_especial/schema copy.yml new file mode 100644 index 00000000..cb02eedd --- /dev/null +++ b/models/br_inep_educacao_especial/schema copy.yml @@ -0,0 +1,391 @@ +--- +version: 2 +models: + - name: br_inep_educacao_especial__etapa_ensino + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe (Comuns ou Exclusivas) e Etapa de Ensino + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__faixa_etaria + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe (Comuns ou Exclusivas) e faixa etária + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: faixa_etaria + description: Faixa etária + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__localizacao + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe, rede e localização + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: rede + description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) + - name: localizacao + description: Localização (e.g. Zona Urbana, Zona Rural) + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__sexo_raca_cor + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe, sexo e raça/cor + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: sexo + description: Sexo + - name: raca_cor + description: Raça/Cor + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__tempo_ensino + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe, rede e tempo de ensino (Integral ou Parcial) + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: rede + description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) + - name: tempo_ensino + description: Classificação em tempo integral e tempo parcial + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__tipo_deficiencia + description: Número de alunos matriculados na Educação Especial ao longo do tempo + por tipo de classe e tipo de deficiência, transtorno global do desenvolvimento + ou altas habilidades/superdotação + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: tipo_classe + description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes + Exclusivas/Especiais) + - name: tipo_deficiêcia + description: Tipo de deficiência, transtorno global do desenvolvimento ou + altas habilidades/superdotação + - name: quantidade_matricula + description: Número de matrículas + - name: br_inep_educacao_especial__uf_distorcao_idade_serie + description: 'Taxa de distorção idade-série da Educação Especial por UF. Dados + obtidos via Pedido LAI (nº protocolo: 23546066150202238)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: tdi + description: Taxa de distorção idade-série + - name: br_inep_educacao_especial__brasil_distorcao_idade_serie + description: 'Taxa de distorção idade-série da Educação Especial no Brasil. Dados + obtidos via Pedido LAI (nº protocolo: 23546066150202238)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: tdi + description: Taxa de distorção idade-série + - name: br_inep_educacao_especial__uf_taxa_rendimento + description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação + Especial por UF. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: taxa_aprovacao + description: Taxa de aprovação + - name: taxa_reprovacao + description: Taxa de reprovação + - name: taxa_abandono + description: Taxa de abandono + - name: br_inep_educacao_especial__brasil_taxa_rendimento + description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação + Especial no Brasil. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: taxa_aprovacao + description: Taxa de aprovação + - name: taxa_reprovacao + description: Taxa de reprovação + - name: taxa_abandono + description: Taxa de abandono + - name: br_inep_educacao_especial__docente_aee + description: 'Quantidade de docentes regentes e do Atendimento Educacional Especializado + (AEE) no total e com Formação Continuada em Educação Especial. Dados obtidos + via Pedido LAI (nº protocolo: 23546035869202316)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: quantidade_docente_regente + description: Número de professores regentes + - name: quantidade_docente_aee + description: Número de professores do Atendimento Educacional Especializado + (AEE) + - name: quantidade_docente_regente_formacao_continuada + description: Número de professores regentes com formação continuada sobre + Educação Especial + - name: quantidade_docente_aee_formacao_continuada + description: Número de professores do Atendimento Educacional Especializado + (AEE) com formação continuada sobre Educação Especial + - name: br_inep_educacao_especial__docente_formacao + description: 'Quantidade de docentes da Educação Básica Formação Continuada em + Educação Especial por rede de ensino. Dados obtidos via Pedido LAI (nº protocolo: + 23546049990202406)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: rede + description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) + - name: quantidade_docente_formacao_continuada + description: Quantidade de docentes da Educação Básica com formação continuada + em Educação Especial + - name: br_inep_educacao_especial__matricula_aee + description: 'Quantidade de matrículas no Atendimento Educacional Especializado + (AEE) por unidade da federação e rede de ensino. Dados obtidos via Pedido LAI + (nº protocolo: 23546086048202330)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: rede + description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) + - name: quantidade_matricula + description: Número de matrículas na Educação Especial + - name: quantidade_matricula_aee + description: Número de matrículas no Atendimento Educacional Especializado + (AEE) From a69793e942656e4ddaf795978cbdc5ae730aeffd Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Thu, 24 Oct 2024 22:22:20 -0300 Subject: [PATCH 12/27] fix schema --- .../br_inep_educacao_especial/schema copy.yml | 391 ------------------ models/br_inep_educacao_especial/schema.yml | 62 ++- 2 files changed, 57 insertions(+), 396 deletions(-) delete mode 100644 models/br_inep_educacao_especial/schema copy.yml diff --git a/models/br_inep_educacao_especial/schema copy.yml b/models/br_inep_educacao_especial/schema copy.yml deleted file mode 100644 index cb02eedd..00000000 --- a/models/br_inep_educacao_especial/schema copy.yml +++ /dev/null @@ -1,391 +0,0 @@ ---- -version: 2 -models: - - name: br_inep_educacao_especial__etapa_ensino - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe (Comuns ou Exclusivas) e Etapa de Ensino - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: etapa_ensino - description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos - Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__faixa_etaria - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe (Comuns ou Exclusivas) e faixa etária - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: faixa_etaria - description: Faixa etária - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__localizacao - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe, rede e localização - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: rede - description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) - - name: localizacao - description: Localização (e.g. Zona Urbana, Zona Rural) - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__sexo_raca_cor - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe, sexo e raça/cor - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: sexo - description: Sexo - - name: raca_cor - description: Raça/Cor - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__tempo_ensino - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe, rede e tempo de ensino (Integral ou Parcial) - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: rede - description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) - - name: tempo_ensino - description: Classificação em tempo integral e tempo parcial - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__tipo_deficiencia - description: Número de alunos matriculados na Educação Especial ao longo do tempo - por tipo de classe e tipo de deficiência, transtorno global do desenvolvimento - ou altas habilidades/superdotação - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: tipo_classe - description: Tipo de classe da Educação Especial (e.g. Classes Comuns ou Classes - Exclusivas/Especiais) - - name: tipo_deficiêcia - description: Tipo de deficiência, transtorno global do desenvolvimento ou - altas habilidades/superdotação - - name: quantidade_matricula - description: Número de matrículas - - name: br_inep_educacao_especial__uf_distorcao_idade_serie - description: 'Taxa de distorção idade-série da Educação Especial por UF. Dados - obtidos via Pedido LAI (nº protocolo: 23546066150202238)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: etapa_ensino - description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos - Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - - name: tdi - description: Taxa de distorção idade-série - - name: br_inep_educacao_especial__brasil_distorcao_idade_serie - description: 'Taxa de distorção idade-série da Educação Especial no Brasil. Dados - obtidos via Pedido LAI (nº protocolo: 23546066150202238)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: etapa_ensino - description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos - Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - - name: tdi - description: Taxa de distorção idade-série - - name: br_inep_educacao_especial__uf_taxa_rendimento - description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação - Especial por UF. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: etapa_ensino - description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos - Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - - name: taxa_aprovacao - description: Taxa de aprovação - - name: taxa_reprovacao - description: Taxa de reprovação - - name: taxa_abandono - description: Taxa de abandono - - name: br_inep_educacao_especial__brasil_taxa_rendimento - description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação - Especial no Brasil. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: etapa_ensino - description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos - Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - - name: taxa_aprovacao - description: Taxa de aprovação - - name: taxa_reprovacao - description: Taxa de reprovação - - name: taxa_abandono - description: Taxa de abandono - - name: br_inep_educacao_especial__docente_aee - description: 'Quantidade de docentes regentes e do Atendimento Educacional Especializado - (AEE) no total e com Formação Continuada em Educação Especial. Dados obtidos - via Pedido LAI (nº protocolo: 23546035869202316)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: quantidade_docente_regente - description: Número de professores regentes - - name: quantidade_docente_aee - description: Número de professores do Atendimento Educacional Especializado - (AEE) - - name: quantidade_docente_regente_formacao_continuada - description: Número de professores regentes com formação continuada sobre - Educação Especial - - name: quantidade_docente_aee_formacao_continuada - description: Número de professores do Atendimento Educacional Especializado - (AEE) com formação continuada sobre Educação Especial - - name: br_inep_educacao_especial__docente_formacao - description: 'Quantidade de docentes da Educação Básica Formação Continuada em - Educação Especial por rede de ensino. Dados obtidos via Pedido LAI (nº protocolo: - 23546049990202406)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: id_municipio - description: ID Município - IBGE 7 Dígitos - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__municipio') - field: id_municipio - - name: rede - description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) - - name: quantidade_docente_formacao_continuada - description: Quantidade de docentes da Educação Básica com formação continuada - em Educação Especial - - name: br_inep_educacao_especial__matricula_aee - description: 'Quantidade de matrículas no Atendimento Educacional Especializado - (AEE) por unidade da federação e rede de ensino. Dados obtidos via Pedido LAI - (nº protocolo: 23546086048202330)' - tests: - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: ano - description: Ano - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: sigla_uf - description: Sigla da Unidade da Federação - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - name: rede - description: Rede Escolar (e.g. Federal, Estadual, Municipal e Privada) - - name: quantidade_matricula - description: Número de matrículas na Educação Especial - - name: quantidade_matricula_aee - description: Número de matrículas no Atendimento Educacional Especializado - (AEE) diff --git a/models/br_inep_educacao_especial/schema.yml b/models/br_inep_educacao_especial/schema.yml index 7ad48021..cb02eedd 100644 --- a/models/br_inep_educacao_especial/schema.yml +++ b/models/br_inep_educacao_especial/schema.yml @@ -202,9 +202,9 @@ models: altas habilidades/superdotação - name: quantidade_matricula description: Número de matrículas - - name: br_inep_educacao_especial__distorcao_idade_serie - description: 'Taxa de distorção idade-série da Educação Especial. Dados obtidos - via Pedido LAI (nº protocolo: 23546066150202238)' + - name: br_inep_educacao_especial__uf_distorcao_idade_serie + description: 'Taxa de distorção idade-série da Educação Especial por UF. Dados + obtidos via Pedido LAI (nº protocolo: 23546066150202238)' tests: - not_null_proportion_multiple_columns: at_least: 0.05 @@ -226,9 +226,30 @@ models: Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) - name: tdi description: Taxa de distorção idade-série - - name: br_inep_educacao_especial__taxa_rendimento + - name: br_inep_educacao_especial__brasil_distorcao_idade_serie + description: 'Taxa de distorção idade-série da Educação Especial no Brasil. Dados + obtidos via Pedido LAI (nº protocolo: 23546066150202238)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: tdi + description: Taxa de distorção idade-série + - name: br_inep_educacao_especial__uf_taxa_rendimento description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação - Especial. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' + Especial por UF. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 columns: - name: ano description: Ano @@ -251,10 +272,35 @@ models: description: Taxa de reprovação - name: taxa_abandono description: Taxa de abandono + - name: br_inep_educacao_especial__brasil_taxa_rendimento + description: 'Taxas de rendimento (aprovação, reprovação e abandono) da Educação + Especial no Brasil. Dados obtidos via Pedido LAI (nº protocolo: 23546054413202266)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: etapa_ensino + description: Etapa e/ou Sub-etapas de ensino (e.g. Creche, Pré-escola, Anos + Iniciais, Anos Finais, Ensino Fundamental - EJA, ...) + - name: taxa_aprovacao + description: Taxa de aprovação + - name: taxa_reprovacao + description: Taxa de reprovação + - name: taxa_abandono + description: Taxa de abandono - name: br_inep_educacao_especial__docente_aee description: 'Quantidade de docentes regentes e do Atendimento Educacional Especializado (AEE) no total e com Formação Continuada em Educação Especial. Dados obtidos via Pedido LAI (nº protocolo: 23546035869202316)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 columns: - name: ano description: Ano @@ -289,6 +335,9 @@ models: description: 'Quantidade de docentes da Educação Básica Formação Continuada em Educação Especial por rede de ensino. Dados obtidos via Pedido LAI (nº protocolo: 23546049990202406)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 columns: - name: ano description: Ano @@ -317,6 +366,9 @@ models: description: 'Quantidade de matrículas no Atendimento Educacional Especializado (AEE) por unidade da federação e rede de ensino. Dados obtidos via Pedido LAI (nº protocolo: 23546086048202330)' + tests: + - not_null_proportion_multiple_columns: + at_least: 0.05 columns: - name: ano description: Ano From 9586d6b5de93880fbcbf007b2e66221e55f9adea Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Thu, 24 Oct 2024 22:25:52 -0300 Subject: [PATCH 13/27] fix lint --- ...br_inep_educacao_especial__brasil_distorcao_idade_serie.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql index b7547236..31104656 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql @@ -11,5 +11,4 @@ select safe_cast(etapa_ensino as string) etapa_ensino, safe_cast(tdi as float64) tdi, from - `basedosdados-staging.br_inep_educacao_especial_staging.brasil_distorcao_idade_serie` - as t + `basedosdados-staging.br_inep_educacao_especial_staging.brasil_distorcao_idade_serie` as t From a3362ed311eb955fd56916cfe4f4429725c959b4 Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Fri, 25 Oct 2024 09:48:10 -0300 Subject: [PATCH 14/27] remove 2 non existing tables --- ..._educacao_especial__distorcao_idade_serie.sql | 14 -------------- ...r_inep_educacao_especial__taxa_rendimento.sql | 16 ---------------- 2 files changed, 30 deletions(-) delete mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql delete mode 100644 models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql deleted file mode 100644 index 2a8451e0..00000000 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__distorcao_idade_serie.sql +++ /dev/null @@ -1,14 +0,0 @@ -{{ - config( - alias="distorcao_idade_serie", - schema="br_inep_educacao_especial", - materialized="table", - ) -}} - -select - safe_cast(ano as int64) ano, - safe_cast(sigla_uf as string) sigla_uf, - safe_cast(etapa_ensino as string) etapa_ensino, - safe_cast(tdi as float64) tdi, -from `basedosdados-staging.br_inep_educacao_especial_staging.distorcao_idade_serie` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql deleted file mode 100644 index de69f9be..00000000 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__taxa_rendimento.sql +++ /dev/null @@ -1,16 +0,0 @@ -{{ - config( - alias="taxa_rendimento", - schema="br_inep_educacao_especial", - materialized="table", - ) -}} - -select - safe_cast(ano as int64) ano, - safe_cast(sigla_uf as string) sigla_uf, - safe_cast(etapa_ensino as string) etapa_ensino, - safe_cast(taxa_aprovacao as float64) taxa_aprovacao, - safe_cast(taxa_reprovacao as float64) taxa_reprovacao, - safe_cast(taxa_abandono as float64) taxa_abandono, -from `basedosdados-staging.br_inep_educacao_especial_staging.taxa_rendimento` as t From 4e0812370eca7e2c3d80b778902ff63529ce82d4 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Fri, 25 Oct 2024 10:47:46 -0300 Subject: [PATCH 15/27] Atualizar br_tse_eleicoes__resultados_candidato_municipio e colocar testes --- ...eicoes__resultados_candidato_municipio.sql | 4 ++-- models/br_tse_eleicoes/schema.yml | 22 ++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio.sql index b11e3dab..e6d6f982 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio.sql @@ -6,7 +6,7 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 1998, "end": 2022, "interval": 2}, + "range": {"start": 1994, "end": 2024, "interval": 2}, }, cluster_by=["sigla_uf"], ) @@ -16,7 +16,7 @@ select safe_cast(turno as int64) turno, safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as string) data_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index 5581732f..871cf6cd 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -1240,11 +1240,13 @@ models: - ano - turno - id_eleicao + - sigla_uf - id_municipio_tse + - cargo - sequencial_candidato - numero_candidato - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.80 columns: - name: ano description: Ano @@ -1256,14 +1258,27 @@ models: description: Cargo - name: data_eleicao description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: id_candidato_bd description: ID Candidato - Base dos Dados - name: id_eleicao description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: numero_candidato description: Número do candidato - name: numero_partido @@ -1276,6 +1291,11 @@ models: description: Sigla do partido - name: sigla_uf description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [GB, GP, RB] - name: tipo_eleicao description: Tipo da eleição - name: turno From d8cf314aafd0324d93e4898efffb7281030e7a6c Mon Sep 17 00:00:00 2001 From: vilelaluiza Date: Fri, 25 Oct 2024 12:07:07 -0300 Subject: [PATCH 16/27] fix lint mesmo --- ...r_inep_educacao_especial__brasil_distorcao_idade_serie.sql | 3 ++- .../br_inep_educacao_especial__brasil_taxa_rendimento.sql | 3 ++- .../br_inep_educacao_especial__uf_distorcao_idade_serie.sql | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql index 31104656..b7547236 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_distorcao_idade_serie.sql @@ -11,4 +11,5 @@ select safe_cast(etapa_ensino as string) etapa_ensino, safe_cast(tdi as float64) tdi, from - `basedosdados-staging.br_inep_educacao_especial_staging.brasil_distorcao_idade_serie` as t + `basedosdados-staging.br_inep_educacao_especial_staging.brasil_distorcao_idade_serie` + as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql index f6138975..953b4c0b 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__brasil_taxa_rendimento.sql @@ -12,4 +12,5 @@ select safe_cast(taxa_aprovacao as float64) taxa_aprovacao, safe_cast(taxa_reprovacao as float64) taxa_reprovacao, safe_cast(taxa_abandono as float64) taxa_abandono, -from `basedosdados-staging.br_inep_educacao_especial_staging.brasil_taxa_rendimento` as t +from + `basedosdados-staging.br_inep_educacao_especial_staging.brasil_taxa_rendimento` as t diff --git a/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql index 5c8fa01f..a4c93bb0 100644 --- a/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql +++ b/models/br_inep_educacao_especial/br_inep_educacao_especial__uf_distorcao_idade_serie.sql @@ -11,4 +11,6 @@ select safe_cast(sigla_uf as string) sigla_uf, safe_cast(etapa_ensino as string) etapa_ensino, safe_cast(tdi as float64) tdi, -from `basedosdados-staging.br_inep_educacao_especial_staging.uf_distorcao_idade_serie` as t +from + `basedosdados-staging.br_inep_educacao_especial_staging.uf_distorcao_idade_serie` + as t From 1d34e897857be471bfb8c3ed436aff0dd25c1ac3 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Fri, 25 Oct 2024 21:15:06 +0000 Subject: [PATCH 17/27] =?UTF-8?q?Adi=C3=A7=C3=A3o=20de=20Testes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../br_rf_arrecadacao__cnae.sql | 18 +- .../br_rf_arrecadacao__ir_ipi.sql | 17 +- .../br_rf_arrecadacao__itr.sql | 23 +- .../br_rf_arrecadacao__natureza_juridica.sql | 22 +- .../br_rf_arrecadacao__uf.sql | 2 +- models/br_rf_arrecadacao/cnae | 506 ++++++++++++++++++ models/br_rf_arrecadacao/code/clean_cnae.py | 1 + models/br_rf_arrecadacao/code/clean_data.py | 120 +++++ .../br_rf_arrecadacao/code/clean_functions.py | 51 +- models/br_rf_arrecadacao/code/clean_itr.py | 15 + models/br_rf_arrecadacao/schema.yml | 187 +++++-- 11 files changed, 895 insertions(+), 67 deletions(-) create mode 100644 models/br_rf_arrecadacao/cnae create mode 100644 models/br_rf_arrecadacao/code/clean_data.py diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql index 274d138e..b6f14265 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql @@ -1,9 +1,21 @@ -{{ config(alias="cnae", schema="br_rf_arrecadacao") }} +{{ + config( + schema="br_rf_arrecadacao", + alias="cnae", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2016, "end": 2024, "interval": 1}, + }, + cluster_by=["mes"], + ) +}} + select safe_cast(ano as int64) ano, safe_cast(mes as int64) mes, safe_cast(secao_sigla as string) secao_sigla, - safe_cast(secao_nome as string) secao_nome, safe_cast(imposto_importacao as float64) imposto_importacao, safe_cast(imposto_exportacao as float64) imposto_exportacao, safe_cast(ipi as float64) ipi, @@ -21,4 +33,4 @@ select safe_cast(pagamento_unificado as float64) pagamento_unificado, safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(demais_receitas as float64) demais_receitas, -from `basedosdados-staging.br_rf_arrecadacao_staging.cnae` as t +from `basedosdados-dev.br_rf_arrecadacao_staging.cnae` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql index d0e21a42..3982c853 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql @@ -1,4 +1,17 @@ -{{ config(alias="ir_ipi", schema="br_rf_arrecadacao") }} +{{ + config( + schema="br_rf_arrecadacao", + alias="ir_ipi", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2019, "end": 2024, "interval": 1}, + }, + cluster_by=["mes"], + ) +}} + select safe_cast(ano as int64) ano, safe_cast(mes as int64) mes, @@ -10,4 +23,4 @@ select safe_cast(restituicao as float64) restituicao, safe_cast(outros as float64) outros, safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, -from `basedosdados-staging.br_rf_arrecadacao_staging.ir_ipi` as t +from `basedosdados-dev.br_rf_arrecadacao_staging.ir_ipi` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql index 62d48cc9..e52f5758 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql @@ -1,9 +1,22 @@ -{{ config(alias="itr", schema="br_rf_arrecadacao") }} +{{ + config( + schema="br_rf_arrecadacao", + alias="itr", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2017, "end": 2024, "interval": 1}, + }, + cluster_by=["mes"], + ) +}} + select safe_cast(ano as int64) ano, safe_cast(mes as int64) mes, - safe_cast(nome_uf as string) nome_uf, - safe_cast(regiao_politica as string) regiao_politica, - safe_cast(cidade_uf as string) cidade_uf, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(sigla_regiao as string) sigla_regiao, + safe_cast(cidade as string) cidade, safe_cast(valor_arrecadado as float64) valor_arrecadado, -from `basedosdados-staging.br_rf_arrecadacao_staging.itr` as t +from `basedosdados-dev.br_rf_arrecadacao_staging.itr` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index 2aa0cad6..f3b670f2 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -1,10 +1,23 @@ -{{ config(alias="natureza_juridica", schema="br_rf_arrecadacao") }} +{{ + config( + schema="br_rf_arrecadacao", + alias="natureza_juridica", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2016, "end": 2024, "interval": 1}, + }, + cluster_by=["mes"], + ) +}} + with referencia_codigo as ( select id_natureza_juridica, substr(cast(id_natureza_juridica as string), 0, 3) as inicio_codigo - from basedosdados - staging.br_bd_diretorios_brasil.natureza_juridica + from basedosdados - dev.br_bd_diretorios_brasil.natureza_juridica ) select safe_cast(t.ano as int64) ano, @@ -12,7 +25,6 @@ select safe_cast( referencia_codigo.id_natureza_juridica as string ) natureza_juridica_codigo, - safe_cast(t.natureza_juridica_nome as string) natureza_juridica_nome, safe_cast(t.imposto_importacao as float64) imposto_importacao, safe_cast(t.imposto_exportacao as float64) imposto_exportacao, safe_cast(t.ipi as float64) ipi, @@ -30,6 +42,6 @@ select safe_cast(t.pagamento_unificado as float64) pagamento_unificado, safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(t.demais_receitas as float64) demais_receitas, -from `basedosdados-staging.br_rf_arrecadacao_staging.natureza_juridica` as t -left join +from `basedosdados-dev.br_rf_arrecadacao_staging.natureza_juridica` as t +inner join referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql index 586a847d..39f86f7f 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql @@ -62,4 +62,4 @@ select safe_cast(receita_previdenciaria_propria as float64) receita_previdenciaria_propria, safe_cast(receita_previdenciaria_demais as float64) receita_previdenciaria_demais, safe_cast(receitas_outros_orgaos as float64) receitas_outros_orgaos, -from `basedosdados-staging.br_rf_arrecadacao_staging.uf` as t +from `basedosdados-dev.br_rf_arrecadacao_staging.uf` as t diff --git a/models/br_rf_arrecadacao/cnae b/models/br_rf_arrecadacao/cnae new file mode 100644 index 00000000..74eb43da --- /dev/null +++ b/models/br_rf_arrecadacao/cnae @@ -0,0 +1,506 @@ +--- +version: 2 +models: + - name: br_rf_arrecadacao__uf + description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo + receitas administradas e não administradas pela Receita Federal do Brasil. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [ano, mes, sigla_uf] + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: sigla_uf + description: Sigla da Unidade da Federação. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: imposto_importacao + description: Imposto sobre a Importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: imposto_exportacao + description: Imposto sobre a Exportação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipi_fumo + description: Imposto sobre Produtos Industrializado incidente sobre setor + de fumo. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipi_bebidas + description: Imposto sobre Produtos Industrializado incidente sobre setor + de bebidas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipi_automoveis + description: Imposto sobre Produtos Industrializado incidente sobre setor + de automóveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipi_importacoes + description: Imposto sobre Produtos Industrializado vinculado à importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipi_outros + description: Imposto sobre Produtos Industrializado incidente sobre outros + produtos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irpf + description: Imposto sobre a Renda da Pessoa Física. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irpj_entidades_financeiras + description: Imposto sobre a Renda da Pessoa Jurídica incidente em entidades + financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irpj_demais_empresas + description: Imposto sobre a Renda da Pessoa Jurídica incidente em demais + empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irrf_rendimentos_trabalho + description: Imposto sobre a Renda Retido na Fonte referente à rendimentos + do trabalho. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irrf_rendimentos_capital + description: Imposto sobre a Renda Retido na Fonte referente à rendimentos + do capital. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irrf_remessas_exterior + description: Imposto sobre a Renda Retido na Fonte referente à remessas para + o exterior. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: irrf_outros_rendimentos + description: Imposto sobre a Renda Retido na Fonte referente à outros rendimentos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: iof + description: Imposto sobre Operações Financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: itr + description: Imposto sobre a Propriedade Territorial Rural. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: ipmf + description: Imposto Provisório sobre Movimentação Financeira. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.06 + - name: cpmf + description: Contribuição Provisória sobre Movimentação Financeira. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.45 + - name: cofins + description: Contribuição para o Financiamento da Seguridade Social. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 + - name: cofins_entidades_financeiras + description: Contribuição para o Financiamento da Seguridade Social referente + à entidades financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: cofins_demais_empresas + description: Contribuição para o Financiamento da Seguridade Social referente + à demais empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: pis_pasep + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 + - name: pis_pasep_entidades_financeiras + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público referente à entidades financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: pis_pasep_demais_empresas + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público referente à demais empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: csll + description: Contribuição Social sobre o Lucro Líquido. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 + - name: csll_entidades_financeiras + description: Contribuição Social sobre o Lucro Líquido referente à entidades + financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: csll_demais_empresas + description: Contribuição Social sobre o Lucro Líquido referente à demais + empresas. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 + - name: cide_combustiveis_parcela_nao_dedutivel + description: Parcela não dedutível da Contribuição de Intervenção no Domínio + Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 + - name: cide_combustiveis + description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 + - name: cpsss_1 + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.12 + - name: cpsss_2 + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.50 + - name: contribuicao_fundaf + description: Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento + das Atividades de Fiscalização (Fundaf). + tests: + - dbt_utils.not_null_proportion: + at_least: 0.55 + - name: refis + description: Programa de Recuperação Fiscal. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 + - name: paes + description: Parcelamento Especial. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.03 + - name: retencoes_fonte + description: Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no + art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.02 + - name: pagamento_unificado + description: Pagamentos referentes a vários tributos feitos em um único documento + de arrecadação, tipo parcelamentos, retenções, Simples etc. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.04 + - name: outras_receitas_rfb + description: Outras receitas administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 + - name: demais_receitas + description: Outras receitas não administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.25 + - name: receita_previdenciaria + description: Total da Receita Previdenciária. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.25 + - name: receita_previdenciaria_propria + description: Receita Previdenciária Própria. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.15 + - name: receita_previdenciaria_demais + description: Receita Previdenciária Demais. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.15 + - name: receitas_outros_orgaos + description: Receitas administradas por outros órgãos. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.50 + - name: br_rf_arrecadacao__cnae + description: Contém os dados de arrecadação bruta mensal realizadas em Documento + de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores + econômicos, identificados pela seção, constantes da tabela de Classificação + Nacional de Atividades Econômicas(Cnae). + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [ano, mes, secao_sigla, secao_nome] + - not_null_proportion_multiple_columns: + at_least: 0.85 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: secao_sigla + description: Código da Seção da atividade econômica constante da Cnae. + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__cnae_2') + field: secao + ignore_values: ['IN','NI','PF'] + - name: secao_nome + description: Nome da Seção da atividade econômica constante da Cnae + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__cnae_2') + field: descricao_secao + - name: imposto_importacao + description: Imposto sobre a Importação. + - name: imposto_exportacao + description: Imposto sobre a Exportação. + - name: ipi + description: Imposto sobre Produtos Industrializados. + - name: irpf + description: Imposto sobre a Renda da Pessoa Física. + - name: irpj + description: Imposto sobre a Renda da Pessoa Jurídica. + - name: irrf + description: Imposto sobre a Renda Retido na Fonte. + - name: iof + description: Imposto sobre Operações Financeiras. + - name: itr + description: Imposto sobre a Propriedade Territorial Rural. + - name: cofins + description: Contribuição para o Financiamento da Seguridade Social. + - name: pis_pasep + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. + - name: csll + description: Contribuição Social sobre o Lucro Líquido. + - name: cide_combustiveis + description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + - name: contribuicao_previdenciaria + description: Contribuição Previdenciária arrecadada em Darf. + - name: cpsss + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + - name: pagamento_unificado + description: Pagamentos referentes a vários tributos feitos em um único documento + de arrecadação, como parcelamentos, retenções, Simples etc. + - name: outras_receitas_rfb + description: Outras receitas administradas pela RFB. + - name: demais_receitas + description: Outras receitas não administradas pela RFB. + - name: br_rf_arrecadacao__natureza_juridica + description: Contém os dados de arrecadação bruta mensal realizadas em Documento + de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos + tipos de Naturezas Jurídicas. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ano + - mes + - natureza_juridica_codigo + - natureza_juridica_nome + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: natureza_juridica_codigo + description: Código do tipo de Natureza Jurídica. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: id_natureza_juridica + - name: natureza_juridica_nome + description: Nome do tipo da Natureza Jurídica. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__natureza_juridica') + field: descricao + - name: imposto_importacao + description: Imposto sobre a Importação. + - name: imposto_exportacao + description: Imposto sobre a Exportação. + - name: ipi + description: Imposto sobre Produtos Industrializados. + - name: irpf + description: Imposto sobre a Renda da Pessoa Física. + - name: irpj + description: Imposto sobre a Renda da Pessoa Jurídica. + - name: irrf + description: Imposto sobre a Renda Retido na Fonte. + - name: iof + description: Imposto sobre Operações Financeiras. + - name: itr + description: Imposto sobre a Propriedade Territorial Rural. + - name: cofins + description: Contribuição para o Financiamento da Seguridade Social. + - name: pis_pasep + description: Programa de Integração Social e o Programa de Formação do Patrimônio + do Servidor Público. + - name: csll + description: Contribuição Social sobre o Lucro Líquido. + - name: cide_combustiveis + description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + - name: contribuicao_previdenciaria + description: Contribuição Previdenciária arrecadada em Darf. + - name: cpsss + description: Contribuição para o Plano de Seguridade Social do Servidor Público. + - name: pagamento_unificado + description: Pagamentos referentes a vários tributos feitos em um único documento + de arrecadação, como parcelamentos, retenções, Simples etc. + - name: outras_receitas_rfb + description: Outras receitas administradas pela RFB. + - name: demais_receitas + description: Outras receitas não administradas pela RFB. + - name: br_rf_arrecadacao__ir_ipi + description: Contém os dados de arrecadação decendial do Imposto sobre a Renda + (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação + bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação + líquida, valor este último passível de repasse aos Fundos de Participação dos + Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [ano, mes, tributo, decendio] + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: tributo + description: Identificação de Tributo (IR ou IPI). + - name: decendio + description: Decêndio de referência. + - name: arrecadacao_bruta + description: Valor da arrecadação bruta dos tributos sem nenhum acréscimo + ou dedução. É a etapa inicial da arrecadação, quando há o pagamento efetuado + pelo contribuinte. + - name: retificacao + description: Valor do saldo das retificações efetuadas nos Documentos de Arrecadação + de Receitas Federais (Darf). São alterações feitas nos documentos de arrecadação + em função de erro de preenchimento. + - name: compensacao + description: Valor do saldo das compensações efetuadas. Utilização de valores + pagos anteriormente para quitação de débitos de outros tributos, distintos + de IR ou IPI, e vice-versa. + - name: restituicao + description: Valor do saldo das restituições efetuadas pela Receita Federal + em função de pagamentos feitos a maior ou indevidos. + - name: outros + description: Demais eventos que agem sobre o valor da arrecadação bruta. + - name: arrecadacao_liquida + description: Valor resultante da arrecadação bruta, depois da incidência dos + demais eventos de arrecadação. + - name: br_rf_arrecadacao__itr + description: Contém os dados de arrecadação líquida mensal do Imposto sobre a + Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível + de repasse aos próprios municípios onde se localizam essas propriedades rurais, + conforme a situação do município, conveniado ou não conveniado com a União para + fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ano + - mes + - nome_uf + - regiao_politica + - cidade_uf + - not_null_proportion_multiple_columns: + at_least: 0.95 + columns: + - name: ano + description: Ano de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês de referência. + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: nome_uf + description: Nome da Unidade da Federação onde se localiza o município conveniado + ou não conveniado. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: nome + - name: regiao_politica + description: Nome da Região Política onde se localiza o município conveniado + ou não conveniado. + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: regiao + - name: cidade_uf + description: "Nome do município conveniado ou não conveniado seguido da sigla\ + \ da\nUnidade da Federação onde se localiza o município." + - name: valor_arrecadado + description: Valor arrecadado. diff --git a/models/br_rf_arrecadacao/code/clean_cnae.py b/models/br_rf_arrecadacao/code/clean_cnae.py index c669f758..a3b98b20 100644 --- a/models/br_rf_arrecadacao/code/clean_cnae.py +++ b/models/br_rf_arrecadacao/code/clean_cnae.py @@ -33,6 +33,7 @@ def rename_columns(df): def change_types(df): df['ano'] = df['ano'].astype('int') df['mes'] = get_month_number(df['mes']) + df['secao_nome'] = df['secao_nome'].str.title() #All remaining columns are monetary values for col in df.columns[4:]: diff --git a/models/br_rf_arrecadacao/code/clean_data.py b/models/br_rf_arrecadacao/code/clean_data.py new file mode 100644 index 00000000..9c65d6d8 --- /dev/null +++ b/models/br_rf_arrecadacao/code/clean_data.py @@ -0,0 +1,120 @@ +import os +import numpy as np +import pandas as pd + +file_directory = os.path.dirname(__file__) + +def read_data(): + data_directory = os.path.join(file_directory, '../input/arrecadacao-estado.csv') + return pd.read_csv(data_directory, sep=';') + +def removeEmptyRows(df): + return df.dropna(axis=0, how='all') + +def rename_columns(df): + name_dict = { + 'Ano':'ano', + 'Mês':'mes', + 'UF':'sigla_uf', + 'IMPOSTO SOBRE IMPORTAÇÃO':'imposto_importacao', + 'IMPOSTO SOBRE EXPORTAÇÃO':'imposto_exportacao', + 'IPI - FUMO':'ipi_fumo', + 'IPI - BEBIDAS':'ipi_bebidas', + 'IPI - AUTOMÓVEIS':'ipi_automoveis', + 'IPI - VINCULADO À IMPORTACAO':'ipi_importacoes', + 'IPI - OUTROS':'ipi_outros', + 'IRPF':'irpf', + 'IRPJ - ENTIDADES FINANCEIRAS':'irpj_entidades_financeiras', + 'IRPJ - DEMAIS EMPRESAS':'irpj_demais_empresas', + 'IRRF - RENDIMENTOS DO TRABALHO':'irrf_rendimentos_trabalho', + 'IRRF - RENDIMENTOS DO CAPITAL':'irrf_rendimentos_capital', + 'IRRF - REMESSAS P/ EXTERIOR':'irrf_remessas_exterior', + 'IRRF - OUTROS RENDIMENTOS':'irrf_outros_rendimentos', + 'IMPOSTO S/ OPERAÇÕES FINANCEIRAS':'iof', + 'IMPOSTO TERRITORIAL RURAL':'itr', + 'IMPOSTO PROVIS.S/ MOVIMENT. FINANC. - IPMF':'ipmf', + 'CPMF':'cpmf', + 'COFINS':'cofins', + 'COFINS - FINANCEIRAS':'cofins_financeiras', + 'COFINS - DEMAIS':'cofins_demais_empresas', + 'CONTRIBUIÇÃO PARA O PIS/PASEP':'pis_pasep', + 'CONTRIBUIÇÃO PARA O PIS/PASEP - FINANCEIRAS':'pis_pasep_entidades_financeiras', + 'CONTRIBUIÇÃO PARA O PIS/PASEP - DEMAIS':'pis_pasep_demais_empresas', + 'CSLL':'csll', + 'CSLL - FINANCEIRAS':'csll_financeiras', + 'CSLL - DEMAIS':'csll_demais_empresas', + 'CIDE-COMBUSTÍVEIS (parc. não dedutível)': 'cide_combustiveis_parcela_nao_dedutivel', + 'CIDE-COMBUSTÍVEIS':'cide_combustiveis', + 'CONTRIBUIÇÃO PLANO SEG. SOC. SERVIDORES':'cpsss_1', + 'CPSSS - Contrib. p/ o Plano de Segurid. Social Serv. Público':'cpsss_2', + 'CONTRIBUICÕES PARA FUNDAF':'contribuicoes_fundaf', + 'REFIS':'refis', + 'PAES':'paes', + 'RETENÇÃO NA FONTE - LEI 10.833, Art. 30':'retencoes_fonte', + 'PAGAMENTO UNIFICADO':'pagamento_unificado', + 'OUTRAS RECEITAS ADMINISTRADAS':'outras_receitas_', + 'DEMAIS RECEITAS':'demais_receitas', + 'RECEITA PREVIDENCIÁRIA':'receita_previdenciaria', + 'RECEITA PREVIDENCIÁRIA - PRÓPRIA':'receita_previdenciaria_propria', + 'RECEITA PREVIDENCIÁRIA - DEMAIS':'receita_previdenciaria_demais', + 'ADMINISTRADAS POR OUTROS ÓRGÃOS':'receitas_outros_orgaos' + } + + return df.rename(columns=name_dict) + +def replace_commas(value): + string_value = str(value) + num_commas = string_value.count(',') + if num_commas == 1: + return string_value.replace(',','.') + elif num_commas > 1: + return string_value.replace(',','',num_commas-1).replace(',','.') + else: + return string_value + +def remove_dots(value): + string_value = str(value) + num_dots = string_value.count('.') + if num_dots > 1: + return string_value.replace('.','',num_dots-1) + else: + return string_value + +def get_month_number(month_column): + month_numbers = { + 'Janeiro': '1', + 'Fevereiro': '2', + 'Março': '3', + 'Abril': '4', + 'Maio': '5', + 'Junho': '6', + 'Julho': '7', + 'Agosto': '8', + 'Setembro': '9', + 'Outubro': '10', + 'Novembro': '11', + 'Dezembro':'12' + } + return month_column.replace(month_numbers).astype('int') + +def change_types(df): + df['ano'] = df['ano'].astype('int') + df['mes'] = get_month_number(df['mes']) + df['sigla_uf'] = df['sigla_uf'].astype('string') + + #All remaining columns are monetary values + for col in df.columns[3:]: + df[col] = df[col].apply(replace_commas).apply(remove_dots).astype('float') + + return df + +def save_data(df): + data_directory = os.path.join(file_directory, '../output/br_rf_arrecadacao') + df.to_parquet(data_directory, partition_cols=['ano','mes']) + +if __name__ == '__main__': + df = read_data() + df = removeEmptyRows(df) + df = rename_columns(df) + df = change_types(df) + save_data(df) diff --git a/models/br_rf_arrecadacao/code/clean_functions.py b/models/br_rf_arrecadacao/code/clean_functions.py index 7a2d683b..260da075 100644 --- a/models/br_rf_arrecadacao/code/clean_functions.py +++ b/models/br_rf_arrecadacao/code/clean_functions.py @@ -2,7 +2,7 @@ import numpy as np import pandas as pd from typing import List -from pathlib import Path +from pathlib import Path file_directory = os.path.dirname(__file__) @@ -26,7 +26,7 @@ def replace_commas(value): return string_value.replace(',','',num_commas-1).replace(',','.') else: return string_value - + def remove_dots(value): string_value = str(value) num_dots = string_value.count('.') @@ -56,6 +56,53 @@ def get_month_number(month_column): } return month_inits.replace(month_numbers).astype('int') +def get_state_letters(state_column): + + state_lower = state_column.str.lower() + states = { + "acre": "AC", + "alagoas": "AL", + "amapá": "AP", + "amazonas": "AM", + "bahia": "BA", + "ceará": "CE", + "distrito federal": "DF", + "espírito santo": "ES", + "goiás": "GO", + "maranhão": "MA", + "mato grosso": "MT", + "mato grosso do sul": "MS", + "minas gerais": "MG", + "pará": "PA", + "paraíba": "PB", + "paraná": "PR", + "pernambuco": "PE", + "piauí": "PI", + "rio de janeiro": "RJ", + "rio grande do norte": "RN", + "rio grande do sul": "RS", + "rondônia": "RO", + "roraima": "RR", + "santa catarina": "SC", + "são paulo": "SP", + "sergipe": "SE", + "tocantins": "TO" + } + return state_lower.replace(states) + +def get_region_letters(region_names): + + region_lower = region_names.str.lower() + + regions = { + "norte" : "N", + "sul" : "S", + "centro-oeste" : "CO", + "sudeste" : "SE", + "nordeste" : "NE" + } + return region_lower.replace(regions) + def to_partitions( data: pd.DataFrame, partition_columns: List[str], diff --git a/models/br_rf_arrecadacao/code/clean_itr.py b/models/br_rf_arrecadacao/code/clean_itr.py index 8eea9ffb..3a83ea92 100644 --- a/models/br_rf_arrecadacao/code/clean_itr.py +++ b/models/br_rf_arrecadacao/code/clean_itr.py @@ -22,9 +22,24 @@ def change_types(df): return df +def format_state(df): + df['sigla_uf'] = get_state_letters(df['nome_uf']) + return df.drop('nome_uf',axis=1) + +def format_region(df): + df['sigla_regiao'] = get_region_letters(df['regiao_politica']) + return df.drop('regiao_politica',axis=1) + +def format_city(df): + df['cidade'] = df['cidade_uf'].str.split(' - ').str[0] + return df.drop('cidade_uf',axis=1) + if __name__ == '__main__': df = read_data(file_dir='../input/arrecadacao-itr.csv') df = remove_empty_rows(df) df = rename_columns(df) df = change_types(df) + df = format_state(df) + df = format_region(df) + df = format_city(df) save_data(df=df,file_dir='../output/br_rf_arrecadacao_itr',partition_cols=['ano','mes']) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 6ad124e7..9239630b 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -269,9 +269,7 @@ models: Nacional de Atividades Econômicas(Cnae). tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, secao_sigla, secao_nome] - - not_null_proportion_multiple_columns: - at_least: 0.95 + combination_of_columns: [ano, mes, secao_sigla] columns: - name: ano description: Ano de referência. @@ -279,73 +277,119 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: mes description: Mês de referência. tests: - relationships: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: secao_sigla description: Código da Seção da atividade econômica constante da Cnae. tests: - - relationships: + - custom_relationships: to: ref('br_bd_diretorios_brasil__cnae_2') field: secao - - name: secao_nome - description: Nome da Seção da atividade econômica constante da Cnae - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: descricao_secao + ignore_values: [IN, NI, PF] + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: imposto_importacao description: Imposto sobre a Importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.85 - name: imposto_exportacao description: Imposto sobre a Exportação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.35 - name: ipi description: Imposto sobre Produtos Industrializados. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: irpf description: Imposto sobre a Renda da Pessoa Física. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.60 - name: irpj description: Imposto sobre a Renda da Pessoa Jurídica. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: irrf description: Imposto sobre a Renda Retido na Fonte. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: iof description: Imposto sobre Operações Financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: itr description: Imposto sobre a Propriedade Territorial Rural. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.85 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: pis_pasep description: Programa de Integração Social e o Programa de Formação do Patrimônio do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: csll description: Contribuição Social sobre o Lucro Líquido. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.80 - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: cpsss description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.65 - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: outras_receitas_rfb description: Outras receitas administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: demais_receitas description: Outras receitas não administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: br_rf_arrecadacao__natureza_juridica description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos tipos de Naturezas Jurídicas. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - mes - - natureza_juridica_codigo - - natureza_juridica_nome - - not_null_proportion_multiple_columns: - at_least: 0.95 + combination_of_columns: [ano, mes, natureza_juridica_codigo] columns: - name: ano description: Ano de referência. @@ -353,60 +397,111 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: mes description: Mês de referência. tests: - relationships: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: natureza_juridica_codigo description: Código do tipo de Natureza Jurídica. tests: - relationships: to: ref('br_bd_diretorios_brasil__natureza_juridica') field: id_natureza_juridica - - name: natureza_juridica_nome - description: Nome do tipo da Natureza Jurídica. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__natureza_juridica') - field: descricao + - dbt_utils.not_null_proportion: + at_least: 0.95 - name: imposto_importacao description: Imposto sobre a Importação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.40 - name: imposto_exportacao description: Imposto sobre a Exportação. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.15 - name: ipi description: Imposto sobre Produtos Industrializados. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.35 - name: irpf description: Imposto sobre a Renda da Pessoa Física. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.20 - name: irpj description: Imposto sobre a Renda da Pessoa Jurídica. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.60 - name: irrf description: Imposto sobre a Renda Retido na Fonte. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: iof description: Imposto sobre Operações Financeiras. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.35 - name: itr description: Imposto sobre a Propriedade Territorial Rural. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.40 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 - name: pis_pasep description: Programa de Integração Social e o Programa de Formação do Patrimônio do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.85 - name: csll description: Contribuição Social sobre o Lucro Líquido. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.65 - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.35 - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 - name: cpsss description: Contribuição para o Plano de Seguridade Social do Servidor Público. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.35 - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.90 - name: outras_receitas_rfb description: Outras receitas administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 - name: demais_receitas description: Outras receitas não administradas pela RFB. + tests: + - dbt_utils.not_null_proportion: + at_least: 0.75 - name: br_rf_arrecadacao__ir_ipi description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação @@ -437,24 +532,24 @@ models: description: Decêndio de referência. - name: arrecadacao_bruta description: Valor da arrecadação bruta dos tributos sem nenhum acréscimo - ou dedução. É a etapa inicial da arrecadação, quando há o pagamento efetuado - pelo contribuinte. + ou dedução. É a etapa inicial da arrecadação, quando há o pagamento efetuado + pelo contribuinte. - name: retificacao description: Valor do saldo das retificações efetuadas nos Documentos de Arrecadação - de Receitas Federais (Darf). São alterações feitas nos documentos de arrecadação - em função de erro de preenchimento. + de Receitas Federais (Darf). São alterações feitas nos documentos de arrecadação + em função de erro de preenchimento. - name: compensacao description: Valor do saldo das compensações efetuadas. Utilização de valores - pagos anteriormente para quitação de débitos de outros tributos, distintos - de IR ou IPI, e vice-versa. + pagos anteriormente para quitação de débitos de outros tributos, distintos + de IR ou IPI, e vice-versa. - name: restituicao description: Valor do saldo das restituições efetuadas pela Receita Federal - em função de pagamentos feitos a maior ou indevidos. + em função de pagamentos feitos a maior ou indevidos. - name: outros description: Demais eventos que agem sobre o valor da arrecadação bruta. - name: arrecadacao_liquida description: Valor resultante da arrecadação bruta, depois da incidência dos - demais eventos de arrecadação. + demais eventos de arrecadação. - name: br_rf_arrecadacao__itr description: Contém os dados de arrecadação líquida mensal do Imposto sobre a Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível @@ -463,12 +558,7 @@ models: fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. tests: - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - mes - - nome_uf - - regiao_politica - - cidade_uf + combination_of_columns: [ano, mes, sigla_uf, sigla_regiao, cidade] - not_null_proportion_multiple_columns: at_least: 0.95 columns: @@ -484,22 +574,21 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes - - name: nome_uf - description: Nome da Unidade da Federação onde se localiza o município conveniado - ou não conveniado. + - name: sigla_uf + description: Sigla da Unidade da Federação onde se localiza o município conveniado + ou não conveniado. tests: - relationships: to: ref('br_bd_diretorios_brasil__uf') - field: nome - - name: regiao_politica - description: Nome da Região Política onde se localiza o município conveniado - ou não conveniado. + field: sigla + - name: sigla_regiao + description: Sigla da Região Política onde se localiza o município conveniado + ou não conveniado. tests: - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: regiao - - name: cidade_uf - description: "Nome do município conveniado ou não conveniado seguido da sigla\ - \ da\nUnidade da Federação onde se localiza o município." + to: ref('br_bd_diretorios_brasil__regiao') + field: sigla + - name: cidade + description: Nome do município conveniado ou não conveniado. - name: valor_arrecadado description: Valor arrecadado. From 48beaaa153db46f39fb97af0ec6b894d4ef92886 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Fri, 25 Oct 2024 21:22:18 +0000 Subject: [PATCH 18/27] =?UTF-8?q?Corre=C3=A7=C3=A3o=20Nome=20do=20Projeto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql | 2 +- models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql | 2 +- models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql | 2 +- .../br_rf_arrecadacao__natureza_juridica.sql | 4 ++-- models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql index b6f14265..009562f9 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__cnae.sql @@ -33,4 +33,4 @@ select safe_cast(pagamento_unificado as float64) pagamento_unificado, safe_cast(outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(demais_receitas as float64) demais_receitas, -from `basedosdados-dev.br_rf_arrecadacao_staging.cnae` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.cnae` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql index 3982c853..ffc6c898 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__ir_ipi.sql @@ -23,4 +23,4 @@ select safe_cast(restituicao as float64) restituicao, safe_cast(outros as float64) outros, safe_cast(arrecadacao_liquida as float64) arrecadacao_liquida, -from `basedosdados-dev.br_rf_arrecadacao_staging.ir_ipi` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.ir_ipi` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql index e52f5758..61524bce 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__itr.sql @@ -19,4 +19,4 @@ select safe_cast(sigla_regiao as string) sigla_regiao, safe_cast(cidade as string) cidade, safe_cast(valor_arrecadado as float64) valor_arrecadado, -from `basedosdados-dev.br_rf_arrecadacao_staging.itr` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.itr` as t diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index f3b670f2..d48d63d2 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -17,7 +17,7 @@ with select id_natureza_juridica, substr(cast(id_natureza_juridica as string), 0, 3) as inicio_codigo - from basedosdados - dev.br_bd_diretorios_brasil.natureza_juridica + from basedosdados - staging.br_bd_diretorios_brasil.natureza_juridica ) select safe_cast(t.ano as int64) ano, @@ -42,6 +42,6 @@ select safe_cast(t.pagamento_unificado as float64) pagamento_unificado, safe_cast(t.outras_receitas_rfb as float64) outras_receitas_rfb, safe_cast(t.demais_receitas as float64) demais_receitas, -from `basedosdados-dev.br_rf_arrecadacao_staging.natureza_juridica` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.natureza_juridica` as t inner join referencia_codigo on t.natureza_juridica_codigo = referencia_codigo.inicio_codigo diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql index 39f86f7f..586a847d 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__uf.sql @@ -62,4 +62,4 @@ select safe_cast(receita_previdenciaria_propria as float64) receita_previdenciaria_propria, safe_cast(receita_previdenciaria_demais as float64) receita_previdenciaria_demais, safe_cast(receitas_outros_orgaos as float64) receitas_outros_orgaos, -from `basedosdados-dev.br_rf_arrecadacao_staging.uf` as t +from `basedosdados-staging.br_rf_arrecadacao_staging.uf` as t From 7dcbec382442c126ae6fe70a2f4e1f2b50946312 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Mon, 28 Oct 2024 10:37:11 -0300 Subject: [PATCH 19/27] Adicionar modelo resultados_candidato_municipio_zona e testes --- ...s__resultados_candidato_municipio_zona.sql | 6 ++--- models/br_tse_eleicoes/schema.yml | 22 ++++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql index 76798436..b28b6185 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql @@ -6,7 +6,7 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 1998, "end": 2022, "interval": 2}, + "range": {"start": 1994, "end": 2024, "interval": 2}, }, cluster_by=["sigla_uf"], ) @@ -16,7 +16,7 @@ select safe_cast(turno as int64) turno, safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as string) data_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, @@ -30,5 +30,5 @@ select safe_cast(resultado as string) resultado, safe_cast(votos as int64) votos from - `basedosdados-staging.br_tse_eleicoes_staging.resultados_candidato_municipio_zona` + `basedosdados-stating.br_tse_eleicoes_staging.resultados_candidato_municipio_zona` as t diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index 871cf6cd..739559f4 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -1310,12 +1310,14 @@ models: - ano - turno - id_eleicao + - sigla_uf - id_municipio_tse + - cargo - zona - sequencial_candidato - numero_candidato - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.80 columns: - name: ano description: Ano @@ -1327,14 +1329,27 @@ models: description: Cargo - name: data_eleicao description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: id_candidato_bd description: ID Candidato - Base dos Dados - name: id_eleicao description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: numero_candidato description: Número do candidato - name: numero_partido @@ -1347,6 +1362,11 @@ models: description: Sigla do partido - name: sigla_uf description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [GB, GP, RB] - name: tipo_eleicao description: Tipo da eleição - name: turno From 76a7d3fff345013e982ba4f62756aae8642a814c Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Mon, 28 Oct 2024 10:56:12 -0300 Subject: [PATCH 20/27] Adicionar br_tse_eleicoes__resultados_partido_municipio e testes --- ...tse_eleicoes__resultados_partido_municipio.sql | 6 +++--- models/br_tse_eleicoes/schema.yml | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql index 5b13d924..ba230ce4 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql @@ -6,7 +6,7 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 1994, "end": 2022, "interval": 2}, + "range": {"start": 1994, "end": 2024, "interval": 2}, }, cluster_by=["sigla_uf"], ) @@ -17,7 +17,7 @@ select safe_cast(turno as int64) turno, safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as string) data_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, @@ -26,4 +26,4 @@ select safe_cast(sigla_partido as string) sigla_partido, safe_cast(votos_nominais as int64) votos_nominais, safe_cast(votos_legenda as int64) votos_legenda -from `basedosdados-staging.br_tse_eleicoes_staging.resultados_partido_municipio` as t +from `basedosdados-dev.br_tse_eleicoes_staging.resultados_partido_municipio` as t diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index 739559f4..4783380e 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -1441,7 +1441,7 @@ models: - cargo - numero_partido - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.90 columns: - name: ano description: Ano @@ -1453,12 +1453,25 @@ models: description: Cargo - name: data_eleicao description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: id_eleicao description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: numero_partido description: Número do partido - name: sigla_partido From ee38a5c24b0878aa634875e48ee973079f8b51c0 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Mon, 28 Oct 2024 11:31:25 -0300 Subject: [PATCH 21/27] Adicionar modelos resultados_partido_municipio e resultados_partido_municipio_zona, junto testes --- ...eleicoes__resultados_partido_municipio.sql | 2 +- ...oes__resultados_partido_municipio_zona.sql | 4 +-- models/br_tse_eleicoes/schema.yml | 25 ++++++++++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql index ba230ce4..f93eb9fd 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio.sql @@ -26,4 +26,4 @@ select safe_cast(sigla_partido as string) sigla_partido, safe_cast(votos_nominais as int64) votos_nominais, safe_cast(votos_legenda as int64) votos_legenda -from `basedosdados-dev.br_tse_eleicoes_staging.resultados_partido_municipio` as t +from `basedosdados-staging.br_tse_eleicoes_staging.resultados_partido_municipio` as t diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio_zona.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio_zona.sql index 4dfa9e05..16fe21e2 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio_zona.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_partido_municipio_zona.sql @@ -6,7 +6,7 @@ partition_by={ "field": "ano", "data_type": "int64", - "range": {"start": 1994, "end": 2022, "interval": 2}, + "range": {"start": 1994, "end": 2024, "interval": 2}, }, cluster_by=["sigla_uf"], ) @@ -17,7 +17,7 @@ select safe_cast(turno as int64) turno, safe_cast(id_eleicao as string) id_eleicao, safe_cast(tipo_eleicao as string) tipo_eleicao, - safe_cast(data_eleicao as string) data_eleicao, + safe_cast(data_eleicao as date) data_eleicao, safe_cast(sigla_uf as string) sigla_uf, safe_cast(id_municipio as string) id_municipio, safe_cast(id_municipio_tse as string) id_municipio_tse, diff --git a/models/br_tse_eleicoes/schema.yml b/models/br_tse_eleicoes/schema.yml index 4783380e..a4a2015b 100644 --- a/models/br_tse_eleicoes/schema.yml +++ b/models/br_tse_eleicoes/schema.yml @@ -1478,6 +1478,11 @@ models: description: Sigla do partido - name: sigla_uf description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [GB, GP, RB] - name: tipo_eleicao description: Tipo da eleição - name: turno @@ -1499,7 +1504,7 @@ models: - cargo - numero_partido - not_null_proportion_multiple_columns: - at_least: 0.95 + at_least: 0.90 columns: - name: ano description: Ano @@ -1511,18 +1516,36 @@ models: description: Cargo - name: data_eleicao description: Data da eleição + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data - name: id_eleicao description: ID Eleição - name: id_municipio description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio - name: id_municipio_tse description: ID Município - TSE + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio_tse + ignore_values: ['73709'] - name: numero_partido description: Número do partido - name: sigla_partido description: Sigla do partido - name: sigla_uf description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [GB, GP, RB] - name: tipo_eleicao description: Tipo da eleição - name: turno From f32c4132773a40881a4c56d4a0d2fe7ae53bf390 Mon Sep 17 00:00:00 2001 From: tricktx Date: Tue, 29 Oct 2024 12:50:31 -0300 Subject: [PATCH 22/27] create template pr in queries-basedosdados --- .github/pull_request_template.md | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..ccfdd206 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,63 @@ + +# Template Pull Requests - Queries-basedosdados + +## Nomeação do Pull Request + +A nomeação de cada Pull Request (PR) deve seguir o seguinte padrão: + +- O título de cada Pull Request (PR) deve começar com uma das seguintes palavras-chave, entre colchetes. Além disso, **marque a palavra-chave que melhor descreve o seu PR atual**: + - [ ] **[Dbt]**: Para subida de novos dados em produção. + - [ ] **[Feature]**: Para novas funcionalidades. + - [ ] **[Table-Approve]**: Para rodar apenas o Table-Approve. + - [ ] **[Bugfix]**: Para correções de bugs. + - [ ] **[Refactor]**: Para mudanças no código que não alteram a funcionalidade. + - [ ] **[Docs]**: Para atualizações na documentação. + - [ ] **[Test]**: Para mudanças relacionadas a testes. + - [ ] **[Chore]**: Para tarefas menores e de manutenção. + +--- + - Exemplos de título: + - **[docs] br_me_caged** + - **[Feature] br_cgu_servidores_publicos** + +## Draft: +- Ao abrir o PR, deverá coloca-lo como draft + + +## Descrição do PR: +- Explique de maneira clara e concisa o objetivo deste PR. O que foi alterado? Qual o problema que ele resolve? + - **Motivação/Contexto:** + + +## Detalhes Técnicos: +- Detalhe as mudanças mais técnicas, como ajustes no dbt, scripts ou modelo de dados utilizado. + - **Principais alterações no dbt/scripts:** + - **Mudanças nos dados e no schema:** + - **Impacto no desempenho:** + +- Se alguma parte do código precisar de alguma atenção a mais, comente na linha sinalizando para os revisores. + +## Teste e Validações: + +- Relate os testes e validações relacionado aos dados/script: + - [ ] Testado em `queries-basedosdados-dev` + - [ ] **Decisões relacionadas aos testes:** + + - **Caso haja algo relacionado aos testes que vale a pena informar:** + +## Riscos e Mitigações: +- Identifique os riscos potenciais desta mudança e como mitigar esses Riscos + + - Riscos conhecidos: + - Planos de rollback: + +## Dependencias: +- Liste quaisquer dependências externas, como bibliotecas, outros PRs ou mudanças que precisam ser feitas antes deste merge. + - [ ] Dependências: + - [ ] Nenhuma dependencias adicional + + +## Revisadores: +- Quando o PR estiver pronto para ser revisado, retire o **Draft** através do **Ready for reviews**, marque os revisadores de repositório, envie o PR no nosso [discord](https://discord.gg/V3yTWRYWZZ) na aba **Correções de PRs, arquiteturas e afins** e marque a **@equipe_dados**: + - Revisadores recomendados no github: + - basedosdados/dados From 9eaeae19cfe3e808d818317a65212f904e9aabe9 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Tue, 29 Oct 2024 13:45:40 -0300 Subject: [PATCH 23/27] Pequenos Ajustes --- .../br_tse_eleicoes__resultados_candidato_municipio_zona.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql index b28b6185..b2b14d25 100644 --- a/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql +++ b/models/br_tse_eleicoes/br_tse_eleicoes__resultados_candidato_municipio_zona.sql @@ -30,5 +30,5 @@ select safe_cast(resultado as string) resultado, safe_cast(votos as int64) votos from - `basedosdados-stating.br_tse_eleicoes_staging.resultados_candidato_municipio_zona` + `basedosdados-staging.br_tse_eleicoes_staging.resultados_candidato_municipio_zona` as t From 31ea16c1c9cc1df8f2a463c1b66015168d5aaa04 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Mon, 21 Oct 2024 11:27:26 -0300 Subject: [PATCH 24/27] Adicionar microdados ao modelo br_tse_filiacao_partidaria --- ...br_tse_filiacao_partidaria__microdados.sql | 51 ++++++++++ models/br_tse_filiacao_partidaria/schema.yml | 97 ++++++++++++++++++- 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 models/br_tse_filiacao_partidaria/br_tse_filiacao_partidaria__microdados.sql diff --git a/models/br_tse_filiacao_partidaria/br_tse_filiacao_partidaria__microdados.sql b/models/br_tse_filiacao_partidaria/br_tse_filiacao_partidaria__microdados.sql new file mode 100644 index 00000000..32c0d22e --- /dev/null +++ b/models/br_tse_filiacao_partidaria/br_tse_filiacao_partidaria__microdados.sql @@ -0,0 +1,51 @@ +{{ + config( + schema="br_tse_filiacao_partidaria", + alias="microdados", + materialized="table", + unique_key="registro_filiacao", + partition_by={ + "field": "data_extracao", + "data_type": "date", + }, + cluster_by=["sigla_uf"], + ) +}} +with + tabela as ( + select + safe_cast(sqregistrofiliacao as string) registro_filiacao, + safe_cast(sgpartido as string) sigla_partido, + safe_cast(sigla_uf as string) sigla_uf, + safe_cast(id_municipio as string) id_municipio, + safe_cast(codlocalidadetse as string) id_municipio_tse, + safe_cast(numzona as string) zona, + safe_cast(numsecao as string) secao, + safe_cast(nrtituloeleitor as string) titulo_eleitor, + safe_cast(numcpf as string) cpf, + safe_cast(nmeleitor as string) nome, + safe_cast(nmsocialeleitor as string) nome_social, + safe_cast(tpsexo as string) sexo, + safe_cast(dessituacaoeleitor as string) situacao_registro, + safe_cast(cdmotivodesfiliacao as string) motivo_desfiliacao, + safe_cast(cdmotivocancelamento as string) motivo_cancelamento, + safe_cast(indorigem as string) indicador_origem, + safe_cast(dtfiliacao as date) data_filiacao, + safe_cast(dtdesfiliacao as date) data_desfiliacao, + safe_cast(tscadastrodesfiliacao as date) data_cadastro_desfiliacao, + safe_cast(dtcancelamento as date) data_cancelamento, + safe_cast(dtexclusao as date) data_exclusao, + safe_cast(data_extracao as date) data_extracao, + from `basedosdados-staging.br_tse_filiacao_partidaria_staging.microdados` + ), + select_rows as ( + select + *, + row_number() over ( + partition by registro_filiacao order by data_extracao desc + ) as rn + from tabela + ) +select * except (rn) +from select_rows +where rn = 1 diff --git a/models/br_tse_filiacao_partidaria/schema.yml b/models/br_tse_filiacao_partidaria/schema.yml index e19dec6a..0afb543e 100644 --- a/models/br_tse_filiacao_partidaria/schema.yml +++ b/models/br_tse_filiacao_partidaria/schema.yml @@ -2,7 +2,7 @@ version: 2 models: - name: br_tse_filiacao_partidaria__microdados_antigos - description: Microdados de filiação partidária do TSE. + description: Microdados antigos de filiação partidária do TSE. tests: - custom_not_null_proportion_multiple_columns: at_least: 0.10 @@ -69,3 +69,98 @@ models: field: data.data - name: motivo_cancelamento description: Motivo de cancelamento + - name: br_tse_filiacao_partidaria__microdados + description: Microdados de filiação partidária do TSE. + tests: + - custom_not_null_proportion_multiple_columns: + at_least: 0.55 + ignore_values: + - data_desfiliacao + - data_exclusao + - data_cadastro_desfiliacao + - motivo_desfiliacao + - motivo_cancelamento + - data_cancelamento + - nome_social + - dbt_utils.unique_combination_of_columns: + combination_of_columns: [registro_filiacao] + columns: + - name: registro_filiacao + description: Sequecia do registro filiação + - name: sigla_partido + description: Sigla do partido + - name: sigla_uf + description: Sigla da unidade da federação + tests: + - custom_relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + ignore_values: [ZZ] + - name: id_municipio + description: ID Município - IBGE 7 Dígitos + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: id_municipio_tse + description: ID Município - TSE + - name: zona + description: Zona eleitoral + - name: secao + description: Seção eleitoral + - name: titulo_eleitor + description: Título de eleitor + - name: cpf + description: Cadastro de pessoa física + - name: nome + description: Nome do eleitor + - name: nome_social + description: Nome social do eleitor + - name: sexo + description: Sexo + - name: situacao_registro + description: Situação do registro + - name: motivo_desfiliacao + description: Código do motivo da desfiliação. Não foi encontrada na documentação + a tradução deste código + - name: motivo_cancelamento + description: Código do motivo de cancelamento. Não foi encontrada na documentação + a tradução deste código + - name: indicador_origem + description: Não foi encontrado uma definição na documentação para este campo + - name: data_filiacao + description: Data da filiação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_desfiliacao + description: Data de desfiliação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_cadastro_desfiliacao + description: Data do cadastro da desfiliação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_cancelamento + description: Data de cancelamento + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_exclusao + description: Data de exclusão + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_extracao + description: Data de extração da linha + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data From 05f600b1ab59eb4d07f1e8e0cbd8a725171ad688 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Mon, 4 Nov 2024 14:14:39 +0000 Subject: [PATCH 25/27] =?UTF-8?q?Remo=C3=A7=C3=A3o=20de=20Arquivo=20de=20E?= =?UTF-8?q?xemplo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/cnae | 506 ---------------------------------- 1 file changed, 506 deletions(-) delete mode 100644 models/br_rf_arrecadacao/cnae diff --git a/models/br_rf_arrecadacao/cnae b/models/br_rf_arrecadacao/cnae deleted file mode 100644 index 74eb43da..00000000 --- a/models/br_rf_arrecadacao/cnae +++ /dev/null @@ -1,506 +0,0 @@ ---- -version: 2 -models: - - name: br_rf_arrecadacao__uf - description: Contém os dados de arrecadação mensal por Unidade da Federação, contendo - receitas administradas e não administradas pela Receita Federal do Brasil. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, sigla_uf] - columns: - - name: ano - description: Ano de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: mes - description: Mês de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: sigla_uf - description: Sigla da Unidade da Federação. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: sigla - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: imposto_importacao - description: Imposto sobre a Importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: imposto_exportacao - description: Imposto sobre a Exportação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipi_fumo - description: Imposto sobre Produtos Industrializado incidente sobre setor - de fumo. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipi_bebidas - description: Imposto sobre Produtos Industrializado incidente sobre setor - de bebidas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipi_automoveis - description: Imposto sobre Produtos Industrializado incidente sobre setor - de automóveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipi_importacoes - description: Imposto sobre Produtos Industrializado vinculado à importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipi_outros - description: Imposto sobre Produtos Industrializado incidente sobre outros - produtos. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irpf - description: Imposto sobre a Renda da Pessoa Física. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irpj_entidades_financeiras - description: Imposto sobre a Renda da Pessoa Jurídica incidente em entidades - financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irpj_demais_empresas - description: Imposto sobre a Renda da Pessoa Jurídica incidente em demais - empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irrf_rendimentos_trabalho - description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do trabalho. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irrf_rendimentos_capital - description: Imposto sobre a Renda Retido na Fonte referente à rendimentos - do capital. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irrf_remessas_exterior - description: Imposto sobre a Renda Retido na Fonte referente à remessas para - o exterior. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: irrf_outros_rendimentos - description: Imposto sobre a Renda Retido na Fonte referente à outros rendimentos. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: iof - description: Imposto sobre Operações Financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: itr - description: Imposto sobre a Propriedade Territorial Rural. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: ipmf - description: Imposto Provisório sobre Movimentação Financeira. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.06 - - name: cpmf - description: Contribuição Provisória sobre Movimentação Financeira. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.45 - - name: cofins - description: Contribuição para o Financiamento da Seguridade Social. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 - - name: cofins_entidades_financeiras - description: Contribuição para o Financiamento da Seguridade Social referente - à entidades financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: cofins_demais_empresas - description: Contribuição para o Financiamento da Seguridade Social referente - à demais empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: pis_pasep - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 - - name: pis_pasep_entidades_financeiras - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à entidades financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: pis_pasep_demais_empresas - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público referente à demais empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: csll - description: Contribuição Social sobre o Lucro Líquido. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 - - name: csll_entidades_financeiras - description: Contribuição Social sobre o Lucro Líquido referente à entidades - financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: csll_demais_empresas - description: Contribuição Social sobre o Lucro Líquido referente à demais - empresas. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - - name: cide_combustiveis_parcela_nao_dedutivel - description: Parcela não dedutível da Contribuição de Intervenção no Domínio - Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 - - name: cide_combustiveis - description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - - name: cpsss_1 - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.12 - - name: cpsss_2 - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.50 - - name: contribuicao_fundaf - description: Contribuições para o Fundo Especial de Desenvolvimento e Aperfeiçoamento - das Atividades de Fiscalização (Fundaf). - tests: - - dbt_utils.not_null_proportion: - at_least: 0.55 - - name: refis - description: Programa de Recuperação Fiscal. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 - - name: paes - description: Parcelamento Especial. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.03 - - name: retencoes_fonte - description: Retenções na fonte de CSLL, Cofins e Pis/Pasep, previstas no - art. 30 da Lei nº 10.833, de 29 de dezembro de 2003. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.02 - - name: pagamento_unificado - description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, tipo parcelamentos, retenções, Simples etc. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.04 - - name: outras_receitas_rfb - description: Outras receitas administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - - name: demais_receitas - description: Outras receitas não administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.25 - - name: receita_previdenciaria - description: Total da Receita Previdenciária. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.25 - - name: receita_previdenciaria_propria - description: Receita Previdenciária Própria. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.15 - - name: receita_previdenciaria_demais - description: Receita Previdenciária Demais. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.15 - - name: receitas_outros_orgaos - description: Receitas administradas por outros órgãos. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.50 - - name: br_rf_arrecadacao__cnae - description: Contém os dados de arrecadação bruta mensal realizadas em Documento - de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos setores - econômicos, identificados pela seção, constantes da tabela de Classificação - Nacional de Atividades Econômicas(Cnae). - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, secao_sigla, secao_nome] - - not_null_proportion_multiple_columns: - at_least: 0.85 - columns: - - name: ano - description: Ano de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: mes - description: Mês de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - name: secao_sigla - description: Código da Seção da atividade econômica constante da Cnae. - tests: - - custom_relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: secao - ignore_values: ['IN','NI','PF'] - - name: secao_nome - description: Nome da Seção da atividade econômica constante da Cnae - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__cnae_2') - field: descricao_secao - - name: imposto_importacao - description: Imposto sobre a Importação. - - name: imposto_exportacao - description: Imposto sobre a Exportação. - - name: ipi - description: Imposto sobre Produtos Industrializados. - - name: irpf - description: Imposto sobre a Renda da Pessoa Física. - - name: irpj - description: Imposto sobre a Renda da Pessoa Jurídica. - - name: irrf - description: Imposto sobre a Renda Retido na Fonte. - - name: iof - description: Imposto sobre Operações Financeiras. - - name: itr - description: Imposto sobre a Propriedade Territorial Rural. - - name: cofins - description: Contribuição para o Financiamento da Seguridade Social. - - name: pis_pasep - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. - - name: csll - description: Contribuição Social sobre o Lucro Líquido. - - name: cide_combustiveis - description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - - name: contribuicao_previdenciaria - description: Contribuição Previdenciária arrecadada em Darf. - - name: cpsss - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - - name: pagamento_unificado - description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, como parcelamentos, retenções, Simples etc. - - name: outras_receitas_rfb - description: Outras receitas administradas pela RFB. - - name: demais_receitas - description: Outras receitas não administradas pela RFB. - - name: br_rf_arrecadacao__natureza_juridica - description: Contém os dados de arrecadação bruta mensal realizadas em Documento - de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos - tipos de Naturezas Jurídicas. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - mes - - natureza_juridica_codigo - - natureza_juridica_nome - - not_null_proportion_multiple_columns: - at_least: 0.95 - columns: - - name: ano - description: Ano de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: mes - description: Mês de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - name: natureza_juridica_codigo - description: Código do tipo de Natureza Jurídica. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__natureza_juridica') - field: id_natureza_juridica - - name: natureza_juridica_nome - description: Nome do tipo da Natureza Jurídica. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__natureza_juridica') - field: descricao - - name: imposto_importacao - description: Imposto sobre a Importação. - - name: imposto_exportacao - description: Imposto sobre a Exportação. - - name: ipi - description: Imposto sobre Produtos Industrializados. - - name: irpf - description: Imposto sobre a Renda da Pessoa Física. - - name: irpj - description: Imposto sobre a Renda da Pessoa Jurídica. - - name: irrf - description: Imposto sobre a Renda Retido na Fonte. - - name: iof - description: Imposto sobre Operações Financeiras. - - name: itr - description: Imposto sobre a Propriedade Territorial Rural. - - name: cofins - description: Contribuição para o Financiamento da Seguridade Social. - - name: pis_pasep - description: Programa de Integração Social e o Programa de Formação do Patrimônio - do Servidor Público. - - name: csll - description: Contribuição Social sobre o Lucro Líquido. - - name: cide_combustiveis - description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - - name: contribuicao_previdenciaria - description: Contribuição Previdenciária arrecadada em Darf. - - name: cpsss - description: Contribuição para o Plano de Seguridade Social do Servidor Público. - - name: pagamento_unificado - description: Pagamentos referentes a vários tributos feitos em um único documento - de arrecadação, como parcelamentos, retenções, Simples etc. - - name: outras_receitas_rfb - description: Outras receitas administradas pela RFB. - - name: demais_receitas - description: Outras receitas não administradas pela RFB. - - name: br_rf_arrecadacao__ir_ipi - description: Contém os dados de arrecadação decendial do Imposto sobre a Renda - (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação - bruta, os respectivos eventos que afetam essa arrecadação bruta e a arrecadação - líquida, valor este último passível de repasse aos Fundos de Participação dos - Estados e do Municípios, FPM e FPE, de acordo com dispositivo constitucional. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: [ano, mes, tributo, decendio] - - not_null_proportion_multiple_columns: - at_least: 0.95 - columns: - - name: ano - description: Ano de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: mes - description: Mês de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - name: tributo - description: Identificação de Tributo (IR ou IPI). - - name: decendio - description: Decêndio de referência. - - name: arrecadacao_bruta - description: Valor da arrecadação bruta dos tributos sem nenhum acréscimo - ou dedução. É a etapa inicial da arrecadação, quando há o pagamento efetuado - pelo contribuinte. - - name: retificacao - description: Valor do saldo das retificações efetuadas nos Documentos de Arrecadação - de Receitas Federais (Darf). São alterações feitas nos documentos de arrecadação - em função de erro de preenchimento. - - name: compensacao - description: Valor do saldo das compensações efetuadas. Utilização de valores - pagos anteriormente para quitação de débitos de outros tributos, distintos - de IR ou IPI, e vice-versa. - - name: restituicao - description: Valor do saldo das restituições efetuadas pela Receita Federal - em função de pagamentos feitos a maior ou indevidos. - - name: outros - description: Demais eventos que agem sobre o valor da arrecadação bruta. - - name: arrecadacao_liquida - description: Valor resultante da arrecadação bruta, depois da incidência dos - demais eventos de arrecadação. - - name: br_rf_arrecadacao__itr - description: Contém os dados de arrecadação líquida mensal do Imposto sobre a - Propriedade Territorial Rural (ITR), realizada pelas propriedades rurais, passível - de repasse aos próprios municípios onde se localizam essas propriedades rurais, - conforme a situação do município, conveniado ou não conveniado com a União para - fiscalizar e cobrar o ITR, de acordo com dispositivo constitucional. - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - ano - - mes - - nome_uf - - regiao_politica - - cidade_uf - - not_null_proportion_multiple_columns: - at_least: 0.95 - columns: - - name: ano - description: Ano de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__ano') - field: ano.ano - - name: mes - description: Mês de referência. - tests: - - relationships: - to: ref('br_bd_diretorios_data_tempo__mes') - field: mes.mes - - name: nome_uf - description: Nome da Unidade da Federação onde se localiza o município conveniado - ou não conveniado. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: nome - - name: regiao_politica - description: Nome da Região Política onde se localiza o município conveniado - ou não conveniado. - tests: - - relationships: - to: ref('br_bd_diretorios_brasil__uf') - field: regiao - - name: cidade_uf - description: "Nome do município conveniado ou não conveniado seguido da sigla\ - \ da\nUnidade da Federação onde se localiza o município." - - name: valor_arrecadado - description: Valor arrecadado. From aa55b471550b1b775cf9054a7c6f6bfe0a6660c7 Mon Sep 17 00:00:00 2001 From: andre-ls Date: Mon, 4 Nov 2024 14:52:43 +0000 Subject: [PATCH 26/27] =?UTF-8?q?Corre=C3=A7=C3=A3o=20de=20Testes=20de=20P?= =?UTF-8?q?reechimento=20de=20Colunas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_rf_arrecadacao/schema.yml | 118 +--------------------------- 1 file changed, 4 insertions(+), 114 deletions(-) diff --git a/models/br_rf_arrecadacao/schema.yml b/models/br_rf_arrecadacao/schema.yml index 9239630b..f9d55e16 100644 --- a/models/br_rf_arrecadacao/schema.yml +++ b/models/br_rf_arrecadacao/schema.yml @@ -270,6 +270,8 @@ models: tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: [ano, mes, secao_sigla] + - not_null_proportion_multiple_columns: + at_least: 0.35 columns: - name: ano description: Ano de referência. @@ -277,16 +279,12 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: mes description: Mês de referência. tests: - relationships: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: secao_sigla description: Código da Seção da atividade econômica constante da Cnae. tests: @@ -294,95 +292,42 @@ models: to: ref('br_bd_diretorios_brasil__cnae_2') field: secao ignore_values: [IN, NI, PF] - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: imposto_importacao description: Imposto sobre a Importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.85 - name: imposto_exportacao description: Imposto sobre a Exportação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.35 - name: ipi description: Imposto sobre Produtos Industrializados. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: irpf description: Imposto sobre a Renda da Pessoa Física. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.60 - name: irpj description: Imposto sobre a Renda da Pessoa Jurídica. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: irrf description: Imposto sobre a Renda Retido na Fonte. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: iof description: Imposto sobre Operações Financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - name: itr description: Imposto sobre a Propriedade Territorial Rural. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.85 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: pis_pasep description: Programa de Integração Social e o Programa de Formação do Patrimônio do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: csll description: Contribuição Social sobre o Lucro Líquido. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.80 - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: cpsss description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.65 - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: outras_receitas_rfb description: Outras receitas administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: demais_receitas description: Outras receitas não administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: br_rf_arrecadacao__natureza_juridica description: Contém os dados de arrecadação bruta mensal realizadas em Documento de Arrecadação de Receitas Federais (Darf), por tributo, efetuada pelos diversos @@ -390,6 +335,8 @@ models: tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: [ano, mes, natureza_juridica_codigo] + - not_null_proportion_multiple_columns: + at_least: 0.15 columns: - name: ano description: Ano de referência. @@ -397,111 +344,54 @@ models: - relationships: to: ref('br_bd_diretorios_data_tempo__ano') field: ano.ano - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: mes description: Mês de referência. tests: - relationships: to: ref('br_bd_diretorios_data_tempo__mes') field: mes.mes - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: natureza_juridica_codigo description: Código do tipo de Natureza Jurídica. tests: - relationships: to: ref('br_bd_diretorios_brasil__natureza_juridica') field: id_natureza_juridica - - dbt_utils.not_null_proportion: - at_least: 0.95 - name: imposto_importacao description: Imposto sobre a Importação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.40 - name: imposto_exportacao description: Imposto sobre a Exportação. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.15 - name: ipi description: Imposto sobre Produtos Industrializados. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.35 - name: irpf description: Imposto sobre a Renda da Pessoa Física. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.20 - name: irpj description: Imposto sobre a Renda da Pessoa Jurídica. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.60 - name: irrf description: Imposto sobre a Renda Retido na Fonte. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: iof description: Imposto sobre Operações Financeiras. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.35 - name: itr description: Imposto sobre a Propriedade Territorial Rural. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.40 - name: cofins description: Contribuição para o Financiamento da Seguridade Social. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - name: pis_pasep description: Programa de Integração Social e o Programa de Formação do Patrimônio do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.85 - name: csll description: Contribuição Social sobre o Lucro Líquido. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.65 - name: cide_combustiveis description: Contribuição de Intervenção no Domínio Econômico aplicada à combustíveis. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.35 - name: contribuicao_previdenciaria description: Contribuição Previdenciária arrecadada em Darf. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - name: cpsss description: Contribuição para o Plano de Seguridade Social do Servidor Público. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.35 - name: pagamento_unificado description: Pagamentos referentes a vários tributos feitos em um único documento de arrecadação, como parcelamentos, retenções, Simples etc. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.90 - name: outras_receitas_rfb description: Outras receitas administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - name: demais_receitas description: Outras receitas não administradas pela RFB. - tests: - - dbt_utils.not_null_proportion: - at_least: 0.75 - name: br_rf_arrecadacao__ir_ipi description: Contém os dados de arrecadação decendial do Imposto sobre a Renda (IR) e do Imposto sobre Produtos Industrializados (IPI), discriminados por arrecadação From f3f907f632ed202671827d8aecfd6f5eac7c3793 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Thu, 7 Nov 2024 09:25:36 -0300 Subject: [PATCH 27/27] Fix tabela natureza_juridica (#811) --- .../br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql index d48d63d2..87df7b9e 100644 --- a/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql +++ b/models/br_rf_arrecadacao/br_rf_arrecadacao__natureza_juridica.sql @@ -17,7 +17,7 @@ with select id_natureza_juridica, substr(cast(id_natureza_juridica as string), 0, 3) as inicio_codigo - from basedosdados - staging.br_bd_diretorios_brasil.natureza_juridica + from basedosdados.br_bd_diretorios_brasil.natureza_juridica ) select safe_cast(t.ano as int64) ano,