diff --git a/__pycache__/get_statistics.cpython-314.pyc b/__pycache__/get_statistics.cpython-314.pyc new file mode 100644 index 0000000..1390113 Binary files /dev/null and b/__pycache__/get_statistics.cpython-314.pyc differ diff --git a/get_statistics.py b/get_statistics.py index 82f2406..599da5e 100644 --- a/get_statistics.py +++ b/get_statistics.py @@ -1,6 +1,6 @@ import pandas as pd -file = "./dados/pnad_trimestral_trimestre_012026.parquet" +file = "./data/pnad_trimestral_trimestre_012026.parquet" regions_ufs = { @@ -22,26 +22,41 @@ renda = "VD4019" df = pd.read_parquet(file) -print(f"TOTAL: {df.shape[0]}") -print(f"QUANTIDADE DE INFORMAIS: {(df[carteira_assinada] == 2).sum()}") -print(f"QUANTIDADE DE FORMAIS: {(df[carteira_assinada] == 1).sum()}") -print("\n") + +def get_regions(): + + for region_name in regions_names: + region_df = df[df["UF"].isin(regions_ufs[region_name])] + regions[region_name] = { + "informal_count": (region_df[carteira_assinada] == 2).shape[0], + "informal_mean": region_df.loc[ + region_df[carteira_assinada] == 2, renda + ].mean(), + "informal_std": region_df.loc[ + region_df[carteira_assinada] == 2, renda + ].std(), + "formal_count": (region_df[carteira_assinada] == 1).shape[0], + "formal_mean": region_df.loc[ + region_df[carteira_assinada] == 1, renda + ].mean(), + "formal_std": region_df.loc[region_df[carteira_assinada] == 1, renda].std(), + } + return regions -for region_name in regions_names: - region_df = df[df["UF"].isin(regions_ufs[region_name])] - regions[region_name] = { - "informal_count": (region_df[carteira_assinada] == 2).shape[0], - "informal_mean": region_df.loc[region_df[carteira_assinada] == 2, renda].mean(), - "informal_std": region_df.loc[region_df[carteira_assinada] == 2, renda].std(), - "formal_count": (region_df[carteira_assinada] == 1).shape[0], - "formal_mean": region_df.loc[region_df[carteira_assinada] == 1, renda].mean(), - "formal_std": region_df.loc[region_df[carteira_assinada] == 1, renda].std(), - } +def main(): + get_regions() + print(f"TOTAL: {df.shape[0]}") + print(f"QUANTIDADE DE INFORMAIS: {(df[carteira_assinada] == 2).sum()}") + print(f"QUANTIDADE DE FORMAIS: {(df[carteira_assinada] == 1).sum()}") + print("\n") + for region_name in regions_names: + print(f"REGIÃO: {region_name}") + for key, value in regions[region_name].items(): + print(f"{key}: {value}") + print("------------------------------") + print("") -for region_name in regions_names: - print(f"REGIÃO: {region_name}") - for key, value in regions[region_name].items(): - print(f"{key}: {value}") - print("------------------------------") - print("") + +if __name__ == "__main__": + main() diff --git a/t-tests.py b/t-tests.py new file mode 100644 index 0000000..6f2e10e --- /dev/null +++ b/t-tests.py @@ -0,0 +1,54 @@ +from get_statistics import get_regions, regions_names +import math + +regions = get_regions() + + +def t(n1, mean1, std1, n2, mean2, std2): + return (mean1 - mean2) / math.sqrt( + (math.pow(std1, 2) / n1) + (math.pow(std2, 2) / n2) + ) + + +def run_all_t_tests(): + tests = {} + for name1 in regions_names: + for name2 in regions_names: + if name1 != name2: + tests[f"{name1}_formais_{name2}_informais"] = t( + regions[name1]["formal_count"], + regions[name1]["formal_mean"], + regions[name1]["formal_std"], + regions[name2]["informal_count"], + regions[name2]["informal_mean"], + regions[name2]["informal_std"], + ) + tests[f"{name1}_informais_{name2}_informais"] = t( + regions[name1]["informal_count"], + regions[name1]["informal_mean"], + regions[name1]["informal_std"], + regions[name2]["informal_count"], + regions[name2]["informal_mean"], + regions[name2]["informal_std"], + ) + tests[f"{name1}_informais_{name2}_formais"] = t( + regions[name1]["informal_count"], + regions[name1]["informal_mean"], + regions[name1]["informal_std"], + regions[name2]["formal_count"], + regions[name2]["formal_mean"], + regions[name2]["formal_std"], + ) + tests[f"{name1}_formais_{name2}_formais"] = t( + regions[name1]["formal_count"], + regions[name1]["formal_mean"], + regions[name1]["formal_std"], + regions[name2]["formal_count"], + regions[name2]["formal_mean"], + regions[name2]["formal_std"], + ) + + return tests + + +print(run_all_t_tests())