Hipotezė¶

Turimi duomenys SQL bazėje¶

Duomenų bazėje "bpc112" yra įkeltos tris lentelės: "nusikaltimai" - lentelėje saugomi duomenys apie skambučius pagalbos centro numeriu 112 už 2022 metus; "nmpp_school" - lentelėje saugomi duomenys apie mokymosi pasiekimus vaikų pagal savivaldybes; "population" - gyventojų skaičius pagal savivaldybes.

Hipotezės teiginys¶

  1. Savivaldybių gyventojų saugumo lygis priklauso nuo jų raštingumo ir mokymosi lygio
  2. Savivaldybių gyventojų saugumo lygis turi įtakos vaikų pasiekimams moksluose

Hipotezės tyrimo eiga¶

  1. Ištirti nusikaltymo atvejus pagal nusikaltymo sudetingumą.
  2. Nustatyti ir priskirti nusikaltimo sudetingumo lygį.
  3. Nustatyti suagias ir nesaugias, ar mažiau saugias savivaldybes.
  4. Suskaičiuoti savivaldybių rodiklius nusakančius vaikų pasiekimus moksluose.
  5. Suskirstyti savivaldybes pagal vaikų pasiekimus moksluose.
  6. Paligynti saugumo ir vaikų pasiekimų moksluose lygius.
  7. Sudaryti žemėlapį atvaizduojantį santykį tarp žmonių gyvenimo saugumo ir vaikų pasiekimų moksluose.

Duomenys¶

Bibliotekų įkelimas¶

In [1]:
import pandas as pd
import sqlalchemy
import numpy as np
import os
import mysql.connector

Prisijungimas prie DB¶

In [2]:
mydb = mysql.connector.connect(host="127.0.0.1", port="3306", user="root", password="12345",auth_plugin='mysql_native_password')

Duomenų tvarkymas¶

In [20]:
DF_nusikaltimai = pd.read_sql('Select * from bpc112.nusikaltimai', con=mydb)
DF_nusikaltimai.set_index('ID', inplace=True)
DF_nusikaltimai
C:\Temp\ipykernel_11972\2977233138.py:1: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.
  DF_nusikaltimai = pd.read_sql('Select * from bpc112.nusikaltimai', con=mydb)
Out[20]:
Years month county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai
ID
0 2023 Sausis - Rugpjūtis Respublika 1103 58 47661 37814 6547 1757
1 2023 Sausis - Liepa Respublika 956 53 41493 33065 5433 1611
2 2023 Sausis - Birželis Respublika 816 47 35597 28405 4468 1421
3 2023 Sausis - Gegužė Respublika 687 42 29752 24780 3364 1266
4 2023 Sausis - Balandis Respublika 549 34 23712 20103 2473 1004
... ... ... ... ... ... ... ... ... ...
483 2023 Sausis - Gegužė Jonavos rajonas 943 36 678 448 77 15
484 2023 Sausis - Balandis Jonavos rajonas 790 27 584 382 58 11
485 2023 Sausis - Kovas Jonavos rajonas 614 29 468 292 46 12
486 2023 Sausis - Vasaris Jonavos rajonas 398 10 324 193 28 4
487 2023 Sausis - Sausis Jonavos rajonas 172 5 175 88 13 2

488 rows × 9 columns

In [4]:
DF_nusikaltimai[DF_nusikaltimai['county']=='Jonavos rajonas'].describe()
Out[4]:
Years nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai
count 8.0 8.000000 8.00000 8.00000 8.000000 8.000000 8.000000
mean 2023.0 858.125000 35.50000 630.87500 403.625000 71.625000 15.875000
std 0.0 457.654092 22.35429 305.52037 206.795232 43.964068 10.960155
min 2023.0 172.000000 5.00000 175.00000 88.000000 13.000000 2.000000
25% 2023.0 560.000000 22.75000 432.00000 267.250000 41.500000 9.250000
50% 2023.0 866.500000 32.50000 631.00000 415.000000 67.500000 13.500000
75% 2023.0 1160.250000 52.75000 839.00000 544.000000 98.750000 24.000000
max 2023.0 1499.000000 68.00000 1066.00000 684.000000 138.000000 33.000000
In [21]:
DF_nusikaltimai = DF_nusikaltimai.loc[:,['Years', 'county', 'nusikalstamu_veiku_skaicius_100',
       'nusikalstamu_veiku_skaicius_100_sunkus',
       'nusikalstamos_veikos', 'nusikaltimai', 'nusizengimai',
       'sunkus_nusikaltimai']]
DF_nusikaltimai
Out[21]:
Years county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai
ID
0 2023 Respublika 1103 58 47661 37814 6547 1757
1 2023 Respublika 956 53 41493 33065 5433 1611
2 2023 Respublika 816 47 35597 28405 4468 1421
3 2023 Respublika 687 42 29752 24780 3364 1266
4 2023 Respublika 549 34 23712 20103 2473 1004
... ... ... ... ... ... ... ... ...
483 2023 Jonavos rajonas 943 36 678 448 77 15
484 2023 Jonavos rajonas 790 27 584 382 58 11
485 2023 Jonavos rajonas 614 29 468 292 46 12
486 2023 Jonavos rajonas 398 10 324 193 28 4
487 2023 Jonavos rajonas 172 5 175 88 13 2

488 rows × 8 columns

In [6]:
DF_mokslai = pd.read_sql('Select * from bpc112.nmpp_school', con=mydb)
DF_mokslai.set_index('ID', inplace=True)
DF_mokslai.head()
C:\Temp\ipykernel_11972\2027751768.py:1: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.
  DF_mokslai = pd.read_sql('Select * from bpc112.nmpp_school', con=mydb)
Out[6]:
PAS_Years PAS_county_id PAS_county_name PAS_languages PAS_sex PAS_age PAS_class_id PAS_gain_id PAS_gain_type PAS_level PAS_points PAS_count begin_year end_year
ID
0 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 41 Rašymo testo 1 dalis (teksto turinys) Nepakankamai pasirengęs tolesniam mokymuisi 407.668 1 2017 2018
1 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 43 Rašymo testo 1 dalis (raštingumas ir kalbinė r... Nepakankamai pasirengęs tolesniam mokymuisi 353.478 1 2017 2018
2 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 47 Rašymo testo 2 dalis (raštingumas) Nepakankamai pasirengęs tolesniam mokymuisi 501.043 1 2017 2018
3 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 503 Rašymas (1 dalis - teksto kūrimas, taškai) Nepakankamai pasirengęs tolesniam mokymuisi 381.288 1 2017 2018
4 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 31 Matematika (geometrija, matai ir matavimai) Pasirengęs tolesniam mokymuisi 536.517 2 2017 2018
In [7]:
DF_mokslai.groupby(['PAS_level','PAS_gain_type'])['PAS_points'].min()
Out[7]:
PAS_level     PAS_gain_type                                      
-             Gamtos mokslai (taškai)                                      0
              Gimtoji kalba (lenkų). Skaitymas                            13
              Gimtoji kalba (rusų).Skaitymas                              29
              Lietuvių kalba ir literatūra. Skaitymas                     16
              Matematika                                                  10
                                                                      ...   
Patenkinamas  Socialiniai mokslai (taškai)                           292.234
              Socialiniai mokslai (tyrimas ir interpretavimas)        233.11
              Socialiniai mokslai (visuomenės pažinimas)             220.656
              Socialiniai mokslai: aukštesnieji mąstymo gebėjimai    220.661
              Socialiniai mokslai: taikymai                          249.453
Name: PAS_points, Length: 337, dtype: object
In [8]:
DF_mokslai.groupby(['PAS_level'])['PAS_points'].max()
Out[8]:
PAS_level
-                                                    9
Aukštesnysis                                   774.799
Didelė rizika (grėsmė) tolesniam mokymuisi      ?28.68
Nepakankamai pasirengęs tolesniam mokymuisi    628.284
Nepasiektas patenkinamas                             9
Pagrindinis                                      727.6
Pasirengęs tolesniam mokymuisi                 666.032
Patenkinamas                                         9
Name: PAS_points, dtype: object
In [9]:
DF_mokslai.groupby(['PAS_level'])['PAS_points'].min()
Out[9]:
PAS_level
-                                                    0
Aukštesnysis                                        24
Didelė rizika (grėsmė) tolesniam mokymuisi     107.894
Nepakankamai pasirengęs tolesniam mokymuisi    107.894
Nepasiektas patenkinamas                             0
Pagrindinis                                         10
Pasirengęs tolesniam mokymuisi                 198.159
Patenkinamas                                        10
Name: PAS_points, dtype: object
In [10]:
def mokslo_lygis(lygis):
    lygis_id = -1
    if lygis == 'Aukštesnysis':
        lygis_id = 10
    elif lygis == 'Pagrindinis':
        lygis_id = 9
    elif lygis == 'Patenkinamas':
        lygis_id = 8
    elif lygis == 'Pasirengęs tolesniam mokymuisi':
        lygis_id = 7
    elif lygis == 'Nepasiektas patenkinamas':
        lygis_id = 6
    elif lygis == 'Nepakankamai pasirengęs tolesniam mokymuisi':
        lygis_id = 5
    else:
        lygis_id = 4
    return lygis_id
DF_mokslai['level'] = DF_mokslai['PAS_level'].apply(mokslo_lygis)
DF_mokslai.head()
Out[10]:
PAS_Years PAS_county_id PAS_county_name PAS_languages PAS_sex PAS_age PAS_class_id PAS_gain_id PAS_gain_type PAS_level PAS_points PAS_count begin_year end_year level
ID
0 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 41 Rašymo testo 1 dalis (teksto turinys) Nepakankamai pasirengęs tolesniam mokymuisi 407.668 1 2017 2018 5
1 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 43 Rašymo testo 1 dalis (raštingumas ir kalbinė r... Nepakankamai pasirengęs tolesniam mokymuisi 353.478 1 2017 2018 5
2 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 47 Rašymo testo 2 dalis (raštingumas) Nepakankamai pasirengęs tolesniam mokymuisi 501.043 1 2017 2018 5
3 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 503 Rašymas (1 dalis - teksto kūrimas, taškai) Nepakankamai pasirengęs tolesniam mokymuisi 381.288 1 2017 2018 5
4 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 31 Matematika (geometrija, matai ir matavimai) Pasirengęs tolesniam mokymuisi 536.517 2 2017 2018 7
In [11]:
DF_mokslai[DF_mokslai['PAS_level'] == 'Aukštesnysis'].sort_values(by='PAS_points')
Out[11]:
PAS_Years PAS_county_id PAS_county_name PAS_languages PAS_sex PAS_age PAS_class_id PAS_gain_id PAS_gain_type PAS_level PAS_points PAS_count begin_year end_year level
ID
916252 2022-2023 127 Kretingos r. sav. lietuvių Mergaitės 10 4 637 Skaitymas Aukštesnysis 24 1 2022 2023 10
929760 2022-2023 146 Šilutės r. sav. lietuvių Mergaitės 10 4 637 Skaitymas Aukštesnysis 24 2 2022 2023 10
929822 2022-2023 539 Širvintų r. sav. lietuvių Mergaitės 10 4 637 Skaitymas Aukštesnysis 24 1 2022 2023 10
908086 2022-2023 2 Alytaus m. sav. lietuvių Mergaitės 10 4 637 Skaitymas Aukštesnysis 24 1 2022 2023 10
918187 2022-2023 359 Mažeikių r. sav. lietuvių Berniukai 10 4 637 Skaitymas Aukštesnysis 24 1 2022 2023 10
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
340147 2017-2018 114 Palangos m. sav. lietuvių Mergaitės 14 8 513 Matematika (taškai) Aukštesnysis 774.799 1 2017 2018 10
142746 2017-2018 43 Kauno m. sav. lietuvių Mergaitės 14 8 513 Matematika (taškai) Aukštesnysis 774.799 5 2017 2018 10
565717 2017-2018 381 Telšių r. sav. lietuvių Mergaitės 14 8 513 Matematika (taškai) Aukštesnysis 774.799 1 2017 2018 10
670191 2017-2018 461 Vilniaus m. sav. lietuvių Berniukai 13 8 513 Matematika (taškai) Aukštesnysis 774.799 2 2017 2018 10
674600 2017-2018 461 Vilniaus m. sav. lietuvių Berniukai 14 8 513 Matematika (taškai) Aukštesnysis 774.799 10 2017 2018 10

158049 rows × 15 columns

In [22]:
DF_nusikaltimai.reset_index(inplace=True)
In [25]:
def change_county_name(text):

    if text.find('rajonas') >=0:
        new_name = text.replace('rajonas','r. sav.')
    elif text.find('savivaldybė') >=0:
        new_name = text.replace('savivaldybė','r. sav.')
    else:
        new_name = text.replace('miestas','m. sav.')
    return new_name

DF_nusikaltimai['new_county'] = DF_nusikaltimai['county'].apply(change_county_name)
DF_nusikaltimai.head()
Out[25]:
ID Years county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai new_county
0 0 2023 Respublika 1103 58 47661 37814 6547 1757 Respublika
1 1 2023 Respublika 956 53 41493 33065 5433 1611 Respublika
2 2 2023 Respublika 816 47 35597 28405 4468 1421 Respublika
3 3 2023 Respublika 687 42 29752 24780 3364 1266 Respublika
4 4 2023 Respublika 549 34 23712 20103 2473 1004 Respublika
In [16]:
 
Out[16]:
ID Years county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai new_county
In [23]:
DF_nusikaltimai
Out[23]:
ID Years county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai
0 0 2023 Respublika 1103 58 47661 37814 6547 1757
1 1 2023 Respublika 956 53 41493 33065 5433 1611
2 2 2023 Respublika 816 47 35597 28405 4468 1421
3 3 2023 Respublika 687 42 29752 24780 3364 1266
4 4 2023 Respublika 549 34 23712 20103 2473 1004
... ... ... ... ... ... ... ... ... ...
483 483 2023 Jonavos rajonas 943 36 678 448 77 15
484 484 2023 Jonavos rajonas 790 27 584 382 58 11
485 485 2023 Jonavos rajonas 614 29 468 292 46 12
486 486 2023 Jonavos rajonas 398 10 324 193 28 4
487 487 2023 Jonavos rajonas 172 5 175 88 13 2

488 rows × 9 columns

In [17]:
DF_mokslai.loc[:,['PAS_county_name','PAS_county_id']].drop_duplicates()
Out[17]:
PAS_county_name PAS_county_id
ID
0 Akmenės r. sav. 260
5920 Alytaus m. sav. 2
19609 Alytaus r. sav. 4
26667 Anykščių r. sav. 393
34529 Birštono sav. 42
38250 Biržų r. sav. 206
44854 Druskininkų sav. 3
51761 Elektrėnų sav. 1191
59118 Ignalinos r. sav. 413
64583 Jonavos r. sav. 44
78717 Joniškio r. sav. 267
87086 Jurbarko r. sav. 346
98624 Kaišiadorių r. sav. 53
108485 Kalvarijos sav. 1192
113296 Kauno m. sav. 43
153770 Kauno r. sav. 63
177462 Kazlų Rūdos sav. 1193
183261 Kėdainių r. sav. 215
197853 Kelmės r. sav. 278
209454 Klaipėdos m. sav. 112
238042 Klaipėdos r. sav. 115
254444 Kretingos r. sav. 127
268245 Kupiškio r. sav. 228
274595 Lazdijų r. sav. 27
281413 Marijampolės sav. 162
296830 Mažeikių r. sav. 359
311690 Molėtų r. sav. 426
319998 Neringos sav. 113
320744 Pagėgių sav. 1196
321351 Pakruojo r. sav. 289
334053 Palangos m. sav. 114
337463 Panevėžio m. sav. 205
355192 Panevėžio r. sav. 235
365778 Pasvalio r. sav. 247
376647 Plungės r. sav. 367
386503 Prienų r. sav. 86
397128 Radviliškio r. sav. 298
409224 Raseinių r. sav. 98
418349 Rietavo sav. 1197
422267 Rokiškio r. sav. 438
433641 Šakių r. sav. 187
447093 Šalčininkų r. sav. 513
464487 Šiaulių m. sav. 259
482708 Šiaulių r. sav. 311
495186 Šilalės r. sav. 332
506978 Šilutės r. sav. 146
519818 Širvintų r. sav. 539
527386 Skuodo r. sav. 136
535047 Švenčionių r. sav. 526
544825 Tauragės r. sav. 323
556202 Telšių r. sav. 381
568892 Trakų r. sav. 487
581349 Ukmergės r. sav. 501
593773 Utenos r. sav. 449
604583 Varėnos r. sav. 16
613217 Vilkaviškio r. sav. 163
624562 Vilniaus m. sav. 461
708505 Vilniaus r. sav. 462
747651 Visagino sav. 459
756844 Zarasų r. sav. 403
In [ ]:
df_n = DF_nusikaltimai.loc[:,['new_county']].drop_duplicates()
df_n.to_csv('sav.csv')
In [26]:
def find_full_name(text):
    if not (text.find('r. sav.') >=0 or text.find('m. sav.')>=0):
        print(text)

DF_nusikaltimai['new_county'].apply(find_full_name)
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Marijampolės PK
Marijampolės PK
Marijampolės PK
Marijampolės PK
Marijampolės PK
Marijampolės PK
Marijampolės PK
Marijampolės PK
Neringa
Neringa
Neringa
Neringa
Neringa
Neringa
Neringa
Neringa
Palanga
Palanga
Palanga
Palanga
Palanga
Palanga
Palanga
Palanga
Birštonas
Birštonas
Birštonas
Birštonas
Birštonas
Birštonas
Birštonas
Birštonas
Visaginas
Visaginas
Visaginas
Visaginas
Visaginas
Visaginas
Visaginas
Visaginas
Druskininkai
Druskininkai
Druskininkai
Druskininkai
Druskininkai
Druskininkai
Druskininkai
Druskininkai
Elektrėnai
Elektrėnai
Elektrėnai
Elektrėnai
Elektrėnai
Elektrėnai
Elektrėnai
Elektrėnai
Out[26]:
0      None
1      None
2      None
3      None
4      None
       ... 
483    None
484    None
485    None
486    None
487    None
Name: new_county, Length: 488, dtype: object
In [34]:
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Birštonas', "new_county"] = "Birštono r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Druskininkai', "new_county"] = "Druskininkų r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Marijampolės PK', "new_county"] = "Marijampolės r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Neringa', "new_county"] = "Neringos r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Palanga', "new_county"] = "Palangos r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Visaginas', "new_county"] = "Visagino r. sav."
DF_nusikaltimai.loc[DF_nusikaltimai["new_county"] == 'Elektrėnai', "new_county"] = "Elektrėnų r. sav."
In [35]:
DF_nusikaltimai[DF_nusikaltimai['new_county'] == 'Birštono r. sav.']
Out[35]:
ID Years county nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100_sunkus nusikalstamos_veikos nusikaltimai nusizengimai sunkus_nusikaltimai new_county
272 272 2023 Birštonas 775 48 80 44 6 2 Birštono r. sav.
273 273 2023 Birštonas 654 48 70 37 5 2 Birštono r. sav.
274 274 2023 Birštonas 412 24 60 20 5 1 Birštono r. sav.
275 275 2023 Birštonas 242 24 32 13 1 1 Birštono r. sav.
276 276 2023 Birštonas 145 24 28 9 0 1 Birštono r. sav.
277 277 2023 Birštonas 121 24 32 8 0 1 Birštono r. sav.
278 278 2023 Birštonas 97 24 57 7 1 1 Birštono r. sav.
279 279 2023 Birštonas 24 24 53 1 0 1 Birštono r. sav.
In [36]:
def find_full_name(text):
    if not (text.find('r. sav.') >=0 or text.find('m. sav.')>=0):
        print(text)

