diff --git a/stats.py b/stats.py index 51ef202..8dd99d8 100644 --- a/stats.py +++ b/stats.py @@ -580,16 +580,37 @@ def stu_record_to_vector(line): return id,vector -def grades_to_vectors(): +def grades_to_vectors(verbose=1): grades = codecs.open('cache/courses_student_scores.csv','r','utf-8').readlines() for L in grades: id, vector = stu_record_to_vector(L) - print(id, vector) + if verbose: print(id, vector) + +def course_main_record(): + return json.loads(codecs.open('cache/courses/course_main_record.json','r','utf-8').read()) + +def courses_to_vector(course_list): + template = course_main_record() + lookup = {} + for i,c in enumerate(template): + lookup[c] = i + vector = [0 for x in range(len(template))] + for C in course_list: + goodname = shell2course(C[0]) + if goodname: + vector[lookup[goodname]] = 1 # C[1] # score + return vector + +def course_vector_to_names(vector): + template = course_main_record() + names = [] + for i,v in enumerate(vector): + if v: + names.append(template[i]) + return names -def all_course_names(): - - +def all_course_names(): complete_list = {} missing_names = {} with open(student_courses_scores,'r') as input_f: