rishinair05's picture
Upload 13 files
460cf52
import pickle
import pandas as pd
from pyvis.network import Network
import networkx as nx
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
with open('./CS_Courses.pkl', 'rb') as df_file:
df = pickle.load(df_file)
null_value = df.loc[1]['prerequisites']
no_prereq = [0, 2, 3, 6]
for i in range(len(df.index)):
if df.loc[i]['prerequisites'] == null_value:
no_prereq.append(i)
df2 = df.drop(index=no_prereq)
df2.reset_index(drop=True, inplace=True)
net = Network(height="750px", width="100%", bgcolor="#222222", font_color="white", directed=True, select_menu=True)
course_names = []
for i in range(len(df2)):
if i == 15:
net.add_node("COMP 361D1", label="COMP 361D1")
course_names.append("COMP 361D1")
elif i == 16:
net.add_node("COMP 361D2", label="COMP 361D2")
course_names.append("COMP 361D2")
elif i == 23:
net.add_node("COMP 402D1", label="COMP 402D1")
course_names.append("COMP 402D1")
elif i == 24:
net.add_node("COMP 402D2", label="COMP 402D2")
course_names.append("COMP 402D2")
elif i == 66:
net.add_node("COMP 601D2", label="COMP 601D2")
course_names.append("COMP 601D2")
elif i == 67:
net.add_node("COMP 601N2", label="COMP 601N2")
course_names.append("COMP 601N2")
elif i == 69:
net.add_node("COMP 616D2", label="COMP 616D2")
course_names.append("COMP 616D2")
elif i == 70:
net.add_node("COMP 616N2", label="COMP 616N2")
course_names.append("COMP 616N2")
elif i == 71:
net.add_node("COMP 700D2", label="COMP 700D2")
course_names.append("COMP 700D2")
else:
net.add_node(df2.loc[i]['course code'][:8], label=df2.loc[i]['course code'][:8])
course_names.append(df2.loc[i]['course code'][:8])
course_names.append("COMP 202")
course_names.append("MATH 235")
course_names.append("MATH 240")
course_names.append("MATH 318")
course_names.append("COMP 230")
course_names.append("PHIL 210")
course_names.append("COMP 273")
course_names.append("COMP 208")
course_names.append("MATH 222")
course_names.append("MATH 223")
course_names.append("MATH 362")
course_names.append("COMP 361D1")
course_names.append("BIOL 200")
course_names.append("15 Computer Science credits.")
course_names.append("9 credits of COMP courses and 9 credits of BIOL courses.")
course_names.append("ECSE 427")
course_names.append("ECSE 321",)
course_names.append("MATH 323",)
course_names.append("MATH 203")
course_names.append("BIOL 309",)
course_names.append("ECSE 305",)
course_names.append("ECSE 205",)
course_names.append("MATH 350",)
course_names.append("MATH 454",)
course_names.append("MATH 487")
course_names.append("MATH 462")
course_names.append("MATH 324")
course_names.append("ECSE 551",)
course_names.append("BIOL 202",)
course_names.append("BIOL 302",)
course_names.append("MATH 417",)
course_names.append("COMP 601D1",)
course_names.append("COMP 601N1",)
course_names.append("COMP 435",)
course_names.append("COMP 616D1",)
course_names.append("COMP 616N1",)
course_names.append("")
course_names.append("COMP 526")
course_names.append("ECSE 526",)
course_names.append("COMP 700D1")
net.add_node("COMP 202", "COMP 202") #82
net.add_node("MATH 235", "MATH 235", color='red') #83
net.add_node("MATH 240", "MATH 240", color='red') #84
net.add_node("MATH 318", "MATH 318", color='red') #85
net.add_node("COMP 230", "COMP 230") #86
net.add_node("PHIL 210", "PHIL 210", color='yellow') #87
net.add_node("COMP 273", "COMP 273") #88
net.add_node("COMP 208", "COMP 208") #89
net.add_node("MATH 222", "MATH 222", color='red') #90
net.add_node("MATH 223", "MATH 223", color='red') #91
net.add_node("MATH 362", "MATH 362", color='red') #92
net.add_node("COMP 361D1", "COMP 361D1") #93
net.add_node("BIOL 200", "BIOL 200", color='blue') #94
net.add_node("15 Computer Science credits.", "15 Computer Science credits.", color='black') #95
net.add_node("9 credits of COMP courses and 9 credits of BIOL courses.", "9 credits of COMP courses and 9 credits of BIOL courses.", color='black') #96
net.add_node("ECSE 427", "ECSE 427", color='green') #97
net.add_node("ECSE 321", "ECSE 321", color='green') #98
net.add_node("MATH 323", "MATH 323", color='red') #99
net.add_node("MATH 203", "MATH 203", color='red') #100
net.add_node("BIOL 309", "BIOL 309", color='blue') #101
net.add_node("ECSE 305", "ECSE 305", color='green') #102
net.add_node("ECSE 205", "ECSE 205", color='green') #103
net.add_node("MATH 350", "MATH 350", color='red') #104
net.add_node("MATH 454", "MATH 454", color='red') #105
net.add_node("MATH 487", "MATH 487", color='red') #106
net.add_node("MATH 462", "MATH 462", color='red') #107
net.add_node("MATH 324", "MATH 324", color='red') #108
net.add_node("ECSE 551", "ECSE 551", color='green') #109
net.add_node("BIOL 202", "BIOL 202", color='blue') #110
net.add_node("BIOL 302", "BIOL 302", color='blue') #111
net.add_node("MATH 417", "MATH 417", color='red') #112
net.add_node("COMP 601D1", "COMP 601D1") #113
net.add_node("COMP 601N1", "COMP 601N1") #114
net.add_node("COMP 435", "COMP 435") #115
net.add_node("COMP 616D1", "COMP 616D1") #116
net.add_node("COMP 616N1", "COMP 616N1") #117
#118 is blank
net.add_node("COMP 526", "COMP 526") #119
net.add_node("ECSE 526", "ECSE 526", color='green') #120
net.add_node("COMP 700D1", "COMP 700D1") #121
net.add_edge(course_names[1], course_names[0], color='yellow')
net.add_edge(course_names[82], course_names[0], color='yellow')
net.add_edge(course_names[82], course_names[1], color='white')
net.add_edge(course_names[1], course_names[2], color='white')
net.add_edge(course_names[83], course_names[2], color='yellow')
net.add_edge(course_names[84], course_names[2], color='yellow')
net.add_edge(course_names[1], course_names[3], color='white')
net.add_edge(course_names[83], course_names[3], color='yellow')
net.add_edge(course_names[84], course_names[3], color='yellow')
net.add_edge(course_names[1], course_names[4], color='white')
net.add_edge(course_names[83], course_names[4], color='yellow')
net.add_edge(course_names[84], course_names[4], color='yellow')
net.add_edge(course_names[85], course_names[4], color='yellow')
net.add_edge(course_names[86], course_names[4], color='yellow')
net.add_edge(course_names[87], course_names[4], color='yellow')
net.add_edge(course_names[0], course_names[5], color='white')
net.add_edge(course_names[1], course_names[5], color='white')
net.add_edge(course_names[0], course_names[6], color='white')
net.add_edge(course_names[88], course_names[7], color='white')
net.add_edge(course_names[88], course_names[8], color='white')
net.add_edge(course_names[0], course_names[9], color='white')
net.add_edge(course_names[1], course_names[10], color='white')
net.add_edge(course_names[0], course_names[10], color='yellow')
net.add_edge(course_names[89], course_names[10], color='yellow')
net.add_edge(course_names[2], course_names[11], color='white')
net.add_edge(course_names[1], course_names[12], color='white')
net.add_edge(course_names[84], course_names[12], color='white')
net.add_edge(course_names[90], course_names[13], color='white')
net.add_edge(course_names[91], course_names[13], color='white')
net.add_edge(course_names[82], course_names[13], color='yellow')
net.add_edge(course_names[89], course_names[13], color='yellow')
net.add_edge(course_names[1], course_names[13], color='yellow')
net.add_edge(course_names[2], course_names[14], color='yellow')
net.add_edge(course_names[3], course_names[14], color='yellow')
net.add_edge(course_names[83], course_names[14], color='blue')
net.add_edge(course_names[84], course_names[14], color='blue')
net.add_edge(course_names[92], course_names[14], color='blue')
net.add_edge(course_names[0], course_names[15], color='white')
net.add_edge(course_names[1], course_names[15], color='white')
net.add_edge(course_names[93], course_names[16], color='white')
net.add_edge(course_names[3], course_names[17], color='white')
net.add_edge(course_names[94], course_names[18], color='white')
net.add_edge(course_names[0], course_names[19], color='white')
net.add_edge(course_names[1], course_names[19], color='white')
net.add_edge(course_names[95], course_names[20], color='white')
net.add_edge(course_names[2], course_names[21], color='white')
net.add_edge(course_names[96], course_names[21], color='white')
net.add_edge(course_names[96], course_names[22], color='white')
net.add_edge(course_names[96], course_names[23], color='white')
net.add_edge(course_names[96], course_names[24], color='white')
net.add_edge(course_names[2], course_names[25], color='white')
net.add_edge(course_names[4], course_names[25], color='white')
net.add_edge(course_names[8], course_names[25], color='yellow')
net.add_edge(course_names[97], course_names[25], color='yellow')
net.add_edge(course_names[2], course_names[26], color='white')
net.add_edge(course_names[91], course_names[26], color='white')
net.add_edge(course_names[98], course_names[26], color='yellow')
net.add_edge(course_names[0], course_names[26], color='yellow')
net.add_edge(course_names[0], course_names[27], color='white')
net.add_edge(course_names[2], course_names[27], color='white')
net.add_edge(course_names[4], course_names[27], color='white')
net.add_edge(course_names[0], course_names[28], color='yellow')
net.add_edge(course_names[98], course_names[28], color='yellow')
net.add_edge(course_names[99], course_names[28], color='white')
net.add_edge(course_names[2], course_names[28], color='white')
net.add_edge(course_names[1], course_names[29], color='white')
net.add_edge(course_names[84], course_names[29], color='white')
net.add_edge(course_names[2], course_names[30], color='white')
net.add_edge(course_names[90], course_names[30], color='white')
net.add_edge(course_names[91], course_names[30], color='white')
net.add_edge(course_names[99], course_names[30], color='white')
net.add_edge(course_names[2], course_names[31], color='white')
net.add_edge(course_names[99], course_names[31], color='white')
net.add_edge(course_names[100], course_names[31], color='yellow')
net.add_edge(course_names[101], course_names[31], color='yellow')
net.add_edge(course_names[8], course_names[32], color='white')
net.add_edge(course_names[2], course_names[32], color='white')
net.add_edge(course_names[91], course_names[33], color='white')
net.add_edge(course_names[99], course_names[33], color='white')
net.add_edge(course_names[0], course_names[33], color='white')
net.add_edge(course_names[1], course_names[33], color='white')
net.add_edge(course_names[88], course_names[34], color='white')
net.add_edge(course_names[4], course_names[34], color='white')
net.add_edge(course_names[2], course_names[35], color='white')
net.add_edge(course_names[91], course_names[35], color='white')
net.add_edge(course_names[5], course_names[35], color='yellow')
net.add_edge(course_names[16], course_names[35], color='yellow')
net.add_edge(course_names[4], course_names[36], color='white')
net.add_edge(course_names[11], course_names[36], color='white')
net.add_edge(course_names[2], course_names[37], color='white')
net.add_edge(course_names[11], course_names[37], color='white')
net.add_edge(course_names[4], course_names[38], color='white')
net.add_edge(course_names[5], course_names[39], color='white')
net.add_edge(course_names[11], course_names[40], color='white')
net.add_edge(course_names[98], course_names[41], color='yellow')
net.add_edge(course_names[5], course_names[41], color='yellow')
net.add_edge(course_names[16], course_names[41], color='yellow')
net.add_edge(course_names[8], course_names[42], color='yellow')
net.add_edge(course_names[97], course_names[42], color='yellow')
net.add_edge(course_names[14], course_names[43], color='yellow')
net.add_edge(course_names[13], course_names[43], color='yellow')
net.add_edge(course_names[14], course_names[44], color='yellow')
net.add_edge(course_names[17], course_names[44], color='yellow')
net.add_edge(course_names[99], course_names[44], color='white')
net.add_edge(course_names[90], course_names[45], color='white')
net.add_edge(course_names[91], course_names[45], color='white')
net.add_edge(course_names[99], course_names[45], color='white')
net.add_edge(course_names[99], course_names[46], color='yellow')
net.add_edge(course_names[102], course_names[46], color='yellow')
net.add_edge(course_names[2], course_names[46], color='blue')
net.add_edge(course_names[3], course_names[46], color='blue')
net.add_edge(course_names[99], course_names[47], color='yellow')
net.add_edge(course_names[103], course_names[47], color='yellow')
net.add_edge(course_names[102], course_names[47], color='yellow')
net.add_edge(course_names[104], course_names[48], color='yellow')
net.add_edge(course_names[17], course_names[48], color='yellow')
net.add_edge(course_names[17], course_names[49], color='yellow')
net.add_edge(course_names[104], course_names[49], color='yellow')
net.add_edge(course_names[105], course_names[49], color='yellow')
net.add_edge(course_names[106], course_names[49], color='yellow')
net.add_edge(course_names[17], course_names[50], color='yellow')
net.add_edge(course_names[104], course_names[50], color='yellow')
net.add_edge(course_names[5], course_names[51], color='white')
net.add_edge(course_names[90], course_names[52], color='white')
net.add_edge(course_names[91], course_names[52], color='white')
net.add_edge(course_names[0], course_names[52], color='white')
net.add_edge(course_names[1], course_names[52], color='white')
net.add_edge(course_names[2], course_names[53], color='white')
net.add_edge(course_names[90], course_names[53], color='white')
net.add_edge(course_names[91], course_names[53], color='white')
net.add_edge(course_names[90], course_names[54], color='white')
net.add_edge(course_names[91], course_names[54], color='white')
net.add_edge(course_names[0], course_names[54], color='white')
net.add_edge(course_names[1], course_names[54], color='white')
net.add_edge(course_names[2], course_names[55], color='white')
net.add_edge(course_names[99], course_names[55], color='yellow')
net.add_edge(course_names[100], course_names[55], color='yellow')
net.add_edge(course_names[101], course_names[55], color='yellow')
net.add_edge(course_names[107], course_names[56], color='yellow')
net.add_edge(course_names[30], course_names[56], color='yellow')
net.add_edge(course_names[47], course_names[56], color='red')
net.add_edge(course_names[90], course_names[56], color='red')
net.add_edge(course_names[91], course_names[56], color='red')
net.add_edge(course_names[108], course_names[56], color='red')
net.add_edge(course_names[109], course_names[56], color='yellow')
net.add_edge(course_names[31], course_names[57], color='white')
net.add_edge(course_names[110], course_names[58], color='yellow')
net.add_edge(course_names[111], course_names[58], color='yellow')
net.add_edge(course_names[108], course_names[58], color='white')
net.add_edge(course_names[30], course_names[58], color='blue')
net.add_edge(course_names[47], course_names[58], color='blue')
net.add_edge(course_names[14], course_names[59], color='white')
net.add_edge(course_names[91], course_names[59], color='white')
net.add_edge(course_names[59], course_names[60], color='yellow')
net.add_edge(course_names[112], course_names[60], color='yellow')
net.add_edge(course_names[5], course_names[62], color='white')
net.add_edge(course_names[28], course_names[62], color='yellow')
net.add_edge(course_names[47], course_names[62], color='yellow')
net.add_edge(course_names[2], course_names[63], color='white')
net.add_edge(course_names[99], course_names[63], color='white')
net.add_edge(course_names[108], course_names[63], color='white')
net.add_edge(course_names[113], course_names[66], color='white')
net.add_edge(course_names[114], course_names[67], color='white')
net.add_edge(course_names[27], course_names[68], color='white')
net.add_edge(course_names[115], course_names[68], color='yellow')
net.add_edge(course_names[42], course_names[68], color='yellow')
net.add_edge(course_names[32], course_names[68], color='yellow')
net.add_edge(course_names[116], course_names[69], color='white')
net.add_edge(course_names[117], course_names[70], color='white')
net.add_edge(course_names[2], course_names[72], color='white')
net.add_edge(course_names[4], course_names[72], color='white')
net.add_edge(course_names[99], course_names[73], color='white')
net.add_edge(course_names[108], course_names[73], color='white')
net.add_edge(course_names[13], course_names[73], color='white')
net.add_edge(course_names[44], course_names[74], color='white')
net.add_edge(course_names[44], course_names[75], color='white')
net.add_edge(course_names[28], course_names[76], color='yellow')
net.add_edge(course_names[119], course_names[76], color='yellow')
net.add_edge(course_names[120], course_names[76], color='yellow')
net.add_edge(course_names[14], course_names[76], color='blue')
net.add_edge(course_names[99], course_names[76], color='blue')
net.add_edge(course_names[102], course_names[76], color='blue')
net.add_edge(course_names[90], course_names[77], color='white')
net.add_edge(course_names[91], course_names[77], color='white')
net.add_edge(course_names[14], course_names[77], color='white')
net.add_edge(course_names[30], course_names[77], color='yellow')
net.add_edge(course_names[47], course_names[77], color='yellow')
net.add_edge(course_names[8], course_names[78], color='white')
net.add_edge(course_names[25], course_names[79], color='white')
net.add_edge(course_names[31], course_names[80], color='white')
net.add_edge(course_names[121], course_names[81], color='white')
net.show('prerequisites_new_id.html')
print(course_names)