From c227b5ae10b81303223cdc3a4792713702e168f7 Mon Sep 17 00:00:00 2001 From: Bruno Meyer <buba.meyer_@hotmail.com> Date: Mon, 5 Feb 2018 16:02:32 -0200 Subject: [PATCH] Comecando as listagens de alunos --- script/analysis/student_analysis.py | 38 +++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/script/analysis/student_analysis.py b/script/analysis/student_analysis.py index 8f2f515..9a180dd 100644 --- a/script/analysis/student_analysis.py +++ b/script/analysis/student_analysis.py @@ -5,13 +5,46 @@ import numpy as np #~ AO CHAMAR A FUNCAO VERIFICAR SE TEM ALGO NA CACHE from utils.situations import * +import pandas as pd ANO_ATUAL = 2017 SEMESTRE_ATUAL = 2 -def listagem_alunos_ativos(df): - return list(df["MATR_ALUNO"][df["FORMA_EVASAO"] == EvasionForm.EF_ATIVO].drop_duplicates()) +def listagem_alunos(df): + #~ ativos = df[["MATR_ALUNO", "NOME_PESSOA",]][df["FORMA_EVASAO"] == EvasionForm.EF_ATIVO].drop_duplicates() + situacoes = df.groupby(["MATR_ALUNO", "NOME_PESSOA", "FORMA_EVASAO"]) + situacoes = list(pd.DataFrame({'count' : situacoes.size()}).reset_index().groupby(["FORMA_EVASAO"])) + + #~ Cria lista de nome de listagens + + #~ Percorre o situacoes, verifica se o grupo esta em algumas das listagens e insere na correta (ou se não achar insere na listagem de outros) + + #~ Retorna dicionario com as listagens + + #~ print(list(situacoes.indices)) + #~ print(list(situacoes)) + + #~ iras = ira_alunos(df) + + + + return list() + +def ira_alunos(df): + iras = ira_por_quantidade_disciplinas(df) + for i in iras: + ira_total = 0 + carga_total = 0 + for semestre in iras[i]: + ira_total += iras[i][semestre][0]*iras[i][semestre][2] + carga_total+=iras[i][semestre][2] + + if(carga_total != 0): + iras[i] = ira_total/carga_total + else: + iras[i] = 0 + return iras def taxa_aprovacao(df): aprovacoes_semestres = indice_aprovacao_semestral(df) @@ -105,6 +138,7 @@ def ira_por_quantidade_disciplinas(df): for periodo in students[matr]: if (students[matr][periodo][2] != 0): students[matr][periodo][0] /= students[matr][periodo][2] * 100 + return (students) -- GitLab