From 71a94b39eddc47b79c7fc9c901612f56e97dd015 Mon Sep 17 00:00:00 2001 From: Gabriel Franco Date: Tue, 4 Aug 2026 19:50:03 -0300 Subject: [PATCH] t-tests --- __pycache__/get_statistics.cpython-314.pyc | Bin 0 -> 3436 bytes get_statistics.py | 57 +++++++++++++-------- t-tests.py | 54 +++++++++++++++++++ 3 files changed, 90 insertions(+), 21 deletions(-) create mode 100644 __pycache__/get_statistics.cpython-314.pyc create mode 100644 t-tests.py diff --git a/__pycache__/get_statistics.cpython-314.pyc b/__pycache__/get_statistics.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1390113ace902a8decc8a95ea4c0fe984e00498b GIT binary patch literal 3436 zcmb^zTTB~Q_Re_x9vfqz1Y^JiJH{bkLP-mG(9-a7*zg#FcdJ0GsXZia!FFfH-3?MC zYd6{@+o+{dqB>Hg>_ACY)JR>anm-bDwf)?4#~u%?Qg*lM zm3_{+_ndpqy=U%u^f(j9eqyJxAeQD&BnooJbvb7&@XJXj?MsR|*R!$`I) zgQfSV4#ZhxD`%B$%kql5he!`KuZ8|*(j9M{fHa2@;&@IUw)jlj)I zWKA6|G)_${B9uW(z^M$K;?Nn7wu;c4QKvO($)r)yBeI&a4)4!U92KROEZUC4yc_h; z6j)H7ipH+KyN0!&c|&wRIh9pN}*Aq?Q_V3mR3k#Qfmt zssGU{#{cuIs@@;v71K{@=@_qsO-qfMr=sW-kmJ-e1ez7KBc0QQLS{@aPGDy;wUQRs zAeiFmY)ZzC+I&smQ<$wyB{_lFBck@|Ock_MCmnml@$S$%SpI)MofOd$8U#k z3UW-6c{wS`$+*;)xsB~)scKQ|0KFupB{!tO9Qv-=zj z_0L<&flJ%XBjv_7HmuKBZ~k^EbiUki;pzLujyHGOCyVWqUsC1vE4yrK{_V%hkCt~` zEhSG+*>&b~s^~iVr*j3@&_4}yyYoAz`(EP1m0i}8k37Em=<3Vm+CZ-UUi?FW$h}<( z4wc)6pUxNCMs~d8Meq0*eAzp-%eLf)A76TO>E$ZCx~UWS(Bs}my??Zp1}>Mo$G)VB z-I2eZD|FA5J@Y%B#iD0%+w=4N7KhJv-@IurS-j7U=tSTjKEyWUW)8qL=t$~>npH`i z->VK=s#XtlD9pS? z2X)i`Rd*%n{21M}8VR?lC21F$xULo$-Ahaq{m1!g3HoRmIW9qi-X?^834tQIb>BrP z7IDTX4f+qAX1ckWIP^1^Ug~+XzB;{J*~3{N$ynFT*JiJc{_MPOy=8uJbmm%QY;uF6+RL-J{kG*Z)QP~hJSnSu>+%-kX4OWY=q#3%I^jh zBI!;5~$#4wXc#-S60P7xd66@(~kQfrhfk?WnT zd{s84?Gj=!aR3;EDZwS+zB{O)h#LOoK~(n^3f^zLAAd0Tnc=gAyyf9Y!P!~1o-Cr^ zi&jK6s!j|U6!JWj(**PY2r&vN8;XyBP6E0Bz$&q$yh;G+Wt4Md)vS=rp^)%bNEfb< z&{jwTs<;Rs4>n{~$O~4;TUH=6k#d5776M3dQpkf=$U9cr0EFtrUO?EC;h~U18O|gy zvyxmDMA9K(W)*53X5hg~dN`;dA`-Qj6$NOwt1WdUh{$!+7$6UZ)b^^=LX>Jr_3WD! z&sr|7r4!jzVMJVnO{!Nv2IBjD14U8apoRi!cxE2TG5Z!|wEh0#F5}p$>)2)7TaEr* z#=hkU?J~|S*WkY0R7dCR&z-2gY4iF{Q=r%s*lr4LySj6Z-9RvB-bTTF6Ke7nP(7%! z*5{1RjOO3PejVGqwr%v}=ocn8)$ro9opSGc5yNh*mkcdmGnU^@Ku9ni^~3!e&Y_Rw literal 0 HcmV?d00001 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())