From b55666d2e2c71f2f577733c63f0058d9184355fd Mon Sep 17 00:00:00 2001 From: Legton <legton0@gmail.com> Date: Mon, 18 Sep 2017 15:18:29 +0000 Subject: [PATCH] analise do tempo medio de graduacao --- script/analysis/degree_analysis.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/script/analysis/degree_analysis.py b/script/analysis/degree_analysis.py index 3016a9e..4beb300 100644 --- a/script/analysis/degree_analysis.py +++ b/script/analysis/degree_analysis.py @@ -40,3 +40,25 @@ def total_evasion_rate(df): total_evasion = df.loc[(df['FORMA_EVASAO']!=('Sem evasão')) & (df['FORMA_EVASAO']!=('Formatura')) & (df['FORMA_EVASAO']!=('Reintegração'))].shape[0] return total_evasion / total_student + +def average_graduation_time(df): + graduates = df.loc[(df.FORMA_EVASAO == ('Formatura'))] + total_graduate = graduates.shape[0] + average_time = 0 + for index, row in graduates.iterrows(): + year_end = 2016 + semester_end = 2 + if pd.notnull(row['PERIODO_EVASAO']): + year_end = int(row['PERIODO_EVASAO'][:4]) + try: + semester_end = int(row['PERIODO_EVASAO'][5]) + except ValueError: + semester_end = 2 + year = int(row['PERIODO_INGRESSO'][:4]) + semester = int(row['PERIODO_INGRESSO'][5]) + difference = 2 * (year_end - year) + (semester_end - semester) + 1 + average_time += difference + average_time /= total_graduate + average_time /= 2 + + return average_time \ No newline at end of file -- GitLab