Commit 7d018ce8 authored by Legton's avatar Legton
Browse files

Merge branch 'back-to-origins' into degree

parents b55666d2 0daa8dc3
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)]
......@@ -2,12 +2,19 @@ import re
import os
import sys
import pandas as pd
import numpy as np
from glob import glob
from json import load as json_load
from utils.situations import *
class DataframeHolder:
def __init__(self, dataframe):
self.students = dataframe.groupby('MATR_ALUNO')
self.courses = dataframe.groupby('COD_ATIV_CURRIC')
self.admission = dataframe.groupby(['ANO_INGRESSO', 'SEMESTRE_INGRESSO'])
def load_dataframes(cwd='.'):
dataframes = []
for path, dirs, files in os.walk(cwd):
......@@ -23,7 +30,11 @@ def load_dataframes(cwd='.'):
dataframes.append(dh)
dataframe = fix_dataframes(dataframes)
return dataframe
dh = DataframeHolder(dataframe)
return dh
def read_excel(path, planilha='Planilha1'):
......
......@@ -6,13 +6,14 @@ 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:
to_unicode = str
def build_cache(dataframe):
# os.chdir("../src")
path = "cache"
......@@ -20,21 +21,34 @@ def build_cache(dataframe):
path += "/curso"
build_path(path)
generate_degree_data(path, dataframe)
generate_student_data(path)
generate_student_list(path)
generate_admission_data(path)
generate_admission_list(path)
generate_course_data(path)
generate_course_general_data(path)
generate_student_data(path, dataframe)
# generate_degree_data(path, dataframe)
# generate_student_data(path)
# generate_student_list(path)
# generate_admission_data(path)
# generate_admission_list(path)
# generate_course_data(path)
# 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):
......
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