This commit is contained in:
Gabriel Franco 2026-08-04 19:50:03 -03:00
parent d9282a3270
commit 71a94b39ed
3 changed files with 90 additions and 21 deletions

Binary file not shown.

View file

@ -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(),
"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_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
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("")
if __name__ == "__main__":
main()

54
t-tests.py Normal file
View file

@ -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())