File size: 1,503 Bytes
07d207a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pandas as pd
import pickle 
import warnings
warnings.filterwarnings("ignore")

with open("static/rf_pipeline.pkl", "rb") as f:
        pipeline2 = pickle.load(f)

data = pd.read_csv("static/zone_course_and_colleges.csv")

def get_prediction(college_name, course_name = "Computer Science and Engineering"):
    template = pd.DataFrame([[college_name, 
                              course_name, 
                              "OPEN", 
                              "General", 
                              "State", 
                              2024, 
                              1]], 
                            columns=['college_name', 'course_name', 'category', 'gender', 'seat_level_attribute', 'year', 'round'])
    return pipeline2.predict(template)

def get_colleges(marks, zone, course):
    # data = pd.read_csv("static/zone_course_and_colleges.csv")
    # print(data[(data["zone"] == zone) & (data["course_name"] == course)]["colleges"].values[0])
    try:
        colleges = list(eval(data[(data["zone"] == zone.strip()) & (data["course_name"] == course.strip())]["colleges"].values[0]))
    except:
         return ["Too less to get into"]
    college_data = []
    for college in colleges:
        prediciton = get_prediction(college, course)
        if prediciton <= marks:
            college_data.append(college)
    return college_data 

def get_courses_for_zone(zone):
    row = data[data["zone"] == zone.strip()]
    courses = row["course_name"].unique()
    return courses