| |
| |
|
|
| |
| |
|
|
| |
| import streamlit as st |
| import pandas as pd |
| import numpy as np |
| from adaptive_modul_part1_functions import certainty, split_and_match,contains_value |
| from sheets_helper import save_all, df_to_str |
| |
|
|
|
|
| params = st.query_params |
| user_id = params.get("id", "NOID") |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| @st.cache_data |
| def load_data(): |
| |
| |
| |
| np.random.seed(42) |
|
|
| |
| |
| |
|
|
| data = pd.read_csv( |
| "Intervention_Paper3.csv", sep=";" |
| ) |
| exclude = [f"E{i}" for i in range(11, 27)] |
|
|
| data = data[~data['ID'].isin(exclude)] |
| |
| data["pointsfil"] = 0 |
| data["pointsfillist"] = "" |
| |
| data['random_tiebreaker'] = np.random.rand(len(data)) |
|
|
| |
| data.replace(99, "Nan", inplace=True) |
| data.replace(55, "ata", inplace=True) |
|
|
| |
| |
| |
| datastuds = pd.read_csv("finaldata1903.csv", usecols=["fachgruppe", "studienort"]) |
|
|
| |
| dataM5 = data.copy() |
|
|
| |
| dataM5['random_tiebreaker'] = np.random.rand(len(dataM5)) |
|
|
| |
| dataM5["pointsfil"] = 0 |
| dataM5["pointsfillist"] = "" |
|
|
| |
| dataM5["pointsfilB"] = 0 |
| dataM5["pointsfilBlist"] = "" |
| dataM5["pointsfilBSORT"] = 0 |
| dataM5["pointsfilBSORTlist"] = "" |
| dataM5["pointsfilBS"] = 0 |
| dataM5["pointsfilBSSORTlist"] = "" |
|
|
| |
| dataM5.replace(99, "Nan", inplace=True) |
| dataM5.replace(55, "ata", inplace=True) |
|
|
| return data, datastuds, dataM5 |
|
|
|
|
| data, datastuds, dataM5 = load_data() |
|
|
| |
|
|
| |
| |
| |
|
|
| |
| |
|
|
| st.title("BWusste Studienwahl") |
| |
| st.write("Hallo und herzlich willkommen. Auf dieser Webseite kannst du, wenn du auf die KΓ€sten clickst (βFrageblock 1: Bildungswegβ) angeben, wie sehr du dich gerade mit einem Thema, welches mit deiner Studienwahl zusammenhΓ€ngt, auseinandersetzen mΓΆchtest.") |
| labels = { |
| 1: "1 - Trifft ΓΌberhaupt nicht zu", |
| 2: "2", |
| 3: "3", |
| 4: "4", |
| 5: "5", |
| 6: "6", |
| 7: "7 - Trifft voll und ganz zu" |
| } |
|
|
| |
| |
| expander1 = st.expander("Frageblock 1: Bildungsweg") |
| |
| expander1.write( |
| "Wie sicher bist du dir insgesamt, welchen Bildungsweg du einschlagen mΓΆchtest?") |
| answer1 = expander1.select_slider( |
| label=' ', |
| options=[1, 2, 3, 4, 5, 6, 7], key="q1", value=1, |
| format_func=lambda x: labels[x]) |
| sec1 = certainty(answer1) |
|
|
|
|
| answer2=expander1.multiselect('Welche(n) Bildungsweg(e) kannst du dir vorstellen?', ["Ausbildung", "Duales Studium", "Studium"], default=None, |
| key="q2") |
| if answer2: |
| if "Duales Studium" in answer2: |
| answer2="Duales Studium" |
| else: |
| answer2="Studium" |
| |
|
|
| skip1 = expander1.checkbox("Ich weiΓ es noch nicht", key="s1") |
| if skip1: |
| sec1 = 1 |
| answer2 = "None" |
|
|
| if answer2==[]: |
| sec1=1 |
| expander1.write("<span style='color:red'>β οΈ Bitte noch die Antwortfelder ausfΓΌllen!</span>", unsafe_allow_html=True) |
|
|
|
|
|
|
| |
| |
| |
|
|
| expander2 = st.expander("Frageblock 2: Interessen") |
| expander2.write("Was begeistert dich? Was macht dir SpaΓ? ErzΓ€hl uns hier mehr ΓΌber deine Interessen.") |
| macrofield = sorted(datastuds["fachgruppe"].dropna().unique().tolist()) |
| answer3 = expander2.multiselect('In welchen Bereichen liegen deine Interessen? WΓ€hle einen oder mehrere Interessensbereiche aus oder beschreibe sie in deinen eigenen Worten.', macrofield, default=None, |
| key="q3") |
|
|
|
|
| answer5 ="n" |
| if len(answer5)<2: |
| answer5="1977" |
| answer4 = expander2.select_slider( |
| label="Wie sicher bist du dir schon darΓΌber, in welchen Bereichen deine Interessen liegen?", |
| options=[1, 2, 3, 4, 5, 6, 7], key="q4", value=1, |
| format_func=lambda x: labels[x]) |
| sec2 = certainty(answer4) |
|
|
| skip2 = expander2.checkbox("Ich weiΓ es noch nicht", key="s2") |
| if skip2: |
| sec2 = 1 |
| answer3 = ["None"] |
| answer5 = "None" |
|
|
| if answer3==[]: |
| sec2=1 |
| expander2.write("<span style='color:red'>β οΈ Bitte noch die Antwortfelder ausfΓΌllen!</span>", unsafe_allow_html=True) |
|
|
|
|
|
|
| |
|
|
| |
| |
|
|
| expander3 = st.expander("Frageblock 3: FΓ€higkeiten") |
| expander3.write("Was kannst du gut? Worin siehst du oder andere deine StΓ€rken? ErzΓ€hl uns hier mehr ΓΌber deine FΓ€higkeiten.") |
| macrofield = sorted(datastuds["fachgruppe"].dropna().unique().tolist()) |
| answer7 = expander3.multiselect('In welchen Bereichen liegen deine FΓ€higkeiten? WΓ€hle einen oder mehrere FΓ€higkeitsbereiche aus oder beschreibe sie in deinen eigenen Worten.', macrofield, |
| default=None, key="q7") |
|
|
|
|
| answer9 = "n" |
| if len(answer9)<2: |
| answer9="1977" |
| answer8 = expander3.select_slider( |
| label="Wie sicher bist du dir schon darΓΌber, in welchen Bereichen deine FΓ€higkeiten liegen?", |
| options=[1, 2, 3, 4, 5, 6, 7], key="q8", value=1, |
| format_func=lambda x: labels[x]) |
| sec4 = certainty(answer8) |
|
|
| skip3 = expander3.checkbox("Ich weiΓ es noch nicht", key="s3") |
| if skip3: |
| sec4 = 1 |
| answer7 = ["None"] |
| answer9 = "None" |
|
|
| if answer7==[]: |
| sec4=1 |
| expander3.write("<span style='color:red'>β οΈ Bitte noch die Antwortfelder ausfΓΌllen!</span>", unsafe_allow_html=True) |
|
|
| |
| |
| |
|
|
| expander4 = st.expander("Frageblock 4: Region") |
| expander4.write("Home sweet home oder doch lieber Koffer packen? Jetzt geht es noch um die Frage, in welcher Region du deinen Bildungsweg fortfΓΌhren mΓΆchtest.") |
| answer11 = expander4.select_slider( |
| label=" Wie sicher bist du dir insgesamt, wo du deinen Bildungsweg fortfΓΌhren mΓΆchtest?", |
| options=[1, 2, 3, 4, 5, 6, 7], key="q11", value=1, |
| format_func=lambda x: labels[x]) |
| sec6 = certainty(answer11) |
| ort = sorted(datastuds["studienort"].dropna().unique().tolist()) |
| answer12 = expander4.multiselect('WeiΓt du schon, wo?', ort, default=None, key="q12") |
| skip4 = expander4.checkbox("Ich weiΓ es noch nicht", key="s4") |
| if skip4: |
| sec6 = 1 |
| answer12 = ["None"] |
| |
| if answer12==[]: |
| sec6=1 |
| expander4.write("<span style='color:red'>β οΈ Bitte noch die Antwortfelder ausfΓΌllen!</span>", unsafe_allow_html=True) |
|
|
| |
|
|
|
|
| |
| |
| filter=["online"] |
|
|
|
|
| |
|
|
| |
| |
| |
|
|
| |
| if sec1==7: |
| datae1 = data.iloc[0:0].copy() |
| datae1old=pd.concat([datae1]) |
| |
| else: |
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2, "ata"] |
| else: |
| answer2list=[answer2, "ata", "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1==5: |
| |
| datae1 = data.loc[ |
| contains_value(data['Type_Studium_Ausbildung'], "Fokus") & |
| split_and_match(data['Sicherheit_Studium_Ausbildung'], [str(sec1)]) & |
| split_and_match(data['Auswahl_Studium_Ausbildung'], answer2list) |
| ].copy() |
|
|
| |
| if answer2 != "Studium": |
| datae1["rank1"] = 5 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["Nan"]), "rank1"] = 4 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["Studium"]), "rank1"] = 3 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["ata"]), "rank1"] = 2 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["Duales Studium"]), "rank1"] = 1 |
|
|
| else: |
| datae1["rank1"] = 4 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["Nan"]), "rank1"] = 3 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["ata"]), "rank1"] = 2 |
| datae1.loc[split_and_match(datae1['Auswahl_Studium_Ausbildung'], ["Studium"]), "rank1"] = 1 |
|
|
| if sec1==1: |
| datae1 = data.loc[contains_value(data['Type_Studium_Ausbildung'], "Fokus")& |
| split_and_match(data['Sicherheit_Studium_Ausbildung'], [str(sec1)]) |
| ].copy() |
| |
| datae1["rank1"]=1 |
|
|
| |
| |
| |
| answer5list=[answer5] |
|
|
| if sec2 in [5,7] and sec4 in [5,7]: |
| answer3M=answer3+answer7 |
| answer5listM=answer5list+[answer9] |
| datae1 = datae1.loc[split_and_match(datae1['Fachgruppe_Interessen'],answer3M+ ["Nan","ata"]) | |
| split_and_match(datae1['Studienbereich_Interessen'],answer5listM+ ["Nan","ata"]) |
| ].copy() |
| |
| |
| datae1["rank2"] = 6 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae1['Studienbereich_Interessen'], ["Nan"]), |
| "rank2" |
| ] = 5 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae1['Studienbereich_Interessen'], ["ata"]), |
| "rank2" |
| ] = 4 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 3 |
|
|
| datae1.loc[ |
| ~split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 2 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 1 |
|
|
| elif sec2 in [5, 7]: |
| answer3M = answer3 |
| answer5listM = answer5list |
|
|
| datae1 = datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3M + ["Nan", "ata"]) | |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM + ["Nan", "ata"]) |
| ].copy() |
|
|
| datae1["rank2"] = 6 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae1['Studienbereich_Interessen'], ["Nan"]), |
| "rank2" |
| ] = 5 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae1['Studienbereich_Interessen'], ["ata"]), |
| "rank2" |
| ] = 4 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 3 |
|
|
| datae1.loc[ |
| ~split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 2 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM), |
| "rank2" |
| ] = 1 |
|
|
| if sec2 == 1: |
| datae1["rank2"] = 6 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["ata"]) & |
| ~split_and_match(datae1['Studienbereich_Interessen'], ["ata"]), |
| "rank2" |
| ] = 5 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(datae1['Studienbereich_Interessen'], answer5list), |
| "rank2" |
| ] = 4 |
|
|
| datae1.loc[ |
| ~split_and_match(datae1['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5list), |
| "rank2" |
| ] = 3 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae1['Studienbereich_Interessen'], answer5list), |
| "rank2" |
| ] = 2 |
|
|
| datae1.loc[ |
| split_and_match(datae1['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae1['Studienbereich_Interessen'], ["Nan"]), |
| "rank2" |
| ] = 1 |
|
|
| |
| |
| answer9list=[answer9] |
| if sec4 in [5,7] and sec2 in [5,7]: |
| answer7M=answer3+answer7 |
| answer9listM=answer5list+[answer9] |
| datae1 = datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'],answer7M+ ["Nan","ata"]) | |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'],answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae1["rank3"]=6 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'],["Nan"]) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'],["Nan"]) |
| , "rank3"]=5 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
|
|
| datae1.loc[~split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
|
|
|
|
| elif sec4 in [5,7]: |
| answer7M=answer7 |
| answer9listM=answer9list |
|
|
| datae1 = datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M+ ["Nan","ata"]) | |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae1["rank3"]=6 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=5 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
|
|
| datae1.loc[~split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
|
|
| if sec4==1: |
| |
| |
| datae1["rank3"]=6 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| ~split_and_match(datae1['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
| |
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=4 |
|
|
| datae1.loc[~split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=3 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=2 |
|
|
| datae1.loc[split_and_match(datae1['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae1['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=1 |
| |
| |
| if sec6 == 7: |
| datae1 = datae1.loc[split_and_match(datae1['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| datae1["rank4"]=4 |
|
|
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
|
|
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
| |
| if sec6 == 5: |
|
|
| datae1["rank4"]=4 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
|
|
| if sec6==1: |
|
|
| datae1["rank4"]=4 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=3 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], answer12) |
| , "rank4"]=2 |
| datae1.loc[split_and_match(datae1['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=1 |
| |
|
|
| |
| datae1old=pd.concat([datae1]).copy() |
| df_sorted = datae1.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
| |
| |
| |
|
|
| |
|
|
| if sec2==7: |
| datae2 = data.iloc[0:0].copy() |
| datae2old=pd.concat([datae2]) |
| |
| else: |
| |
| answer5list=[answer5] |
|
|
| if sec2==5: |
| datae2 = data.loc[contains_value(data['Type_Interessen'],"Fokus")& |
| split_and_match(data['Sicherheit_Interessen'],[str(sec2)]) & |
| ( |
| split_and_match(data['Fachgruppe_Interessen'],answer3+["ata"]) | |
| split_and_match(data['Studienbereich_Interessen'], answer5list+["ata"]) |
| ) |
| ].copy() |
|
|
| |
| datae2["rank1"]=5 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae2['Studienbereich_Interessen'], ["ata"]) |
| , "rank1"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(datae2['Studienbereich_Interessen'], answer5list) |
| , "rank1"]=3 |
|
|
| datae2.loc[ |
| ~split_and_match(datae2['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae2['Studienbereich_Interessen'], answer5list) |
| , "rank1"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae2['Studienbereich_Interessen'], answer5list) |
| , "rank1"]=1 |
| |
|
|
| if sec2==1: |
| datae2 = data.loc[contains_value(data['Type_Interessen'],"Fokus")& |
| split_and_match(data['Sicherheit_Interessen'], [str(sec2)]) |
| ].copy() |
| |
| datae2["rank1"]=1 |
| |
| |
| |
| |
| answer9list=[answer9] |
| if sec4 in [5,7]: |
| |
| |
| datae2["rank2"]=6 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank2"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=3 |
|
|
| datae2.loc[~split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=1 |
|
|
| if sec4==1: |
| |
| |
| datae2["rank2"]=6 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank2"]=5 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=4 |
|
|
| datae2.loc[~split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=3 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank2"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae2['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank2"]=1 |
| |
|
|
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1 in [5,7]: |
| datae2 = datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| datae2["rank3"]=5 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=3 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae2["rank3"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=3 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=1 |
| |
|
|
|
|
|
|
| if sec1==1: |
|
|
| |
| if answer2!="Studium": |
| datae2["rank3"]=5 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae2["rank3"]=4 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| |
| if sec6 == 7: |
| datae2 = datae2.loc[split_and_match(datae2['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| datae2["rank4"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
| |
|
|
|
|
| |
| if sec6 == 5: |
|
|
| datae2["rank4"]=4 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec6==1: |
|
|
| datae2["rank4"]=4 |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=3 |
| |
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], answer12) |
| , "rank4"]=2 |
|
|
| datae2.loc[split_and_match(datae2['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=1 |
| |
|
|
|
|
| |
| datae2old=pd.concat([datae2]).copy() |
| df_sorted = datae2.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
| |
| |
| |
|
|
|
|
| |
|
|
| if sec2 ==1: |
| dataes = data.iloc[0:0].copy() |
| dataesold=pd.concat([dataes]) |
| |
| elif sec4==7 & sec2 ==7: |
| dataes = data.iloc[0:0].copy() |
| dataesold=pd.concat([dataes]) |
| |
| elif sec4==7: |
| dataes = data.iloc[0:0].copy() |
| dataesold=pd.concat([dataes]) |
| |
| else: |
| |
| answer5list=[answer5] |
|
|
| if sec2 in [5,7]: |
| dataes = data.loc[contains_value(data['Type_FΓ€higkeiten'],"Fokus")& |
| split_and_match(data['Sicherheit_FΓ€higkeiten'], [str(sec2)]) & |
| ( |
| split_and_match(data['Fachgruppe_FΓ€higkeiten'], answer3+["ata"]) | |
| split_and_match(data['Studienbereich_FΓ€higkeiten'], answer5list+["ata"]) |
| ) |
| ].copy() |
|
|
| |
| dataes["rank1"]=5 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(dataes['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank1"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_FΓ€higkeiten'], answer3) & |
| ~split_and_match(dataes['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank1"]=3 |
|
|
| dataes.loc[ |
| ~split_and_match(dataes['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(dataes['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank1"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(dataes['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank1"]=1 |
| |
| |
| |
| |
| answer9list=[answer9] |
| if sec4 in [5,7]: |
| |
| |
| dataes["rank2"]=6 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(dataes['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(dataes['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| ~split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=3 |
|
|
| dataes.loc[~split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=1 |
|
|
| if sec4==1: |
| |
| |
| dataes["rank2"]=6 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(dataes['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=5 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| ~split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=4 |
|
|
| dataes.loc[~split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=3 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], answer7) & |
| split_and_match(dataes['Studienbereich_Interessen'], answer9list) |
| , "rank2"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(dataes['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=1 |
| |
|
|
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1 in [5,7]: |
| dataes = dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| dataes["rank3"]=5 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=3 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=1 |
|
|
| else: |
| dataes["rank3"]=4 |
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=3 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=1 |
|
|
|
|
|
|
|
|
| if sec1==1: |
|
|
| |
| if answer2!="Studium": |
| dataes["rank3"]=5 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| else: |
| dataes["rank3"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| |
| if sec6 == 7: |
| dataes = dataes.loc[split_and_match(dataes['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| dataes["rank4"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
| |
| |
| if sec6 == 5: |
|
|
| dataes["rank4"]=4 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec6==1: |
|
|
| dataes["rank4"]=4 |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=3 |
| |
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], answer12) |
| , "rank4"]=2 |
|
|
| dataes.loc[split_and_match(dataes['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=1 |
| |
|
|
|
|
| |
| dataesold=pd.concat([dataes]).copy() |
| df_sorted = dataes.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
| |
| |
| |
|
|
| |
|
|
| if sec4==7: |
| datae3 = data.iloc[0:0].copy() |
| datae3old=pd.concat([datae3]).copy() |
| |
| else: |
| |
| answer9list=[answer9] |
|
|
| if sec4==5: |
| datae3 = data.loc[contains_value(data['Type_FΓ€higkeiten'],"Fokus")& |
| split_and_match(data['Sicherheit_FΓ€higkeiten'], [str(sec4)]) & |
| ( |
| split_and_match(data['Fachgruppe_FΓ€higkeiten'], answer7+["ata"]) | |
| split_and_match(data['Studienbereich_FΓ€higkeiten'], answer9list+["ata"]) |
| ) |
| ].copy() |
|
|
| |
| datae3["rank1"]=5 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae3['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank1"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(datae3['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank1"]=3 |
|
|
| datae3.loc[ |
| ~split_and_match(datae3['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae3['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank1"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae3['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank1"]=1 |
| |
|
|
| if sec4==1: |
| datae3 = data.loc[contains_value(data['Type_FΓ€higkeiten'],"Fokus")& |
| split_and_match(data['Sicherheit_FΓ€higkeiten'], [str(sec4)]) |
| ].copy() |
| |
| datae3["rank1"]=1 |
| |
| |
| |
| |
| answer5list=[answer9] |
| if sec2 in [5,7]: |
| |
| |
| datae3["rank2"]=6 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae3['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae3['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=3 |
|
|
| datae3.loc[~split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=1 |
|
|
| if sec2==1: |
| |
| |
| datae3["rank2"]=6 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae3['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=5 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=4 |
|
|
| datae3.loc[~split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=3 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae3['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae3['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=1 |
| |
|
|
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1 in [5,7]: |
| datae3 = datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| datae3["rank3"]=5 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=3 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae3["rank3"]=4 |
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=3 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=1 |
|
|
|
|
|
|
|
|
| if sec1==1: |
|
|
| |
| if answer2!="Studium": |
| datae3["rank3"]=5 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae3["rank3"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| |
| if sec6 == 7: |
| datae3 = datae3.loc[split_and_match(datae3['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| datae3["rank4"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
| |
| |
| if sec6 == 5: |
|
|
| datae3["rank4"]=4 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec6==1: |
|
|
| datae3["rank4"]=4 |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=3 |
| |
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], answer12) |
| , "rank4"]=2 |
|
|
| datae3.loc[split_and_match(datae3['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=1 |
|
|
| |
| datae3old=pd.concat([datae3]).copy() |
| df_sorted = datae3.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
| |
| |
| |
|
|
| |
|
|
| if sec4==1: |
| datae3s = data.iloc[0:0].copy() |
| datae3sold=pd.concat([datae3s]).copy() |
| |
|
|
| elif sec4==7 & sec2 ==7: |
| datae3s = data.iloc[0:0].copy() |
| datae3sold=pd.concat([datae3s]).copy() |
| |
| elif sec2==7: |
| datae3s = data.iloc[0:0].copy() |
| datae3sold=pd.concat([datae3s]).copy() |
| |
| else: |
| |
| answer9list=[answer9] |
|
|
| if sec4 in [5,7]: |
| datae3s = data.loc[contains_value(data['Type_Interessen'],"Fokus")& |
| split_and_match(data['Sicherheit_Interessen'], [str(sec4)]) & |
| ( |
| split_and_match(data['Fachgruppe_Interessen'], answer7+["ata"]) | |
| split_and_match(data['Studienbereich_Interessen'], answer9list+["ata"]) |
| ) |
| ].copy() |
|
|
| |
| datae3s["rank1"]=5 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae3s['Studienbereich_Interessen'], ["ata"]) |
| , "rank1"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_Interessen'], answer7) & |
| ~split_and_match(datae3s['Studienbereich_Interessen'], answer9list) |
| , "rank1"]=3 |
|
|
| datae3s.loc[ |
| ~split_and_match(datae3s['Fachgruppe_Interessen'], answer7) & |
| split_and_match(datae3s['Studienbereich_Interessen'], answer9list) |
| , "rank1"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_Interessen'], answer7) & |
| split_and_match(datae3s['Studienbereich_Interessen'], answer9list) |
| , "rank1"]=1 |
| |
| |
| |
| |
| answer5list=[answer9] |
| if sec2 in [5]: |
| |
| |
| datae3s["rank2"]=6 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank2"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| ~split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=3 |
|
|
| datae3s.loc[~split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=1 |
|
|
| if sec2==1: |
| |
| |
| datae3s["rank2"]=6 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank2"]=5 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| ~split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=4 |
|
|
| datae3s.loc[~split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=3 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], answer3) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], answer5list) |
| , "rank2"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae3s['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank2"]=1 |
| |
|
|
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1 in [5,7]: |
| datae3s = datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| datae3s["rank3"]=5 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=3 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae3s["rank3"]=4 |
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=3 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=1 |
|
|
|
|
|
|
|
|
| if sec1==1: |
|
|
| |
| if answer2!="Studium": |
| datae3s["rank3"]=5 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank3"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank3"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| else: |
| datae3s["rank3"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank3"]=3 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank3"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank3"]=1 |
|
|
| |
| if sec6 == 7: |
| datae3s = datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| datae3s["rank4"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
| |
| |
| if sec6 == 5: |
|
|
| datae3s["rank4"]=4 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=2 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], answer12) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec6==1: |
|
|
| datae3s["rank4"]=4 |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["ata"]) |
| , "rank4"]=3 |
| |
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], answer12) |
| , "rank4"]=2 |
|
|
| datae3s.loc[split_and_match(datae3s['Auswahl_Orte'], ["Nan"]) |
| , "rank4"]=1 |
|
|
|
|
| |
| datae3sold=pd.concat([datae3s]).copy() |
| df_sorted = datae3s.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
|
|
| |
| |
| |
|
|
| |
|
|
| if sec6==7: |
| datae4 = data.iloc[0:0].copy() |
| datae4old=pd.concat([datae4]).copy() |
| |
| else: |
| |
| if sec6 == 5: |
| datae4 = data.loc[contains_value(data['Type_Orte'],"Fokus")& |
| split_and_match(data['Sicherheit_Orte'],[str(sec6)]) & |
| split_and_match(data['Auswahl_Orte'], answer12+["ata"]) |
| ].copy() |
| |
| datae4["rank1"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Orte'], ["Nan"]) |
| , "rank1"]=3 |
| |
| datae4.loc[split_and_match(datae4['Auswahl_Orte'], ["ata"]) |
| , "rank1"]=2 |
| |
| datae4.loc[split_and_match(datae4['Auswahl_Orte'], answer12) |
| , "rank1"]=1 |
|
|
| if sec6==1: |
| |
| datae4 = data.loc[contains_value(data['Type_Orte'],"Fokus")& |
| split_and_match(data['Sicherheit_Orte'],[str(sec6)]) |
| ].copy() |
| datae4["rank1"]=1 |
| |
| |
| |
| answer5list=[answer5] |
|
|
| if sec2 in [5,7] and sec4 in [5,7]: |
| answer3M=answer3+answer7 |
| answer5listM=answer5list+[answer9] |
| datae4 = datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M+ ["Nan","ata"]) | |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae4["rank2"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae4['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=3 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=1 |
|
|
| elif sec2 in [5,7]: |
| answer3M=answer3 |
| answer5listM=answer5list |
|
|
| datae4 = datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M+ ["Nan","ata"]) | |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae4["rank2"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(datae4['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=3 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=1 |
|
|
| if sec2==1: |
| |
| |
| |
| datae4["rank2"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["ata"]) & |
| ~split_and_match(datae4['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(datae4['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=4 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=3 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], answer3) & |
| split_and_match(datae4['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=1 |
| |
| |
| answer9list=[answer9] |
| if sec4 in [5,7] and sec2 in [5,7]: |
| answer7M=answer3+answer7 |
| answer9listM=answer5list+[answer9] |
| datae4 = datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M+ ["Nan","ata"]) | |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae4["rank3"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
|
|
|
|
| elif sec4 in [5,7]: |
| answer7M=answer7 |
| answer9listM=answer9list |
|
|
| datae4 = datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M+ ["Nan","ata"]) | |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| datae4["rank3"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
|
|
| if sec4==1: |
| |
| |
| datae4["rank3"]=6 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| ~split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
| |
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=4 |
|
|
| datae4.loc[~split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=3 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(datae4['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=1 |
|
|
|
|
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
|
|
| if sec1 in [5,7]: |
| datae4 = datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| datae4["rank4"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank4"]=3 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank4"]=1 |
|
|
| else: |
| datae4["rank4"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=3 |
| |
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec1==1: |
|
|
| |
| if answer2!="Studium": |
| datae4["rank4"]=5 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank4"]=4 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=3 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank4"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=1 |
|
|
| else: |
| datae4["rank4"]=4 |
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=3 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank4"]=2 |
|
|
| datae4.loc[split_and_match(datae4['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=1 |
|
|
| |
| datae4old=pd.concat([datae4]).copy() |
| df_sorted = datae4.sort_values(by=["rank1","rank2","rank3","rank4",'random_tiebreaker'], ascending=True).copy() |
|
|
| |
|
|
|
|
| |
| |
| |
| st.title("Mehr Orientierung und UnterstΓΌtzung") |
| st.write("Sich fΓΌr einen Beruf bzw. fΓΌr ein Studium zu entscheiden, ist eine komplexe Angelegenheit. Welche nΓ€chsten Schritte sind fΓΌr Dich gerade besonders wichtig? Welche Informationen und welche UnterstΓΌtzung kΓΆnntest Du jetzt brauchen? WΓ€hle die Begriffe aus, die Dich interessieren und klicke danach auf βweiterβ.") |
|
|
| |
| bedarflist = [] |
| bedarf_dict = {} |
|
|
|
|
| |
| |
|
|
| with st.expander("Selbsterkenntnis"): |
| |
| bedarflist.append("Sicherheit_Interessen_") |
| bedarf_dict["Sicherheit_Interessen_"] = "Sicherheit_Interessen_" |
|
|
| |
| bedarflist.append("Sicherheit_FΓ€higkeiten") |
| bedarf_dict["Sicherheit_FΓ€higkeiten"] = "Sicherheit_FΓ€higkeiten" |
| |
| B1 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes verstehen, welche Werte mir bei der Berufswahl wichtig sind.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B1", value=1, |
| format_func=lambda x: labels[x]) |
| if B1>=5: |
| bedarflist.append("Werte") |
| bedarf_dict["Werte"] = "Werte" |
|
|
| B2 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes erlernen, wie ich mit den beruflichen Erwartungen meiner Eltern oder anderer Bezugspersonen an mich selbstbestimmt umgehen kann.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B2", value=1, |
| format_func=lambda x: labels[x]) |
| if B2>=5: |
| bedarflist.append("Eltern_und_andere_Bezugspersonen") |
| bedarf_dict["Eltern_und_andere_Bezugspersonen"] = "Eltern_und_andere_Bezugspersonen" |
|
|
| B3 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes eine berufliche Zielvorstellung entwickeln.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B3", value=1, |
| format_func=lambda x: labels[x]) |
| if B3>=5: |
| bedarflist.append("berufliche_Zielvorstellungen") |
| bedarf_dict["berufliche_Zielvorstellungen"] = "berufliche_Zielvorstellungen" |
|
|
| B4 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, ob ich fΓΌr einen Ausbildungs- oder Studiengang geeignet bin.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B4", value=1, |
| format_func=lambda x: labels[x]) |
| if B4>=5: |
| bedarflist.append("Eignung") |
| bedarf_dict["Eignung"] = "Eignung" |
|
|
| B5 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes eine Hilfsmittelkompetenz erlernen, damit ich mit einer EinschrΓ€nkung eine Ausbildung oder ein Studium absolvieren kann.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B5", value=1, |
| format_func=lambda x: labels[x]) |
| if B5>=5: |
| bedarflist.append("Hilfsmittelkompetenz") |
| bedarf_dict["Hilfsmittelkompetenz"] = "Hilfsmittelkompetenz" |
|
|
| B6 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes ΓΌben, eine Entscheidung zu treffen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B6", value=1, |
| format_func=lambda x: labels[x]) |
| if B6>=5: |
| bedarflist.append("Entscheidung") |
| bedarf_dict["Entscheidung"] = "Entscheidung" |
| |
| with st.expander("Bildungsgangbedarfe"): |
| |
| bedarflist.append("Sicherheit_Studium_Ausbildung_") |
| bedarf_dict["Sicherheit_Studium_Ausbildung_"] = "Sicherheit_Studium_Ausbildung_" |
| |
| B7 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes mich mit dem Einfluss von Stereotypen (z.B. ein Psychologiestudium bedeutet man wird Psychotherapeut:in) auseinandersetzen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B7", value=1, |
| format_func=lambda x: labels[x]) |
| if B7>=5: |
| bedarflist.append("Einfluss_Stereotypen") |
| bedarf_dict["Einfluss_Stereotypen"] = "Einfluss_Stereotypen" |
| |
| B8 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes verschiedene Ausbildungs- und/oder StudiengΓ€nge (Schreiner, Tischler, Literaturwissenschaften, Molekulare Biotechnologie, ...) kennenlernen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B8", value=1, |
| format_func=lambda x: labels[x]) |
| if B8>=5: |
| bedarflist.append("versch._BildungsgΓ€nge_kennenlernen") |
| bedarf_dict["versch._BildungsgΓ€nge_kennenlernen"] = "versch._BildungsgΓ€nge_kennenlernen" |
| B82 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, welche Hochschulart (Angewandte Hochschule, PΓ€dagogische, VolluniversitΓ€t, β¦) zu mir passt.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B82", value=1, |
| format_func=lambda x: labels[x]) |
| if B82>=5: |
| bedarflist.append("Hochschulart") |
| bedarf_dict["Hochschulart"] = "Hochschulart" |
| |
| B9 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, was die Anforderungen fΓΌr einen Ausbildungsgang und/oder ein Studium sind.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B9", value=1, |
| format_func=lambda x: labels[x]) |
| if B9>=5: |
| bedarflist.append("Anforderungen") |
| bedarf_dict["Anforderungen"] = "Anforderungen" |
| |
| B10 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes unterschiedliche Ausbildungsbereiche (Handwerk, kaufmΓ€nnische Ausbildungen, IT, ...) und/oder unterschiedliche Studienfelder (Geisteswissenschaften, Naturwissenschaften, ...) kennenlernen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B10", value=1, |
| format_func=lambda x: labels[x]) |
| if B10>=5: |
| bedarflist.append("Studienfelder") |
| bedarf_dict["Studienfelder"] = "Studienfelder" |
| |
| B11 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, wie eine Ausbildung und/oder ein Studium aufgebaut ist.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B11", value=1, |
| format_func=lambda x: labels[x]) |
| if B11>=5: |
| bedarflist.append("Aufbau") |
| bedarf_dict["Aufbau"] = "Aufbau" |
| |
| B12 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, welche Arten von Freiwilligendiensten es gibt.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B12", value=1, |
| format_func=lambda x: labels[x]) |
| if B12>=5: |
| bedarflist.append("Arten_von_Freiwilligendiensten") |
| bedarf_dict["Arten_von_Freiwilligendiensten"] = "Arten_von_Freiwilligendiensten" |
| with st.expander("Berufsbedarfe"): |
| |
| B13 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes verschiedene Berufe kennenlernen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B13", value=1, |
| format_func=lambda x: labels[x]) |
| if B13>=5: |
| bedarflist.append("verschiedene_Berufe_kennenlernen") |
| bedarf_dict["verschiedene_Berufe_kennenlernen"] = "verschiedene Berufe kennenlernen" |
| B14 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, in welchem Berufsfeld (Dienstleistung, Gesundheitswesen, ...) ich arbeiten mΓΆchte.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B14", value=1, |
| format_func=lambda x: labels[x]) |
| if B14>=5: |
| bedarflist.append("Berufsfelder_kennenlernen") |
| bedarf_dict["Berufsfelder_kennenlernen"] = "Berufsfelder_kennenlernen" |
| B15 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, wie viel Geld man in einem Beruf verdient.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B15", value=1, |
| format_func=lambda x: labels[x]) |
| if B15>=5: |
| bedarflist.append("Verdienst") |
| bedarf_dict["Verdienst"] = "Verdienst" |
| B16 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, wie sich der Arbeitsmarkt in der Zukunft entwickelt.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B16", value=1, |
| format_func=lambda x: labels[x]) |
| if B16>=5: |
| bedarflist.append("Arbeitsmarkt_der_Zukunft") |
| bedarf_dict["Arbeitsmarkt_der_Zukunft"] = "Arbeitsmarkt_der_Zukunft" |
|
|
| B17 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes unterschiedliche Karrierewege kennenlernen.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B17", value=1, |
| format_func=lambda x: labels[x]) |
| if B17>=5: |
| bedarflist.append("Karrierewege") |
| bedarf_dict["Karrierewege"] = "Karrierewege" |
|
|
| with st.expander("Finanzierungsbedarfe"): |
| B18 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, wie ich eine Ausbildung oder ein (duales) Studium finanzieren kann.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B18", value=1, |
| format_func=lambda x: labels[x]) |
| if B18>=5: |
| bedarflist.append("Finanzierung") |
| bedarf_dict["Finanzierung"] = "Finanzierung" |
| |
| B19 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, welche Stiftungen es zur Ausbildungs- und Studienfinanzierung gibt.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B19", value=1, |
| format_func=lambda x: labels[x]) |
| if B19>=5: |
| bedarflist.append("Stipendien") |
| bedarf_dict["Stipendien"] = "Stipendien" |
| |
| |
|
|
|
|
| with st.expander("Bewerbungs- und Zulassungsbedarfe"): |
| B20 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, in welchem Zeitraum ich mich fΓΌr den Ausbildungs- oder Studiengang bewerben muss, den ich aufnehmen mΓΆchte.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B20", value=1, |
| format_func=lambda x: labels[x]) |
| if B20>=5: |
| bedarflist.append("BewerbungszeitrΓ€ume") |
| bedarf_dict["BewerbungszeitrΓ€ume"] = "BewerbungszeitrΓ€ume" |
|
|
| B21 = st.select_slider(label='Ich mΓΆchte als NΓ€chstes herausfinden, was die Zugangsvoraussetzungen fΓΌr den Ausbildungs- oder Studiengang sind, fΓΌr den ich mich bewerben mΓΆchte.' |
| ,options=[1, 2, 3, 4, 5, 6, 7], key="B21", value=1, |
| format_func=lambda x: labels[x]) |
| if B21>=5: |
| bedarflist.append("Bewerbungs-_und_Zulassungsvoraussetzungen") |
| bedarf_dict["Bewerbungs-_und_Zulassungsvoraussetzungen"] = "Bewerbungs-_und_Zulassungsvoraussetzungen" |
|
|
|
|
|
|
| |
|
|
| filter=["online"] |
|
|
|
|
| |
| |
| dataM5AM=dataM5.copy() |
| answer5list=[answer5] |
|
|
| if sec2 in [5,7] and sec4 in [5,7]: |
| answer3M=answer3+answer7 |
| answer5listM=answer5list+[answer9] |
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M+ ["Nan","ata"]) | |
| split_and_match(datae1['Studienbereich_Interessen'], answer5listM+ ["Nan","ata"]) |
| ].copy() |
| |
| dataM5AM["rank2"]=6 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=3 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=1 |
| |
| elif sec2 in [5,7]: |
| answer3M=answer3 |
| answer5listM=answer5list |
|
|
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M+ ["Nan","ata"]) | |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM+ ["Nan","ata"]) |
| ].copy() |
| |
| dataM5AM["rank2"]=6 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=5 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| ~split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=3 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3M) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5listM) |
| , "rank2"]=1 |
|
|
| if sec2==1: |
| |
| |
| |
| dataM5AM["rank2"]=6 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["ata"]) |
| , "rank2"]=5 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3) & |
| ~split_and_match(dataM5AM['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=4 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], answer3) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], answer5list) |
| , "rank2"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_Interessen'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_Interessen'], ["Nan"]) |
| , "rank2"]=1 |
| |
| |
| answer9list=[answer9] |
| if sec4 in [5,7] and sec2 in [5,7]: |
| answer7M=answer3+answer7 |
| answer9listM=answer5list+[answer9] |
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M+ ["Nan","ata"]) | |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| dataM5AM["rank3"]=6 |
|
|
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=5 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
| |
|
|
| elif sec4 in [5,7]: |
| answer7M=answer7 |
| answer9listM=answer9list |
|
|
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M+ ["Nan","ata"]) | |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM+ ["Nan","ata"]) |
| ].copy() |
| |
| dataM5AM["rank3"]=6 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=5 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| ~split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=3 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7M) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9listM) |
| , "rank3"]=1 |
|
|
| if sec4==1: |
| |
| |
| dataM5AM["rank3"]=6 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["ata"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["ata"]) |
| , "rank3"]=5 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7) & |
| ~split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=4 |
| |
| dataM5AM.loc[~split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], answer7) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], answer9list) |
| , "rank3"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Fachgruppe_FΓ€higkeiten'], ["Nan"]) & |
| split_and_match(dataM5AM['Studienbereich_FΓ€higkeiten'], ["Nan"]) |
| , "rank3"]=1 |
| |
| |
| if answer2!=None: |
| if answer2=="Studium": |
| answer2list=[answer2] |
| else: |
| answer2list=[answer2, "Studium", "Duales Studium"] |
| else: |
| answer2list=[answer2] |
| if sec1 in [5,7]: |
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], answer2list+ ["Nan","ata"]) |
| ].copy() |
|
|
| |
| if answer2!="Studium": |
| dataM5AM["rank4"]=5 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=4 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank4"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank4"]=1 |
|
|
| else: |
| dataM5AM["rank4"]=4 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank4"]=1 |
|
|
|
|
|
|
| if sec1==1: |
| |
| |
| if answer2!="Studium": |
| dataM5AM["rank4"]=5 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Studium"]) |
| , "rank4"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Duales Studium"]) |
| , "rank4"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=1 |
|
|
| else: |
| dataM5AM["rank4"]=4 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["ata"]) |
| , "rank4"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], answer2list) |
| , "rank4"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Studium_Ausbildung'], ["Nan"]) |
| , "rank4"]=1 |
| |
| |
| if sec6 == 7: |
| dataM5AM = dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], answer12 + ["Nan","ata"]) |
| ].copy() |
|
|
| dataM5AM["rank5"]=4 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["Nan"]) |
| , "rank5"]=3 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["ata"]) |
| , "rank5"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], answer12) |
| , "rank5"]=1 |
| |
| if sec6 == 5: |
| dataM5AM["rank5"]=4 |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["Nan"]) |
| , "rank5"]=3 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["ata"]) |
| , "rank5"]=2 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], answer12) |
| , "rank5"]=1 |
|
|
|
|
| if sec6==1: |
| dataM5AM["rank5"]=4 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["ata"]) |
| , "rank5"]=3 |
| |
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], answer12) |
| , "rank5"]=2 |
|
|
| dataM5AM.loc[split_and_match(dataM5AM['Auswahl_Orte'], ["Nan"]) |
| , "rank5"]=1 |
| |
|
|
| st.title("Ergebnistabelle") |
| st.write("Im folgenden Bereich erhΓ€ltst du eine Γbersicht unterschiedlicher Angebote, die hilfreich in deiner aktuellen Situation zur Studienorientierung sein kΓΆnnen. Bitte ΓΆffne die nachfolgende Tabelle, suche Dir fΓΌr Dich passende Angebote aus und bearbeite diese in den nΓ€chsten 60 Minuten. Merke dir dabei die Listenposition des von dir bearbeiteten Angebotes, bzw. der Angebote, weil Du in der Nachbefragung danach gefragt werden wirst.") |
| |
| |
| bedarflist = [col for col in bedarflist if (dataM5AM[col] == 1).any()] |
| |
| for l in bedarflist: |
| dataM5AM.loc[dataM5AM[l]==1, 'pointsfilB'] += 1 |
| dataM5AM.loc[dataM5AM[l]==1, 'pointsfilBSORT'] += 1 |
| dataM5AM.loc[dataM5AM[l]==1, 'pointsfilBSORTlist'] += ";"+str(l) |
| dataM5AM.loc[dataM5AM[l]==1, 'pointsfilBlist'] += ";"+str(l) |
|
|
| |
|
|
|
|
| dataW=dataM5AM[dataM5AM["pointsfilB"]>0].copy() |
| dataWsave=dataW.copy() |
| dataWsave=dataWsave.sort_values( |
| by=["pointsfilB","pointsfilBSORT","rank2","rank3","rank4","rank5","random_tiebreaker"], |
| ascending=False |
| ).reset_index(drop=True).copy() |
|
|
| more=None |
| IDs="NONE" |
| |
| if bedarflist: |
| |
| |
| |
| |
| if bedarflist==[]: |
| st.write("Sorry dafΓΌr haben wir nichts in der momentanen Auswahl.") |
|
|
| else: |
| |
| |
| |
| |
| |
| |
| dataWS=dataW |
| dataWS = dataWS.sort_values( |
| by=["pointsfilB","pointsfilBSORT","rank2","rank3","rank4","rank5","random_tiebreaker"], |
| ascending=False |
| ).reset_index(drop=True) |
| |
| dataWS.insert(0, 'Platz', |
| dataWS[["pointsfilB","pointsfilBSORT","rank2","rank3","rank4","rank5"]] |
| .apply(tuple, axis=1) |
| .rank(method='dense', ascending=True) |
| .astype(int) |
| ) |
| |
| B2_e = st.expander("**Angebotsempfehlung: Klicke hier fΓΌr Orientierungsangebote, die dir helfen.**") |
|
|
| with B2_e: |
| cols = ["Link","Art_Angebot", "Inhalt_Angebot", "Anbieter_Angebot", "Auswahl_Orte", "Zeitaufwand_Angebot"] |
| column_config = { |
| "Link": st.column_config.LinkColumn( |
| "Link", |
| display_text="π Γffnen", |
| width=90 |
| ), |
| "Art_Angebot": st.column_config.TextColumn( |
| "Art", |
| width=80 |
| ), |
| "Inhalt_Angebot": st.column_config.TextColumn( |
| "Inhalt", |
| width=150 |
| ), |
| "Anbieter_Angebot": st.column_config.TextColumn( |
| "Anbieter", |
| width=100 |
| ), |
| "Auswahl_Orte": st.column_config.TextColumn( |
| "Orte", |
| width=100 |
| ), |
| "Zeitaufwand_Angebot": st.column_config.TextColumn( |
| "Zeitaufwand", |
| width=100 |
| ), |
| } |
|
|
| st.dataframe( |
| dataWS[cols].head(10), |
| column_config=column_config, |
| hide_index=True, |
| use_container_width=True |
| ) |
|
|
| |
| IDs = "_".join(dataWS["ID"].head(10).astype(str).tolist()) |
| |
| if "more" not in st.session_state: |
| st.session_state.more = False |
| |
| if len(dataWS) > 10: |
| if st.button("Zeige mehr an", key="B2_mehr"): |
| st.session_state.more = True |
| |
| if st.session_state.more: |
| st.dataframe( |
| dataWS[cols].iloc[10:20], |
| column_config=column_config, |
| hide_index=True, |
| use_container_width=True, |
| ) |
| IDs = "_".join(dataWS["ID"].head(10).astype(str).tolist()) |
| |
| |
| |
| |
|
|
| |
| def safe_df_str(var_name, df_var, cols): |
| try: |
| return df_to_str(df_var, cols) |
| except Exception: |
| return "nicht verfΓΌgbar" |
|
|
| out_cols_1 = ["Link","ID","rank1","rank2","rank3","rank4"] |
| out_cols_2 = ["Link","ID","rank1","rank2","rank3","rank4"] |
| out_cols_3 = ["Link","ID","rank1","rank2","rank3","rank4"] |
| out_cols_4 = ["Link","ID","rank1","rank2","rank3","rank4"] |
| out_cols_M5 = ["Link","ID","Art_Angebot", "Inhalt_Angebot","Anbieter_Angebot", "Auswahl_Orte", "Zeitaufwand_Angebot","pointsfilB","pointsfilBlist","rank2","rank3","rank4","rank5","random_tiebreaker"] |
| out_cols_M5B = ["Link","ID","Platz","Art_Angebot", "Inhalt_Angebot","Anbieter_Angebot", "Auswahl_Orte", "Zeitaufwand_Angebot","pointsfilB","pointsfilBlist","rank2","rank3","rank4","rank5","random_tiebreaker"] |
|
|
| with B2_e: |
| linkbutton= st.button("**Weiter machen mit der Nachbefragung**") |
| if linkbutton: |
|
|
| payload = { |
| |
| "q1_bildungsweg_sicherheit": answer1, |
| "q2_bildungsweg_auswahl": answer2, |
| "s1_weiss_nicht": skip1, |
| |
| "q3_interessen": ", ".join(answer3) if isinstance(answer3, list) else answer3, |
| "q4_interessen_sicherheit": answer4, |
| "s2_weiss_nicht": skip2, |
| |
| "q7_faehigkeiten": ", ".join(answer7) if isinstance(answer7, list) else answer7, |
| "q8_faehigkeiten_sicherheit": answer8, |
| "s3_weiss_nicht": skip3, |
| |
| "q11_region_sicherheit": answer11, |
| "q12_region_orte": ", ".join(answer12) if isinstance(answer12, list) else answer12, |
| "s4_weiss_nicht": skip4, |
| |
| "filter_angebotsmerkmale": ", ".join(filter) if filter else "", |
| |
| "B1": B1, "B2": B2, "B3": B3, "B4": B4, |
| "B5": B5, "B6": B6, "B7": B7, "B8": B8, |
| "B82": B82,"B9": B9, "B10": B10,"B11": B11, |
| "B12": B12,"B13": B13,"B14": B14,"B15": B15, |
| "B16": B16,"B17": B17,"B18": B18,"B19": B19, |
| "B20": B20,"B21": B21, |
| "bedarflist_auto": ", ".join(bedarflist), |
| "bedarflist_manual": ", ".join(bedarfspecified) if 'bedarfspecified' in dir() else "", |
| |
| "filter_M5": ", ".join(filter) if filter else "", |
| |
| "more10":st.session_state.more, |
| "out_empfehlung_bildungsweg": safe_df_str("e1", datae1old.head(10), out_cols_1), |
| "out_empfehlung_interessen": safe_df_str("e2", datae2old.head(10), out_cols_2), |
| "out_empfehlung_interessenS": safe_df_str("e2s", dataesold.head(10), out_cols_2), |
| "out_empfehlung_faehigkeiten": safe_df_str("e3", datae3old.head(10), out_cols_3), |
| "out_empfehlung_faehigkeitenS": safe_df_str("e3s", datae3sold.head(10), out_cols_3), |
| "out_empfehlung_region": safe_df_str("e4", datae4old.head(10), out_cols_4), |
| |
| "out_empfehlung_M5_B2": safe_df_str("m5b2", dataWS.head(20) if 'dataWS' in dir() else None, out_cols_M5B), |
| } |
|
|
| save_all(user_id, payload) |
| print("Alles gespeichert!") |
|
|
| link= "https://sosci.sowi.uni-mannheim.de/osa_2026/?q=Bedarfe26_Till_post&id="+user_id+"&en="+IDs+"&bn="+str(answer1)+"__" +str(answer2)+"__"+str(skip1)+"__" +str(", ".join(answer3) if isinstance(answer3, list) else answer3)+"__"+str(answer4)+"__"+str(skip2)+"__"+str(", ".join(answer7) if isinstance(answer7, list) else answer7)+"__"+str(answer8)+"__"+str(skip3)+"__"+str(answer11)+"__"+str(", ".join(answer12) if isinstance(answer12, list) else answer12)+"__"+str(skip4)+"__"+str(B1)+"__"+str(B2)+"__"+str(B3)+"__"+str(B4)+"__"+str(B5)+"__"+str(B6)+"__"+str(B7)+"__"+str(B8)+"__"+str(B82)+"__"+str(B9)+"__"+str(B10)+"__"+str(B11)+"__"+str(B12)+"__"+str(B13)+"__"+str(B14)+"__"+str(B15)+"__"+str(B16)+"__"+str(B17)+"__"+str(B18)+"__"+str(B19)+"__"+str(B20)+"__"+str(B21)+"__"+str(st.session_state.more) |
| |
| st.markdown( |
| f'<div style="background-color:red; padding:10px; border-radius:5px;">' |
| f'<a href="{link}" style="color:white; font-weight:bold;">Klick hier</a>' |
| f'</div>', |
| unsafe_allow_html=True |
| ) |