DF_nusikaltimai['new_county'].apply(find_full_name)
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Respublika
Out[36]:
0      None
1      None
2      None
3      None
4      None
       ... 
483    None
484    None
485    None
486    None
487    None
Name: new_county, Length: 488, dtype: object
In [37]:
def change_county_name(text):

    if text.find('rajonas') >=0:
        new_name = text.replace('rajonas','r. sav.')
    elif text.find('savivaldybė') >=0:
        new_name = text.replace('savivaldybė','r. sav.')
    elif text.find('miestas') >=0:
        new_name = text.replace('miestas','m. sav.')
    else: new_name = text
        
    if not (new_name.find('r. sav.') >=0 or new_name.find('m. sav.')>=0):
        new_name = new_name.replace('sav.','r. sav.')   
        
    return new_name

DF_mokslai['PAS_county_name'] = DF_mokslai['PAS_county_name'].apply(change_county_name)
In [38]:
DF_mokslai['PAS_county_name'].apply(find_full_name)
Out[38]:
ID
0         None
1         None
2         None
3         None
4         None
          ... 
935114    None
935115    None
935116    None
935117    None
935118    None
Name: PAS_county_name, Length: 935119, dtype: object
In [39]:
DF_nusikaltimai.rename(columns={'new_county':'County_name'}, inplace=True)
In [40]:
DF_mokslai.rename(columns={'PAS_county_name':'County_name'}, inplace=True)
DF_mokslai
Out[40]:
PAS_Years PAS_county_id County_name PAS_languages PAS_sex PAS_age PAS_class_id PAS_gain_id PAS_gain_type PAS_level PAS_points PAS_count begin_year end_year level
ID
0 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 41 Rašymo testo 1 dalis (teksto turinys) Nepakankamai pasirengęs tolesniam mokymuisi 407.668 1 2017 2018 5
1 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 43 Rašymo testo 1 dalis (raštingumas ir kalbinė r... Nepakankamai pasirengęs tolesniam mokymuisi 353.478 1 2017 2018 5
2 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 47 Rašymo testo 2 dalis (raštingumas) Nepakankamai pasirengęs tolesniam mokymuisi 501.043 1 2017 2018 5
3 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 503 Rašymas (1 dalis - teksto kūrimas, taškai) Nepakankamai pasirengęs tolesniam mokymuisi 381.288 1 2017 2018 5
4 2017-2018 260 Akmenės r. sav. lietuvių Berniukai 7 2 31 Matematika (geometrija, matai ir matavimai) Pasirengęs tolesniam mokymuisi 536.517 2 2017 2018 7
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
935114 2022-2023 403 Zarasų r. sav. lietuvių Mergaitės 14 8 638 Matematika Pagrindinis 36 1 2022 2023 9
935115 2022-2023 403 Zarasų r. sav. lietuvių Mergaitės 14 8 639 Lietuvių kalba ir literatūra. Skaitymas Pagrindinis 26 4 2022 2023 9
935116 2022-2023 403 Zarasų r. sav. lietuvių Mergaitės 14 8 639 Lietuvių kalba ir literatūra. Skaitymas Pagrindinis 29 1 2022 2023 9
935117 2022-2023 403 Zarasų r. sav. lietuvių Berniukai 14 8 638 Matematika Patenkinamas 16 4 2022 2023 8
935118 2022-2023 403 Zarasų r. sav. lietuvių Berniukai 15 8 638 Matematika - 41 1 2022 2023 4

935119 rows × 15 columns

In [42]:
engine = sqlalchemy.create_engine('mysql://root:12345@localhost/bpc112')
In [43]:
%load_ext sql
In [44]:
%sql mysql://root:12345@localhost/bpc112
In [ ]:
DF_mokslai.to_sql("nmpp", engine, if_exists="replace", index=False)
In [45]:
DF_nusikaltimai.to_sql("nusikaltimu_statistika", engine, if_exists="replace", index=False)
Out[45]:
488
In [ ]:
%%sql 
ALTER TABLE bpc112.nmpp
CHANGE COLUMN PAS_Years PAS_Years VARCHAR(50),
CHANGE COLUMN PAS_county_id PAS_county_id int,
CHANGE COLUMN County_name County_name VARCHAR(255),
CHANGE COLUMN PAS_languages PAS_languages VARCHAR(50),
CHANGE COLUMN PAS_sex PAS_sex VARCHAR(50),
CHANGE COLUMN PAS_age PAS_age tinyint,
CHANGE COLUMN PAS_class_id PAS_class_id tinyint,
CHANGE COLUMN PAS_gain_id PAS_gain_id int,
CHANGE COLUMN PAS_gain_type PAS_gain_type VARCHAR(255),
CHANGE COLUMN PAS_level PAS_level VARCHAR(255),
CHANGE COLUMN PAS_count PAS_count int,
CHANGE COLUMN begin_year begin_year int,
CHANGE COLUMN end_year end_year int,
CHANGE COLUMN level level int,
CHANGE COLUMN ID ID int not NULL
In [ ]:
%%sql 
ALTER TABLE nusikaltimu_statistika
ADD PRIMARY KEY (ID)
In [ ]:
%%sql 
ALTER TABLE bpc112.nusikaltimai
CHANGE COLUMN Years Years int,
CHANGE COLUMN County_name County_name VARCHAR(150),
CHANGE COLUMN county county VARCHAR(150),
CHANGE COLUMN nusikalstamu_veiku_skaicius_100 nusikalstamu_veiku_skaicius_100 int,
CHANGE COLUMN nusikalstamu_veiku_skaicius_100_sunkus nusikalstamu_veiku_skaicius_100_sunkus int,
CHANGE COLUMN nusikalstamos_veikos nusikalstamos_veikos int,
CHANGE COLUMN nusikaltimai nusikaltimai int,
CHANGE COLUMN nusizengimai nusizengimai int,
CHANGE COLUMN sunkus_nusikaltimai sunkus_nusikaltimai int,
CHANGE COLUMN ID ID int not NULL
In [ ]:
%%sql
Create view nusikaltimai AS
Select * From nusikaltimu_statistika
In [ ]: