diff --git a/script/analysis/student_analysis.py b/script/analysis/student_analysis.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..326e5bc3e459a503860d12da43699e3a773cde85 100644 --- a/script/analysis/student_analysis.py +++ b/script/analysis/student_analysis.py @@ -0,0 +1,63 @@ +import pandas as pd +from utils.situations import * + +def average_ira(d): + temp = d.dropna(subset=['MEDIA_FINAL']) + temp = temp[temp['MEDIA_FINAL'] <= 100] + if not temp.empty: + #print(temp[['MEDIA_FINAL', 'CH_TOTAL']]) + aux = np.sum(temp['MEDIA_FINAL']*temp['CH_TOTAL']) + ch_total = np.sum(temp['CH_TOTAL']) * 100 + print(aux/ch_total) + +def aluno_turmas(df): + students = {} + df = df.dropna(subset=['MEDIA_FINAL']) + total_students = len(df["MATR_ALUNO"]) + for i in range(total_students): + matr = (df["MATR_ALUNO"][i]) + if(not (matr in students)): + students[matr] = [] + + for s in Situation.SITUATIONS: + if(s[0] == df["SITUACAO"][i]): + situacao = s[1] + break + ano = (df["ANO"][i]) + codigo = (df["COD_ATIV_CURRIC"][i]) + nome = (df["NOME_ATIV_CURRIC"][i]) + nota = (df["MEDIA_FINAL"][i]) + semestre = (df["PERIODO"][i]) + + students[matr].append({ + "ano": ano, + "codigo": codigo, + "nome": nome, + "nota": nota, + "semestre": semestre, + "situacao": situacao + }) + print(students) + #~ lines = (df[["MATR_ALUNO","ANO","COD_ATIV_CURRIC","NOME_ATIV_CURRIC","MEDIA_FINAL","PERIODO","SITUACAO"]]) + #~ for st in (df.groupby("MATR_ALUNO")): + #~ print(st[1]["MATR_ALUNO"]) + #~ print(st[1]["ANO"]) + #~ print(st[1]["COD_ATIV_CURRIC"]) + #~ print(st[1]["NOME_ATIV_CURRIC"]) + #~ print(st[1]["MEDIA_FINAL"]) + #~ print(st[1]["PERIODO"]) + #~ print(st[1]["SITUACAO"]) + #~ print("") + #~ total_student = df['MATR_ALUNO'].drop_duplicates() + #~ for st in total_student: + #~ students[st] = [] + #~ hist = df[df["MATR_ALUNO"]==st] + #~ for matr in hist: + #~ print(hist["ANO"]) + #~ print(hist[matr]["COD_ATIV_CURRIC"]) + #~ print(hist[matr]["NOME_ATIV_CURRIC"]) + #~ print(hist[matr]["MEDIA_FINAL"]) + #~ print(hist[matr]["PERIODO"]) + #~ print(hist[matr]["SITUACAO"]) + #~ print(hist[matr]) + #~ print("") diff --git a/script/base/dataframe_base.py b/script/base/dataframe_base.py index e8318198ffd0aeb11d48459b0d91d6c5723ca9f5..39c056fd523bf04ff37447381ab190e8c58725ee 100644 --- a/script/base/dataframe_base.py +++ b/script/base/dataframe_base.py @@ -8,15 +8,6 @@ from json import load as json_load from utils.situations import * -def teste(d): - temp = d.dropna(subset=['MEDIA_FINAL']) - temp = temp[temp['MEDIA_FINAL'] <= 100] - if not temp.empty: - #print(temp[['MEDIA_FINAL', 'CH_TOTAL']]) - aux = np.sum(temp['MEDIA_FINAL']*temp['CH_TOTAL']) - ch_total = np.sum(temp['CH_TOTAL']) * 100 - print(aux/ch_total) - class DataframeHolder: def __init__(self, dataframe): self.students = dataframe.groupby('MATR_ALUNO') @@ -111,4 +102,4 @@ def fix_evasion(df): #~ if(x != 0.0): #~ print(x) #~ print(df.FORMA_EVASAO.str.contains(evasion[1]).fillna(5)) - print(df[['MATR_ALUNO','FORMA_EVASAO']]) + #~ print(df[['MATR_ALUNO','FORMA_EVASAO']]) diff --git a/script/build_cache.py b/script/build_cache.py index 50ef82d80ce0ca2c61afbdf75333eb334f9ff88e..4f358398d27a9e83577f65bcf34b1a9fe680103c 100644 --- a/script/build_cache.py +++ b/script/build_cache.py @@ -7,6 +7,7 @@ from datetime import timedelta from pathlib import Path from utils.utils import build_path from analysis.degree_analysis import * +from analysis.student_analysis import * try: to_unicode = unicode @@ -22,7 +23,7 @@ def build_cache(dataframe): build_path(path) # generate_degree_data(path, dataframe) -# generate_student_data(path) + generate_student_data(path,dataframe) # generate_student_list(path) # generate_admission_data(path) # generate_admission_list(path) @@ -35,7 +36,8 @@ def generate_degree_data(path, dataframe): general_ira(dataframe) pass -def generate_student_data(path): +def generate_student_data(path,dataframe): + aluno_turmas(dataframe) pass def generate_student_list(path):