Skip to content
Snippets Groups Projects
Commit 67d7ec41 authored by omdj17's avatar omdj17
Browse files

analises semtrais prontas

parent 1e83b296
No related branches found
No related tags found
1 merge request!1WIP: Development
# -*- coding: utf-8 -*-
import pandas as pd
import json
import numpy as np
import utils.situations
df = pd.read_excel("../base/base-2016-1/historico.xls")
# df = pd.read_excel("../base/base-2016-1/historico.xls")
# imprime completamente um dataframe
def print_analise(d):
with pd.option_context('display.max_rows', None, 'display.max_columns', 27):
print(d)
......@@ -19,9 +21,11 @@ def func(x, matr):
# quantidade de matriculas
def counts_matr(df):
return df.groupby(['COD_ATIV_CURRIC']).size()
def analysis(df):
qnt_matr = counts_matr(df) # quantidade de matriculas disciplina
# conta quantas vezes os valores de 'SIGLA' se repete para cada disciplina
......@@ -29,20 +33,58 @@ def analysis(df):
).size().reset_index(name='counts')
# adiciona mais uma coluna ao df disciplina com as taxas de cada valor de 'SIGLA'
disciplina = disciplinas.groupby(['COD_ATIV_CURRIC', 'SIGLA', 'counts']).apply(
lambda x: func(x, matr)).reset_index(name='taxas gerais')
lambda x: func(x, qnt_matr)).reset_index(name='taxas gerais')
# print(disciplina)
return disciplina
# quantidade de vezes cursadas ate obter a aprovacao
def qnt_aprov(df):
qnt = df.groupby(['MATR_ALUNO','COD_ATIV_CURRIC']).size().reset_index(name='quantida aprov')
qnt = df.groupby(['MATR_ALUNO', 'COD_ATIV_CURRIC']
).size().reset_index(name='qnt_aprov')
return qnt
# print(qnt)
matr = counts_matr(df)
analysis(df)
qnt_aprov(df)
def matr_semestre(df):
return df.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO']).size()
def func_semestre(x, matr):
# print (matr)
ano = int(x['ANO'])
# print(ano)
periodo = x['PERIODO'].values[0]
disciplina = x['COD_ATIV_CURRIC'].values[0]
c = matr[disciplina,periodo,ano]
# break
# print(x['PERIODO'])
# print("Disciplina: %s\nPeriodo:%s \nAno:%d"%(disciplina,periodo,ano))
# c = matr['CI056','2']
# print(c)
# print(disciplina)
# print("--------------------------------------------------------------------------")
return (x['counts_semestre'] / c)
def analysis_semestre(df):
qnt_matr_semestre = matr_semestre(df)
discipline_semestre = df.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SIGLA']).size(
).reset_index(name='counts_semestre')
discipline_semestre = discipline_semestre.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SIGLA']).apply(lambda x: func_semestre(x,
qnt_matr_semestre)).reset_index(name='taxas_semetrais')
return discipline_semestre
def Main(df):
Analysis = analysis(df)
Analysis_semestre = analysis_semestre(df)
matr = counts_matr(df)
matr_semes = matr_semestre(df)
print_analise(merged)
# main()
# matr = counts_matr(df)
# analysis(df)
# qnt_aprov(df)
#
##f = lambda x: x / c[x]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment