import pandas as pd
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
import random
%matplotlib inline
tamanho = 1000
dado = [random.randint(1,6) for i in range(0,tamanho)]
dist, bins, graf = plt.hist(dado,
bins=[0.5+i for i in range(0,7)],
rwidth=0.8)
plt.show()
print('Distribuição: {} \n'.format(dist) + \
str(stats.chisquare(dist)))
Distribuição: [ 166. 182. 176. 162. 160. 154.] Power_divergenceResult(statistic=3.2960000000000003, pvalue=0.65445413592059853)
dist[0] = 2*dist[0]
eixox = list(range(1,7))
sns.barplot(x=eixox, y=dist)
<matplotlib.axes._subplots.AxesSubplot at 0x1ebd4ea2780>
print('Distribuição: {} \n'.format(dist) + \
str(stats.chisquare(dist)))
Distribuição: [ 332. 182. 176. 162. 160. 154.] Power_divergenceResult(statistic=119.85248713550601, pvalue=3.3726955470863672e-24)
cesdf = pd.read_csv(r"C:\Users\CarlosABG\Documents\IESB\aula 9\DM_ALUNO\cesdf.csv", sep='|', encoding='latin_1')
cesdf
Unnamed: 0 | CO_CATEGORIA_ADMINISTRATIVA | CO_COR_RACA_ALUNO | NO_CURSO | |
---|---|---|---|---|
0 | 0 | 1 | 3 | DIREITO |
1 | 1 | 1 | 3 | DIREITO |
2 | 2 | 1 | 2 | DIREITO |
3 | 3 | 1 | 3 | DIREITO |
4 | 4 | 1 | 3 | DIREITO |
5 | 5 | 1 | 2 | DIREITO |
6 | 6 | 1 | 3 | DIREITO |
7 | 7 | 1 | 3 | DIREITO |
8 | 8 | 1 | 3 | DIREITO |
9 | 9 | 1 | 2 | DIREITO |
10 | 10 | 1 | 3 | DIREITO |
11 | 11 | 1 | 4 | DIREITO |
12 | 12 | 1 | 3 | DIREITO |
13 | 13 | 1 | 3 | DIREITO |
14 | 14 | 1 | 3 | DIREITO |
15 | 15 | 1 | 3 | DIREITO |
16 | 16 | 1 | 3 | DIREITO |
17 | 17 | 1 | 3 | DIREITO |
18 | 18 | 1 | 3 | DIREITO |
19 | 19 | 1 | 1 | DIREITO |
20 | 20 | 1 | 1 | DIREITO |
21 | 21 | 1 | 3 | DIREITO |
22 | 22 | 1 | 1 | DIREITO |
23 | 23 | 1 | 1 | DIREITO |
24 | 24 | 1 | 0 | DIREITO |
25 | 25 | 1 | 1 | DIREITO |
26 | 26 | 1 | 1 | DIREITO |
27 | 27 | 1 | 3 | DIREITO |
28 | 28 | 1 | 1 | DIREITO |
29 | 29 | 1 | 3 | DIREITO |
... | ... | ... | ... | ... |
11449192 | 11449192 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449193 | 11449193 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449194 | 11449194 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449195 | 11449195 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449196 | 11449196 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449197 | 11449197 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449198 | 11449198 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449199 | 11449199 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449200 | 11449200 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449201 | 11449201 | 2 | 2 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449202 | 11449202 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449203 | 11449203 | 2 | 3 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449204 | 11449204 | 2 | 0 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449205 | 11449205 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449206 | 11449206 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449207 | 11449207 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449208 | 11449208 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449209 | 11449209 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449210 | 11449210 | 2 | 3 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449211 | 11449211 | 2 | 2 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449212 | 11449212 | 2 | 3 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449213 | 11449213 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449214 | 11449214 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449215 | 11449215 | 2 | 1 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449216 | 11449216 | 2 | 0 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449217 | 11449217 | 2 | 2 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449218 | 11449218 | 2 | 3 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449219 | 11449219 | 2 | 2 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449220 | 11449220 | 2 | 2 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449221 | 11449221 | 2 | 3 | ANÁLISE E DESENVOLVIMENTO DE SISTEMAS |
11449222 rows × 4 columns
cesdf.shape
(11449222, 4)
# Total de alunos por curso
cesdf.groupby('NO_CURSO').count()
Unnamed: 0 | CO_CATEGORIA_ADMINISTRATIVA | CO_COR_RACA_ALUNO | |
---|---|---|---|
NO_CURSO | |||
ABI - ARTES CÊNICAS | 374 | 374 | 374 |
ABI - ARTES PLÁSTICAS | 119 | 119 | 119 |
ABI - ARTES VISUAIS | 644 | 644 | 644 |
ABI - CICLO BÁSICO MATERIAIS/METALÚRGICA | 112 | 112 | 112 |
ABI - CIÊNCIA DA COMPUTAÇÃO | 176 | 176 | 176 |
ABI - CIÊNCIAS BIOLÓGICAS | 4743 | 4743 | 4743 |
ABI - CIÊNCIAS BIOMÉDICAS | 65 | 65 | 65 |
ABI - CIÊNCIAS DA NATUREZA | 328 | 328 | 328 |
ABI - CIÊNCIAS EXATAS | 246 | 246 | 246 |
ABI - CIÊNCIAS SOCIAIS | 3599 | 3599 | 3599 |
ABI - COMPOSIÇÃO E REGÊNCIA | 36 | 36 | 36 |
ABI - COMUNICAÇÃO SOCIAL | 877 | 877 | 877 |
ABI - DANÇA | 180 | 180 | 180 |
ABI - DESIGN | 266 | 266 | 266 |
ABI - ECONOMIA EMPRESARIAL E CONTROLADORIA | 350 | 350 | 350 |
ABI - EDUCAÇÃO FÍSICA | 1233 | 1233 | 1233 |
ABI - EDUCAÇÃO FÍSICA E ESPORTE | 615 | 615 | 615 |
ABI - EDUCAÇÃO INTERCULTURAL | 97 | 97 | 97 |
ABI - ENFERMAGEM | 647 | 647 | 647 |
ABI - ENGENHARIA | 4483 | 4483 | 4483 |
ABI - ENGENHARIA DE ENERGIAS E MEIO AMBIENTE | 246 | 246 | 246 |
ABI - ENGENHARIA DE MINAS | 106 | 106 | 106 |
ABI - ENGENHARIA ELÉTRICA | 473 | 473 | 473 |
ABI - ENGENHARIA MECÂNICA | 153 | 153 | 153 |
ABI - FILOSOFIA | 2119 | 2119 | 2119 |
ABI - FÍSICA | 2065 | 2065 | 2065 |
ABI - FÍSICA, MATEMÁTICA/MATEMÁTICA APLICADA E COMPUTACIONAL | 333 | 333 | 333 |
ABI - GEOGRAFIA | 2874 | 2874 | 2874 |
ABI - HISTÓRIA | 3475 | 3475 | 3475 |
ABI - INSTRUMENTO | 77 | 77 | 77 |
... | ... | ... | ... |
TELEMÁTICA | 930 | 930 | 930 |
TEOLOGIA | 31011 | 31011 | 31011 |
TEOLOGIA PASTORAL | 78 | 78 | 78 |
TEORIA DA DANÇA | 72 | 72 | 72 |
TEORIA, CRÍTICA E HISTÓRIA DA ARTE | 294 | 294 | 294 |
TERAPIA OCUPACIONAL | 6374 | 6374 | 6374 |
TOXICOLOGIA AMBIENTAL | 81 | 81 | 81 |
TOXICOLOGIA ANALÍTICA | 58 | 58 | 58 |
TRADUTOR E INTÉRPRETE | 1386 | 1386 | 1386 |
TRADUTOR EM INGLÊS | 62 | 62 | 62 |
TRADUÇÃO | 177 | 177 | 177 |
TRADUÇÃO E INTERPRETAÇÃO | 98 | 98 | 98 |
TRADUÇÃO E INTERPRETAÇÃO EM LÍNGUA BRASILEIRA DE SINAIS - LIBRAS/LÍNGUA PORTUGUESA | 52 | 52 | 52 |
TRANSPORTE AÉREO | 73 | 73 | 73 |
TRANSPORTE TERRESTRE | 1068 | 1068 | 1068 |
TURISMO | 24281 | 24281 | 24281 |
TURISMO E HOSPITALIDADE, GESTÃO DE EMPREENDIMENTOS TURÍSTICOS E EM EVENTOS EM NEGÓCIOS | 1 | 1 | 1 |
TURISMO E HOTELARIA | 361 | 361 | 361 |
TURISMO E LAZER | 37 | 37 | 37 |
TURISMO E MEIO AMBIENTE | 127 | 127 | 127 |
TURISMO PATRIMONIAL E SOCIOAMBIENTAL | 78 | 78 | 78 |
TÊXTIL E MODA | 384 | 384 | 384 |
URBANISMO | 164 | 164 | 164 |
VISAGISMO E TERAPIA CAPILAR | 636 | 636 | 636 |
VITICULTURA E ENOLOGIA | 451 | 451 | 451 |
WEB DESIGN E PROGRAMAÇÃO | 41 | 41 | 41 |
YOGA, ÊNFASE EM YOGATERAPIA | 17 | 17 | 17 |
ZOOTECNIA | 23760 | 23760 | 23760 |
ÁUDIO VISUAL E NOVAS MÍDIAS | 256 | 256 | 256 |
ÓPTICA E OPTOMETRIA | 334 | 334 | 334 |
1234 rows × 3 columns
# Se quisermos saber alguns cursos específicos?
cesdf.groupby('NO_CURSO').count().loc[['DIREITO', 'MEDICINA', 'CIÊNCIAS ECONÔMICAS', 'ESTATÍSTICA']]
Unnamed: 0 | CO_CATEGORIA_ADMINISTRATIVA | CO_COR_RACA_ALUNO | |
---|---|---|---|
NO_CURSO | |||
DIREITO | 1133090 | 1133090 | 1133090 |
MEDICINA | 143715 | 143715 | 143715 |
CIÊNCIAS ECONÔMICAS | 64628 | 64628 | 64628 |
ESTATÍSTICA | 6980 | 6980 | 6980 |
# Converter números em rótulos
racedict = {
1: 'Branca',
2: 'Preta',
3: 'Parda',
4: 'Amarela',
5: 'Indígena',
6: np.nan,
0: np.nan
}
cesdf['CO_COR_RACA_ALUNO'] = [racedict[int(aluno)] for aluno in cesdf['CO_COR_RACA_ALUNO']]
# Criar tabulação
tabulacao = pd.crosstab(cesdf['NO_CURSO'], cesdf['CO_COR_RACA_ALUNO'])
tabulacao
CO_COR_RACA_ALUNO | Amarela | Branca | Indígena | Parda | Preta |
---|---|---|---|---|---|
NO_CURSO | |||||
ABI - ARTES CÊNICAS | 7 | 199 | 2 | 90 | 35 |
ABI - ARTES PLÁSTICAS | 4 | 58 | 0 | 26 | 9 |
ABI - ARTES VISUAIS | 13 | 386 | 2 | 164 | 41 |
ABI - CICLO BÁSICO MATERIAIS/METALÚRGICA | 6 | 95 | 0 | 9 | 1 |
ABI - CIÊNCIA DA COMPUTAÇÃO | 2 | 63 | 1 | 81 | 25 |
ABI - CIÊNCIAS BIOLÓGICAS | 94 | 2855 | 10 | 949 | 245 |
ABI - CIÊNCIAS BIOMÉDICAS | 1 | 57 | 0 | 4 | 1 |
ABI - CIÊNCIAS DA NATUREZA | 3 | 168 | 0 | 109 | 41 |
ABI - CIÊNCIAS EXATAS | 11 | 143 | 0 | 27 | 15 |
ABI - CIÊNCIAS SOCIAIS | 45 | 1818 | 15 | 868 | 395 |
ABI - COMPOSIÇÃO E REGÊNCIA | 0 | 2 | 0 | 7 | 2 |
ABI - COMUNICAÇÃO SOCIAL | 4 | 365 | 1 | 238 | 73 |
ABI - DANÇA | 1 | 26 | 0 | 52 | 32 |
ABI - DESIGN | 9 | 192 | 0 | 39 | 9 |
ABI - ECONOMIA EMPRESARIAL E CONTROLADORIA | 9 | 221 | 0 | 16 | 4 |
ABI - EDUCAÇÃO FÍSICA | 6 | 889 | 4 | 232 | 93 |
ABI - EDUCAÇÃO FÍSICA E ESPORTE | 33 | 364 | 0 | 44 | 19 |
ABI - EDUCAÇÃO INTERCULTURAL | 0 | 0 | 97 | 0 | 0 |
ABI - ENFERMAGEM | 7 | 376 | 3 | 167 | 69 |
ABI - ENGENHARIA | 40 | 2176 | 8 | 1325 | 240 |
ABI - ENGENHARIA DE ENERGIAS E MEIO AMBIENTE | 0 | 69 | 4 | 39 | 124 |
ABI - ENGENHARIA DE MINAS | 0 | 8 | 0 | 26 | 9 |
ABI - ENGENHARIA ELÉTRICA | 38 | 382 | 1 | 39 | 6 |
ABI - ENGENHARIA MECÂNICA | 7 | 132 | 0 | 10 | 0 |
ABI - FILOSOFIA | 21 | 1074 | 10 | 512 | 172 |
ABI - FÍSICA | 30 | 1110 | 8 | 531 | 95 |
ABI - FÍSICA, MATEMÁTICA/MATEMÁTICA APLICADA E COMPUTACIONAL | 11 | 234 | 0 | 59 | 6 |
ABI - GEOGRAFIA | 22 | 1529 | 24 | 773 | 288 |
ABI - HISTÓRIA | 31 | 1827 | 8 | 831 | 308 |
ABI - INSTRUMENTO | 1 | 1 | 0 | 14 | 10 |
... | ... | ... | ... | ... | ... |
TELEMÁTICA | 9 | 282 | 7 | 398 | 64 |
TEOLOGIA | 365 | 11979 | 82 | 7718 | 2053 |
TEOLOGIA PASTORAL | 15 | 10 | 1 | 46 | 2 |
TEORIA DA DANÇA | 1 | 24 | 0 | 28 | 13 |
TEORIA, CRÍTICA E HISTÓRIA DA ARTE | 5 | 129 | 1 | 101 | 17 |
TERAPIA OCUPACIONAL | 168 | 2763 | 54 | 1657 | 477 |
TOXICOLOGIA AMBIENTAL | 1 | 60 | 0 | 8 | 6 |
TOXICOLOGIA ANALÍTICA | 0 | 25 | 0 | 2 | 4 |
TRADUTOR E INTÉRPRETE | 32 | 807 | 4 | 291 | 102 |
TRADUTOR EM INGLÊS | 0 | 44 | 0 | 10 | 2 |
TRADUÇÃO | 2 | 89 | 1 | 31 | 5 |
TRADUÇÃO E INTERPRETAÇÃO | 0 | 69 | 0 | 22 | 7 |
TRADUÇÃO E INTERPRETAÇÃO EM LÍNGUA BRASILEIRA DE SINAIS - LIBRAS/LÍNGUA PORTUGUESA | 4 | 15 | 0 | 6 | 1 |
TRANSPORTE AÉREO | 3 | 42 | 0 | 3 | 4 |
TRANSPORTE TERRESTRE | 18 | 440 | 3 | 258 | 120 |
TURISMO | 333 | 7094 | 141 | 4568 | 1716 |
TURISMO E HOSPITALIDADE, GESTÃO DE EMPREENDIMENTOS TURÍSTICOS E EM EVENTOS EM NEGÓCIOS | 0 | 1 | 0 | 0 | 0 |
TURISMO E HOTELARIA | 1 | 160 | 3 | 57 | 81 |
TURISMO E LAZER | 0 | 31 | 0 | 2 | 2 |
TURISMO E MEIO AMBIENTE | 2 | 82 | 0 | 29 | 6 |
TURISMO PATRIMONIAL E SOCIOAMBIENTAL | 0 | 7 | 0 | 35 | 36 |
TÊXTIL E MODA | 25 | 222 | 1 | 57 | 13 |
URBANISMO | 0 | 14 | 0 | 36 | 65 |
VISAGISMO E TERAPIA CAPILAR | 26 | 335 | 5 | 153 | 49 |
VITICULTURA E ENOLOGIA | 4 | 274 | 1 | 78 | 37 |
WEB DESIGN E PROGRAMAÇÃO | 0 | 26 | 0 | 11 | 2 |
YOGA, ÊNFASE EM YOGATERAPIA | 0 | 17 | 0 | 0 | 0 |
ZOOTECNIA | 327 | 9180 | 142 | 7933 | 1685 |
ÁUDIO VISUAL E NOVAS MÍDIAS | 2 | 96 | 4 | 61 | 14 |
ÓPTICA E OPTOMETRIA | 6 | 176 | 2 | 39 | 10 |
1216 rows × 5 columns
# Manter somente cursos com mais de 5 mil alunos
tabulacao = tabulacao[ tabulacao.sum(axis=1) > 5000 ]
tabulacao
CO_COR_RACA_ALUNO | Amarela | Branca | Indígena | Parda | Preta |
---|---|---|---|---|---|
NO_CURSO | |||||
ADMINISTRAÇÃO | 15080 | 392102 | 4769 | 243288 | 53995 |
ADMINISTRAÇÃO PÚBLICA | 247 | 7431 | 84 | 6273 | 1865 |
AGRONEGÓCIO | 196 | 6767 | 28 | 3475 | 679 |
AGRONOMIA | 1381 | 43366 | 330 | 21461 | 4965 |
ALIMENTOS | 93 | 2601 | 40 | 2618 | 594 |
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS | 2381 | 55110 | 875 | 28214 | 8279 |
ARQUITETURA E URBANISMO | 4487 | 103225 | 1179 | 42965 | 8759 |
ARTES VISUAIS | 426 | 14838 | 244 | 6315 | 1770 |
AUTOMAÇÃO INDUSTRIAL | 155 | 6181 | 38 | 3070 | 1055 |
BIBLIOTECONOMIA | 141 | 3815 | 56 | 2604 | 1082 |
BIOMEDICINA | 1479 | 31794 | 841 | 19689 | 4929 |
CIÊNCIA DA COMPUTAÇÃO | 1463 | 38925 | 421 | 19843 | 4894 |
CIÊNCIA E TECNOLOGIA | 362 | 7334 | 59 | 7008 | 1594 |
CIÊNCIAS BIOLÓGICAS | 1896 | 55621 | 894 | 38655 | 10074 |
CIÊNCIAS CONTÁBEIS | 7579 | 174247 | 2629 | 126711 | 27645 |
CIÊNCIAS ECONÔMICAS | 974 | 31177 | 189 | 13279 | 3873 |
CIÊNCIAS SOCIAIS | 363 | 12836 | 314 | 7959 | 3500 |
COMPUTAÇÃO | 110 | 2166 | 33 | 2719 | 883 |
COMUNICAÇÃO SOCIAL | 118 | 3553 | 83 | 2313 | 492 |
COMUNICAÇÃO SOCIAL - JORNALISMO | 324 | 12921 | 267 | 6490 | 1990 |
COMUNICAÇÃO SOCIAL - PUBLICIDADE E PROPAGANDA | 1263 | 44413 | 360 | 15960 | 4434 |
COMÉRCIO EXTERIOR | 340 | 11800 | 68 | 3852 | 1098 |
DESIGN | 555 | 15698 | 162 | 5040 | 1329 |
DESIGN DE INTERIORES | 334 | 9152 | 175 | 4162 | 918 |
DESIGN DE MODA | 355 | 8601 | 110 | 2967 | 952 |
DESIGN GRÁFICO | 518 | 9805 | 136 | 4506 | 1499 |
DIREITO | 17141 | 455028 | 6422 | 257519 | 62244 |
EDUCAÇÃO FÍSICA | 5853 | 137427 | 2515 | 90125 | 28649 |
ENFERMAGEM | 6067 | 107099 | 3356 | 108101 | 26930 |
ENGENHARIA AGRONÔMICA | 180 | 7099 | 56 | 3779 | 799 |
... | ... | ... | ... | ... | ... |
MATEMÁTICA | 1586 | 40726 | 555 | 36721 | 9341 |
MECATRÔNICA INDUSTRIAL | 110 | 3223 | 19 | 1832 | 473 |
MEDICINA | 3017 | 78310 | 668 | 26319 | 4834 |
MEDICINA VETERINÁRIA | 1401 | 55413 | 486 | 20871 | 3271 |
MODA | 144 | 4363 | 40 | 898 | 369 |
MÚSICA | 223 | 9750 | 115 | 5655 | 2252 |
NUTRIÇÃO | 2913 | 56338 | 2042 | 35817 | 9093 |
ODONTOLOGIA | 2386 | 58235 | 1131 | 29621 | 4706 |
PEDAGOGIA | 9975 | 290435 | 5348 | 219408 | 52786 |
PROCESSOS GERENCIAIS | 1268 | 44896 | 330 | 17310 | 4536 |
PSICOLOGIA | 5091 | 126157 | 2049 | 65454 | 18139 |
PUBLICIDADE E PROPAGANDA | 454 | 11453 | 147 | 4336 | 1868 |
QUÍMICA | 951 | 24458 | 239 | 19466 | 5280 |
RADIOLOGIA | 415 | 8356 | 249 | 7451 | 1907 |
REDES DE COMPUTADORES | 567 | 11247 | 193 | 8865 | 2601 |
RELAÇÕES INTERNACIONAIS | 447 | 17336 | 189 | 6038 | 1743 |
RELAÇÕES PÚBLICAS | 131 | 4961 | 31 | 1382 | 559 |
SECRETARIADO | 154 | 3108 | 28 | 3071 | 603 |
SEGURANÇA NO TRABALHO | 310 | 3487 | 104 | 5738 | 1347 |
SEGURANÇA PÚBLICA | 172 | 3294 | 41 | 2772 | 1246 |
SERVIÇO SOCIAL | 3477 | 47373 | 1173 | 69993 | 15079 |
SISTEMA DE INFORMAÇÃO | 457 | 9733 | 186 | 5749 | 1497 |
SISTEMAS DE INFORMAÇÃO | 1539 | 34984 | 435 | 21775 | 6509 |
SISTEMAS PARA INTERNET | 172 | 6498 | 45 | 3136 | 762 |
SOCIOLOGIA | 80 | 3218 | 71 | 1845 | 564 |
TEATRO | 125 | 3193 | 45 | 1726 | 810 |
TEOLOGIA | 365 | 11979 | 82 | 7718 | 2053 |
TERAPIA OCUPACIONAL | 168 | 2763 | 54 | 1657 | 477 |
TURISMO | 333 | 7094 | 141 | 4568 | 1716 |
ZOOTECNIA | 327 | 9180 | 142 | 7933 | 1685 |
110 rows × 5 columns
chi2, p, ddof, expected = stats.chi2_contingency(tabulacao)
print('Teste de Chi-Quadrado \n' + \
'Chi-quadrado: {:.2f} p-valor: {:.2f} \n'.format(chi2, p) +
'Graus de liberdade: {}'.format(ddof))
Teste de Chi-Quadrado Chi-quadrado: 163889.91 p-valor: 0.00 Graus de liberdade: 436
cesdf['NEGRO'] = (cesdf['CO_COR_RACA_ALUNO'] == 'Preta')
negro = cesdf.groupby('NO_CURSO')['NEGRO'].mean().sort_values()
negro
NO_CURSO FÍSICA COM HABILITAÇÃO EM FÍSICA COMPUTACIONAL 0.000000 HOTELARIA HOSPITALAR 0.000000 GESTÃO TURÍSTICA 0.000000 GESTÃO TERRITORIAL INDÍGENA 0.000000 GESTÃO ESTRATÉGICA DE VENDAS 0.000000 GESTÃO EMPREENDEDORA 0.000000 GESTÃO EM SUPERMERCADOS 0.000000 GESTÃO EM SAÚDE COLETIVA INDÍGENA 0.000000 GESTÃO EM PEQUENAS E MÉDIAS EMPRESAS 0.000000 GESTÃO EM GASTRONOMIA E ALIMENTAÇÃO 0.000000 GESTÃO E DESENVOLVIMENTO DO TURISMO 0.000000 GESTÃO DE ÓRGÃOS PÚBLICOS 0.000000 GESTÃO DE VENDAS E DE REPRESENTAÇÕES COMERCIAIS 0.000000 CIÊNCIA E INOVAÇÃO EM ALIMENTOS 0.000000 GESTÃO DE SISTEMAS DE INFORMAÇÃO 0.000000 GESTÃO DE REPRESENTAÇÃO COMERCIAL 0.000000 GESTÃO DE PEQUENAS E MÉDIAS EMPRESAS 0.000000 GESTÃO DE OPERAÇÕES BANCÁRIAS E FINANCEIRAS 0.000000 CIÊNCIAS BIOLÓGICAS - BIOLOGIA VEGETAL 0.000000 GESTÃO DE MARKETING EMPRESARIAL 0.000000 GESTÃO DE MARKETING 0.000000 GESTÃO DE EMPRESAS RURAIS 0.000000 CIÊNCIAS BIOLÓGICAS - ÊNFASE EM BIOLOGIA AMBIENTAL 0.000000 CIÊNCIAS BIOLÓGICAS - ÊNFASE EM BIOLOGIA EVOLUTIVA 0.000000 CIÊNCIAS BIOLÓGICAS - ÊNFASE EM BIOLOGIA MOLECULAR E TECNOLÓGICA 0.000000 GESTÃO DE EMPRESAS 0.000000 GESTÃO DE AMBIENTES INTERNET E REDES DE COMPUTADORES 0.000000 GESTÃO DE SEGUROS E PREVIDÊNCIA 0.000000 GESTÃO DA MANUFATURA 0.000000 INTERCULTURAL INDÍGENA EM CIÊNCIAS SOCIAIS 0.000000 ... CIÊNCIAS HUMANAS - HISTÓRIA 0.318910 CIÊNCIAS NATURAIS - BIOLOGIA 0.322981 ENGENHARIA AMBIENTAL E ENERGIAS RENOVÁVEIS 0.328859 MÚSICA - ÓRGÃO 0.333333 CIÊNCIAS NATURAIS - FÍSICA 0.341935 LETRAS - LÍNGUA PORTUGUESA E LITERATURAS DE LÍNGUA PORTUGUESA 0.345710 COMUNICAÇÃO SOCIAL - JORNALISMO EM MULTIMEIOS 0.346154 EDUCAÇÃO FÍSICA - ÊNFASE EM EDUCAÇÃO FÍSICA E SAÚDE 0.349345 INTERDISCIPLINAR EM CIÊNCIAS HUMANAS E SOCIAIS E SUAS TECNOLOGIAS 0.350000 HUMANIDADES - BI/LI 0.358190 LETRAS - LÍNGUA INGLESA E RESPECTIVAS LITERATURAS 0.363519 EDUCAÇÃO DO CAMPO - LINGUAGENS E CÓDIGOS (ARTES E MÚSICA) 0.366726 GESTÃO DE PRODUÇÃO INDUSTRIAL 0.367041 LETRAS - LÍNGUA FRANCESA E LITERATURA 0.369231 CIÊNCIAS HUMANAS - FILOSOFIA 0.371795 CIÊNCIAS SOCIAIS - PROGRAMA DE FORMAÇÃO INICIAL DE PROFESSORES - PARA ATUAÇÃO NO ENSINO FUNDAMENTAL E MÉDIO 0.375000 URBANISMO 0.396341 LETRAS - PORTUGUÊS E LITERATURAS DA LÍNGUA PORTUGUESA 0.396774 LETRAS - LÍNGUA ESPANHOLA E LITERATURA 0.435484 ECONOMIA ECOLÓGICA 0.442308 SISTEMAS E MÍDIAS DIGITAIS 0.448852 DESIGN - MODA 0.458716 INTERDISCIPLINAR EM ESTUDOS AFRICANOS E AFRO-BRASILEIROS 0.459459 TURISMO PATRIMONIAL E SOCIOAMBIENTAL 0.461538 INTERDISCIPLINAR EM CIÊNCIAS NATURAIS E MATEMÁTICA 0.481328 MÚSICA - FLAUTA DOCE 0.500000 MATEMÁTICA APLICADA E COMPUTACIONAL COM HABILITAÇÃO EM SAÚDE PÚBLICA 0.500000 ABI - ENGENHARIA DE ENERGIAS E MEIO AMBIENTE 0.504065 ENGENHARIA DE TELEINFORMÁTICA 0.508475 FINANÇAS 0.559006 Name: NEGRO, Length: 1234, dtype: float64
y_pos = range(0, len(negro))
plt.scatter(y_pos, negro)
plt.title('Proporção de Negros em cursos')
plt.tick_params(
axis='x',
bottom='off',
labelbottom='off')
plt.show()
stats.chisquare(tabulacao['Preta'])
Power_divergenceResult(statistic=2045555.6040406763, pvalue=0.0)
import pandas as pd
import numpy as np
# Ler arquivo
file = 'https://github.com/omercadopopular/cgoes/blob/master/StatsPython/data/wooldridge/airfare.dta?raw=true'
df = pd.read_stata(file)
df.head()
year | id | dist | passen | fare | bmktshr | ldist | y98 | y99 | y00 | lfare | ldistsq | concen | lpassen | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1997 | 1 | 528 | 152 | 106 | 0.8386 | 6.269096 | 0 | 0 | 0 | 4.663439 | 39.301571 | 0.8386 | 5.023880 |
1 | 1998 | 1 | 528 | 265 | 106 | 0.8133 | 6.269096 | 1 | 0 | 0 | 4.663439 | 39.301571 | 0.8133 | 5.579730 |
2 | 1999 | 1 | 528 | 336 | 113 | 0.8262 | 6.269096 | 0 | 1 | 0 | 4.727388 | 39.301571 | 0.8262 | 5.817111 |
3 | 2000 | 1 | 528 | 298 | 123 | 0.8612 | 6.269096 | 0 | 0 | 1 | 4.812184 | 39.301571 | 0.8612 | 5.697093 |
4 | 1997 | 2 | 861 | 282 | 104 | 0.5798 | 6.758094 | 0 | 0 | 0 | 4.644391 | 45.671837 | 0.5798 | 5.641907 |
df = df.drop(['ldist', 'y98', 'y99', 'y00', 'lfare',
'ldistsq', 'concen', 'lpassen'], axis=1)
df.head()
year | id | dist | passen | fare | bmktshr | |
---|---|---|---|---|---|---|
0 | 1997 | 1 | 528 | 152 | 106 | 0.8386 |
1 | 1998 | 1 | 528 | 265 | 106 | 0.8133 |
2 | 1999 | 1 | 528 | 336 | 113 | 0.8262 |
3 | 2000 | 1 | 528 | 298 | 123 | 0.8612 |
4 | 1997 | 2 | 861 | 282 | 104 | 0.5798 |
df = df.rename(columns = {'fare':'preco'})
df
year | id | dist | passen | preco | bmktshr | |
---|---|---|---|---|---|---|
0 | 1997 | 1 | 528 | 152 | 106 | 0.8386 |
1 | 1998 | 1 | 528 | 265 | 106 | 0.8133 |
2 | 1999 | 1 | 528 | 336 | 113 | 0.8262 |
3 | 2000 | 1 | 528 | 298 | 123 | 0.8612 |
4 | 1997 | 2 | 861 | 282 | 104 | 0.5798 |
5 | 1998 | 2 | 861 | 178 | 105 | 0.5817 |
6 | 1999 | 2 | 861 | 204 | 115 | 0.7319 |
7 | 2000 | 2 | 861 | 190 | 129 | 0.5386 |
8 | 1997 | 3 | 852 | 241 | 207 | 0.8180 |
9 | 1998 | 3 | 852 | 253 | 188 | 0.8172 |
10 | 1999 | 3 | 852 | 244 | 229 | 0.7998 |
11 | 2000 | 3 | 852 | 244 | 247 | 0.7097 |
12 | 1997 | 4 | 724 | 233 | 243 | 0.4604 |
13 | 1998 | 4 | 724 | 248 | 226 | 0.4614 |
14 | 1999 | 4 | 724 | 224 | 229 | 0.4334 |
15 | 2000 | 4 | 724 | 339 | 176 | 0.3716 |
16 | 1997 | 5 | 1073 | 396 | 119 | 0.4571 |
17 | 1998 | 5 | 1073 | 529 | 105 | 0.5632 |
18 | 1999 | 5 | 1073 | 494 | 121 | 0.5008 |
19 | 2000 | 5 | 1073 | 710 | 109 | 0.5197 |
20 | 1997 | 6 | 318 | 237 | 181 | 0.9100 |
21 | 1998 | 6 | 318 | 213 | 197 | 0.9068 |
22 | 1999 | 6 | 318 | 209 | 190 | 0.9286 |
23 | 2000 | 6 | 318 | 163 | 171 | 0.9693 |
24 | 1997 | 7 | 1270 | 168 | 200 | 0.6695 |
25 | 1998 | 7 | 1270 | 185 | 218 | 0.7082 |
26 | 1999 | 7 | 1270 | 178 | 229 | 0.6714 |
27 | 2000 | 7 | 1270 | 197 | 220 | 0.6231 |
28 | 1997 | 8 | 614 | 173 | 134 | 0.5979 |
29 | 1998 | 8 | 614 | 157 | 153 | 0.6350 |
... | ... | ... | ... | ... | ... | ... |
4566 | 1999 | 1142 | 351 | 319 | 67 | 0.5249 |
4567 | 2000 | 1142 | 351 | 303 | 78 | 0.5303 |
4568 | 1997 | 1143 | 713 | 391 | 262 | 0.8835 |
4569 | 1998 | 1143 | 713 | 405 | 259 | 0.8788 |
4570 | 1999 | 1143 | 713 | 761 | 168 | 0.6787 |
4571 | 2000 | 1143 | 713 | 471 | 297 | 0.8541 |
4572 | 1997 | 1144 | 1105 | 147 | 147 | 0.6827 |
4573 | 1998 | 1144 | 1105 | 160 | 130 | 0.6617 |
4574 | 1999 | 1144 | 1105 | 152 | 136 | 0.5672 |
4575 | 2000 | 1144 | 1105 | 169 | 134 | 0.6235 |
4576 | 1997 | 1145 | 298 | 184 | 183 | 0.8802 |
4577 | 1998 | 1145 | 298 | 170 | 200 | 0.9173 |
4578 | 1999 | 1145 | 298 | 166 | 200 | 0.9489 |
4579 | 2000 | 1145 | 298 | 162 | 193 | 0.9510 |
4580 | 1997 | 1146 | 200 | 227 | 97 | 0.9823 |
4581 | 1998 | 1146 | 200 | 239 | 110 | 0.9773 |
4582 | 1999 | 1146 | 200 | 243 | 97 | 0.9803 |
4583 | 2000 | 1146 | 200 | 228 | 118 | 0.9866 |
4584 | 1997 | 1147 | 814 | 802 | 150 | 0.5820 |
4585 | 1998 | 1147 | 814 | 881 | 135 | 0.5899 |
4586 | 1999 | 1147 | 814 | 1073 | 124 | 0.5746 |
4587 | 2000 | 1147 | 814 | 1142 | 142 | 0.6415 |
4588 | 1997 | 1148 | 1948 | 190 | 295 | 0.4352 |
4589 | 1998 | 1148 | 1948 | 238 | 257 | 0.5119 |
4590 | 1999 | 1148 | 1948 | 213 | 296 | 0.5617 |
4591 | 2000 | 1148 | 1948 | 198 | 311 | 0.4272 |
4592 | 1997 | 1149 | 857 | 493 | 147 | 0.7089 |
4593 | 1998 | 1149 | 857 | 523 | 142 | 0.7797 |
4594 | 1999 | 1149 | 857 | 441 | 146 | 0.7465 |
4595 | 2000 | 1149 | 857 | 556 | 145 | 0.8122 |
4596 rows × 6 columns
def cov(x,y):
if len(x) != len(y):
return 'Variáveis de tamanho diferente'
else:
media_x = np.mean(x)
media_y = np.mean(y)
numerador = np.sum((x - media_x) * (y - media_y))
denominador = len(x) - 1
return numerador / denominador
print('Variância dos preços: {:.2f} \n'.format(cov(df['preco'], df['preco'])) +
'Variância das distâncias: {:.2f} \n'.format(cov(df['dist'], df['dist'])) +
'Co-variância de preço e distâncias: {:.2f} \n'.format(cov(df['preco'], df['dist']))
)
Variância dos preços: 5607.24 Variância das distâncias: 374337.79 Co-variância de preço e distâncias: 28568.73
np.cov(df['preco'],df['dist'])
array([[ 5607.2409559 , 28568.73097409], [ 28568.73097409, 374337.7917595 ]])
def corr(x,y):
numerador = cov(x,y)
denominador = np.std(x, ddof=1) * np.std(y, ddof=1)
return numerador / denominador
corr(df['preco'],df['dist'])
0.6235689801652391
np.corrcoef(df['preco'],df['dist'])
array([[ 1. , 0.62356898], [ 0.62356898, 1. ]])
plt.scatter('dist', 'preco',
data=df, alpha=0.25)
plt.xlabel('Distância (milhas)')
plt.ylabel('Preço (dólares)')
plt.title('Passagens aéreas: relação entre distância e preço')
plt.show()