From 0daa8dc319ae94cb373954622019a075fafabdeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Denis=20Rodrigues?= <joao.denisr@gmail.com> Date: Tue, 19 Sep 2017 15:01:02 -0300 Subject: [PATCH] Alguma coisa dos aluno --- script/analysis/student_analysis.py | 18 ++++++++++++++++++ script/base/dataframe_base.py | 16 ++++------------ script/build_cache.py | 25 +++++++++++++++++++------ 3 files changed, 41 insertions(+), 18 deletions(-) diff --git a/script/analysis/student_analysis.py b/script/analysis/student_analysis.py index e69de29..2df6659 100644 --- a/script/analysis/student_analysis.py +++ b/script/analysis/student_analysis.py @@ -0,0 +1,18 @@ +import re +import pandas as pd +import numpy as np +from utils.situations import * + +def average_ira(df): + print(df) + new_df = df.dropna(subset=['MEDIA_FINAL']) + new_df = new_df[new_df['MEDIA_FINAL'] <= 100] + if not new_df.empty: + grade = np.sum(new_df['MEDIA_FINAL']*new_df['CH_TOTAL']) + total_ch = np.sum(new_df['CH_TOTAL']) * 100 + + return grade/total_ch + +def pass_rate(dt): + new_dt = dt[dt['SITUACAO'].isin(Situation.SITATUION_PASS)] + diff --git a/script/base/dataframe_base.py b/script/base/dataframe_base.py index b1901c0..11f57f2 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') @@ -39,10 +30,11 @@ def load_dataframes(cwd='.'): dataframes.append(dh) dataframe = fix_dataframes(dataframes) + dh = DataframeHolder(dataframe) - dh.students.aggregate(teste) -# print(dh.students['MEDIA_FINAL'].aggregate(teste)) - return dataframe + + + return dh def read_excel(path, planilha='Planilha1'): diff --git a/script/build_cache.py b/script/build_cache.py index 50ef82d..4fea55c 100644 --- a/script/build_cache.py +++ b/script/build_cache.py @@ -6,8 +6,8 @@ import math from datetime import timedelta from pathlib import Path from utils.utils import build_path -from analysis.degree_analysis import * - +import analysis.degree_analysis as de_an +import analysis.student_analysis as st_an try: to_unicode = unicode except NameError: @@ -21,6 +21,7 @@ def build_cache(dataframe): path += "/curso" build_path(path) + generate_student_data(path, dataframe) # generate_degree_data(path, dataframe) # generate_student_data(path) # generate_student_list(path) @@ -30,12 +31,24 @@ def build_cache(dataframe): # generate_course_general_data(path) def generate_degree_data(path, dataframe): - average_graduation(dataframe) - general_failure(dataframe) - general_ira(dataframe) + de_an.average_graduation(dataframe) + de_an.general_failure(dataframe) + de_an.general_ira(dataframe) pass -def generate_student_data(path): + +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) + +def generate_student_data(path, dataframe): +# student_df = dataframe.groupby('MATR_ALUNO') + dataframe.students.aggregate(teste) pass def generate_student_list(path): -- GitLab