Commit 44217bda authored by Odair M.'s avatar Odair M.
Browse files

Merge branch '46-ira-medio-desvio-padrao-2' into 'development'

Resolve "Ira médio desvio padrão"

Closes #46

See merge request !20
parents 707af328 e57cad1b
Pipeline #16075 failed with stage
in 1 minute and 42 seconds
import numpy as np
from script.utils.situations import *
from script.analysis.student_analysis import ira_alunos
from collections import defaultdict
import numpy as np
ANO_ATUAL = 2017
SEMESTRE_ATUAL = 2
def iras_alunos_turmas_ingressos(df):
iras = ira_alunos(df)
turmas_ingresso_grr = df.groupby([
"ANO_INGRESSO",
"SEMESTRE_INGRESSO",
"MATR_ALUNO"]
).groups
# Cria um dicionario cujas chaves são GRR
# e valor são tuplas (ano_ingresso,semestre_ingresso)
ano_semestre_do_grr = {}
for ti in turmas_ingresso_grr:
ano_semestre_do_grr[ ti[2] ] = (ti[0],ti[1])
resultados = defaultdict(list)
for grr in iras:
semestre_ano = ano_semestre_do_grr[grr]
resultados[ semestre_ano ].append(iras[grr])
return resultados
def media_ira_turma_ingresso(df):
iras_alunos_por_turma = iras_alunos_turmas_ingressos(df)
# Calcula a média do ira para cada turma_ingresso
resultados = {}
for r in iras_alunos_por_turma:
aux = np.array(iras_alunos_por_turma[r])
resultados[r] = np.mean(aux)
return resultados
def listagem_turma_ingresso(df):
#~ print(df.groupby(["ANO_INGRESSO", "SEMESTRE_INGRESSO"]).groups)
grupos = df.groupby(["ANO_INGRESSO", "SEMESTRE_INGRESSO"]).groups
for t in grupos:
print(t)
print("\n\n")
print(df["FORMA_INGRESSO"][grupos[t]].drop_duplicates())
def desvio_padrao_turma_ingresso(df):
iras_alunos_por_turma = iras_alunos_turmas_ingressos(df)
# Calcula o desvio padrão para cada turma_ingresso
resultados = {}
for r in iras_alunos_por_turma:
aux = np.array(iras_alunos_por_turma[r])
resultados[r] = np.std(aux)
return resultados
......@@ -5,6 +5,7 @@ from script.analysis.student_analysis import *
from script.analysis.course_analysis import *
from script.analysis.admission_analysis import *
from collections import defaultdict
try:
to_unicode = unicode
......@@ -19,16 +20,14 @@ def build_cache(dataframe):
ensure_path_exists(path)
for cod, df in dataframe.groupby('COD_CURSO'):
path = path + '/' + cod + '/'
generate_degree_data(path, df)
generate_student_data(path+'students/',df)
#~ generate_admission_data(path+'/'+cod+'/admission/',df)
#generate_degree_data(path, dataframe)
#generate_student_data(path, dataframe)
#generate_student_list(path)
#generate_admission_data(path)
#generate_admission_list(path)
generate_course_data(path+'disciplina/' ,dataframe)
path = path + '/' + cod + '/'
# generate_degree_data(path, df)
# generate_student_data(path+'students/',df)
generate_admission_data(path+'/admission/',df)
#generate_student_list(path)
# generate_admission_data(path, dataframe)
# generate_admission_list(path, dataframe)
# generate_course_data(path+'disciplina/' ,dataframe)
def generate_degree_data(path, dataframe):
ensure_path_exists(path)
......@@ -140,10 +139,37 @@ def generate_student_list(path):
pass
def generate_admission_data(path,df):
listagem_turma_ingresso(df)
pass
listagem = []
analises = [
("ira", media_ira_turma_ingresso(df)),
("desvio_padrao", desvio_padrao_turma_ingresso(df)),
]
# cria um dicionario com as analises para cada turma
turmas = defaultdict(dict)
for a in analises:
for x in a[1]:
turmas[x][ a[0] ] = a[1][x]
listagem = []
for t in turmas:
resumo_turma = {
"ano": x[0],
"semestre": x[1]
}
for analise in turmas[t]:
resumo_turma[analise] = turmas[t][analise]
listagem.append(resumo_turma)
save_json(path+"lista_turma_ingresso.json", listagem)
def generate_admission_list(path):
def generate_admission_list(path,df):
pass
def generate_course_data(path,df):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment