Skip to content
Snippets Groups Projects
Commit d891c295 authored by odair mario's avatar odair mario
Browse files

fsfZZ

parent 71ec3197
No related branches found
No related tags found
1 merge request!1WIP: Development
...@@ -33,22 +33,29 @@ def analysis(df): ...@@ -33,22 +33,29 @@ def analysis(df):
disciplina = disciplinas.groupby(['COD_ATIV_CURRIC', 'SITUACAO', 'Quantidade']).apply( disciplina = disciplinas.groupby(['COD_ATIV_CURRIC', 'SITUACAO', 'Quantidade']).apply(
lambda x: func(x, qnt_matr)).reset_index(name='Taxas gerais') lambda x: func(x, qnt_matr)).reset_index(name='Taxas gerais')
disciplina = disciplina.drop('level_3',1) # retira coluna duplicada do index disciplina = disciplina.drop('level_3',1) # retira coluna duplicada do index
return disciplina # codigo que transforma o dataframe em um dicionario
# quantidade de vezes cursadas ate obter a aprovacao dict_disciplina = {}
def qnt_aprov(df):
qnt = df.groupby(['MATR_ALUNO', 'COD_ATIV_CURRIC']
).size().reset_index(name='qnt_aprov')
return qnt
# transforma o dataframe geral em json, # TODO: fazer o mesmo com o semestral
def df_to_json(disciplina,qnt_matr):
for dis in qnt_matr.keys(): for dis in qnt_matr.keys():
disc = disciplina.loc[disciplina['COD_ATIV_CURRIC']==dis].drop('COD_ATIV_CURRIC',1) # separa o dataframe em disciplina e elimina a coluna codigo # separa o dataframe em disciplina
disc = disciplina.loc[disciplina['COD_ATIV_CURRIC']==dis]
disc = disc.drop('COD_ATIV_CURRIC',1) # elimina a coluna codigo
# seta a coluna SITUACAO como index # seta a coluna SITUACAO como index
disc = disc.set_index('SITUACAO').to_dict() disc = disc.set_index('SITUACAO').to_dict()
# para caso uma discipl. nao tenha um campo, coloca o campo com valor 0
for i in Situation.SITUATIONS: for i in Situation.SITUATIONS:
if not(i[0] in disc['Quantidade'].keys()): if not(i[0] in disc['Quantidade'].keys()):
disc['Quantidade'][i[0]] = 0 disc['Quantidade'][i[0]] = 0
disc['Taxas gerais'][i[0]] = 0 disc['Taxas gerais'][i[0]] = 0
dict_disciplina[dis] = disc
return dict_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='qnt_aprov')
return qnt
# transforma o dataframe geral em json, # TODO: fazer o mesmo com o semestral
def df_to_json(disciplina,qnt_matr):
# cria o json # cria o json
with open(dis+'.json','w') as f: with open(dis+'.json','w') as f:
json.dump(disc,f,indent=4) json.dump(disc,f,indent=4)
...@@ -69,16 +76,38 @@ def func_semestre(x, matr): ...@@ -69,16 +76,38 @@ def func_semestre(x, matr):
def analysis_semestre(df): def analysis_semestre(df):
qnt_matr_semestre = matr_semestre(df) qnt_matr_semestre = matr_semestre(df)
discipline_semestre = df.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SITUACAO']).size( discipline_semestre = df.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SITUACAO'])
).reset_index(name='counts_semestre') discipline_semestre = discipline_semestre.size()
discipline_semestre = discipline_semestre.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SITUACAO']).apply(lambda x: func_semestre(x,
qnt_matr_semestre)).reset_index(name='taxas_semetrais') discipline_semestre = discipline_semestre.reset_index(name='counts_semestre')
discipline_semestre = discipline_semestre.groupby(['COD_ATIV_CURRIC', 'PERIODO', 'ANO', 'SITUACAO'])
discipline_semestre = discipline_semestre.apply(lambda x: func_semestre(x, qnt_matr_semestre))
discipline_semestre = discipline_semestre.reset_index(name='taxas_semetrais')
for dis in qnt_matr_semestre.keys():
dis = ['CI055']
disc = discipline_semestre.loc[discipline_semestre['COD_ATIV_CURRIC']==dis[0]].drop('COD_ATIV_CURRIC',1) # elimina a coluna codigo
disc = disc.drop('level_4',1)
print(dis[0])
print(disc.set_index('ANO'))
# seta a coluna SITUACAO como index
disc = disc.set_index('ANO').to_dict('index')
# with open(dis+'.json','w') as f:
# json.dump(disc,f,indent=4)
print("--------------------------------------------------------------------------------")
break
return discipline_semestre return discipline_semestre
def Main(df): def Main(df):
Analysis = analysis(df) # Analysis = analysis(df)
Analysis_semestre = analysis_semestre(df) Analysis_semestre = analysis_semestre(df)
matr = counts_matr(df) # matr = counts_matr(df)
df_to_json(Analysis,matr) # df_to_json(Analysis,matr)
matr_semes = matr_semestre(df) # matr_semes = matr_semestre(df)
# print_analise(matr_semes)
...@@ -12,8 +12,8 @@ def main(): ...@@ -12,8 +12,8 @@ def main():
dataframe = load_dataframes(os.getcwd() + '/' + 'base') dataframe = load_dataframes(os.getcwd() + '/' + 'base')
build_cache(dataframe) build_cache(dataframe)
Main(dataframe)
cpu_time = timedelta(seconds=round(time.clock() - start_time)) cpu_time = timedelta(seconds=round(time.clock() - start_time))
Main(dataframe)
run_time = timedelta(seconds=round(time.time() - start_time_exec)) run_time = timedelta(seconds=round(time.time() - start_time_exec))
print("--- Tempo de CPU: {} ---".format(cpu_time)) print("--- Tempo de CPU: {} ---".format(cpu_time))
print("--- Tempo total: {} ---".format(run_time)) print("--- Tempo total: {} ---".format(run_time))
......
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