Студенти основних студија у Републици Србији¶
У овој радној свесци ћемо истражити интересовања студената за различите факултете кроз отворене податке Министарства за просвету, науку и технолошки развој: http://opendata.mpn.gov.rs/index.php?ucenici_studenti=visoko. Сет података у .csv формату налази се у фолдеру са подацима (док се радна свеска коришћена за његову претходну припрему и издвајање релевантних података налази у додатку на крају приручника), а у наставку ћемо се фокусирати на:
- интересовања студената по областима, факултетима и универзитетима, која ћемо представљати стубичастим дијаграмима
- ефикасност високог образовања - истражујући бројеве студената на завршним годинама, као и студента који дипломирају у односу на потражњу и број уписаних на високошколску институцију и те податке ћемо представљати тачкастим дијаграмима
- интерактивне визуелизације уз пакет plotly.express
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import numpy as np
Нова библиотека коју ћемо користити за неке од визуализација у наставку је plotly и специјално plotly.express којa нам омогућавају интерактивне визуализације. За почетак ћемо као и обично учитати фајл са подацима (read_csv) и прегледати првих пар редова (head):
studenti_agregirano = pd.read_csv('data/studenti data/studenti_osnovnih_studija_agregirano.csv')
studenti_agregirano.head(2)
Све колоне, њихову попуњеност и тип података који садрже видећемо као и до сада функцијом info:
studenti_agregirano.info()
Ако желите да сазнате још мало о садржају ових колона, можете то пробати функцијом describe. Функција describe излистава основну статистику о нумеричким колонама - просечну вредност у колони, најмању и највећу вредности, вредност од које је 25%, 50%, 75% елемената низа мања итд.
studenti_agregirano.describe()
А ако желимо сазнати више о колонама у којима су текстуалне вредности, ислиставање различитих вредности помоћу функције unique је један начин:
studenti_agregirano['Univerzitet'].unique()
Анализу можемо започети истраживањем факултета који имају највише студената. Како се неки факултети (са различитим смеровима) у нашој табели појављују више пута, искористићемо функцију groupby да податке групишемо по имену установе и универзитету коме припада. На овај начин добијамо низ нових табелица које садрже редове који имају исти универзитет и факултет. Како нас не занимају целокупне те подтабелице, ми ћемо само у тако добијеним групама сабрати sum износе који се налазе у колони о броју студената. Другом линијом кода смо сортирали табелу користећи функцију sort_values , за опадајући низ искористили смо аргумент ascending=False
и затим смо само представили првих 10 елемената табеле:
fakulteti_po_broju_studenata = studenti_agregirano.groupby(['Naziv ustanove','Univerzitet'])['Broj studenata'].sum()
fakulteti_po_broju_studenata = fakulteti_po_broju_studenata.sort_values(ascending=False)
fakulteti_po_broju_studenata[:10]
Видимо да се међу 10 највећих факултета налазе само факултети у Београду и Новом Саду, истражите мало више ову ранг листу (мењајући број елемената које исписујете) да видите на ком месту се појављују и други универзитетски градови.
Ове податке можемо једноставно представити стубичастим дијаграмом. Како је назив сваког факултета и универзитета дугачак, није прегледно да то урадимо усправним стубићима које смо да сада најчешће користили, већ ћемо испробати хоризонталне. Такође, уместо функције из matplotlib библиотеке, искористићемо функцију plot у оквиру pandas библиотеке а којој је довољно аргументом kind нагласити који тип графика желимо да нацртамо (изостављање овог аргумента црта линијски дијаграм, док ћемо ми искористити kind='barh'
).
fakulteti_po_broju_studenata[:10].plot(kind='barh')
plt.xlabel('Broj studenata')
plt.show()
Слично можемо истражити и који факултети су најтраженији, сабирајући не колону о броју студената већ колону која садржи број пријављених кандидата:
fakulteti_po_broju_prijavljenih = studenti_agregirano.groupby(['Naziv ustanove','Univerzitet'])['Broj prijavljenih kandidata'].sum()
fakulteti_po_broju_prijavljenih.sort_values(ascending=False)[:10]
За разумевање популарности факултета, није довољно да гледамо само укупан број пријављених, већ је згодно тај број ставити у неки контекст, зато што није исто да ли се 150 студената пријављује на факултет који прима 150 или 15 студената. Стога ћемо увести и колону која нам говори о томе колико је пријављених у односу на акредитован број места на факултету:
studenti_agregirano['Potraznja'] = round(studenti_agregirano['Broj prijavljenih kandidata']/studenti_agregirano['Akreditaciona kvota'],2)
Треба имати на уму да подаци често нису потпуни, па је можда акредитациона квота негде недостајућа, погледајмо колико има редова табеле у којима је број акредитованих места (колона Akreditaciona kvota) једнак 0. Ово радимо тако што користимо услов studenti_agregirano['Akreditaciona kvota']==0
да издвојимо оне редове табеле код којих је услов задовољен:
len(studenti_agregirano[studenti_agregirano['Akreditaciona kvota']==0])
Чак 37 разматраних смерова на факултетима има у пољу акредитованих студената 0! У тим случајевима, немамо адекватну процењену потражњу, погледајмо детаљније те факултете да видимо да ли су остали подаци доступни:
studenti_agregirano[studenti_agregirano['Akreditaciona kvota']==0]
Испоставља се да су редови без унете Акредитационе квоте такође они редови који немају унете податке о пријављеним студентима (проверите то сумирајући одговарајућу колону). У оваквим ситуацијама, када се у дељењу колона појави 0/0, у ћелији табеле појављује се 'NaN' (не број - енг. not a number). Овакве редове ћемо изоставити из разматрања о потражњи студијских програма користећи функцију dropna пре цртања. Погледајмо сад који су то смерови на факултетима они за којима влада највећа потражња.
Сада поново користимо функцију sort_values, али овај пут зато што сортирамо табелу са пуно колона, користимо аргумент by да назначимо по којој колони да се изврши сортирање. Како је исход сортирања целокупна табела са свим својим колонама, да не бисмо затрпавали овај преглед издвојили смо само четири колоне како бисмо идентификовали најпопуларније студијске програме:
studenti_agregirano.sort_values(by='Potraznja',ascending=False)[['Naziv ustanove','Zvanje','Univerzitet','Potraznja']][:10]
Борба за место на факултету је највиша на факултету драмских уметности где се преко 8 студената бори за једно место! Велика потражња влада и за студијама психологије и стоматологије.
Такође и Електротехнички факултет нашао се високо на овој листи, специфично са смером 'Софтверско инжињерство'. Међутим, ако погледате уносе за овај факултет (нпр. користећи ову линију кодаstudenti_agregirano[studenti_agregirano['Naziv ustanove']=='Elektrotehnički fakultet']
) видећете да се исти број пријављених студената наводи на оба смера. То може значити да је посреди грешка, или да се студенти при пријављивању за факултет не одлучују о смеру, већ ту одлуку доносе након резултата.
# место за ваш код
Са друге стране, поред потражње, занима нас и колико студената факултета заврши уписани факултет, ово смо назвали 'извесност дипломирања'. Како немамо број студената који су уписали годину пре 3, 4 или 5 година, да адекватно проценимо који проценат студената је дипломирао, као метод процене погледаћемо односе између броја студената који су у последњој школској години дипломирали и броја студената у првој години.
studenti_agregirano['Izvesnost diplomiranja'] = studenti_agregirano['Broj svršenih studenata tokom prethodne školske godine']/studenti_agregirano['Studenti prva godina']
Опет морамо проверити колико факултета није унело информације о студентима прве године као и како су одговарајући односи израчунати у том случају (тј. који је исход недозвољеног дељења са 0).
len(studenti_agregirano[studenti_agregirano['Studenti prva godina']==0])
studenti_agregirano[studenti_agregirano['Studenti prva godina']==0][['Akreditaciona kvota','Studenti prva godina','Broj svršenih studenata tokom prethodne školske godine','Izvesnost diplomiranja']]
Видимо да је овај однос код факултета који имају 0 студената на 1. години некад 'NaN' а некад 'inf' (енг. infinity - бесконачно). До прве ситуације долази (као и у претходном примеру) када је и број свршених студената и број студената у 1. години 0. Насупрот томе, до друге ситуације долази када је број свршених студената неки број већи од 0, али је број студената у 1. години 0. То се дешава зато што тај смер више не постоји, или више није популаран па га више људи не уписују, али они који су га раније уписали завршавају. За ове смеровове мера излазности са факултета коју смо увели неће радити, али у задацима на крају ове радне свеске налазе се још неке идеје које можете пробати. За сада ћемо заменити све вредности 'inf' са 'NaN' користећи функцију replace:
studenti_agregirano = studenti_agregirano.replace({'Izvesnost diplomiranja':{np.inf:np.nan}})
Хајде да погледамо на којим факултетима је излазнос највећа, односно највећи је однос између дипломаца и бруцоша:
studenti_agregirano.sort_values(by='Izvesnost diplomiranja',ascending=False)[['Naziv ustanove','Zvanje','Univerzitet','Izvesnost diplomiranja','Vlasnistvo']][:10]
Нисмо се надали томе да овај однос прелази 1 - да на неком смеру у току годину дана има више дипломаца него бруцоша - но ако смерови уписују мали број студената и популарност варира, очекивано је да је можда ове године мање људи уписало факултет него пре 4-5 година. Међутим однос од 79, већ позива на проверу датог реда табеле коме ћемо приступити користећи iloc:
studenti_agregirano.iloc[138]
Чини се да су подаци за овај смер доста збуњујући - са једне стране, број пријављених је преко 200, али је само један студент на првој години, слично мало је и на другој и трећој, док на четвртој има опет преко 200 студената. Могуће да је реч о грешкама у уносу података, али су можда и посреди неке промене на овом смеру које су изазвале нагле порасте и падове заинтересованости студената.
Погледајмо сада и смерове на којима је процењена извесност дипломирања најмања, тј. број дипломаца је далеко мањи од броја бруцоша - овде смо из сортирања елиминисали вредност 0 (када нема дипломаца, што је можда последица увођења новог смера).
studenti_agregirano[studenti_agregirano['Izvesnost diplomiranja']!=0].sort_values(by='Izvesnost diplomiranja')[['Naziv ustanove','Zvanje','Univerzitet','Izvesnost diplomiranja']][:10]
На другом крају приче о извесности дипломирања, видимо да је доста природно математичких и техничких наука на којима је одност између дипломаца и бруцоша чак 1 према 100, погледајмо детаљније податке за факултет са најмањом вредношћу:
studenti_agregirano.iloc[32]
Гледајући податке детаљније, видимо да се број студената полови с прве на другу и са друге на трећу годину, и иако је број студената на завршној години већи, у посматраној школској години само један студент је дипломирао. Пораст броја студената на завршној години нас мотивише да уведемо још једну колону као меру проходности кроз академске студије - однос броја на завршној и првој години студија:
studenti_agregirano['Nagomilavanje studenata'] = studenti_agregirano['Broj studenata na zavrsnoj godini']/studenti_agregirano['Studenti prva godina']
studenti_agregirano = studenti_agregirano.replace({'Nagomilavanje studenata':{np.inf:np.nan}})
studenti_agregirano.sort_values(by='Nagomilavanje studenata',ascending=False)[['Naziv ustanove','Zvanje','Univerzitet','Vlasnistvo','Nagomilavanje studenata']][:10]
Поред претходно детаљније разматраног смера туризмологије где подаци делују збуњујуће, пуно програма има вишеструко већи број студената на завршној години студија.
Тачкасти дијаграми¶
Када истражујемо две варијабле (две колоне у сету података) и интересује нас да ли су оне некако повезане (нпр. да ли пораст једне прати пораст друге), једноставан начин да то тестирамо или само видимо како подаци изгледају је цртање тачкастих дијаграма. Већ кроз функцију plot је то могуће тиме што одаберемо да се линја не повезује, али на располагању нам се налази и функција scatter, која има још неке додатне опције.
(још један аргумент за цртање тачкастих дијаграма налази се овде, а за даљу забаву препоручујем ову игрицу)
Да ли постоји веза између привлачности факултета и извесности дипломирања? Да ли факултети који су најпожељнији су у исто време и изузетно ефикасни, тј. највећи број студената који их упише их и заврши (обзиром да имају највише простора да направе селекцију и одаберу најбоље студенте, а и можда изузетна студентска жеља за тим факултетима долази помаже да се брже факултет заврши)? Одговор на ово питање можемо потражити укрштањем података о извесности дипломирања и привлачности различитих факултета уз помоћ тачкастог дијаграма, тј. функције scatter.
plt.figure(figsize=(12,4))
plt.subplot(1,2,1)
plt.scatter(studenti_agregirano['Broj prijavljenih kandidata'],studenti_agregirano['Broj svršenih studenata tokom prethodne školske godine'],s=0.1*studenti_agregirano['Broj studenata'],alpha=0.5)
plt.xlim([-50,1800])
#plt.ylim([0,2])
plt.xlabel('Broj prijavljenih studenata')
plt.ylabel('Broj diplomaca u poslednjih godinu dana' )
plt.subplot(1,2,2)
plt.scatter(studenti_agregirano['Potraznja'],studenti_agregirano['Izvesnost diplomiranja'],s=0.1*studenti_agregirano['Broj studenata'],alpha=0.5)
plt.xlim([0,4])
plt.ylim([0,2])
plt.xlabel('Potražnja \n Koliko studenata se takmiči za 1 mesto na fakultetu?')
plt.ylabel('Izvesnost diplomiranja \n Koji deo studenata završi fakultet?' )
plt.show()
Два графика изнад приказују сличне податке - свака тачкица одговара једном смеру основних и интегрисаних студија на факултетима у Републици Србији и на оба покушавамо да пронађемо евенуталну везу између бројева студената на почетку и крају студирања. На левом графику, х и у координата одговарају броју пријављених студената и броју дипломаца, док величина круга одговара укупном броју студената. (Као и у претходно коришћеној функцији plot, функцији смо проследили две колоне табеле које одговарају х и у координатама, али смо додали и опционе аргументе s - величина кружића и alpha - транспарентност кружића.) На левом графику, делује као да међу посматраним величинама постоји зависност - што је више студената желело да упише неки смер или факултет, више их је и завршило. Међутим, шта ако је ово само последица величине смерова, односно, овде долази на ред претходно поменути контекст - није исто ако се за 100 студената пријављује за смер који прима 10 или 1000 студената, као што није исто да ли 100 дипломираних, заправо цела генерација која је уписала или је уписало 1000 студената. Стога, на десном графику ове исте смерове приказујемо тако што су њихове х и у координата Потражња и Излазност како смо их претходно дефинисали - релативно у односу на број акредитованих места и број студената који уписују факултет. На овом графику, видимо да постоје неки смерови за које влада велика потражња и скоро сви студенти завршавају (излазност близу 1), али видимо и да постоје смерови за које је потражња велика а тек сваки пети или десети студент заврши (доле десно на десном графику), док видимо и да постоје смерови за којима је потражња мала, али они који упишу завршавају (горе лево на десном графику - чак и више студената завршава него што уписује ;) видите коментар након увођења колоне излазности). Иако смо дозволили транспарентност параметром alpha и скратили распоне на х и у оси (сетите се функција xlim и ylim) да бисмо боље сагледали различите факултете посматрање ових тачкица нам не помаже да једноставно сазнамо који су то смерови и факултети код којих је потражња велика, а ипак тек сваки нпр. сваки 5. студент успе да их заврши.
Оно што би нам значило је опција да директно очитавамо који факултети су у питању са графика. Када има овако пуно тачака, лабеловање тачака такође није опција, те је спас у интерактивним графицима у којима ћемо преласком мишем преко тачке од интереса долазити до додатних информација. За то користимо библиотеку plotly.express и њену функцију scatter:
data_to_plot = studenti_agregirano[['Potraznja', 'Izvesnost diplomiranja','Univerzitet','Broj studenata','Naziv ustanove']].dropna()
fig = px.scatter(data_to_plot,
x='Potraznja',
y='Izvesnost diplomiranja',
size='Broj studenata',
hover_name='Naziv ustanove',
range_x=[0,9],
range_y=[0,2]
)
fig.show()
Поновили смо све остале параметре графика као у статичној верзији да бисмо што лакше уочили промене у новом окружењу. Сада преласком преко било ког кужића сазнајемо о ком факултету се ради, колико студената укупно има, која је потражња, а која излатзност. Али како неке факултете имамо поновљене (нпр. основне и интегрисане студије), увешћемо још једну колону у којој ћемо објединити назив институције и звање па ћемо ту колону користити за називање кружића преласком преко њих. Интересантно је да је најтраженији факултет по броју студената који аплицирају на једно место - Факултет драмских уметности (усамљена тачка крајње десно), такође и факултет на коме је излазност доста блиска јединици, што је доста похвално, али на жалост није тренд. Можемо додатно сузити опсеге х и у оса, а можемо и обојити тачкице по универзитетима (користећи аргумент color).
studenti_agregirano['Fakultet i zvanje'] = studenti_agregirano['Naziv ustanove']+' - '+studenti_agregirano['Zvanje']
data_to_plot = studenti_agregirano[['Potraznja', 'Izvesnost diplomiranja','Univerzitet','Broj studenata','Fakultet i zvanje']].dropna()
fig = px.scatter(data_to_plot,
x='Potraznja',
y='Izvesnost diplomiranja',
size='Broj studenata',
color = 'Univerzitet',
hover_name='Fakultet i zvanje',
range_x=[0,4],
range_y=[0,2]
)
fig.show()
Поред тога што можете сагледавати цео дијаграм са свим бојама (универзитетима) кликом на име универзитета на легенди можете одстранити одређени универзитет са графика. Поновним кликом се универзитет враћа. Истражите овако како се факултети појединих универзитета групишу на овом дијаграму. Преласком преко кружића сазнајте више који су то факултети са малом или великом потражњом и излазношћу.
Интересантно је да постоје факултети код којих је потражња мала, не долази до испуњавања акредитованих места, што би значило да су још већи ресурси на располагању студентима који се на њих уписују (више времена професора, бољи однос између броја студената и наставника и сл.), али се на њима и даље дешава да много мање студената завршава него што уписује (нпр факултети у левом доњем углу). Мала потражња за оваквим факултетима је можда и последица информација које се шире међу студентима о тежини ових факултета.
Наредно питање које се поставља тиче се опет факултета са малом излазношћу, шта се дешава са студентима који не дипломирају? Да ли ти студенти одустају од студија на вишим годинама, па је број студената све мањи и мањи до дипломирања или је малом броју диплома узрок то што се студенти "заглаве" на некој од година студирања. За ову информацију можемо погледати однос између броја студената на завршној и првој години студија.
data_to_plot = studenti_agregirano[['Nagomilavanje studenata', 'Izvesnost diplomiranja','Univerzitet','Broj studenata','Fakultet i zvanje']].dropna()
fig = px.scatter(data_to_plot,
x='Nagomilavanje studenata',
y='Izvesnost diplomiranja',
color='Univerzitet',
size='Broj studenata',
hover_name='Fakultet i zvanje',
range_x=[0,4],
range_y=[0,2],
template = 'plotly_white'
)
fig.show()
Овај график приказује прегршт информација, хајде да понудимо нека разјашњења и отворимо нова питања. На пример, овај график нуди појашњење чудног ефекта који смо уочили раније - да неки смерови и факултети имају излазност већу од 1, тј. више студента у години дипломира него што упишу. Ако погледате кружиће којима је излазност већа од 1 - велики број њих има и ефекат загушења, тј. на последњој години студија има вишеструко више студената него на првој години. На пример, ако погледате неке од кружића крајње десно, на њима у завршној години има четири пута више студената него на првој години! Тако да када дипломира тек сваки трећи, долази до ситуације да више људи дипломира него што уписује. На овим факултетима би било јако интересантно истражити просечно време студирања, они код којих је 'загушење' велико имају вероватно значајно веће просечно време студирања.
Чини се да можемо уочити неки шири тренд да кад нагомилавање студената крене да расте, тек тада се извесност дипломирања примиче броју један. Како у овом случају није тачно да велики проценат студената завшава (поготово ако гледамо у односу на број студента у последњој години), међу задацима за даљи рад предлажемо и да оцените извесност дипломирања у односу на број студената на завшним годинама и упоредите ове две колоне.
Интересантно је да су факултети са малом стопом излазности, неретко и они на којима је загушење студената мало (погледајте на пример доњи леви сегмент (излазност испод 0.5 и загушење испод 1). Код њих је број студената на завршној години студија мањи него на првој, што говори о томе да се студенти вероватно самоелиминишу некада раније. Са друге стране, има факултета на којима тек сваки други или трећи студент прве године дипломира, али их је на завршној години и до 2,3, или 4 пута више него на првој години (излазност испод 0.5 али загушење преко 2). Овде се поставља и питање капацитета факултета да се избори са толиким бројем студената. На следећем графику можемо проверити да ли су факултети са 3-4 пута више студената на завршној години уписали мање студената него што је акредитовано, те можда имају капацитета да се изборе, или су напротив, на завршној години студија дошли у ситуацију да имају многоструко више студената него што могу да поднесу.
studenti_agregirano['Popunjenost mesta'] = studenti_agregirano['Studenti prva godina']/studenti_agregirano['Akreditaciona kvota']
data_to_plot = studenti_agregirano[['Nagomilavanje studenata', 'Popunjenost mesta','Univerzitet','Broj studenata','Fakultet i zvanje']].dropna()
fig = px.scatter(data_to_plot,
x='Nagomilavanje studenata',
y='Popunjenost mesta',
color='Univerzitet',
size='Broj studenata',
hover_name='Fakultet i zvanje',
range_x=[0,4],
range_y=[0,2.5],
template='plotly_white'
)
fig.show()
Подаци представљени на овом графику изазивају забринутост и отварају додатна питања:
- Постоје смерови и факултети који већ на првој години имају далеко више студената него што је акредитацијом предвиђено (акредитација узима у обзир што просторне што наставничке ресурсе), те се поставља питање квалитета студија уколико има и два пута више студентата него што је предвиђено.
- постоје смерови и факултети на којима је у првој години испоштована акредитација (сви факултети код којих је попуњеност места 1 и мање), али на завршној години има два, три, чак четири пута више студената - истражите који су то смерови факултети.
У овој радној свесци испитивали смо стање на основним и интегрисаним студијама универзитета у Србији користећи интерактивне визуализације из plotly.express библиотеке. Овде смо се ограничили на факултете, међутим у припремној радној свесци можете видети како смо издвојили факултете и на сличан начин издвојити више школе и потражити одговоре на слична питања у том сету података. Отворени подаци представљају изузетан ресурс који вам може помоћи да упоредите факултете и смерове ако на пример одлучујете шта ћете да упишете или вас генерално занимају интересовања студената или којих дипломаца се годишње највише појави на тржишту рада. Коначно, потребно је назначити да су сви закључци на основу података онолико валидни колико смо сигурни да је сет података тачан, ово је типично сумирано реченицом "garbage in, garbage out". Међутим, технике анализирања које смо представили и начини закључивања лако ће се повити и применити и ако у међувремену дођете до бољег сета података. У наставку су неке идеје за даљу анализу, уживајте!
Задаци¶
1. Групишите податке по универзитетима (не по универзитетима и програмима као што смо то урадили на почетку ове свеске) и упоредите број студената и број дипломаца. Представите резултате одговарајућим стубичастим дијаграмима.
2. Да ли факултети за којима влада велика потражња уписују више студената па тиме удео самофинансирајућих студената расте? Да ли је удео самофинансирајућих студената у вези са већим загушењем на факултету (па студенти нужно прелазе на самофинансирање) или факултети са више самофинансирајућих студената имају бољу излазност? Направите додатну колону у којој ћете израчунати удео самофинансирајућих студената, а затим потражите одговоре на ова питања одговарајућим тачкастим дијаграмима. Фокусирајте се само на факултете код којих је власништво државно.
Нацртајте следеће дијаграме:(a) стубичасти дијаграм за 10 факултета са највећим односом између самофинансирајућих и буџетских студената
(б) пар различитих тачкастих дијаграма на којима ће једна оса бити новоуведена колона (однос броја самофиснансирајућих и свих студената), а за другу осу ћете користи неке од претходно израчунатих колона попут потражње за факултетом, извесности дипломирања или нагомилавања студената на последњој години студија. Шта примећујете?
3. На основу података које имамо могуће је оценити и одустајање студената од неких факултета и смерова. Додајте још једну колону у којој ће бити удео студената који је одустао након прве године (нпр. тако што ћете израчунати (studenti_agregirano['Studenti prva godina']-studenti_agregirano['Studenti druga godina'])/studenti_agregirano['Studenti prva godina']
). Проверите да ли су потражња за студијским програмом и одустајање у некој вези.
4. Приметили смо да је за велики број факултета ефекат нагомилавања студената на последњој години изузетно велики, па се поставља питање да ли би процена 'извесности дипломирања' била реалније процењена уколико бисмо посматрали однос броја дипломаца и броја студената на последњој години. Направите одговарајућу колону и испитајте односе те колоне са претходно разматраним колонама о потражњи и сл.
5. Приметили смо и да факултети неретко имају непопуњен број студената на првој години (studenti_agregirano['Studenti prva godina']==0
) а како ову колону често користимо у дељењу, то нам је правило извесне проблеме. Једна идеја да то заобиђемо је увођење колоне у којој ћете израчунати просечан број студената по години, те да затим ту колону користите да процените нагомилавање студената или извесност дипломирања. Јасно је да овом колоном елиминишете информацију да се број студената значајно разликује по годинама, али ћете имати прилику да истражите и неке смерове који су због немогућности дељења били елиминисани. Користећи ову колону нацртајте неке од тачкастих дијаграма по избору.