In [1]:
import lxml.html
import urllib.request
import json
import re
In [2]:
html_url = "http://zpm-mb.si/raziskovalne-naloge/"
api_url = "http://zpm-mb.si/wp-admin/admin-ajax.php"
In [3]:
zpm_html = lxml.html.parse(html_url).getroot()
#zpm.make_links_absolute()
In [4]:
leta_html = zpm_html.cssselect("#naloga_leto > option")
leta = [];
for leto in leta_html:
    if leto.attrib["value"].isdigit():
        leta.append(leto.attrib["value"])
leta
Out[4]:
['2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018']
In [5]:
aad_nonce = re.search("\"aad_nonce\":\"([0-9a-f]{10})\"};", zpm_html.text_content()).group(1)
aad_nonce
Out[5]:
'21326506fb'
In [6]:
from ipywidgets import FloatProgress
from IPython.display import display
In [7]:
bar = FloatProgress(min=0, max=len(leta))
display(bar)

import requests
htmls = {}
for leto in leta:
    data = {
        "action": "aad_get_results03",
        "dataType": "json",
        "value_leto": leto,
        "value_vrsta_sola": "",
        "value_vrsta_naloge": "",
        "value_predmet": "",
        "value_sola": "",
        "aad_nonce": "7f7b282669"
    }
    req = requests.post(api_url, data)
    response = req.json()
    htmls[leto] = response["result3"]
    #print response
    bar.value += 1
In [8]:
bar = FloatProgress(min=0, max=len(leta))
display(bar)

podatki = []
for leto, html in htmls.items():
    dom = lxml.html.fragment_fromstring(html, create_parent=True)
    
    tabele = dom.cssselect(".large-3 > .raz_naloga_table")
    for tabela in tabele:
        naslov = tabela.cssselect("tr > th")[1].text_content()
        naloga = {"Naslov naloge": naslov, "Leto": leto}
        #print naslov + ":"
        
        for tr in tabela.cssselect("tr"):
            tds = tr.cssselect("td")
            
            if len(tds) < 2: 
                continue
                
            index = tds[0].text_content().replace(":", "")
            value = tds[1].text_content()
            
            naloga[index] = value
            #print "\t" + index + ":  \t" + value
        if naloga["Vrsta naloge"] != "Zbornik":
            naloga["Točke"] = int(naloga["Točke"])
            podatki.append(naloga)
            #print(naloga)
    bar.value += 1
In [9]:
import pandas
df = pandas.DataFrame(podatki)
In [10]:
dedup_spaces = lambda s: " ".join(s.split())
In [11]:
df.Avtor = df.Avtor.apply(str.title)
df.Mentor = df.Mentor.apply(str.title)
# Y ther b doubl spacs smtims
df.Mentor = df.Mentor.apply(dedup_spaces)
In [12]:
df
Out[12]:
Avtor Leto Mentor Mesto Nagrada Naslov naloge Priznanje Raz. podr. Točke Vrsta naloge Vrsta šole Šola
0 Rok Lobnik 2016 Zlatka Bertalanič Berden 1 prosta vstopnica PREZIMOVAJOČE VODNE PTICE MARIBORSKEGA JEZERA srebrno Biologija 155 Raziskovalna naloga Osnovna šola OŠ FRANCETA PREŠERNA
1 Nuša Kos Thaler, Jakob Andric 2016 Martin Knuplež 1 SERŠ OHRANITEV AGREGATNEGA STANJA SLADOLEDA IZVEN Z... srebrno Fizika in astronomija 144 Raziskovalna naloga Osnovna šola OŠ BOJANA ILICHA
2 Neli Flac 2016 Irena Kamplet 1 / MORJE NA PLAČKEM VRHU? srebrno Geografija in geologija 144 Raziskovalna naloga Osnovna šola OŠ SLAVE KLAVORE
3 Pia Golob 2016 Mladen Borovič, Klavdija Šipuš 1 SERŠ KAKO ZDRUŽITI BRANJE, MODERNO TEHNOLOGIJO IN U... srebrno Interdisciplinarno področje 151 Raziskovalna naloga Osnovna šola OŠ PREŽIHOVEGA VORANCA
4 Matija Žic 2016 Breda Kvar 1 SERŠ SISTEM ZA POZICIONIRANJE IZVORA ZVOKA PRI GLUH... srebrno Interdisciplinarno področje 142 Inovacijski predlog Osnovna šola OŠ KAMNICA
5 Eva Weissensteiner 2016 Eva Raušl 1 presenečenje GOJI JAGODE – ZDRAVILO ZA KRALJE? srebrno Kemija in kemijska tehnologija 159 Raziskovalna naloga Osnovna šola OŠ TONETA ČUFARJA
6 Ana Letnik, Karolina Buček 2016 Tatjana Praprotnik Žaucer 1 presenečenje Z BUS K PREŠERNU zlato Književnost 163 Raziskovalna naloga Osnovna šola OŠ DRAGA KOBALA
7 Vita Movrin, Lana Glavič 2016 Jožef Senekovič 1 presenečenje FORDOVI KROGI zlato Matematika 166 Raziskovalna naloga Osnovna šola OŠ BOJANA ILICHA
8 Aljoša Budimir 2016 Tatjana Praprotnik Žaucer 1 prosta vstopnica NI PRAZNIKA BREZ HARMONIKE srebrno Naravna in kulturna dediščina 154 Raziskovalna naloga Osnovna šola OŠ DRAGA KOBALA
9 Nejla Memić, Pia Planinšek 2016 Julijana Djaković 1 presenečenje OREŠČKI V PREHRANI OSNOVNOŠOLCEV zlato Prehrana (gospodinjstvo) 161 Raziskovalna naloga Osnovna šola OŠ JANKA PADEŽNIKA
10 Jure Pospišil, Mark Kamenšek Šeško 2016 Marko Podpečan 1 SERŠ PAMETNA PTIČJA KLETKA srebrno Proizvodno - tehnično področje 154 Inovacijski predlog Osnovna šola OŠ ANGELA BESEDNJAKA
11 Anže Mlakar 2016 Urška Aram 1 prosta vstopnica AKTIVNO UKVARJANJE S ŠPORTOM V POVEZAVI Z UČNI... srebrno Psihologija in pedagogika 158 Raziskovalna naloga Osnovna šola OŠ SLAVE KLAVORE
12 Amadeja Rek, Laura Gornjak 2016 Manuela Knezoci Kop 1 prosta vstopnica MEDIACIJA IN NASILJE srebrno Psihologija in pedagogika 158 Raziskovalna naloga Osnovna šola OŠ ANGELA BESEDNJAKA
13 Anja Peternel 2016 Suzana Plohl 1 prosta vstopnica OPROSTITE, IMAM IZGOVOR srebrno Slovenski jezik 153 Raziskovalna naloga Osnovna šola OŠ LEONA ŠTUKLJA
14 Katarina Lehner 2016 Barbara Pulko 1 / LETI, LETI, LETI…FEJMIČ ALI BREZDOMEC bronasto Sociologija 133 Raziskovalna naloga Osnovna šola OŠ PREŽIHOVEGA VORANCA
15 Šeherezada Bernica, Luka Moleh, Herolinda Buzhala 2016 Blanka Kovačec 1 / KAKO LAHKO UČENCI PRISPEVAMO K BOLJŠEMU VKLJUČ... srebrno Sociologija 144 Inovacijski predlog Osnovna šola OŠ MAKSA DURJAVE
16 Zala Meršnik 2016 Jasmina Vrh, Nika Brumen 1 / ZAKAJ MOŠKI JA, ŽENSKE PA NE srebrno Šport 145 Raziskovalna naloga Osnovna šola OŠ TABOR I
17 Anja Hiter Tinauer 2016 Karolina Purgaj 1 prosta vstopnica FOREIGN LANGUAGES AS A “CHALLENGE” FOR CHILDRE... srebrno Tuji jeziki 151 Raziskovalna naloga Osnovna šola OŠ KAMNICA
18 Tamara Jesenik 2016 Polona Drozg Jone 1 / KJE MLADI POČITNIKUJEJO srebrno Turizem 143 Raziskovalna naloga Osnovna šola OŠ LEONA ŠTUKLJA
19 Neža Kramarič, Veronika Ekart, Lana Hötzl 2016 Violeta Škrabl, Ribana Višnar 1 prosta vstopnica V OBJEMU NARAVE srebrno Turizem 146 Inovacijski predlog Osnovna šola OŠ LUDVIKA PLIBERŠKA
20 Beti Trstenjak 2016 Dubravka Matović 1 prosta vstopnica MANGA PO SLOVENSKO srebrno Umetnost 147 Raziskovalna naloga Osnovna šola OŠ PREŽIHOVEGA VORANCA
21 Luka Polanič 2016 Loresana Grabušnik 1 / JAVNI PREVOZ V MARIBORU bronasto Varnost v cestnem prometu 122 Raziskovalna naloga Osnovna šola OŠ LUDVIKA PLIBERŠKA
22 Miha Kramberger 2016 Breda Kvar 1 Zveze prijateljev mladine PROUČEVANJE UGODNIH UČINKOV OMEJENEGA PROMETA ... zlato Varstvo okolja 165 Raziskovalna naloga Osnovna šola OŠ KAMNICA
23 Hana Oštir 2016 Mateja Klemenčič 1 presenečenje PRIJATELJ ALI PLEN? zlato Veterinarstvo 160 Raziskovalna naloga Osnovna šola OŠ FRANCA ROZMANA STANETA
24 Minka Roter, Nika Finžgar 2016 Pija Rep 1 / BAKRENA VODA – ČUDEŽ ALI NE? bronasto Zdravstvo 140 Raziskovalna naloga Osnovna šola OŠ ANGELA BESEDNJAKA
25 Valentina Bedek Ožvald, Andreja Vrešak, Danije... 2016 Natalija Ekart Misleta 1 presenečenje NAŠ NAPOLEON SLAVI zlato Zgodovina 161 Raziskovalna naloga Osnovna šola DOM ANTONA SKALE
26 Aleksander Stojaković Voglar, Timotej Furek 2016 Rado Šumer 1 presenečenje MANJŠI BRATJE – MINORITI V MARIBORU IN PTUJU zlato Zgodovina 162 Raziskovalna naloga Osnovna šola OŠ MAKSA DURJAVE
27 Špela But 2016 Bernarda Devetak, Andreja Urbanek Krajnc 1 presenečenje FOSFATAZNA AKTIVNOST V KALEČIH SEMENIH NAVADNE... zlato Biologija 167 Raziskovalna naloga Srednja šola II. GIMNAZIJA
28 Alenka Hafner 2016 Zdenka Keuc 1 presenečenje EKSTRAKCIJA TUJONA IZ THUJE OCCIDENTALIS S SUP... zlato Biotehnologija, kmetijstvo in živilstvo 168 Raziskovalna naloga Srednja šola II. GIMNAZIJA
29 Staša Gejo 2016 Zdenka Keuc 1 prosta vstopnica BIOPLASTIKA IZ ŠKROBA KOT OPTIČNI SENZOR ZA PR... zlato Biotehnologija, kmetijstvo in živilstvo 163 Inovacijski predlog Srednja šola II. GIMNAZIJA
... ... ... ... ... ... ... ... ... ... ... ... ...
1179 Jakob Vokač 2014 Polonca Ferk 4 / VPLIV ETANOLA NA RAZVOJ IN PROLIFERACIJO OSTEO... srebrno Zdravstvo in veterinarstvo 148 Raziskovalna naloga Srednja šola II. GIMNAZIJA
1180 Luka Šauperl, Matic Strajnšak 2014 Marija Bitenc 4 / ARHITEKTURA IN BIVALIŠČA SKOZI ČAS bronasto Zgodovina 131 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1181 Lucija Krajnc Krstov 2014 Mateja Klemenčič 5 / POMAGAJMO SLOVENIJI PRED INVAZIVNIMI RASTLINAMI bronasto Biologija 139 Raziskovalna naloga Osnovna šola OŠ FRANCA ROZMANA STANETA
1182 Ana Peharda 2014 Irena Prosenjak 5 / RASTLINE POTREBUJEJO LJUBEZEN IN ŠE KAJ … bronasto Biologija 139 Raziskovalna naloga Osnovna šola OŠ DRAGA KOBALA
1183 Pia Kampl, Maja Trifkovič 2014 Gordana Šober 5 / NE GOVORIMO SAMO Z USTI bronasto Interdisciplinarno področje 134 Raziskovalna naloga Osnovna šola OŠ LUDVIKA PLIBERŠKA
1184 Lan Gligorič, Blaž Pridgar 2014 Jožica Špec 5 / SKRIVNOSTI PASCALOVEGA TRIKOTNIKA bronasto Matematika 140 Raziskovalna naloga Osnovna šola OŠ TONETA ČUFARJA
1185 Katja Kastelic 2014 Romana Tancer 5 / ZOBJE IN PIJAČA bronasto Zdravstvo in veterinarstvo 137 Raziskovalna naloga Osnovna šola OŠ BRATOV POLANČIČEV
1186 Lucija Šmid 2014 Mitja Kobale 5 / DRUGAČNOST IN DISKRIMINACIJA JUDOVSKEGA LJUDST... bronasto Zgodovina 138 Raziskovalna naloga Osnovna šola OŠ FRANCA ROZMANA STANETA
1187 Meta Ješovnik, Tina Smonkar 2014 Maja Žigart, Marko Jagodič 5 / ANALIZA OBJEKTA S PODROČJA TERMOENERGETIKE srebrno Interdisciplinarno področje 144 Raziskovalna naloga Srednja šola II. GIMNAZIJA
1188 Matija Marolin 2014 Zdravka Hajdinjak, Boris Zagradišnik 5 / DOLOČITEV FREKVENCE SINDROM GILBERT V SPLOŠNI ... srebrno Zdravstvo in veterinarstvo 142 Raziskovalna naloga Srednja šola PRVA GIMNAZIJA
1189 Sarah Marn 2014 Zdenka Ženko 6 / OSNOVNOŠOLCI IN STRES srebrno Psihologija in pedagogika 149 Raziskovalna naloga Osnovna šola OŠ BOJANA ILICHA
1190 Tina Korošec, Taja Korošec 2014 Radmila Drvarič 6 / ŽIVALI V AZILU NAS POTREBUJEJO bronasto Sociologija 128 Raziskovalna naloga Osnovna šola OŠ DRAGA KOBALA
1191 Mia Breberina, Staja Sajko 2014 Dragica Jurkušek, David Cuder 6 / HM, OLUŠČENO ALI NEOLUŠČENO ŽITO? bronasto Zdravstvo in veterinarstvo 136 Raziskovalna naloga Osnovna šola OŠ TONETA ČUFARJA
1192 Savina Gustinčič 2014 Egon Gustinčič 6 / VPADI TURKOV NA NAŠE OZEMLJE bronasto Zgodovina 137 Raziskovalna naloga Osnovna šola OŠ FRANCA ROZMANA STANETA
1193 Aljaž Kalšek 2014 Robert Gašparič 6 / AVDIO OJAČEVALEC NA ELEKTRONIKE bronasto Elektrotehnika in elektronika 137 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1194 Tilen Kurnik, Tadej Golob 2014 Milan Ivič 6 / ROBOSLED srebrno Elektrotehnika in elektronika 146 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1195 Urška Lipovec, Vesna Kotnik 2014 Anita Mustač 6 / PRIMERJAVA IN VPLIV DEZINFEKCIJSKIH SREDSTEV N... srebrno Interdisciplinarno področje 143 Raziskovalna naloga Srednja šola II. GIMNAZIJA
1196 Teo Trifkovič, Veronika Mešić 2014 Anica Hartman, Dragica Braunsberger 6 / ŽIVLJENJE S VON WILLEBRANDOVO BOLEZNIJO bronasto Zdravstvo in veterinarstvo 135 Raziskovalna naloga Srednja šola III. GIMNAZIJA
1197 Saša Šikaleska 2014 Romana Tancer 7 / KISLI DEŽ bronasto Biologija 136 Raziskovalna naloga Osnovna šola OŠ BRATOV POLANČIČEV
1198 Alen Gajer 2014 Sandra Komljenović 7 / V SVOJEM SVETU, SVETU BREZ NAPAK srebrno Psihologija in pedagogika 148 Raziskovalna naloga Osnovna šola OŠ TABOR I
1199 Jana Koren, Danijela Korošec 2014 Blanka Kovačec 7 / ODRAŠČANJE OTROK V DANAŠNJEM ČASU bronasto Sociologija 127 Raziskovalna naloga Osnovna šola OŠ MAKSA DURJAVE
1200 Simon Stare 2014 Mateja Bračko 7 / JABOLKO PROTI HAMBURGERJU bronasto Zdravstvo in veterinarstvo 130 Raziskovalna naloga Osnovna šola OŠ TABOR I
1201 Onja Livić 2014 Rebeka Livić 7 / ZGODOVINA PRAVA: RIMSKO PRAVO bronasto Zgodovina 134 Raziskovalna naloga Osnovna šola OŠ TABOR I
1202 Andrej Karba, Jan Kralj 2014 Jože Štrucl 7 / ROBOT KING bronasto Elektrotehnika in elektronika 129 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1203 Aljoša Štefanac, Matic Marušič 2014 Danica Verzel 8 / RIS – NAJBOLJ OGROŽENA VRSTA SESALCEV V SLOVENIJI bronasto Biologija 120 Raziskovalna naloga Osnovna šola OŠ FRANCETA PREŠERNA
1204 Katarina Klarič, Anja Ambrožič Simonič 2014 Veronika Gomboc 8 / OCENJEVANJE?! SE ŽE TRESEM – STRAH PRED OCENJE... srebrno Psihologija in pedagogika 146 Raziskovalna naloga Osnovna šola OŠ KAMNICA
1205 Tamara Matela, Ališa Kasjak Gutman 2014 Barbara Pulko 8 / PETKE ALI PREDPASNIK? bronasto Sociologija 126 Raziskovalna naloga Osnovna šola OŠ PREŽIHOVEGA VORANCA
1206 Simon Vavan Skaza, Rok Kamenečki, Primož Smogavec 2014 Bojan Dežman 8 / PLAMENSKA DIODA Elektrotehnika in elektronika 112 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1207 Jan Puhal, Miha Frangež, Dorotea Pittner 2014 Dalija Ćošić 9 / TAKŠNE IGRICE KOT IGRAM, TAKO SE VEDEM? srebrno Psihologija in pedagogika 144 Raziskovalna naloga Osnovna šola OŠ ANGELA BESEDNJAKA
1208 Patricija Hauptman 2014 Gabrijela Čeh 9 / AKTUALNOST NEMŠČINE PRI NAS NEKOČ IN DANES bronasto Sociologija 122 Raziskovalna naloga Osnovna šola OŠ KAMNICA

1209 rows × 12 columns

In [13]:
šole = df.Šola.unique()
šole.sort()
print("\n".join(šole))
BIOTEHNIŠKA ŠOLA
DIJAŠKI DOM DRAVA 
DIJAŠKI DOM LIZIKE JANČAR
DOM ANTONA SKALE
II. GIMNAZIJA
III. GIMNAZIJA
IZOBRAŽEVALNI CENTER PIRAMIDA MARIBOR
OŠ ANGELA BESEDNJAKA
OŠ BOJANA ILICHA
OŠ BORCEV ZA SEVERNO MEJO
OŠ BRATOV POLANČIČEV
OŠ DRAGA KOBALA
OŠ FRANCA ROZMANA STANETA
OŠ FRANCETA PREŠERNA 
OŠ JANKA PADEŽNIKA
OŠ KAMNICA
OŠ LEONA ŠTUKLJA
OŠ LUDVIKA PLIBERŠKA
OŠ MAKSA DURJAVE
OŠ MALEČNIK
OŠ MARTINA KONŠAKA
OŠ PREŽIHOVEGA VORANCA
OŠ RADA ROBIČA LIMBUŠ
OŠ SLAVE KLAVORE
OŠ TABOR I
OŠ TONETA ČUFARJA
PRVA GIMNAZIJA
SREDNJA EKONOMSKA ŠOLA
SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
SREDNJA GRADBENA ŠOLA IN GIMNAZIJA
SREDNJA LESARSKA ŠOLA
SREDNJA TRGOVSKA ŠOLA 
SREDNJA ZDRAVSTVENA IN KOZMETIČNA ŠOLA
SREDNJA ŠOLA ZA GOSTINSTVO IN TURIZEM
SREDNJA ŠOLA ZA OBLIKOVANJE
TEHNIŠKI ŠOLSKI CENTER
ŠKOFIJSKA GIMNAZIJA A. M. SLOMŠKA MARIBOR
In [14]:
druga = df[df.Šola == "II. GIMNAZIJA"]
print ("II. GIMNAZIJA: \t" + str(druga.Točke.mean()) + "\t(" + str(druga.Točke.sum()) + " točk z " + str(druga.Točke.count()) + " nalogami)")
II. GIMNAZIJA: 	151.91919191919192	(45120 točk z 297 nalogami)
In [15]:
serš = df[df.Šola == "SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA"]
print ("SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA: \t" + str(serš.Točke.mean()) + "\t(" + str(serš.Točke.sum()) + " točk z " + str(serš.Točke.count()) + " nalogami)")
SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA: 	136.921875	(17526 točk z 128 nalogami)
In [16]:
s = df.groupby("Šola").Točke.sum()
s.sort("Točke", ascending=False)
s
/home/franga2000/.jupyter/venv/lib/python3.5/site-packages/ipykernel_launcher.py:2: FutureWarning: sort is deprecated, use sort_values(inplace=True) for INPLACE sorting
  
Out[16]:
Šola
II. GIMNAZIJA                                45120
SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA          17526
SREDNJA ŠOLA ZA OBLIKOVANJE                  11029
PRVA GIMNAZIJA                                7455
OŠ TABOR I                                    7026
OŠ BOJANA ILICHA                              6408
OŠ LUDVIKA PLIBERŠKA                          6124
OŠ DRAGA KOBALA                               5622
OŠ FRANCA ROZMANA STANETA                     5070
OŠ BRATOV POLANČIČEV                          4985
TEHNIŠKI ŠOLSKI CENTER                        4590
OŠ KAMNICA                                    4329
OŠ JANKA PADEŽNIKA                            4064
OŠ FRANCETA PREŠERNA                          3878
OŠ PREŽIHOVEGA VORANCA                        3744
OŠ SLAVE KLAVORE                              3645
OŠ ANGELA BESEDNJAKA                          3519
OŠ BORCEV ZA SEVERNO MEJO                     3378
OŠ LEONA ŠTUKLJA                              3348
OŠ TONETA ČUFARJA                             3056
SREDNJA GRADBENA ŠOLA IN GIMNAZIJA            2846
OŠ MAKSA DURJAVE                              2655
SREDNJA ŠOLA ZA GOSTINSTVO IN TURIZEM         2220
SREDNJA LESARSKA ŠOLA                         2015
BIOTEHNIŠKA ŠOLA                              1802
SREDNJA ZDRAVSTVENA IN KOZMETIČNA ŠOLA        1592
ŠKOFIJSKA GIMNAZIJA A. M. SLOMŠKA MARIBOR     1509
DOM ANTONA SKALE                              1375
SREDNJA EKONOMSKA ŠOLA                        1171
OŠ MARTINA KONŠAKA                             929
OŠ MALEČNIK                                    787
III. GIMNAZIJA                                 280
DIJAŠKI DOM LIZIKE JANČAR                      270
SREDNJA TRGOVSKA ŠOLA                          266
IZOBRAŽEVALNI CENTER PIRAMIDA MARIBOR          147
OŠ RADA ROBIČA LIMBUŠ                          144
DIJAŠKI DOM DRAVA                              143
Name: Točke, dtype: int64
In [17]:
import plotly.offline as py

py.init_notebook_mode(connected=True)
In [18]:
from plotly.graph_objs import Pie
trace = Pie(labels=s.index, values=s.values)
py.iplot([trace])
In [19]:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(7,7))
ax.pie(s, labels=s.index)
plt.show()
<Figure size 700x700 with 1 Axes>
In [20]:
mf = df[df.Avtor.str.contains("Miha Frangež")]
mf
Out[20]:
Avtor Leto Mentor Mesto Nagrada Naslov naloge Priznanje Raz. podr. Točke Vrsta naloge Vrsta šole Šola
116 Anže Mavrič, Miha Frangež 2016 Branko Potisk 2 / SOCIALNI INŽENIRING NA SPLETU IN KAKO SE MU IZ... bronasto Računalništvo 140 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
275 Peter Berberih, Miha Frangež 2018 Branko Potisk 1 prosta vstopnica IP PREKO VSEGA srebrno Računalništvo 145 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
862 Miha Frangež, Miha Širovnik 2017 Branko Potisk 1 / KAKO BISTVENA JE LASTNIŠKA PROGRAMSKA OPREMA? bronasto Računalništvo 131 Raziskovalna naloga Srednja šola SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA
1207 Jan Puhal, Miha Frangež, Dorotea Pittner 2014 Dalija Ćošić 9 / TAKŠNE IGRICE KOT IGRAM, TAKO SE VEDEM? srebrno Psihologija in pedagogika 144 Raziskovalna naloga Osnovna šola OŠ ANGELA BESEDNJAKA
In [21]:
print("%d / %d" % (mf.Točke.sum(), len(mf)))
560 / 4
In [22]:
s = df.groupby("Šola").Točke.sum()
s.sort("Točke", ascending=False)
s
/home/franga2000/.jupyter/venv/lib/python3.5/site-packages/ipykernel_launcher.py:2: FutureWarning:

sort is deprecated, use sort_values(inplace=True) for INPLACE sorting

Out[22]:
Šola
II. GIMNAZIJA                                45120
SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA          17526
SREDNJA ŠOLA ZA OBLIKOVANJE                  11029
PRVA GIMNAZIJA                                7455
OŠ TABOR I                                    7026
OŠ BOJANA ILICHA                              6408
OŠ LUDVIKA PLIBERŠKA                          6124
OŠ DRAGA KOBALA                               5622
OŠ FRANCA ROZMANA STANETA                     5070
OŠ BRATOV POLANČIČEV                          4985
TEHNIŠKI ŠOLSKI CENTER                        4590
OŠ KAMNICA                                    4329
OŠ JANKA PADEŽNIKA                            4064
OŠ FRANCETA PREŠERNA                          3878
OŠ PREŽIHOVEGA VORANCA                        3744
OŠ SLAVE KLAVORE                              3645
OŠ ANGELA BESEDNJAKA                          3519
OŠ BORCEV ZA SEVERNO MEJO                     3378
OŠ LEONA ŠTUKLJA                              3348
OŠ TONETA ČUFARJA                             3056
SREDNJA GRADBENA ŠOLA IN GIMNAZIJA            2846
OŠ MAKSA DURJAVE                              2655
SREDNJA ŠOLA ZA GOSTINSTVO IN TURIZEM         2220
SREDNJA LESARSKA ŠOLA                         2015
BIOTEHNIŠKA ŠOLA                              1802
SREDNJA ZDRAVSTVENA IN KOZMETIČNA ŠOLA        1592
ŠKOFIJSKA GIMNAZIJA A. M. SLOMŠKA MARIBOR     1509
DOM ANTONA SKALE                              1375
SREDNJA EKONOMSKA ŠOLA                        1171
OŠ MARTINA KONŠAKA                             929
OŠ MALEČNIK                                    787
III. GIMNAZIJA                                 280
DIJAŠKI DOM LIZIKE JANČAR                      270
SREDNJA TRGOVSKA ŠOLA                          266
IZOBRAŽEVALNI CENTER PIRAMIDA MARIBOR          147
OŠ RADA ROBIČA LIMBUŠ                          144
DIJAŠKI DOM DRAVA                              143
Name: Točke, dtype: int64
In [23]:
data = df[["Šola", "Leto", "Točke"]]
In [24]:
data
Out[24]:
Šola Leto Točke
0 OŠ FRANCETA PREŠERNA 2016 155
1 OŠ BOJANA ILICHA 2016 144
2 OŠ SLAVE KLAVORE 2016 144
3 OŠ PREŽIHOVEGA VORANCA 2016 151
4 OŠ KAMNICA 2016 142
5 OŠ TONETA ČUFARJA 2016 159
6 OŠ DRAGA KOBALA 2016 163
7 OŠ BOJANA ILICHA 2016 166
8 OŠ DRAGA KOBALA 2016 154
9 OŠ JANKA PADEŽNIKA 2016 161
10 OŠ ANGELA BESEDNJAKA 2016 154
11 OŠ SLAVE KLAVORE 2016 158
12 OŠ ANGELA BESEDNJAKA 2016 158
13 OŠ LEONA ŠTUKLJA 2016 153
14 OŠ PREŽIHOVEGA VORANCA 2016 133
15 OŠ MAKSA DURJAVE 2016 144
16 OŠ TABOR I 2016 145
17 OŠ KAMNICA 2016 151
18 OŠ LEONA ŠTUKLJA 2016 143
19 OŠ LUDVIKA PLIBERŠKA 2016 146
20 OŠ PREŽIHOVEGA VORANCA 2016 147
21 OŠ LUDVIKA PLIBERŠKA 2016 122
22 OŠ KAMNICA 2016 165
23 OŠ FRANCA ROZMANA STANETA 2016 160
24 OŠ ANGELA BESEDNJAKA 2016 140
25 DOM ANTONA SKALE 2016 161
26 OŠ MAKSA DURJAVE 2016 162
27 II. GIMNAZIJA 2016 167
28 II. GIMNAZIJA 2016 168
29 II. GIMNAZIJA 2016 163
... ... ... ...
1179 II. GIMNAZIJA 2014 148
1180 SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA 2014 131
1181 OŠ FRANCA ROZMANA STANETA 2014 139
1182 OŠ DRAGA KOBALA 2014 139
1183 OŠ LUDVIKA PLIBERŠKA 2014 134
1184 OŠ TONETA ČUFARJA 2014 140
1185 OŠ BRATOV POLANČIČEV 2014 137
1186 OŠ FRANCA ROZMANA STANETA 2014 138
1187 II. GIMNAZIJA 2014 144
1188 PRVA GIMNAZIJA 2014 142
1189 OŠ BOJANA ILICHA 2014 149
1190 OŠ DRAGA KOBALA 2014 128
1191 OŠ TONETA ČUFARJA 2014 136
1192 OŠ FRANCA ROZMANA STANETA 2014 137
1193 SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA 2014 137
1194 SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA 2014 146
1195 II. GIMNAZIJA 2014 143
1196 III. GIMNAZIJA 2014 135
1197 OŠ BRATOV POLANČIČEV 2014 136
1198 OŠ TABOR I 2014 148
1199 OŠ MAKSA DURJAVE 2014 127
1200 OŠ TABOR I 2014 130
1201 OŠ TABOR I 2014 134
1202 SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA 2014 129
1203 OŠ FRANCETA PREŠERNA 2014 120
1204 OŠ KAMNICA 2014 146
1205 OŠ PREŽIHOVEGA VORANCA 2014 126
1206 SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA 2014 112
1207 OŠ ANGELA BESEDNJAKA 2014 144
1208 OŠ KAMNICA 2014 122

1209 rows × 3 columns

In [25]:
število = pandas.crosstab(data.Leto, data.Šola, values=data.Točke, aggfunc=len)
število
Out[25]:
Šola BIOTEHNIŠKA ŠOLA DIJAŠKI DOM DRAVA DIJAŠKI DOM LIZIKE JANČAR DOM ANTONA SKALE II. GIMNAZIJA III. GIMNAZIJA IZOBRAŽEVALNI CENTER PIRAMIDA MARIBOR OŠ ANGELA BESEDNJAKA OŠ BOJANA ILICHA OŠ BORCEV ZA SEVERNO MEJO ... SREDNJA EKONOMSKA ŠOLA SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA SREDNJA GRADBENA ŠOLA IN GIMNAZIJA SREDNJA LESARSKA ŠOLA SREDNJA TRGOVSKA ŠOLA SREDNJA ZDRAVSTVENA IN KOZMETIČNA ŠOLA SREDNJA ŠOLA ZA GOSTINSTVO IN TURIZEM SREDNJA ŠOLA ZA OBLIKOVANJE TEHNIŠKI ŠOLSKI CENTER ŠKOFIJSKA GIMNAZIJA A. M. SLOMŠKA MARIBOR
Leto
2013 1.0 NaN 1.0 1.0 55.0 1.0 NaN 9.0 9.0 1.0 ... 3.0 12.0 6.0 NaN 2.0 2.0 5.0 16.0 9.0 1.0
2014 2.0 NaN 1.0 2.0 31.0 1.0 NaN 4.0 11.0 1.0 ... 3.0 18.0 3.0 4.0 NaN 2.0 3.0 13.0 5.0 NaN
2015 3.0 1.0 NaN 3.0 66.0 NaN NaN 2.0 9.0 3.0 ... 1.0 16.0 2.0 4.0 NaN 2.0 4.0 12.0 4.0 2.0
2016 4.0 NaN NaN 1.0 57.0 NaN NaN 5.0 6.0 4.0 ... NaN 23.0 5.0 2.0 NaN 1.0 1.0 17.0 4.0 5.0
2017 2.0 NaN NaN 1.0 57.0 NaN NaN 3.0 4.0 6.0 ... 1.0 35.0 1.0 3.0 NaN 3.0 2.0 13.0 6.0 1.0
2018 1.0 NaN NaN 1.0 31.0 NaN 1.0 3.0 5.0 9.0 ... NaN 24.0 4.0 NaN NaN 1.0 1.0 8.0 3.0 1.0

6 rows × 37 columns

In [26]:
fig, ax = plt.subplots(figsize=(9,12))
število.plot(kind="bar", stacked=True, ax=ax)
plt.legend(bbox_to_anchor=(1.57,1.01), loc="upper right")
plt.show()
In [27]:
vsote = pandas.crosstab(data.Leto, data.Šola, values=data.Točke, aggfunc=sum)
vsote
Out[27]:
Šola BIOTEHNIŠKA ŠOLA DIJAŠKI DOM DRAVA DIJAŠKI DOM LIZIKE JANČAR DOM ANTONA SKALE II. GIMNAZIJA III. GIMNAZIJA IZOBRAŽEVALNI CENTER PIRAMIDA MARIBOR OŠ ANGELA BESEDNJAKA OŠ BOJANA ILICHA OŠ BORCEV ZA SEVERNO MEJO ... SREDNJA EKONOMSKA ŠOLA SREDNJA ELEKTRO - RAČUNALNIŠKA ŠOLA SREDNJA GRADBENA ŠOLA IN GIMNAZIJA SREDNJA LESARSKA ŠOLA SREDNJA TRGOVSKA ŠOLA SREDNJA ZDRAVSTVENA IN KOZMETIČNA ŠOLA SREDNJA ŠOLA ZA GOSTINSTVO IN TURIZEM SREDNJA ŠOLA ZA OBLIKOVANJE TEHNIŠKI ŠOLSKI CENTER ŠKOFIJSKA GIMNAZIJA A. M. SLOMŠKA MARIBOR
Leto
2013 142.0 NaN 136.0 145.0 8260.0 145.0 NaN 1165.0 1177.0 168.0 ... 426.0 1746.0 792.0 NaN 266.0 297.0 656.0 2125.0 1348.0 94.0
2014 306.0 NaN 134.0 306.0 4682.0 135.0 NaN 548.0 1670.0 157.0 ... 446.0 2560.0 318.0 597.0 NaN 296.0 422.0 1885.0 721.0 NaN
2015 456.0 143.0 NaN 437.0 9836.0 NaN NaN 246.0 1371.0 434.0 ... 141.0 2104.0 284.0 634.0 NaN 264.0 568.0 1721.0 632.0 331.0
2016 505.0 NaN NaN 161.0 8771.0 NaN NaN 731.0 819.0 556.0 ... NaN 3229.0 746.0 298.0 NaN 145.0 153.0 2260.0 587.0 753.0
2017 308.0 NaN NaN 160.0 8761.0 NaN NaN 411.0 639.0 828.0 ... 158.0 4551.0 143.0 486.0 NaN 445.0 272.0 1893.0 843.0 164.0
2018 85.0 NaN NaN 166.0 4810.0 NaN 147.0 418.0 732.0 1235.0 ... NaN 3336.0 563.0 NaN NaN 145.0 149.0 1145.0 459.0 167.0

6 rows × 37 columns

In [28]:
list(vsote.index)
Out[28]:
['2013', '2014', '2015', '2016', '2017', '2018']
In [29]:
list(vsote[vsote.keys()[0]])
Out[29]:
[142.0, 306.0, 456.0, 505.0, 308.0, 85.0]
In [30]:
from plotly.graph_objs import Scatter
keys = vsote.sum().sort_values(ascending=False).keys()
traces = [Scatter(x=vsote.index, y=vsote[šola], name=šola) for šola in keys]
py.iplot(traces)
In [31]:
fig, ax = plt.subplots(figsize=(9,12))
vsote.plot(ax=ax)
plt.legend(bbox_to_anchor=(1.57,1.01), loc="upper right")
plt.show()
In [32]:
šl = df[["Šola", "Leto", "Točke"]]
šl = šl.groupby(["Šola", "Leto"])
šl = šl.sum()
In [33]:
pivoted.plot()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-33-bd7ad71057de> in <module>()
----> 1 pivoted.plot()

NameError: name 'pivoted' is not defined
In [34]:
fig, ax = plt.subplots(figsize=(12,6))
šl.Točke.plot(kind="line", x="Leto", y="Točke", ax=ax, legend=True)
plt.show()
In [35]:
df[df.Avtor.str.contains("Helena")]
Out[35]:
Avtor Leto Mentor Mesto Nagrada Naslov naloge Priznanje Raz. podr. Točke Vrsta naloge Vrsta šole Šola
178 Helena Ponudič 2016 Saša Mikić 4 prosta vstopnica RAZVOJ MARIBORSKEGA GOSPODARSTVA MED PRVO IN D... zlato Zgodovina 160 Raziskovalna naloga Srednja šola II. GIMNAZIJA
556 Helena Ponudič 2015 Saša Mikić 4 / ŠTALAG 18D! (naravna in kulturna dediščina – z... srebrno Interdisciplinarno področje 154 Raziskovalna naloga Srednja šola II. GIMNAZIJA
640 Helena Ponudič 2013 Anja Zatezalo 1 prosta vstopnica VSE IMA SVOJO CENO. TUDI TI! (sociologija – zg... srebrno Interdisciplinarno področje 155 Raziskovalna naloga Osnovna šola OŠ TABOR I
650 Helena Ponudič 2013 Barbara Vindiš 1 prosta vstopnica PROTAR JE PARAJT srebrno Slovenski jezik 153 Raziskovalna naloga Osnovna šola OŠ TABOR I
816 Helena Puhan, Pia Majcenovič 2017 Mladen Tancer 1 nagrada SERŠ PO DEŽJU – HITRO ALI POČASI? srebrno Fizika in astronomija 152 Raziskovalna naloga Osnovna šola OŠ BRATOV POLANČIČEV
880 Helena Ponudič 2017 Saša Mikić 1 prosta vstopnica TOVARNA LETALSKIH MOTORJEV MARIBOR IN PODZEMLJ... zlato Zgodovina 162 Raziskovalna naloga Srednja šola II. GIMNAZIJA
942 Helena Puhan, Pia Majcenovič 2017 Mladen Tancer 3 nagrada SERŠ TUDI PRAVA IZBIRA SIJALK JE POMEMBNA PRI VSAKD... srebrno Fizika in astronomija 141 Raziskovalna naloga Osnovna šola OŠ BRATOV POLANČIČEV
1029 Helena Ponudič 2014 Anja Zatezalo 1 presenečenje KRIK TIŠINE! SPOMINSKI PARK LEDINA srebrno Interdisciplinarno področje 159 Raziskovalna naloga Osnovna šola OŠ TABOR I