Pedagogų poreikio prognozė

Darbą atliko: Agnė Šilkaitytė, 2024-11-07

In [3]:
from PIL import Image
from IPython.display import display
img = Image.open(r'C:\Users\AgnėŠilkaitytėFinanc\OneDrive - Finance United\Desktop\Kursai\Baigiamasis darbas\paveiksliukai\Empty_classroom.png')
new_size = (300, 280)
resized_img = img.resize(new_size)
display(resized_img)
No description has been provided for this image
Įvadas

    Ši tema yra labai aktuali, nes pastaraisiais metais vis dažniau diskutuojama apie pedagogų trūkumą Lietuvoje. Žiniasklaidoje, portaluose ir kituose socialiniuose tinkluose nuolat iškeliamas klausimas dėl kvalifikuotų specialistų trūkumo. Ypač pabrėžiamas pedagogų išeinamumas į pensiją ir nepakankamas jaunų, kvalifikuotų pedagogų priėmimas į darbo rinką. Todėl, norint išsiaiškinti kaip ši problema gali vystytis ateityje ir kaip ją būtų galima spręsti, nusprendžiau atlikti šį tyrimą.

2024 metų straipsniai:

https://www.lrt.lt/lituanica/aktualijos/751/2349845/savaite-lietuvoje-650-mokytoju-trukumas-ir-padidintas-minimalus-atlyginimas

https://www.tv3.lt/naujiena/lietuva/mokytoju-trukumas-rekordinis-siuncia-gresminga-zinia-n1359678

https://www.alfa.lt/verslas/verslo-naujienos/mediku-ir-mokytoju-trukumas-arteja-prie-kritines-ribos-bet-greitai-bus-dar-blogiau/323388/

Tyrimo tikslas

Pagrindinis tikslas įvertinti būsimą pedagogų poreikį Lietuvoje atsižvelgiant į demografinę situaciją, palyginti skirtumus tarp savivaldybių.

Hipotezės

H1: Pedagogų skaičius Lietuvoje yra itin sumažėjęs, trūksta kvalifikuotų darbuotojų tuščioms darbo vietoms užpildyti.

H2: Kritinė riba dėl mokytojų trūkumo Lietuvoje bus pasiekta 30-ies metų tarpe.

H3: Aukščiausios kvalifikacijos mokytojų didžiausias kiekis yra didžiuosiuose Lietuvos miestuose.

Duomenys¶

Reikiamų bibliotekų importavimas:¶

In [16]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures

Pasirinktų Lietuvos duomenų apie pedagogus importavimas:¶

Mokytojų amžius¶

Duomenys paimti iš čia: https://data.gov.lt/datasets/13/#info

In [19]:
amzius = pd.read_csv('mokytoju_amzius.csv', delimiter='\t')
amzius
Out[19]:
Pd Mokslo metai Pd Institucijos savivaldybės ID Pd Institucijos savivaldybė Pd Institucijos tipo ID Pd Institucijos tipas Pd Institucijos kodas Pd Institucijos pavadinimas Pd Darbovietės tipas ID Pd Darbovietės tipas Pd Pareigybė ID Pd Pareigybė Pd Amžiaus grupė Pd Pedagogų skaičius Pd Pensijinio amžiaus pedagogų sk.
0 2012-2013 0 NaN NaN NaN 302833467 NaN 1 Pagrindinė darbovietė 55 Treneris 25-29 m. 1 0
1 2012-2013 0 NaN NaN NaN 302833467 NaN 1 Pagrindinė darbovietė 55 Treneris Jaunesni nei 25 metai 1 0
2 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 40-44 m. 3 0
3 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 45-49 m. 1 0
4 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 50-54 m. 1 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
442564 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 0 Nepagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 65 m. ir vyresni 1 1
442565 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 13 Direktorius 60-64 m. 1 0
442566 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 50-54 m. 1 0
442567 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 55-59 m. 2 0
442568 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 60-64 m. 3 0

442569 rows × 14 columns

In [20]:
ilgis_amzius = len(amzius)
ilgis_amzius
Out[20]:
442569
In [21]:
amzius.shape
Out[21]:
(442569, 14)
In [22]:
amzius.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 442569 entries, 0 to 442568
Data columns (total 14 columns):
 #   Column                              Non-Null Count   Dtype  
---  ------                              --------------   -----  
 0   Pd Mokslo metai                     442569 non-null  object 
 1   Pd Institucijos savivaldybės ID     442569 non-null  int64  
 2   Pd Institucijos savivaldybė         442567 non-null  object 
 3   Pd Institucijos tipo ID             442567 non-null  float64
 4   Pd Institucijos tipas               442567 non-null  object 
 5   Pd Institucijos kodas               442569 non-null  int64  
 6   Pd Institucijos pavadinimas         442567 non-null  object 
 7   Pd Darbovietės tipas ID             442569 non-null  int64  
 8   Pd Darbovietės tipas                442569 non-null  object 
 9   Pd Pareigybė ID                     442569 non-null  int64  
 10  Pd Pareigybė                        442569 non-null  object 
 11  Pd Amžiaus grupė                    442569 non-null  object 
 12  Pd Pedagogų skaičius                442569 non-null  int64  
 13  Pd Pensijinio amžiaus pedagogų sk.  442569 non-null  int64  
dtypes: float64(1), int64(6), object(7)
memory usage: 47.3+ MB

Lengvesniam darbui pašaliniamas 'Pd' žodis iš stulpelių pavadinimų ir tušti duomenys iš 'Institucijos savivaldybė':

In [24]:
amzius.columns = amzius.columns.str.replace('^Pd ', '', regex=True)
amzius.dropna(subset=['Institucijos savivaldybė'], inplace=True)
amzius
Out[24]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Institucijos tipo ID Institucijos tipas Institucijos kodas Institucijos pavadinimas Darbovietės tipas ID Darbovietės tipas Pareigybė ID Pareigybė Amžiaus grupė Pedagogų skaičius Pensijinio amžiaus pedagogų sk.
2 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 40-44 m. 3 0
3 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 45-49 m. 1 0
4 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 50-54 m. 1 0
5 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 55-59 m. 2 0
6 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 65 m. ir vyresni 1 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
442564 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 0 Nepagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 65 m. ir vyresni 1 1
442565 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 13 Direktorius 60-64 m. 1 0
442566 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 50-54 m. 1 0
442567 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 55-59 m. 2 0
442568 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 60-64 m. 3 0

442567 rows × 14 columns

Pašalintų eil. sk:

In [26]:
ilgis_amzius - len(amzius)
Out[26]:
2

Pedagogų kvalifikacija¶

Duomenys paimti iš čia: https://data.gov.lt/datasets/12/

In [28]:
kvalif = pd.read_csv('pedagogu_kvalifikacija.csv', delimiter='\t')
kvalif
Out[28]:
Pd Mokslo metai Pd Institucijos savivaldybės ID Pd Institucijos savivaldybė Pd Pareigų grupė ID Pd Pareigų grupė Pd Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia) Pd Pedagogų skaičius
0 2012-2013 0 NaN 42 Mokytojai Mokytojas 1
1 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Auklėtojas metodininkas 1
2 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Specialusis pedagogas metodininkas 1
3 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis auklėtojas 1
4 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis specialusis pedagogas (auklėtojas) 1
... ... ... ... ... ... ... ...
69278 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Specialusis pedagogas metodininkas 1
69279 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Vyresnysis specialusis pedagogas 1
69280 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas 1
69281 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas metodininkas 4
69282 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Vyresnysis mokytojas 1

69283 rows × 7 columns

In [29]:
ilgis_kvalif = len(kvalif)
ilgis_kvalif
Out[29]:
69283
In [30]:
kvalif.shape
Out[30]:
(69283, 7)
In [31]:
kvalif.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 69283 entries, 0 to 69282
Data columns (total 7 columns):
 #   Column                                                           Non-Null Count  Dtype 
---  ------                                                           --------------  ----- 
 0   Pd Mokslo metai                                                  69283 non-null  object
 1   Pd Institucijos savivaldybės ID                                  69283 non-null  int64 
 2   Pd Institucijos savivaldybė                                      69282 non-null  object
 3   Pd Pareigų grupė ID                                              69283 non-null  int64 
 4   Pd Pareigų grupė                                                 69283 non-null  object
 5   Pd Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)  69283 non-null  object
 6   Pd Pedagogų skaičius                                             69283 non-null  int64 
dtypes: int64(3), object(4)
memory usage: 3.7+ MB

Lengvesniam darbui pašaliniamas 'Pd' žodis iš stulpelių pavadinimų ir tušti duomenys iš 'Institucijos savivaldybė':

In [33]:
kvalif.columns = kvalif.columns.str.replace('^Pd ', '', regex=True)
kvalif.dropna(subset=['Institucijos savivaldybė'],inplace=True)
kvalif.head()
Out[33]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Pareigų grupė ID Pareigų grupė Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia) Pedagogų skaičius
1 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Auklėtojas metodininkas 1
2 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Specialusis pedagogas metodininkas 1
3 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis auklėtojas 1
4 2012-2013 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis specialusis pedagogas (auklėtojas) 1
5 2012-2013 260 Akmenės r. sav. 29 Direktoriaus pavaduotojai ugdymui Auklėtojas metodininkas 1

Pašalintų eil. sk:

In [35]:
ilgis_kvalif - len(kvalif)
Out[35]:
1

Mokytojų, dirbančių ne vienoje mokykloje, skaičius pagal savivaldybes¶

Duomenys paimti iš čia: https://data.gov.lt/datasets/359/

In [37]:
kelios_darb = pd.read_csv('mokytoju_dirbanciu_ne_vienoje_mokykloje_skaicius.csv', delimiter='\t')
kelios_darb
Out[37]:
Pd Mokslo metai Pd Institucijos savivaldybės ID Pd Institucijos savivaldybė Pd Mokytojų skaičius Pd Mokytojų, dirbančių ne vienoje mokykloje, skaičius
0 2012-2013 260 Akmenės r. sav. 263 94
1 2012-2013 2 Alytaus m. sav. 683 223
2 2012-2013 4 Alytaus r. sav. 300 138
3 2012-2013 393 Anykščių r. sav. 314 124
4 2012-2013 42 Birštono sav. 56 20
... ... ... ... ... ...
775 2024-2025 163 Vilkaviškio r. sav. 346 240
776 2024-2025 461 Vilniaus m. sav. 6054 1721
777 2024-2025 462 Vilniaus r. sav. 1075 684
778 2024-2025 459 Visagino sav. 173 50
779 2024-2025 403 Zarasų r. sav. 109 45

780 rows × 5 columns

In [38]:
ilgis_kelios_darb = len(kelios_darb)
ilgis_kelios_darb
Out[38]:
780
In [39]:
kelios_darb.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 780 entries, 0 to 779
Data columns (total 5 columns):
 #   Column                                                 Non-Null Count  Dtype 
---  ------                                                 --------------  ----- 
 0   Pd Mokslo metai                                        780 non-null    object
 1   Pd Institucijos savivaldybės ID                        780 non-null    int64 
 2   Pd Institucijos savivaldybė                            780 non-null    object
 3   Pd Mokytojų skaičius                                   780 non-null    int64 
 4   Pd Mokytojų, dirbančių ne vienoje mokykloje, skaičius  780 non-null    int64 
dtypes: int64(3), object(2)
memory usage: 30.6+ KB

Lengvesniam darbui pašaliniamas 'Pd' žodis iš stulpelių pavadinimų ir tušti duomenys iš 'Institucijos savivaldybė':

In [41]:
kelios_darb.columns = kelios_darb.columns.str.replace('^Pd ', '', regex=True)
kelios_darb.dropna(subset=['Institucijos savivaldybė'],inplace=True)
kelios_darb.head()
Out[41]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Mokytojų skaičius Mokytojų, dirbančių ne vienoje mokykloje, skaičius
0 2012-2013 260 Akmenės r. sav. 263 94
1 2012-2013 2 Alytaus m. sav. 683 223
2 2012-2013 4 Alytaus r. sav. 300 138
3 2012-2013 393 Anykščių r. sav. 314 124
4 2012-2013 42 Birštono sav. 56 20

Pašalintų eil. sk:

In [43]:
ilgis_kelios_darb - len(kelios_darb)
Out[43]:
0

Duomenų analizė¶

Duomenų lyginimas (savivaldybių skaičiaus)¶

Išvardintos savivaldybės:

In [47]:
# Iš amžiaus dataframe:
savivaldyb_unique = amzius['Institucijos savivaldybė'].unique()
savivaldyb = tuple(value for value in savivaldyb_unique)
savivaldyb
Out[47]:
('Akmenės r. sav.',
 'Alytaus m. sav.',
 'Alytaus r. sav.',
 'Anykščių r. sav.',
 'Birštono sav.',
 'Biržų r. sav.',
 'Druskininkų sav.',
 'Elektrėnų sav.',
 'Ignalinos r. sav.',
 'Jonavos r. sav.',
 'Joniškio r. sav.',
 'Jurbarko r. sav.',
 'Kaišiadorių r. sav.',
 'Kalvarijos sav.',
 'Kauno m. sav.',
 'Kauno r. sav.',
 'Kazlų Rūdos sav.',
 'Kėdainių r. sav.',
 'Kelmės r. sav.',
 'Klaipėdos m. sav.',
 'Klaipėdos r. sav.',
 'Kretingos r. sav.',
 'Kupiškio r. sav.',
 'Lazdijų r. sav.',
 'Marijampolės sav.',
 'Mažeikių r. sav.',
 'Molėtų r. sav.',
 'Neringos sav.',
 'Pagėgių sav.',
 'Pakruojo r. sav.',
 'Palangos m. sav.',
 'Panevėžio m. sav.',
 'Panevėžio r. sav.',
 'Pasvalio r. sav.',
 'Plungės r. sav.',
 'Prienų r. sav.',
 'Radviliškio r. sav.',
 'Raseinių r. sav.',
 'Rietavo sav.',
 'Rokiškio r. sav.',
 'Šakių r. sav.',
 'Šalčininkų r. sav.',
 'Šiaulių m. sav.',
 'Šiaulių r. sav.',
 'Šilalės r. sav.',
 'Šilutės r. sav.',
 'Širvintų r. sav.',
 'Skuodo r. sav.',
 'Švenčionių r. sav.',
 'Tauragės r. sav.',
 'Telšių r. sav.',
 'Trakų r. sav.',
 'Ukmergės r. sav.',
 'Utenos r. sav.',
 'Varėnos r. sav.',
 'Vilkaviškio r. sav.',
 'Vilniaus m. sav.',
 'Vilniaus r. sav.',
 'Visagino sav.',
 'Zarasų r. sav.')
In [48]:
type(savivaldyb)
Out[48]:
tuple
In [49]:
len(savivaldyb)
Out[49]:
60
In [50]:
# Iš kvalifikacijų dataframe:
savivaldyb1 = set(kvalif['Institucijos savivaldybė'])
savivaldyb1
Out[50]:
{'Akmenės r. sav.',
 'Alytaus m. sav.',
 'Alytaus r. sav.',
 'Anykščių r. sav.',
 'Birštono sav.',
 'Biržų r. sav.',
 'Druskininkų sav.',
 'Elektrėnų sav.',
 'Ignalinos r. sav.',
 'Jonavos r. sav.',
 'Joniškio r. sav.',
 'Jurbarko r. sav.',
 'Kaišiadorių r. sav.',
 'Kalvarijos sav.',
 'Kauno m. sav.',
 'Kauno r. sav.',
 'Kazlų Rūdos sav.',
 'Kelmės r. sav.',
 'Klaipėdos m. sav.',
 'Klaipėdos r. sav.',
 'Kretingos r. sav.',
 'Kupiškio r. sav.',
 'Kėdainių r. sav.',
 'Lazdijų r. sav.',
 'Marijampolės sav.',
 'Mažeikių r. sav.',
 'Molėtų r. sav.',
 'Neringos sav.',
 'Pagėgių sav.',
 'Pakruojo r. sav.',
 'Palangos m. sav.',
 'Panevėžio m. sav.',
 'Panevėžio r. sav.',
 'Pasvalio r. sav.',
 'Plungės r. sav.',
 'Prienų r. sav.',
 'Radviliškio r. sav.',
 'Raseinių r. sav.',
 'Rietavo sav.',
 'Rokiškio r. sav.',
 'Skuodo r. sav.',
 'Tauragės r. sav.',
 'Telšių r. sav.',
 'Trakų r. sav.',
 'Ukmergės r. sav.',
 'Utenos r. sav.',
 'Varėnos r. sav.',
 'Vilkaviškio r. sav.',
 'Vilniaus m. sav.',
 'Vilniaus r. sav.',
 'Visagino sav.',
 'Zarasų r. sav.',
 'Šakių r. sav.',
 'Šalčininkų r. sav.',
 'Šiaulių m. sav.',
 'Šiaulių r. sav.',
 'Šilalės r. sav.',
 'Šilutės r. sav.',
 'Širvintų r. sav.',
 'Švenčionių r. sav.'}
In [51]:
len(savivaldyb1)
Out[51]:
60

Patikrinimas, kad savivaldybių kiekis vienodas skirtinguose lentelėse:

In [53]:
len(savivaldyb1)==len(savivaldyb)
Out[53]:
True

H1 Hipotezė¶

Pedagogų skaičius Lietuvoje yra itin sumažėjęs, trūksta kvalifikuotų darbuotojų tuščioms darbo vietoms užpildyti.

Patikrinta, kuroje lentelėje turime didžiausią kiekį pedagogų¶

In [56]:
kvalif['Pedagogų skaičius'].sum() < amzius['Pedagogų skaičius'].sum() > kelios_darb['Mokytojų skaičius'].sum()
Out[56]:
True
In [57]:
kvalif['Pedagogų skaičius'].sum()
Out[57]:
717879
In [58]:
amzius['Pedagogų skaičius'].sum()
Out[58]:
878041
In [59]:
kelios_darb['Mokytojų skaičius'].sum()
Out[59]:
391278

Iškeliama tarpinė hipotezė¶

'Amzius' lentelė turi didžiausią kiekį duomenų (pedagogų sk.), todėl šios lentelės vartojimas duos tiksliausius rezultatus.

Todėl buvo pasirinkta pedagogų skaičiaus kaitą pagal metus ieškoti su 'amzius' lentele.

Amziaus lentelės nagrinėjimas¶

In [63]:
# Išsifiltruojame tik reikiamus duomenis (metus ir bendrą pedagogų sk.) iš amžiaus dataframe:
mokytoju_sk_per_metus_amzius = amzius.groupby('Mokslo metai')['Pedagogų skaičius'].sum().reset_index()
mokytoju_sk_per_metus_amzius = mokytoju_sk_per_metus_amzius.sort_values(by='Mokslo metai')
mokytoju_sk_per_metus_amzius
Out[63]:
Mokslo metai Pedagogų skaičius
0 2012-2013 69442
1 2013-2014 68849
2 2014-2015 68423
3 2015-2016 68987
4 2016-2017 67800
5 2017-2018 67015
6 2018-2019 65714
7 2019-2020 65373
8 2020-2021 64871
9 2021-2022 64329
10 2022-2023 64820
11 2023-2024 71002
12 2024-2025 71416
In [64]:
# Nusibraižome grafiką su amžiaus dataframe
plt.figure(figsize=(7, 5))
plt.plot(mokytoju_sk_per_metus_amzius['Mokslo metai'], mokytoju_sk_per_metus_amzius['Pedagogų skaičius'], marker='o', linestyle='-')
plt.xlabel('Mokslo metai')
plt.ylabel('Mokytojų skaičius')
plt.title('Mokytojų skaičiaus mažėjimo tendencija')
plt.xticks(rotation=45)  # pasuka metų etiketes, kad jos būtų lengviau skaitomos
plt.grid(True)
plt.show()
No description has been provided for this image

Pastebėjusi, kad paskutinius dvejus mokslo metus mokytojų skaičius žymiai išaugęs, nuspredžiau patikrinti pedagogų skaičiaus pokyti su kitais turimais duomenimis:

Kitų duomenų lentelių nagrinėjimas¶

'kvalf' lentelė:

In [68]:
# Išsifiltruojame tik reikiamus duomenis (metus ir bendrą pedagogų sk.) iš kvalifikacijos dataframe:
mokytoju_sk_per_metus_kvalif = kvalif.groupby('Mokslo metai')['Pedagogų skaičius'].sum().reset_index()
mokytoju_sk_per_metus_kvalif = mokytoju_sk_per_metus_kvalif.sort_values(by='Mokslo metai')
mokytoju_sk_per_metus_kvalif
Out[68]:
Mokslo metai Pedagogų skaičius
0 2012-2013 61705
1 2013-2014 61122
2 2014-2015 60210
3 2015-2016 59414
4 2016-2017 57727
5 2017-2018 55826
6 2018-2019 53702
7 2019-2020 52850
8 2020-2021 52535
9 2021-2022 52088
10 2022-2023 51312
11 2023-2024 50805
12 2024-2025 48583

'kelios_darb' lentelė:

In [70]:
# Išsifiltruojame tik reikiamus duomenis (metus ir bendrą pedagogų sk.) iš kelios_darb dataframe:
mokytoju_sk_per_metus_kelios_darb = kelios_darb.groupby('Mokslo metai')['Mokytojų skaičius'].sum().reset_index()
mokytoju_sk_per_metus_kelios_darb = mokytoju_sk_per_metus_kelios_darb.sort_values(by='Mokslo metai')
mokytoju_sk_per_metus_kelios_darb
Out[70]:
Mokslo metai Mokytojų skaičius
0 2012-2013 34559
1 2013-2014 33612
2 2014-2015 32582
3 2015-2016 31808
4 2016-2017 30682
5 2017-2018 29877
6 2018-2019 29196
7 2019-2020 28905
8 2020-2021 28334
9 2021-2022 27993
10 2022-2023 28203
11 2023-2024 28170
12 2024-2025 27357

Nusibraižome visus tris grafikus palyginimui:

In [72]:
fig, ax = plt.subplots(3, 1, figsize=(8, 6), sharex=True)  # grafikai eis trim eilutėm ir vienu stulpeliu sharex

# Plot 1: `mokytoju_sk_per_metus_amzius`
ax[0].plot(mokytoju_sk_per_metus_amzius['Mokslo metai'], mokytoju_sk_per_metus_amzius['Pedagogų skaičius'], color='red')
ax[0].set_title('Pedagogų skaičius per metus (amžius dataframe)')
ax[0].set_ylabel('Pedagogų skaičius')

# Plot 2: `mokytoju_sk_per_metus_kvalif`
ax[1].plot(mokytoju_sk_per_metus_kvalif['Mokslo metai'], mokytoju_sk_per_metus_kvalif['Pedagogų skaičius'], color='pink')
ax[1].set_title('Pedagogų skaičius per metus (kvalifikacija dataframe)')
ax[1].set_ylabel('Pedagogų skaičius')

# Plot 3: `mokytoju_sk_per_metus_kelios_darb`
ax[2].plot(mokytoju_sk_per_metus_kelios_darb['Mokslo metai'], mokytoju_sk_per_metus_kelios_darb['Mokytojų skaičius'], color='purple')
ax[2].set_title('Mokytojų skaičius per metus (kelios_darb dataframe)')
ax[2].set_ylabel('Mokytojų skaičius')

# Setting shared x-axis label
ax[2].set_xlabel('Metai')

# Adjust layout to prevent overlap
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
No description has been provided for this image

Iš grafikų matome, kad iškelta tarpinė hipotezė pasitvirtino, mat kiti du grafikai rodo aiškų mokytojų mažėjimą Lietuvoje.

Ieškome pirmojo grafiko prieaugio kaltininko¶

Lengvesniam darbui susikuriame papildomą 'Pradzios_metai' stulpelį, į kurį išsitraukiame mokslo metų pradžią.

In [76]:
amzius['Pradzios_metai'] = amzius['Mokslo metai'].str[:4].astype(int)
amzius
Out[76]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Institucijos tipo ID Institucijos tipas Institucijos kodas Institucijos pavadinimas Darbovietės tipas ID Darbovietės tipas Pareigybė ID Pareigybė Amžiaus grupė Pedagogų skaičius Pensijinio amžiaus pedagogų sk. Pradzios_metai
2 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 40-44 m. 3 0 2012
3 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 45-49 m. 1 0 2012
4 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 50-54 m. 1 0 2012
5 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 55-59 m. 2 0 2012
6 2012-2013 260 Akmenės r. sav. 3111.0 Ikimokyklinio ugdymo mokykla 190441020 Akmenės rajono Akmenės vaikų lopšelis - daržel... 1 Pagrindinė darbovietė 2 Auklėtojas 65 m. ir vyresni 1 1 2012
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
442564 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 0 Nepagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 65 m. ir vyresni 1 1 2024
442565 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 13 Direktorius 60-64 m. 1 0 2024
442566 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 50-54 m. 1 0 2024
442567 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 55-59 m. 2 0 2024
442568 2024-2025 403 Zarasų r. sav. 3161.0 Neformaliojo vaikų švietimo mokykla ir formalų... 190212235 Zarasų sporto centras 1 Pagrindinė darbovietė 34 Neformaliojo (papildomojo) ugdymo mokytojas (p... 60-64 m. 3 0 2024

442567 rows × 15 columns

Ieškome naujai atsiradusių pareigų¶

In [78]:
# Sukuriame išfiltruotą duomenų rinkinį, pasirinkdami 2021 metų duomenis, nes tais metais buvo pasiektas mažiausias pedagogų skaičius.
# Ir išspausdiname visas unikalias 'Pareigybė ID' reikšmes.
amziaus_filtered_2021_2022 = amzius[amzius['Pradzios_metai'] == 2021]
unique_2021_2022 = amziaus_filtered_2021_2022['Pareigybė ID'].unique()
unique_2021_2022
Out[78]:
array([84, 13, 23, 24, 26, 46, 85, 30,  5, 50, 34,  2, 12, 18, 51, 16, 27,
       48, 53, 67, 68, 61, 56, 43, 64, 39, 55, 41, 17,  6, 31, 57, 38, 10,
       87, 32,  7, 35, 25, 66, 54, 44, 86, 63, 20], dtype=int64)
In [79]:
# Sukuriame išfiltruotą duomenų rinkinį, pasirinkdami 2023 metų duomenis, nes tais metais buvo pasiektas didžiausias pedagogų skaičius
# Ir išspausdiname visas unikalias 'Pareigybė ID' reikšmes.
amziaus_filtered_2023_2024 = amzius[amzius['Pradzios_metai'] == 2023]
unique_2023_2024 = amziaus_filtered_2023_2024['Pareigybė ID'].unique()
unique_2023_2024
Out[79]:
array([   84,    13,    23,    24,    26, 20001,    46,    85,    48,
          50,    30,     5,    34,    12,    27,    51,    86,    61,
          31,    16,    57,    91,     2,    68,    56,     6,    64,
          43,    55,    17,    25,    35,    38,    39,    10,    87,
          32,     7,    66,    53,    44,    63,    90,    54,    67,
          18,    20], dtype=int64)
In [80]:
# Ieškome skirtumų tarp išsifiltruotų duomenų rinkinių unikalių reikšmių, t.y. ar atsirado naujų pareigybių:
diff_2021_2022_only = set(unique_2021_2022) - set(unique_2023_2024)
diff_2023_2024_only = set(unique_2023_2024) - set(unique_2021_2022)
print("Tik 2023-2024 m. 'Pareigybė ID' reikšmės:", diff_2023_2024_only)
Tik 2023-2024 m. 'Pareigybė ID' reikšmės: {20001, 90, 91}

Surandame išspausdintų pareigybių pavadinimus:

In [82]:
pareigybė = amzius[amzius['Pareigybė ID'] == 20001]['Pareigybė'].iloc[0]
print(f"Pareigybė su ID 20001: {pareigybė}")
Pareigybė su ID 20001: Mokytojo padėjėjas
In [83]:
pareigybė = amzius[amzius['Pareigybė ID'] == 90]['Pareigybė'].iloc[0]
print(f"Pareigybė su ID 90: {pareigybė}")
Pareigybė su ID 90: Lietuvių kalbos (valstybinės) mokytojas
In [84]:
pareigybė = amzius[amzius['Pareigybė ID'] == 91]['Pareigybė'].iloc[0]
print(f"Pareigybė su ID 91: {pareigybė}")
Pareigybė su ID 91: Fizinio ugdymo mokytojas
In [85]:
# Paskaičiuojame jų kiekį:
amzius[amzius['Pareigybė ID'].isin([20001, 90, 91])]['Pareigybė ID'].count()
Out[85]:
6135

Ieškome amžiaus skirtumo prieaugio tarp 2021-2023¶

Dabar peržvelkime amžiaus pokyčius tarp 2021 ir 2023 metų, patikrindami galimybę, kad pedagogo karjeros kelią pradėjo didelis kiekis studentų.

In [88]:
# 2021 metų amžiaus grupės
count_2021_2022 = amziaus_filtered_2021_2022.groupby('Amžiaus grupė')['Amžiaus grupė'].count()
count_2021_2022 
Out[88]:
Amžiaus grupė
25-29 m.                 1863
30-34 m.                 2736
35-39 m.                 3426
40-44 m.                 3838
45-49 m.                 4341
50-54 m.                 4962
55-59 m.                 4537
60-64 m.                 4250
65 m. ir vyresni         1881
Jaunesni nei 25 metai     836
Name: Amžiaus grupė, dtype: int64
In [89]:
# 2023 metų amžiaus grupės
count_2023_2024 = amziaus_filtered_2023_2024.groupby('Amžiaus grupė')['Amžiaus grupė'].count()
count_2023_2024
Out[89]:
Amžiaus grupė
25-29 m.                 1943
30-34 m.                 3015
35-39 m.                 4111
40-44 m.                 4336
45-49 m.                 4752
50-54 m.                 5197
55-59 m.                 5090
60-64 m.                 4607
65 m. ir vyresni         2703
Jaunesni nei 25 metai    1118
Name: Amžiaus grupė, dtype: int64
In [90]:
#Skirtumas tarp amžiaus grupių:
difference = count_2021_2022 - count_2023_2024
difference
Out[90]:
Amžiaus grupė
25-29 m.                 -80
30-34 m.                -279
35-39 m.                -685
40-44 m.                -498
45-49 m.                -411
50-54 m.                -235
55-59 m.                -553
60-64 m.                -357
65 m. ir vyresni        -822
Jaunesni nei 25 metai   -282
Name: Amžiaus grupė, dtype: int64

Hipotezės rezultatas¶

Tarpinei hipotezei nepasitvirtinus, jog 'amziaus' lentelė rodys tikliausią rezulatą, buvo nubraižyti amžiaus pokyčio per metus grafikai su kitais turimais duomenimis ('kvalif', 'kelios_darb'). Papildomi grafikai parodė tolygų pedagogų mažėjimą tarp abiejų grafikų.

Tuomet buvo ieškoma, kodėl naudojant 'amzius' lentelę grafike matėsi didelis pedagogų sk. prieaugis nuo 2021-2022 mokslo metų. Prieita prie išvados, kad 'amzius' lentelėje atsirado papildomos pareigos, kaip 'Mokytojo padėjėjas', dėl kurių prieaugis iššoko apie 6000. Ir taipogi padidėjo jaunų mokytojų skaičius (iki 30 m.) (apie 400). Taip pat galime daryti prielaidą, kad jaunų mokytojų sk. nuo 2022 išaugo dėl studentams pradėtų teikti stipendijų:

https://vsf.lrv.lt/lt/studentams/parama-pedagogikos-studijoms-nuo-2022-m/

Taigi galiu prieti prie išvados, kad 'amzius' duomenų bazė nuo 2021 metų buvo atnaujinta ir pradėta kaupti kitokiu principu ir šiam palyginimui 'amzius' lentelė yra netinkama.

Apibendrinant galima teigti, jog analizuojant 'kvalif' ir 'kelios_darb' duomenų bazes pastebimas reikšmingas pedagogų skaičiaus mažėjimas nuo 2012 metų. Tai leidžia daryti prielaidą, kad šiuo metu šalyje priartėjome prie galimo pedagogų trūkumo.

H2 hipotezė¶

Kritinė riba dėl mokytojų trūkumo Lietuvoje bus pasiekta 30-ies metų tarpe.

In [98]:
# Naudojame jau sukurtą lentelę:
mokytoju_sk_per_metus_kvalif
Out[98]:
Mokslo metai Pedagogų skaičius
0 2012-2013 61705
1 2013-2014 61122
2 2014-2015 60210
3 2015-2016 59414
4 2016-2017 57727
5 2017-2018 55826
6 2018-2019 53702
7 2019-2020 52850
8 2020-2021 52535
9 2021-2022 52088
10 2022-2023 51312
11 2023-2024 50805
12 2024-2025 48583
In [99]:
# Pridedame pagalbinį indentifikacinį metų stulpelį
mokytoju_sk_per_metus_kvalif['Metai'] = mokytoju_sk_per_metus_kvalif['Mokslo metai'].apply(lambda x: int(x.split('-')[0]))
mokytoju_sk_per_metus_kvalif
Out[99]:
Mokslo metai Pedagogų skaičius Metai
0 2012-2013 61705 2012
1 2013-2014 61122 2013
2 2014-2015 60210 2014
3 2015-2016 59414 2015
4 2016-2017 57727 2016
5 2017-2018 55826 2017
6 2018-2019 53702 2018
7 2019-2020 52850 2019
8 2020-2021 52535 2020
9 2021-2022 52088 2021
10 2022-2023 51312 2022
11 2023-2024 50805 2023
12 2024-2025 48583 2024
In [100]:
# Aprašome modelio X ir y reikšmes:
X = mokytoju_sk_per_metus_kvalif['Metai'].values.reshape(-1, 1)
y = mokytoju_sk_per_metus_kvalif['Pedagogų skaičius'].values
In [101]:
# Prtaikome polinominę regresiją:
poly_reg = PolynomialFeatures(degree=2)
X_poly = poly_reg.fit_transform(X)
pol_reg = LinearRegression()
pol_reg.fit(X_poly, y)
Out[101]:
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LinearRegression()
In [102]:
# Ją atvaizduojame grafike:
def viz_polynomial():
    # Pavaizduojame originalius duomenis
    plt.scatter(X, y, color='red')

    # Pavaizduojame polinominę regresiją
    plt.plot(X, pol_reg.predict(poly_reg.fit_transform(X)), color='blue')
    
    plt.xlabel('Mokslo metai')
    plt.ylabel('Pedagogų skaičius')
    plt.title('Polinominė regresija: Pedagogų skaičius pagal metus')

    plt.show()

viz_polynomial()
No description has been provided for this image
In [103]:
# Ieškome, kuriais metais bus pasiekta kritinė riba, ją laikome 45 000:
pol_reg.predict(poly_reg.fit_transform([[2040]]))
Out[103]:
array([44002.07892118])
In [104]:
pol_reg.predict(poly_reg.fit_transform([[2027]]))
Out[104]:
array([47138.15684292])
In [105]:
pol_reg.predict(poly_reg.fit_transform([[2028]]))
Out[105]:
array([46562.26873103])
In [106]:
pol_reg.predict(poly_reg.fit_transform([[2031]]))
Out[106]:
array([45169.25574405])
In [107]:
pol_reg.predict(poly_reg.fit_transform([[2032]]))
Out[107]:
array([44816.46853125])

Išvados:¶

Šie rezultatai patvirtina hipotezę, jog Lietuvos mokytojų skaičius kritinę ribą gali pasiekti per 30 metų. Modelis rodo, kad kritinis pedagogų skaičius 45000 bus peržengtas iki 2031 m., o mažėjimo tendencija tęsis ir po to. Tai rodo, kad jei nesikeis dabartinės tendencijos, jau po kelerių metų Lietuva gali susidurti su pedagogų trūkumo problema.

H3 hipotezė¶

Aukščiausios kvalifikacijos mokytojų didžiausias kiekis yra didžiuosiuose Lietuvos miestuose.

Lygių paskisrtymas¶

In [112]:
# Naudosime kvalifikacijos duomenis išsifiltrave 2024-2025 metus (metus galime pakeisti):
# Jei norime pamatyti visų metų (nuo 2012 iki 2024 mokslo metų) rezultatus šią kodo dalį praleidžiame:

pasirinkti_metai = '2024-2025'  
kvalif = kvalif[kvalif['Mokslo metai']== pasirinkti_metai]
kvalif
Out[112]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Pareigų grupė ID Pareigų grupė Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia) Pedagogų skaičius
63910 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Mokytojas 1
63911 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Mokytojas metodininkas 1
63912 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis mokytojas 1
63913 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis specialusis pedagogas 2
63914 2024-2025 260 Akmenės r. sav. 28 Direktorius Mokytojas 1
... ... ... ... ... ... ... ...
69278 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Specialusis pedagogas metodininkas 1
69279 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Vyresnysis specialusis pedagogas 1
69280 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas 1
69281 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas metodininkas 4
69282 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Vyresnysis mokytojas 1

5373 rows × 7 columns

In [113]:
#Patikriname kiek turime skirtingų kvalifikacijos kategrojų
len(kvalif['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].unique())
Out[113]:
49
In [114]:
kvalif['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].unique()
Out[114]:
array(['Mokytojas', 'Mokytojas metodininkas', 'Vyresnysis mokytojas',
       'Vyresnysis specialusis pedagogas', 'Auklėtojas',
       'Auklėtojas metodininkas', 'Vyresnysis auklėtojas',
       'Vyresnysis socialinis pedagogas', 'Socialinis pedagogas',
       'Mokytojas ekspertas', 'Logopedas metodininkas',
       'Vyresnysis logopedas', 'Logopedas',
       'Specialusis pedagogas metodininkas',
       'Koncertmeisteris metodininkas', 'Vyresnysis koncertmeisteris',
       'Koncertmeisteris', 'III psichologo kvalifikacinė kategorija',
       'IV psichologo kvalifikacinė kategorija',
       'Socialinis pedagogas metodininkas',
       'Profesijos mokytojas metodininkas',
       'Papildomojo ugdymo pedagogas metodininkas',
       'Vyresnysis profesijos mokytojas', 'Profesijos mokytojas',
       'Pirma trenerio kvalifikacinė kategorija',
       'Vyresnysis papildomojo ugdymo pedagogas',
       'Papildomojo ugdymo pedagogas',
       'Papildomojo ugdymo pedagogas ekspertas',
       'Profesijos mokytojas ekspertas',
       'II psichologo kvalifikacinė kategorija',
       'Specialusis pedagogas ekspertas',
       'Socialinis pedagogas ekspertas',
       'I psichologo kvalifikacinė kategorija', 'Logopedas ekspertas',
       'Ketvirta trenerio kvalifikacinė kategorija',
       'Penkta trenerio kvalifikacinė kategorija',
       'Trečia trenerio kvalifikacinė kategorija',
       'Specialusis pedagogas', 'Antra trenerio kvalifikacinė kategorija',
       'Auklėtojas ekspertas', 'Vyresnysis tiflopedagogas',
       'Surdopedagogas metodininkas', 'Tiflopedagogas metodininkas',
       'Vyresnysis surdopedagogas', 'Koncertmeisteris ekspertas',
       'Surdopedagogas ekspertas', 'Surdopedagogas',
       'Šešta trenerio kvalifikacinė kategorija',
       'Tiflopedagogas ekspertas'], dtype=object)

Sukuriama funkcija, kurios pagalba bus sugrupuotos mokytojų kategorijos į kvalifikacijos lygius.

Pasirinkti kvalifikacijos lygiai:

  1. Mokytojas
  2. Vyresnysis mokytojas
  3. Mokytojas metodininkas
  4. Mokytojas ekspertas

Kvalifikacijos lygių pasirinkimo paaiškinimas:

  • Mokytojas ekspertas - Aukščiausias lygis, rodantis didelę patirtį, žinias ir gebėjimus, galintis būti mentoriumi ir vadovu kitiems mokytojams.

  • Mokytojas metodininkas - Pedagogas, kuris ne tik moko, bet ir specializuojasi metodinėje veikloje, teikdamas pagalbą kitiems mokytojams.

  • Vyresnysis mokytojas - Pedagogas, turintis specializuotą išsilavinimą ir dirbantis tam tikroje srityje.

  • Mokytojas - Žmogus turintis pedagogo išsilavinimą, todėl šiam lygmeniui priskiriami visi duomenų bazėje išvardinti pedagogai nepriskirti jokiai kitai grupei.


Klasifikacijos logika:

    Pasirinkta klasifikuoti lygiais pagal stulpelį 'Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)', o ne pagal Pareigų grupė, nes jame yra grupės neįvardijančios kvalifikacijos lygio tik pareigas (kaip Direktorius, Vadovo pavaduotojai ugdymo reikalams ir t.t. )

  • Specialistai (logopedai, surdopedagogai, tiflopedagogai) taip pat turi tuos pačius kvalifikacijos lygius, todėl nebuvo atskirti.
  • Auklėtojai (priešmokyklinio ugdymo pedagogai) taip pat laikomi mokytojais, tad jie nebuvo atskirai išskirti.

In [116]:
def grupavimas(tekstas):
    if isinstance(tekstas, str):
        if 'ekspertas' in tekstas.lower():
           return 'Ekspertas'
        elif 'metodininkas' in tekstas.lower():
            return 'Metodininkas'
        elif 'vyresnysis' in tekstas.lower():
            return 'Vyresnysis mokytojas'
        else:
            return 'Mokytojas'
    else:
        return 'Ne str'
In [117]:
#Funkcijs pritaikymas
kvalif['Lygis'] = kvalif['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].map(grupavimas)
kvalif
C:\Users\AgnėŠilkaitytėFinanc\AppData\Local\Temp\ipykernel_6712\2657985210.py:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  kvalif['Lygis'] = kvalif['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].map(grupavimas)
Out[117]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Pareigų grupė ID Pareigų grupė Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia) Pedagogų skaičius Lygis
63910 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Mokytojas 1 Mokytojas
63911 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Mokytojas metodininkas 1 Metodininkas
63912 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis mokytojas 1 Vyresnysis mokytojas
63913 2024-2025 260 Akmenės r. sav. 16 Auklėtojai, nedėstantys mokykloje Vyresnysis specialusis pedagogas 2 Vyresnysis mokytojas
63914 2024-2025 260 Akmenės r. sav. 28 Direktorius Mokytojas 1 Mokytojas
... ... ... ... ... ... ... ... ...
69278 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Specialusis pedagogas metodininkas 1 Metodininkas
69279 2024-2025 403 Zarasų r. sav. 9 Specialieji pedagogai Vyresnysis specialusis pedagogas 1 Vyresnysis mokytojas
69280 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas 1 Mokytojas
69281 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas metodininkas 4 Metodininkas
69282 2024-2025 403 Zarasų r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Vyresnysis mokytojas 1 Vyresnysis mokytojas

5373 rows × 8 columns

In [118]:
#filtravimas patikrinimui
kvalif[kvalif['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].str.contains('ekspertas')]
Out[118]:
Mokslo metai Institucijos savivaldybės ID Institucijos savivaldybė Pareigų grupė ID Pareigų grupė Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia) Pedagogų skaičius Lygis
63927 2024-2025 260 Akmenės r. sav. 39 Kiti pedagoginiai darbuotojai Mokytojas ekspertas 1 Ekspertas
63941 2024-2025 260 Akmenės r. sav. 4 Mokytojai Mokytojas ekspertas 6 Ekspertas
63948 2024-2025 260 Akmenės r. sav. 42 Mokytojai Mokytojas ekspertas 2 Ekspertas
63973 2024-2025 260 Akmenės r. sav. 2 Vadovo pavaduotojai ugdymo reikalams Mokytojas ekspertas 1 Ekspertas
64024 2024-2025 2 Alytaus m. sav. 32 Meninio ugdymo mokytojai Mokytojas ekspertas 2 Ekspertas
... ... ... ... ... ... ... ... ...
69198 2024-2025 459 Visagino sav. 4 Mokytojai Mokytojas ekspertas 2 Ekspertas
69207 2024-2025 459 Visagino sav. 42 Mokytojai Papildomojo ugdymo pedagogas ekspertas 2 Ekspertas
69246 2024-2025 403 Zarasų r. sav. 28 Direktorius Auklėtojas ekspertas 1 Ekspertas
69258 2024-2025 403 Zarasų r. sav. 4 Mokytojai Mokytojas ekspertas 5 Ekspertas
69264 2024-2025 403 Zarasų r. sav. 42 Mokytojai Mokytojas ekspertas 1 Ekspertas

374 rows × 8 columns

In [119]:
#Tikrinimas su grupavimu
kvalif.groupby('Lygis')['Lygis'].count().sort_values(ascending=False)
Out[119]:
Lygis
Vyresnysis mokytojas    1944
Metodininkas            1606
Mokytojas               1449
Ekspertas                374
Name: Lygis, dtype: int64
In [120]:
#Likusiu kvalifikacijos tikrinimas ir pridejimas atgal i funkciją:
kvalif[kvalif['Lygis'].str.contains('Mokytojas')]['Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)'].value_counts()
Out[120]:
Pedagogo kvalifikacinė kategorija (aukščiausia ir naujausia)
Mokytojas                                     684
Auklėtojas                                    145
Socialinis pedagogas                          127
Specialusis pedagogas                          83
IV psichologo kvalifikacinė kategorija         78
Logopedas                                      62
Profesijos mokytojas                           57
Papildomojo ugdymo pedagogas                   47
Koncertmeisteris                               28
III psichologo kvalifikacinė kategorija        27
II psichologo kvalifikacinė kategorija         23
Trečia trenerio kvalifikacinė kategorija       18
Antra trenerio kvalifikacinė kategorija        17
Pirma trenerio kvalifikacinė kategorija        13
Ketvirta trenerio kvalifikacinė kategorija     13
Penkta trenerio kvalifikacinė kategorija       10
I psichologo kvalifikacinė kategorija           8
Šešta trenerio kvalifikacinė kategorija         5
Surdopedagogas                                  4
Name: count, dtype: int64

Grupavimas¶

In [122]:
#Grupavimas pagal savivaldybes, Lygius siekiant gauti pedagogų sk.
kvalif.groupby(['Institucijos savivaldybė', 'Lygis'])['Pedagogų skaičius'].sum()
Out[122]:
Institucijos savivaldybė  Lygis               
Akmenės r. sav.           Ekspertas                10
                          Metodininkas            122
                          Mokytojas                36
                          Vyresnysis mokytojas    148
Alytaus m. sav.           Ekspertas                40
                                                 ... 
Širvintų r. sav.          Vyresnysis mokytojas     98
Švenčionių r. sav.        Ekspertas                21
                          Metodininkas            187
                          Mokytojas                23
                          Vyresnysis mokytojas    140
Name: Pedagogų skaičius, Length: 239, dtype: int64
In [123]:
# Pagal savivaldybes surandame visų pedagogų sumą:
all_pedagogai = kvalif.groupby('Institucijos savivaldybė')['Pedagogų skaičius'].sum().reset_index()
all_pedagogai.columns = ['Institucijos savivaldybė', 'Visi pedagogai']
all_pedagogai
Out[123]:
Institucijos savivaldybė Visi pedagogai
0 Akmenės r. sav. 316
1 Alytaus m. sav. 1053
2 Alytaus r. sav. 228
3 Anykščių r. sav. 320
4 Birštono sav. 85
5 Biržų r. sav. 388
6 Druskininkų sav. 320
7 Elektrėnų sav. 449
8 Ignalinos r. sav. 206
9 Jonavos r. sav. 719
10 Joniškio r. sav. 410
11 Jurbarko r. sav. 327
12 Kaišiadorių r. sav. 476
13 Kalvarijos sav. 160
14 Kauno m. sav. 5333
15 Kauno r. sav. 1329
16 Kazlų Rūdos sav. 201
17 Kelmės r. sav. 433
18 Klaipėdos m. sav. 3638
19 Klaipėdos r. sav. 785
20 Kretingos r. sav. 612
21 Kupiškio r. sav. 324
22 Kėdainių r. sav. 834
23 Lazdijų r. sav. 290
24 Marijampolės sav. 1055
25 Mažeikių r. sav. 959
26 Molėtų r. sav. 265
27 Neringos sav. 52
28 Pagėgių sav. 98
29 Pakruojo r. sav. 289
30 Palangos m. sav. 340
31 Panevėžio m. sav. 1733
32 Panevėžio r. sav. 438
33 Pasvalio r. sav. 415
34 Plungės r. sav. 525
35 Prienų r. sav. 373
36 Radviliškio r. sav. 508
37 Raseinių r. sav. 522
38 Rietavo sav. 116
39 Rokiškio r. sav. 448
40 Skuodo r. sav. 229
41 Tauragės r. sav. 637
42 Telšių r. sav. 693
43 Trakų r. sav. 602
44 Ukmergės r. sav. 666
45 Utenos r. sav. 548
46 Varėnos r. sav. 225
47 Vilkaviškio r. sav. 671
48 Vilniaus m. sav. 9143
49 Vilniaus r. sav. 1595
50 Visagino sav. 352
51 Zarasų r. sav. 222
52 Šakių r. sav. 422
53 Šalčininkų r. sav. 727
54 Šiaulių m. sav. 2247
55 Šiaulių r. sav. 577
56 Šilalės r. sav. 361
57 Šilutės r. sav. 701
58 Širvintų r. sav. 222
59 Švenčionių r. sav. 371
In [124]:
# Surandame visų lygių pedagogų sk. pagal savivaldybes
metodininkai = kvalif[kvalif['Lygis'] == 'Metodininkas'].groupby('Institucijos savivaldybė')['Pedagogų skaičius'].sum().reset_index()
metodininkai.columns = ['Institucijos savivaldybė', 'Metodininkai']

ekspertai = kvalif[kvalif['Lygis'] == 'Ekspertas'].groupby('Institucijos savivaldybė')['Pedagogų skaičius'].sum().reset_index()
ekspertai.columns = ['Institucijos savivaldybė', 'Ekspertai']

vyr_mokytojai = kvalif[kvalif['Lygis'] == 'Vyresnysis mokytojas'].groupby('Institucijos savivaldybė')['Pedagogų skaičius'].sum().reset_index()
vyr_mokytojai.columns = ['Institucijos savivaldybė', 'Vyr. Mokytojai']

mokytojai = kvalif[kvalif['Lygis'] == 'Mokytojas'].groupby('Institucijos savivaldybė')['Pedagogų skaičius'].sum().reset_index()
mokytojai.columns = ['Institucijos savivaldybė', 'Mokytojai']
In [125]:
# Sujungiame sukurtas lenteles all_pedagogai su visu lygiu lentelemis (mokytojai,specialistai,ekspertai,metodininkai):
merged_df = pd.merge(all_pedagogai, metodininkai, on='Institucijos savivaldybė', how='left').merge(
                     ekspertai, on='Institucijos savivaldybė', how='left').merge(
                     vyr_mokytojai, on='Institucijos savivaldybė', how='left').merge(
                     mokytojai, on='Institucijos savivaldybė', how='left').fillna(0) 
merged_df
Out[125]:
Institucijos savivaldybė Visi pedagogai Metodininkai Ekspertai Vyr. Mokytojai Mokytojai
0 Akmenės r. sav. 316 122 10.0 148 36
1 Alytaus m. sav. 1053 499 40.0 365 149
2 Alytaus r. sav. 228 87 3.0 109 29
3 Anykščių r. sav. 320 139 6.0 134 41
4 Birštono sav. 85 38 6.0 24 17
5 Biržų r. sav. 388 134 10.0 186 58
6 Druskininkų sav. 320 101 3.0 145 71
7 Elektrėnų sav. 449 125 8.0 218 98
8 Ignalinos r. sav. 206 88 5.0 84 29
9 Jonavos r. sav. 719 285 22.0 274 138
10 Joniškio r. sav. 410 171 5.0 169 65
11 Jurbarko r. sav. 327 132 8.0 160 27
12 Kaišiadorių r. sav. 476 142 10.0 247 77
13 Kalvarijos sav. 160 45 4.0 86 25
14 Kauno m. sav. 5333 2258 446.0 1747 882
15 Kauno r. sav. 1329 480 41.0 523 285
16 Kazlų Rūdos sav. 201 54 0.0 83 64
17 Kelmės r. sav. 433 184 2.0 202 45
18 Klaipėdos m. sav. 3638 1620 204.0 963 851
19 Klaipėdos r. sav. 785 266 18.0 303 198
20 Kretingos r. sav. 612 286 24.0 207 95
21 Kupiškio r. sav. 324 114 6.0 166 38
22 Kėdainių r. sav. 834 314 18.0 372 130
23 Lazdijų r. sav. 290 84 4.0 143 59
24 Marijampolės sav. 1055 402 21.0 426 206
25 Mažeikių r. sav. 959 486 37.0 335 101
26 Molėtų r. sav. 265 111 3.0 127 24
27 Neringos sav. 52 26 3.0 14 9
28 Pagėgių sav. 98 33 2.0 47 16
29 Pakruojo r. sav. 289 111 2.0 133 43
30 Palangos m. sav. 340 158 22.0 105 55
31 Panevėžio m. sav. 1733 861 59.0 583 230
32 Panevėžio r. sav. 438 174 6.0 197 61
33 Pasvalio r. sav. 415 158 3.0 204 50
34 Plungės r. sav. 525 212 9.0 240 64
35 Prienų r. sav. 373 149 12.0 167 45
36 Radviliškio r. sav. 508 223 20.0 207 58
37 Raseinių r. sav. 522 202 20.0 225 75
38 Rietavo sav. 116 50 1.0 53 12
39 Rokiškio r. sav. 448 216 11.0 165 56
40 Skuodo r. sav. 229 107 7.0 85 30
41 Tauragės r. sav. 637 312 12.0 242 71
42 Telšių r. sav. 693 220 4.0 381 88
43 Trakų r. sav. 602 216 10.0 252 124
44 Ukmergės r. sav. 666 281 13.0 304 68
45 Utenos r. sav. 548 215 11.0 276 46
46 Varėnos r. sav. 225 84 2.0 104 35
47 Vilkaviškio r. sav. 671 220 14.0 326 111
48 Vilniaus m. sav. 9143 2547 483.0 4024 2089
49 Vilniaus r. sav. 1595 400 23.0 799 373
50 Visagino sav. 352 172 4.0 118 58
51 Zarasų r. sav. 222 101 7.0 90 24
52 Šakių r. sav. 422 160 4.0 225 33
53 Šalčininkų r. sav. 727 133 7.0 454 133
54 Šiaulių m. sav. 2247 867 104.0 910 366
55 Šiaulių r. sav. 577 222 18.0 238 99
56 Šilalės r. sav. 361 209 17.0 104 31
57 Šilutės r. sav. 701 368 16.0 242 75
58 Širvintų r. sav. 222 84 4.0 98 36
59 Švenčionių r. sav. 371 187 21.0 140 23
In [126]:
# Suskaičiuojame pasiskirstymą tarp Lygių procentais ir pridedame naujais stulpeliais:
merged_df['Metodininkų procentas'] = round((merged_df['Metodininkai'] / merged_df['Visi pedagogai']) * 100,0)
merged_df['Ekspertų procentas'] = round((merged_df['Ekspertai'] / merged_df['Visi pedagogai']) * 100,0)
merged_df['Vyr. mokytojų procentas'] = round((merged_df['Vyr. Mokytojai'] / merged_df['Visi pedagogai']) * 100,0)
merged_df['Mokytojų procentas'] = round((merged_df['Mokytojai'] / merged_df['Visi pedagogai']) * 100,0)
merged_df
Out[126]:
Institucijos savivaldybė Visi pedagogai Metodininkai Ekspertai Vyr. Mokytojai Mokytojai Metodininkų procentas Ekspertų procentas Vyr. mokytojų procentas Mokytojų procentas
0 Akmenės r. sav. 316 122 10.0 148 36 39.0 3.0 47.0 11.0
1 Alytaus m. sav. 1053 499 40.0 365 149 47.0 4.0 35.0 14.0
2 Alytaus r. sav. 228 87 3.0 109 29 38.0 1.0 48.0 13.0
3 Anykščių r. sav. 320 139 6.0 134 41 43.0 2.0 42.0 13.0
4 Birštono sav. 85 38 6.0 24 17 45.0 7.0 28.0 20.0
5 Biržų r. sav. 388 134 10.0 186 58 35.0 3.0 48.0 15.0
6 Druskininkų sav. 320 101 3.0 145 71 32.0 1.0 45.0 22.0
7 Elektrėnų sav. 449 125 8.0 218 98 28.0 2.0 49.0 22.0
8 Ignalinos r. sav. 206 88 5.0 84 29 43.0 2.0 41.0 14.0
9 Jonavos r. sav. 719 285 22.0 274 138 40.0 3.0 38.0 19.0
10 Joniškio r. sav. 410 171 5.0 169 65 42.0 1.0 41.0 16.0
11 Jurbarko r. sav. 327 132 8.0 160 27 40.0 2.0 49.0 8.0
12 Kaišiadorių r. sav. 476 142 10.0 247 77 30.0 2.0 52.0 16.0
13 Kalvarijos sav. 160 45 4.0 86 25 28.0 2.0 54.0 16.0
14 Kauno m. sav. 5333 2258 446.0 1747 882 42.0 8.0 33.0 17.0
15 Kauno r. sav. 1329 480 41.0 523 285 36.0 3.0 39.0 21.0
16 Kazlų Rūdos sav. 201 54 0.0 83 64 27.0 0.0 41.0 32.0
17 Kelmės r. sav. 433 184 2.0 202 45 42.0 0.0 47.0 10.0
18 Klaipėdos m. sav. 3638 1620 204.0 963 851 45.0 6.0 26.0 23.0
19 Klaipėdos r. sav. 785 266 18.0 303 198 34.0 2.0 39.0 25.0
20 Kretingos r. sav. 612 286 24.0 207 95 47.0 4.0 34.0 16.0
21 Kupiškio r. sav. 324 114 6.0 166 38 35.0 2.0 51.0 12.0
22 Kėdainių r. sav. 834 314 18.0 372 130 38.0 2.0 45.0 16.0
23 Lazdijų r. sav. 290 84 4.0 143 59 29.0 1.0 49.0 20.0
24 Marijampolės sav. 1055 402 21.0 426 206 38.0 2.0 40.0 20.0
25 Mažeikių r. sav. 959 486 37.0 335 101 51.0 4.0 35.0 11.0
26 Molėtų r. sav. 265 111 3.0 127 24 42.0 1.0 48.0 9.0
27 Neringos sav. 52 26 3.0 14 9 50.0 6.0 27.0 17.0
28 Pagėgių sav. 98 33 2.0 47 16 34.0 2.0 48.0 16.0
29 Pakruojo r. sav. 289 111 2.0 133 43 38.0 1.0 46.0 15.0
30 Palangos m. sav. 340 158 22.0 105 55 46.0 6.0 31.0 16.0
31 Panevėžio m. sav. 1733 861 59.0 583 230 50.0 3.0 34.0 13.0
32 Panevėžio r. sav. 438 174 6.0 197 61 40.0 1.0 45.0 14.0
33 Pasvalio r. sav. 415 158 3.0 204 50 38.0 1.0 49.0 12.0
34 Plungės r. sav. 525 212 9.0 240 64 40.0 2.0 46.0 12.0
35 Prienų r. sav. 373 149 12.0 167 45 40.0 3.0 45.0 12.0
36 Radviliškio r. sav. 508 223 20.0 207 58 44.0 4.0 41.0 11.0
37 Raseinių r. sav. 522 202 20.0 225 75 39.0 4.0 43.0 14.0
38 Rietavo sav. 116 50 1.0 53 12 43.0 1.0 46.0 10.0
39 Rokiškio r. sav. 448 216 11.0 165 56 48.0 2.0 37.0 12.0
40 Skuodo r. sav. 229 107 7.0 85 30 47.0 3.0 37.0 13.0
41 Tauragės r. sav. 637 312 12.0 242 71 49.0 2.0 38.0 11.0
42 Telšių r. sav. 693 220 4.0 381 88 32.0 1.0 55.0 13.0
43 Trakų r. sav. 602 216 10.0 252 124 36.0 2.0 42.0 21.0
44 Ukmergės r. sav. 666 281 13.0 304 68 42.0 2.0 46.0 10.0
45 Utenos r. sav. 548 215 11.0 276 46 39.0 2.0 50.0 8.0
46 Varėnos r. sav. 225 84 2.0 104 35 37.0 1.0 46.0 16.0
47 Vilkaviškio r. sav. 671 220 14.0 326 111 33.0 2.0 49.0 17.0
48 Vilniaus m. sav. 9143 2547 483.0 4024 2089 28.0 5.0 44.0 23.0
49 Vilniaus r. sav. 1595 400 23.0 799 373 25.0 1.0 50.0 23.0
50 Visagino sav. 352 172 4.0 118 58 49.0 1.0 34.0 16.0
51 Zarasų r. sav. 222 101 7.0 90 24 45.0 3.0 41.0 11.0
52 Šakių r. sav. 422 160 4.0 225 33 38.0 1.0 53.0 8.0
53 Šalčininkų r. sav. 727 133 7.0 454 133 18.0 1.0 62.0 18.0
54 Šiaulių m. sav. 2247 867 104.0 910 366 39.0 5.0 40.0 16.0
55 Šiaulių r. sav. 577 222 18.0 238 99 38.0 3.0 41.0 17.0
56 Šilalės r. sav. 361 209 17.0 104 31 58.0 5.0 29.0 9.0
57 Šilutės r. sav. 701 368 16.0 242 75 52.0 2.0 35.0 11.0
58 Širvintų r. sav. 222 84 4.0 98 36 38.0 2.0 44.0 16.0
59 Švenčionių r. sav. 371 187 21.0 140 23 50.0 6.0 38.0 6.0
In [127]:
# Išsirikiuojame savivaldybių, kurių mokytojų procentas mažiausias (vadinasi turi didesnį procentą kitų specialistų)
# Bei lengvesniam skaitymui pakeičiami indexai nuo 1
merged_df = merged_df.sort_values(by= ['Mokytojų procentas', 'Metodininkų procentas','Ekspertų procentas','Vyr. mokytojų procentas'],
                      ascending=[True, True,False, False]).reset_index(drop=True)
merged_df.index = merged_df.index + 1
merged_df
Out[127]:
Institucijos savivaldybė Visi pedagogai Metodininkai Ekspertai Vyr. Mokytojai Mokytojai Metodininkų procentas Ekspertų procentas Vyr. mokytojų procentas Mokytojų procentas
1 Švenčionių r. sav. 371 187 21.0 140 23 50.0 6.0 38.0 6.0
2 Šakių r. sav. 422 160 4.0 225 33 38.0 1.0 53.0 8.0
3 Utenos r. sav. 548 215 11.0 276 46 39.0 2.0 50.0 8.0
4 Jurbarko r. sav. 327 132 8.0 160 27 40.0 2.0 49.0 8.0
5 Molėtų r. sav. 265 111 3.0 127 24 42.0 1.0 48.0 9.0
6 Šilalės r. sav. 361 209 17.0 104 31 58.0 5.0 29.0 9.0
7 Ukmergės r. sav. 666 281 13.0 304 68 42.0 2.0 46.0 10.0
8 Kelmės r. sav. 433 184 2.0 202 45 42.0 0.0 47.0 10.0
9 Rietavo sav. 116 50 1.0 53 12 43.0 1.0 46.0 10.0
10 Akmenės r. sav. 316 122 10.0 148 36 39.0 3.0 47.0 11.0
11 Radviliškio r. sav. 508 223 20.0 207 58 44.0 4.0 41.0 11.0
12 Zarasų r. sav. 222 101 7.0 90 24 45.0 3.0 41.0 11.0
13 Tauragės r. sav. 637 312 12.0 242 71 49.0 2.0 38.0 11.0
14 Mažeikių r. sav. 959 486 37.0 335 101 51.0 4.0 35.0 11.0
15 Šilutės r. sav. 701 368 16.0 242 75 52.0 2.0 35.0 11.0
16 Kupiškio r. sav. 324 114 6.0 166 38 35.0 2.0 51.0 12.0
17 Pasvalio r. sav. 415 158 3.0 204 50 38.0 1.0 49.0 12.0
18 Prienų r. sav. 373 149 12.0 167 45 40.0 3.0 45.0 12.0
19 Plungės r. sav. 525 212 9.0 240 64 40.0 2.0 46.0 12.0
20 Rokiškio r. sav. 448 216 11.0 165 56 48.0 2.0 37.0 12.0
21 Telšių r. sav. 693 220 4.0 381 88 32.0 1.0 55.0 13.0
22 Alytaus r. sav. 228 87 3.0 109 29 38.0 1.0 48.0 13.0
23 Anykščių r. sav. 320 139 6.0 134 41 43.0 2.0 42.0 13.0
24 Skuodo r. sav. 229 107 7.0 85 30 47.0 3.0 37.0 13.0
25 Panevėžio m. sav. 1733 861 59.0 583 230 50.0 3.0 34.0 13.0
26 Raseinių r. sav. 522 202 20.0 225 75 39.0 4.0 43.0 14.0
27 Panevėžio r. sav. 438 174 6.0 197 61 40.0 1.0 45.0 14.0
28 Ignalinos r. sav. 206 88 5.0 84 29 43.0 2.0 41.0 14.0
29 Alytaus m. sav. 1053 499 40.0 365 149 47.0 4.0 35.0 14.0
30 Biržų r. sav. 388 134 10.0 186 58 35.0 3.0 48.0 15.0
31 Pakruojo r. sav. 289 111 2.0 133 43 38.0 1.0 46.0 15.0
32 Kalvarijos sav. 160 45 4.0 86 25 28.0 2.0 54.0 16.0
33 Kaišiadorių r. sav. 476 142 10.0 247 77 30.0 2.0 52.0 16.0
34 Pagėgių sav. 98 33 2.0 47 16 34.0 2.0 48.0 16.0
35 Varėnos r. sav. 225 84 2.0 104 35 37.0 1.0 46.0 16.0
36 Kėdainių r. sav. 834 314 18.0 372 130 38.0 2.0 45.0 16.0
37 Širvintų r. sav. 222 84 4.0 98 36 38.0 2.0 44.0 16.0
38 Šiaulių m. sav. 2247 867 104.0 910 366 39.0 5.0 40.0 16.0
39 Joniškio r. sav. 410 171 5.0 169 65 42.0 1.0 41.0 16.0
40 Palangos m. sav. 340 158 22.0 105 55 46.0 6.0 31.0 16.0
41 Kretingos r. sav. 612 286 24.0 207 95 47.0 4.0 34.0 16.0
42 Visagino sav. 352 172 4.0 118 58 49.0 1.0 34.0 16.0
43 Vilkaviškio r. sav. 671 220 14.0 326 111 33.0 2.0 49.0 17.0
44 Šiaulių r. sav. 577 222 18.0 238 99 38.0 3.0 41.0 17.0
45 Kauno m. sav. 5333 2258 446.0 1747 882 42.0 8.0 33.0 17.0
46 Neringos sav. 52 26 3.0 14 9 50.0 6.0 27.0 17.0
47 Šalčininkų r. sav. 727 133 7.0 454 133 18.0 1.0 62.0 18.0
48 Jonavos r. sav. 719 285 22.0 274 138 40.0 3.0 38.0 19.0
49 Lazdijų r. sav. 290 84 4.0 143 59 29.0 1.0 49.0 20.0
50 Marijampolės sav. 1055 402 21.0 426 206 38.0 2.0 40.0 20.0
51 Birštono sav. 85 38 6.0 24 17 45.0 7.0 28.0 20.0
52 Kauno r. sav. 1329 480 41.0 523 285 36.0 3.0 39.0 21.0
53 Trakų r. sav. 602 216 10.0 252 124 36.0 2.0 42.0 21.0
54 Elektrėnų sav. 449 125 8.0 218 98 28.0 2.0 49.0 22.0
55 Druskininkų sav. 320 101 3.0 145 71 32.0 1.0 45.0 22.0
56 Vilniaus r. sav. 1595 400 23.0 799 373 25.0 1.0 50.0 23.0
57 Vilniaus m. sav. 9143 2547 483.0 4024 2089 28.0 5.0 44.0 23.0
58 Klaipėdos m. sav. 3638 1620 204.0 963 851 45.0 6.0 26.0 23.0
59 Klaipėdos r. sav. 785 266 18.0 303 198 34.0 2.0 39.0 25.0
60 Kazlų Rūdos sav. 201 54 0.0 83 64 27.0 0.0 41.0 32.0

Hipotezės palyginimas¶

In [129]:
# Atspausdintos top 25 savivaldybės
top_25 = merged_df[0:25]
top_25
Out[129]:
Institucijos savivaldybė Visi pedagogai Metodininkai Ekspertai Vyr. Mokytojai Mokytojai Metodininkų procentas Ekspertų procentas Vyr. mokytojų procentas Mokytojų procentas
1 Švenčionių r. sav. 371 187 21.0 140 23 50.0 6.0 38.0 6.0
2 Šakių r. sav. 422 160 4.0 225 33 38.0 1.0 53.0 8.0
3 Utenos r. sav. 548 215 11.0 276 46 39.0 2.0 50.0 8.0
4 Jurbarko r. sav. 327 132 8.0 160 27 40.0 2.0 49.0 8.0
5 Molėtų r. sav. 265 111 3.0 127 24 42.0 1.0 48.0 9.0
6 Šilalės r. sav. 361 209 17.0 104 31 58.0 5.0 29.0 9.0
7 Ukmergės r. sav. 666 281 13.0 304 68 42.0 2.0 46.0 10.0
8 Kelmės r. sav. 433 184 2.0 202 45 42.0 0.0 47.0 10.0
9 Rietavo sav. 116 50 1.0 53 12 43.0 1.0 46.0 10.0
10 Akmenės r. sav. 316 122 10.0 148 36 39.0 3.0 47.0 11.0
11 Radviliškio r. sav. 508 223 20.0 207 58 44.0 4.0 41.0 11.0
12 Zarasų r. sav. 222 101 7.0 90 24 45.0 3.0 41.0 11.0
13 Tauragės r. sav. 637 312 12.0 242 71 49.0 2.0 38.0 11.0
14 Mažeikių r. sav. 959 486 37.0 335 101 51.0 4.0 35.0 11.0
15 Šilutės r. sav. 701 368 16.0 242 75 52.0 2.0 35.0 11.0
16 Kupiškio r. sav. 324 114 6.0 166 38 35.0 2.0 51.0 12.0
17 Pasvalio r. sav. 415 158 3.0 204 50 38.0 1.0 49.0 12.0
18 Prienų r. sav. 373 149 12.0 167 45 40.0 3.0 45.0 12.0
19 Plungės r. sav. 525 212 9.0 240 64 40.0 2.0 46.0 12.0
20 Rokiškio r. sav. 448 216 11.0 165 56 48.0 2.0 37.0 12.0
21 Telšių r. sav. 693 220 4.0 381 88 32.0 1.0 55.0 13.0
22 Alytaus r. sav. 228 87 3.0 109 29 38.0 1.0 48.0 13.0
23 Anykščių r. sav. 320 139 6.0 134 41 43.0 2.0 42.0 13.0
24 Skuodo r. sav. 229 107 7.0 85 30 47.0 3.0 37.0 13.0
25 Panevėžio m. sav. 1733 861 59.0 583 230 50.0 3.0 34.0 13.0
In [210]:
# Grafiko braižymas pagal pedagogų kiekį TOP 25 savivaldybėse (ne pagal paskaičiuotą prcentinę dalį)
grafiko_columns = ['Institucijos savivaldybė', 'Mokytojai', 'Vyr. Mokytojai', 'Ekspertai', 'Metodininkai',]
top_25_grafikui = top_25[grafiko_columns]

heatmap_data = top_25_grafikui.set_index('Institucijos savivaldybė').T
plt.figure(figsize=(10, 6))
sns.heatmap(heatmap_data, 
            annot=True, 
            fmt=".0f",                              # skaičių atvaizdavimo formatas - suapvalininant
            linewidths=0.3,                         # linijų storis
            cmap='coolwarm', 
            annot_kws={"size": 10, "rotation": 90}) # Pakeistas dydis ir pasuktas tekstas eiluėse
plt.title('Pedagogų skaičius pagal kategorijas TOP 25 savivaldybėse')
plt.xlabel('Savivaldybės')
plt.ylabel('Pedagogų lygiai')
plt.show()
No description has been provided for this image
In [131]:
Vilniaus_index = merged_df[merged_df['Institucijos savivaldybė']=='Vilniaus m. sav.'].index[0]
Kauno_index = merged_df[merged_df['Institucijos savivaldybė']=='Kauno m. sav.'].index[0]
Klaipėda_index = merged_df[merged_df['Institucijos savivaldybė']=='Klaipėdos m. sav.'].index[0]
Panevėžio_index = merged_df[merged_df['Institucijos savivaldybė']=='Panevėžio m. sav.'].index[0]
Šiaulių_index = merged_df[merged_df['Institucijos savivaldybė']=='Šiaulių m. sav.'].index[0]

print('Vilniaus miesto indekas', Vilniaus_index)
print('Kauno miesto indekas', Kauno_index)
print('Klaipėdos miesto indekas', Klaipėda_index)
print('Panevėžio miesto indekas', Panevėžio_index)
print('Šiaulių miesto indekas', Šiaulių_index)
Vilniaus miesto indekas 57
Kauno miesto indekas 45
Klaipėdos miesto indekas 58
Panevėžio miesto indekas 25
Šiaulių miesto indekas 38

Hipotezės rezultatas¶

    Turint Top 25 lentelę (filtruota pagal mažiausius mokytojų procentus savivaldybėse) matome, kad iš didesnių Lietuvos miestų į ją patenka tik Panevėžys pagal procentalios dalies pasiskirstymą tarp mokytojų ir kitų aukštesnio lygio kvalifikacijų.

    Tačiau TOP 25 grafike (nubraižytame pagal pedagogų kiekį savivaldybėse) dideji Lietuvos miestai labai išsiskiria pedagogų skaičiumi nuo kitų savivaldybių, todėl buvo pasirinktas skaičiavimas procentaliai pagal mokytojų ir kitų kvalifikacijų pasiskirstymą, negu pagal pedagogų skaičių.

In [134]:
print("Vertinant grafiką būtų galima tegti, kad hipotezė pasitvirtino, tačiau procentalus skaičiavimas (Top 25 lentelė) parodė, jog mažesni miestai lenkia\n","didžiuosius Lietuvos miestus. Taigi darome išvada, jog hipotezė nepasitvirtino, nes dideji miestai užima tik", Vilniaus_index , Kauno_index, Klaipėda_index, Panevėžio_index, Šiaulių_index, "vietas.") 
Vertinant grafiką būtų galima tegti, kad hipotezė pasitvirtino, tačiau procentalus skaičiavimas (Top 25 lentelė) parodė, jog mažesni miestai lenkia
 didžiuosius Lietuvos miestus. Taigi darome išvada, jog hipotezė nepasitvirtino, nes dideji miestai užima tik 57 45 58 25 38 vietas.

Išvada¶

Apibendrinant tyrimo rezultatus, galima teigti, kad iš trijų keltų hipotezių buvo patvirtintos dvi hipotezės:

H1 – Hipotezė, jog pedagogų skaičius Lietuvoje yra itin sumažėjęs, pasitvirtino. Nors pastebėtas „amzius“ lentelės netikslumas, „kvalif“ ir „kelios_darb“ duomenys parodė reikšmingą pedagogų skaičiaus mažėjimą nuo 2012 metų, nurodantį galimą pedagogų trūkumą.

H2 – Hipotezė, kad kritinė riba dėl mokytojų trūkumo bus pasiekta per 30 metų, taip pat buvo patvirtinta. Remiantis modeliu, pedagogų skaičius kritinę 45000 ribą gali peržengti jau 2031 m., o mažėjimo tendencija gali išlikti.

H3 – Hipotezė, kad aukščiausios kvalifikacijos mokytojų didžiausias kiekis yra didžiuosiuose miestuose, nepasitvirtino. Nors didieji miestai išsiskiria mokytojų skaičiumi, procentaliai aukščiausios kvalifikacijos pedagogų didžiuosiuose miestuose yra mažiau nei mažesniuose miestuose.