Last active
October 9, 2018 19:58
-
-
Save AO8/42207d41ef9e6fcf4277c53112e76c3d to your computer and use it in GitHub Desktop.
Using Python to analyze the makeup of a given BAS-SD cohort.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import csv | |
| from statistics import mean | |
| # set up empty dict containers | |
| associate_type = dict() # row 6 | |
| associate_from = dict() # row 7 | |
| maths = dict() # row 14 | |
| advisors = dict() # row 15 | |
| # set up empty list containers | |
| it_201 = [] # row 9 | |
| it_206 = [] # row 10 | |
| it_207 = [] # row 11 | |
| it_219 = [] # row 12 | |
| it_220 = [] # row 13 | |
| with open("software_student_list.csv") as csv_file: | |
| csv_reader = csv.reader(csv_file) | |
| headers = next(csv_reader) | |
| row_count = 0 | |
| for row in csv_reader: | |
| row_count += 1 | |
| # read for associate type | |
| try: | |
| associate_type[row[6]] += 1 | |
| except KeyError: | |
| associate_type[row[6]] = 1 | |
| # read for associate from | |
| try: | |
| associate_from[row[7]] += 1 | |
| except KeyError: | |
| associate_from[row[7]] = 1 | |
| # read for math | |
| try: | |
| maths[row[14]] += 1 | |
| except KeyError: | |
| maths[row[14]] = 1 | |
| # read for advisor | |
| try: | |
| advisors[row[15]] += 1 | |
| except KeyError: | |
| advisors[row[15]] = 1 | |
| # read for IT 201 | |
| try: | |
| it_201.append(float(row[9])) | |
| except ValueError: | |
| pass | |
| # read for IT 206 | |
| try: | |
| it_206.append(float(row[10])) | |
| except ValueError: | |
| pass | |
| # read for IT 207 | |
| try: | |
| it_207.append(float(row[11])) | |
| except ValueError: | |
| pass | |
| # read for IT 219 | |
| try: | |
| it_219.append(float(row[12])) | |
| except ValueError: | |
| pass | |
| # read for IT 220 | |
| try: | |
| it_220.append(float(row[13])) | |
| except ValueError: | |
| pass | |
| # sort dicts into list of tuples, highest to lowest | |
| sorted_associate_type = sorted(associate_type.items(), key=lambda x:x[1], reverse=True) | |
| sorted_associate_from = sorted(associate_from.items(), key=lambda x:x[1], reverse=True) | |
| sorted_maths = sorted(maths.items(), key=lambda x:x[1], reverse=True) | |
| sorted_advisors = sorted(advisors.items(), key=lambda x:x[1], reverse=True) | |
| # print results | |
| print(f"\nNUMBER OF APPLICATIONS RECEIVED:\n") | |
| print(row_count) | |
| print("\nASSOCIATE TYPE:\n") | |
| for k,v in sorted_associate_type: | |
| print(k, "=", v) | |
| print("\nASSOCIATE FROM:\n") | |
| for k,v in sorted_associate_from: | |
| print(k, "=", v) | |
| print("\nMATHS EARNED:\n") | |
| for k,v in sorted_maths: | |
| print(k, "=", v) | |
| print("\nASSIGNED ADVISOR:\n") | |
| for k,v in sorted_advisors: | |
| print(k, "=", v) | |
| print("\nMEAN GPA FOR PROGRAMMING PREREQS:\n") | |
| print(f"IT 201 GPA: {round(mean(it_201), 2)} ({len(it_201)} reported)") | |
| print(f"IT 206 GPA: {round(mean(it_206), 2)} ({len(it_206)} reported)") | |
| print(f"IT 207 GPA: {round(mean(it_207), 2)} ({len(it_207)} reported)") | |
| print(f"IT 219 GPA: {round(mean(it_219), 2)} ({len(it_219)} reported)") | |
| print(f"IT 220 GPA: {round(mean(it_220), 2)} ({len(it_220)} reported)") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment