Skip to content

Instantly share code, notes, and snippets.

@AO8
Last active October 9, 2018 19:58
Show Gist options
  • Select an option

  • Save AO8/42207d41ef9e6fcf4277c53112e76c3d to your computer and use it in GitHub Desktop.

Select an option

Save AO8/42207d41ef9e6fcf4277c53112e76c3d to your computer and use it in GitHub Desktop.
Using Python to analyze the makeup of a given BAS-SD cohort.
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