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