135 KiB
135 KiB
#Instalacja potrzebnych bibliotek
!pip install --user kaggle
!pip install --user pandas
Requirement already satisfied: kaggle in c:\users\ggap9\anaconda31\lib\site-packages (1.5.13) Requirement already satisfied: tqdm in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (4.62.3) Requirement already satisfied: certifi in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (2021.10.8) Requirement already satisfied: requests in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (2.26.0) Requirement already satisfied: six>=1.10 in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (1.16.0) Requirement already satisfied: urllib3 in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (1.26.7) Requirement already satisfied: python-slugify in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (5.0.2) Requirement already satisfied: python-dateutil in c:\users\ggap9\anaconda31\lib\site-packages (from kaggle) (2.8.2) Requirement already satisfied: text-unidecode>=1.3 in c:\users\ggap9\anaconda31\lib\site-packages (from python-slugify->kaggle) (1.3) Requirement already satisfied: idna<4,>=2.5 in c:\users\ggap9\anaconda31\lib\site-packages (from requests->kaggle) (3.2) Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\ggap9\anaconda31\lib\site-packages (from requests->kaggle) (2.0.4) Requirement already satisfied: colorama in c:\users\ggap9\anaconda31\lib\site-packages (from tqdm->kaggle) (0.4.4) Requirement already satisfied: pandas in c:\users\ggap9\anaconda31\lib\site-packages (1.3.4) Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (2.8.2) Requirement already satisfied: pytz>=2017.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (2021.3) Requirement already satisfied: numpy>=1.17.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (1.20.3) Requirement already satisfied: six>=1.5 in c:\users\ggap9\anaconda31\lib\site-packages (from python-dateutil>=2.7.3->pandas) (1.16.0)
#Pobranie zbioru danych
!kaggle datasets download -d brezniczky/2019-european-parliament-election-in-poland-data
Downloading 2019-european-parliament-election-in-poland-data.zip to D:\Studia\IUM
0%| | 0.00/12.5M [00:00<?, ?B/s] 8%|7 | 1.00M/12.5M [00:00<00:02, 5.09MB/s] 32%|###1 | 4.00M/12.5M [00:00<00:00, 13.6MB/s] 48%|####7 | 6.00M/12.5M [00:00<00:00, 15.7MB/s] 64%|######3 | 8.00M/12.5M [00:00<00:00, 11.7MB/s] 80%|#######9 | 10.0M/12.5M [00:01<00:00, 8.02MB/s] 96%|#########5| 12.0M/12.5M [00:01<00:00, 9.47MB/s] 100%|##########| 12.5M/12.5M [00:01<00:00, 10.2MB/s]
#Rozpakowanie danych
!unzip -o 2019-european-parliament-election-in-poland-data.zip
'unzip' is not recognized as an internal or external command, operable program or batch file.
#Instalacja bibliotek
!pip install --user pandas
!pip install --user seaborn
Requirement already satisfied: pandas in c:\users\ggap9\anaconda31\lib\site-packages (1.3.4) Requirement already satisfied: numpy>=1.17.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (1.20.3) Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (2.8.2) Requirement already satisfied: pytz>=2017.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas) (2021.3) Requirement already satisfied: six>=1.5 in c:\users\ggap9\anaconda31\lib\site-packages (from python-dateutil>=2.7.3->pandas) (1.16.0) Requirement already satisfied: seaborn in c:\users\ggap9\anaconda31\lib\site-packages (0.11.2) Requirement already satisfied: numpy>=1.15 in c:\users\ggap9\anaconda31\lib\site-packages (from seaborn) (1.20.3) Requirement already satisfied: scipy>=1.0 in c:\users\ggap9\anaconda31\lib\site-packages (from seaborn) (1.7.1) Requirement already satisfied: matplotlib>=2.2 in c:\users\ggap9\anaconda31\lib\site-packages (from seaborn) (3.4.3) Requirement already satisfied: pandas>=0.23 in c:\users\ggap9\anaconda31\lib\site-packages (from seaborn) (1.3.4) Requirement already satisfied: python-dateutil>=2.7 in c:\users\ggap9\anaconda31\lib\site-packages (from matplotlib>=2.2->seaborn) (2.8.2) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\ggap9\anaconda31\lib\site-packages (from matplotlib>=2.2->seaborn) (1.3.1) Requirement already satisfied: pillow>=6.2.0 in c:\users\ggap9\anaconda31\lib\site-packages (from matplotlib>=2.2->seaborn) (8.4.0) Requirement already satisfied: pyparsing>=2.2.1 in c:\users\ggap9\anaconda31\lib\site-packages (from matplotlib>=2.2->seaborn) (3.0.4) Requirement already satisfied: cycler>=0.10 in c:\users\ggap9\anaconda31\lib\site-packages (from matplotlib>=2.2->seaborn) (0.10.0) Requirement already satisfied: six in c:\users\ggap9\anaconda31\lib\site-packages (from cycler>=0.10->matplotlib>=2.2->seaborn) (1.16.0) Requirement already satisfied: pytz>=2017.3 in c:\users\ggap9\anaconda31\lib\site-packages (from pandas>=0.23->seaborn) (2021.3)
#Testowe wczytanie pojedynczego arkusza z danymi (1 z 13)
import pandas as pd
data_district_1=pd.read_csv('2019-european-parliament-election-in-poland-data\wyniki_gl_na_kand_po_obwodach_sheet_1.csv')
data_district_1
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | 2 KNUTH Maciej | 3 JANOWICZ Kamila Marta | 4 WIŚNIEWSKI Radosław Andrzej | 5 PAWEŁCZAK Barnaba Bogusz | 6 STRUK Anna Marta | 7 WARDA Małgorzata Maja | 8 MAKRENEK Helena Cecylia | 9 DOMŻALSKA Elżbieta Maria | 10 GRAJKOWSKI Piotr | Razem.6 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 220101 | 1 | wieś | stały | Gminna Biblioteka i Ośrodek Kultury w Borzytuc... | gm. Borzytuchom | bytowski | pomorskie | 1199 | 1583 | ... | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
1 | 220101 | 2 | wieś | stały | Sala wiejska, Dąbrówka 22, 77-100 Bytów | gm. Borzytuchom | bytowski | pomorskie | 349 | 463 | ... | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
2 | 220101 | 3 | wieś | stały | Szkoła Podstawowa, Niedarzyno 21b, 77-141 Borz... | gm. Borzytuchom | bytowski | pomorskie | 319 | 424 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
3 | 220102 | 1 | miasto | stały | Zespół Szkół Ogólnokształcących, ul. Gdańska 5... | gm. Bytów | bytowski | pomorskie | 1180 | 1550 | ... | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
4 | 220102 | 2 | miasto | stały | Zespół Szkół Ponadgimnazjalnych, ul. Gen. Wład... | gm. Bytów | bytowski | pomorskie | 1062 | 1392 | ... | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 5 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1391 | 226401 | 17 | miasto | stały | Spółdzielnia Mieszkaniowa im. J. I. Kraszewske... | m. Sopot | Sopot | pomorskie | 1219 | 1615 | ... | 1 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 1 | 10 |
1392 | 226401 | 18 | miasto | stały | Zespół Szkół Handlowych, ul. Wejherowska 1, 81... | m. Sopot | Sopot | pomorskie | 719 | 954 | ... | 1 | 2 | 1 | 0 | 1 | 1 | 0 | 2 | 0 | 9 |
1393 | 226401 | 19 | miasto | stały | Miejska Biblioteka Publiczna Filia Nr 8, ul. M... | m. Sopot | Sopot | pomorskie | 1091 | 1417 | ... | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 5 |
1394 | 226401 | 20 | miasto | stały | Szkoła Podstawowa z Oddziałami Integracyjnymi ... | m. Sopot | Sopot | pomorskie | 1078 | 1437 | ... | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 11 |
1395 | 226401 | 21 | miasto | stały | Przedszkole z Oddziałami Integracyjnymi Nr 12,... | m. Sopot | Sopot | pomorskie | 1091 | 1438 | ... | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 7 |
1396 rows × 117 columns
#Opis danych z arkusza testowego
data_district_1.describe(include='all')
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | 2 KNUTH Maciej | 3 JANOWICZ Kamila Marta | 4 WIŚNIEWSKI Radosław Andrzej | 5 PAWEŁCZAK Barnaba Bogusz | 6 STRUK Anna Marta | 7 WARDA Małgorzata Maja | 8 MAKRENEK Helena Cecylia | 9 DOMŻALSKA Elżbieta Maria | 10 GRAJKOWSKI Piotr | Razem.6 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 1396.000000 | 1396.000000 | 1396 | 1396 | 1396 | 1396 | 1396 | 1396 | 1396.000000 | 1396.000000 | ... | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 | 1396.000000 |
unique | NaN | NaN | 2 | 8 | 1267 | 123 | 20 | 1 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
top | NaN | NaN | miasto | stały | Szkoła Podstawowa Nr 2 z Oddziałami Sportowymi... | m. Gdańsk | Gdańsk | pomorskie | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
freq | NaN | NaN | 759 | 1314 | 5 | 198 | 198 | 1396 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
mean | 222342.944126 | 25.264327 | NaN | NaN | NaN | NaN | NaN | NaN | 963.150430 | 1264.388252 | ... | 0.534384 | 0.573066 | 0.310172 | 0.208453 | 0.575931 | 0.409742 | 0.128940 | 0.213467 | 0.506447 | 6.035100 |
std | 2399.816744 | 41.512458 | NaN | NaN | NaN | NaN | NaN | NaN | 475.617459 | 640.724087 | ... | 0.998691 | 1.179134 | 0.664888 | 0.488095 | 0.933238 | 0.792269 | 0.399633 | 0.505445 | 0.823900 | 5.392367 |
min | 220101.000000 | 1.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 30.000000 | 18.000000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 |
25% | 220604.000000 | 3.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 593.750000 | 776.250000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 2.000000 |
50% | 221302.000000 | 8.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 970.000000 | 1267.500000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 5.000000 |
75% | 226101.000000 | 19.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 1295.000000 | 1707.250000 | ... | 1.000000 | 1.000000 | 0.000000 | 0.000000 | 1.000000 | 1.000000 | 0.000000 | 0.000000 | 1.000000 | 9.000000 |
max | 226401.000000 | 198.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 2452.000000 | 3273.000000 | ... | 11.000000 | 18.000000 | 7.000000 | 3.000000 | 7.000000 | 6.000000 | 4.000000 | 4.000000 | 5.000000 | 35.000000 |
11 rows × 117 columns
#Wczytanie i obróbka całości danych
big_dataset = pd.DataFrame()
#Trzeba wczytać każdy z 13 arkuszy z danymi dla poszczególnych okręgów wyborczych
for i in range(1,14):
filename = '2019-european-parliament-election-in-poland-data\wyniki_gl_na_kand_po_obwodach_sheet_'+str(i)+'.csv'
data_district = pd.read_csv(filename)
data_district['obwod'] = i
df = data_district.copy()
cols_to_remove = []
for c in range(35,len(df.columns)):
cols_to_remove.append(c)
#Wycięcie nadmiarowych danych - szczegółowych informacji o głosach na poszczególnych kandydatów w poszczególnych komisjach
df.drop(df.columns[cols_to_remove],axis=1,inplace=True)
#Uwzględnienie w danych zbiorczych wyników komitetów wyborczych w poszczególnych komisjach
df['Konfederacja'] = data_district['Lista nr 1 - KWW KONFEDERACJA KORWIN BRAUN LIROY NARODOWCY']
df['Wiosna'] = data_district['Lista nr 2 - KW WIOSNA ROBERTA BIEDRONIA']
df['Koalicja Europejska'] = data_district['Lista nr 3 - KKW KOALICJA EUROPEJSKA PO PSL SLD .N ZIELONI']
df['Prawo i Sprawiedliwość'] = data_district['Lista nr 4 - KW PRAWO I SPRAWIEDLIWOŚĆ']
df['Lewica Razem'] = data_district['Lista nr 5 - KKW LEWICA RAZEM - RAZEM, UNIA PRACY, RSS']
df['Kukiz15'] = data_district['Lista nr 6 - KWW KUKIZ\'15']
#Poniżej trzy komitety, które były zarejestrowane tylko w niektórych okręgach wyborczych
if 'Lista nr 7 - KWW POLSKA FAIR PLAY BEZPARTYJNI GWIAZDOWSKI' in data_district.columns:
df['Polska Fair Play'] = data_district['Lista nr 7 - KWW POLSKA FAIR PLAY BEZPARTYJNI GWIAZDOWSKI']
else:
df['Polska Fair Play'] = 0
if 'Lista nr 9 - KKW POLEXIT - KOALICJA' in data_district.columns:
df['POLEXIT'] = data_district['Lista nr 9 - KKW POLEXIT - KOALICJA']
else:
df['POLEXIT'] = 0
if 'Lista nr 10 - KW JEDNOŚĆ NARODU' in data_district.columns:
df['Jedność Narodu'] = data_district['Lista nr 10 - KW JEDNOŚĆ NARODU']
else:
df['Jedność Narodu'] = 0
#Dodanie kolumny przechowującej informację o tym, w którym okręgu znajduje się dana komisja
df['obwod'] = i
#Doklejenie wczytanych dla okręgu i obrobionych danych do głównego zbioru
big_dataset = pd.concat([big_dataset,df])
print(big_dataset)
Kod terytorialny gminy Nr obwodu głosowania Typ obszaru \ 0 220101 1 wieś 1 220101 2 wieś 2 220101 3 wieś 3 220102 1 miasto 4 220102 2 miasto ... ... ... ... 1836 326301 23 miasto 1837 326301 24 miasto 1838 326301 25 miasto 1839 326301 26 miasto 1840 326301 27 miasto Typ obwodu Siedziba Obwodowej Komisji Wyborczej \ 0 stały Gminna Biblioteka i Ośrodek Kultury w Borzytuc... 1 stały Sala wiejska, Dąbrówka 22, 77-100 Bytów 2 stały Szkoła Podstawowa, Niedarzyno 21b, 77-141 Borz... 3 stały Zespół Szkół Ogólnokształcących, ul. Gdańska 5... 4 stały Zespół Szkół Ponadgimnazjalnych, ul. Gen. Wład... ... ... ... 1836 stały Miejski Dom Kultury Filia Nr 2, Świnoujście, W... 1837 stały Miejski Dom Kultury Filia Nr 3, Świnoujście, K... 1838 stały Miejski Dom Kultury Filia Nr 1, Świnoujście, P... 1839 zakład leczniczy Szpital Miejski im. Jana Garduły, ul. Mieszka ... 1840 zakład leczniczy Samodzielny Publiczny Zakład Opieki Zdrowotnej... Gmina Powiat Województwo \ 0 gm. Borzytuchom bytowski pomorskie 1 gm. Borzytuchom bytowski pomorskie 2 gm. Borzytuchom bytowski pomorskie 3 gm. Bytów bytowski pomorskie 4 gm. Bytów bytowski pomorskie ... ... ... ... 1836 m. Świnoujście Świnoujście zachodniopomorskie 1837 m. Świnoujście Świnoujście zachodniopomorskie 1838 m. Świnoujście Świnoujście zachodniopomorskie 1839 m. Świnoujście Świnoujście zachodniopomorskie 1840 m. Świnoujście Świnoujście zachodniopomorskie Komisja otrzymała kart do głosowania \ 0 1199 1 349 2 319 3 1180 4 1062 ... ... 1836 776 1837 451 1838 750 1839 70 1840 32 Liczba wyborców uprawnionych do głosowania ... Konfederacja Wiosna \ 0 1583 ... 20 56 1 463 ... 3 10 2 424 ... 5 12 3 1550 ... 17 55 4 1392 ... 33 38 ... ... ... ... ... 1836 1043 ... 14 34 1837 583 ... 4 19 1838 981 ... 12 31 1839 69 ... 1 2 1840 45 ... 0 0 Koalicja Europejska Prawo i Sprawiedliwość Lewica Razem Kukiz15 \ 0 193 247 8 12 1 73 61 2 2 2 64 62 0 8 3 327 352 4 22 4 291 215 0 11 ... ... ... ... ... 1836 183 130 3 15 1837 90 87 2 4 1838 223 195 6 9 1839 17 6 1 0 1840 6 6 0 1 Polska Fair Play POLEXIT Jedność Narodu obwod 0 4 0 0 1 1 2 0 0 1 2 2 0 0 1 3 1 0 0 1 4 5 0 0 1 ... ... ... ... ... 1836 0 0 0 13 1837 0 0 0 13 1838 0 0 0 13 1839 0 0 0 13 1840 0 0 0 13 [27285 rows x 45 columns]
#Opis głównego zbioru
big_dataset.describe(include='all')
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | Konfederacja | Wiosna | Koalicja Europejska | Prawo i Sprawiedliwość | Lewica Razem | Kukiz15 | Polska Fair Play | POLEXIT | Jedność Narodu | obwod | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 27285.000000 | 27285.000000 | 27285 | 27285 | 27285 | 27285 | 27285 | 27285 | 27285.000000 | 27285.000000 | ... | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 | 27285.000000 |
unique | NaN | NaN | 5 | 11 | 24676 | 2415 | 372 | 16 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
top | NaN | NaN | wieś | stały | Szkoła Podstawowa Nr 89, os. Piastów 34a, 31-6... | m. Kraków | Warszawa | mazowieckie | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
freq | NaN | NaN | 13653 | 25426 | 7 | 450 | 787 | 3689 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
mean | 166300.613451 | 38.968921 | NaN | NaN | NaN | NaN | NaN | NaN | 848.402566 | 1103.861169 | ... | 22.766648 | 30.308778 | 192.411032 | 226.966465 | 6.184534 | 18.455708 | 2.712589 | 0.289536 | 0.081034 | 7.594502 |
std | 89754.821954 | 113.809837 | NaN | NaN | NaN | NaN | NaN | NaN | 445.941482 | 587.857259 | ... | 19.426998 | 32.947553 | 180.300466 | 132.484900 | 6.526254 | 14.381175 | 5.198346 | 0.943785 | 0.451984 | 3.636784 |
min | 20101.000000 | 1.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 10.000000 | 5.000000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
25% | 101004.000000 | 3.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 500.000000 | 654.000000 | ... | 9.000000 | 7.000000 | 52.000000 | 132.000000 | 2.000000 | 8.000000 | 0.000000 | 0.000000 | 0.000000 | 5.000000 |
50% | 146513.000000 | 7.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 811.000000 | 1068.000000 | ... | 19.000000 | 20.000000 | 138.000000 | 214.000000 | 4.000000 | 16.000000 | 0.000000 | 0.000000 | 0.000000 | 8.000000 |
75% | 241710.000000 | 18.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 1170.000000 | 1527.000000 | ... | 33.000000 | 43.000000 | 285.000000 | 306.000000 | 9.000000 | 26.000000 | 3.000000 | 0.000000 | 0.000000 | 11.000000 |
max | 326301.000000 | 1150.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 4200.000000 | 3771.000000 | ... | 496.000000 | 744.000000 | 1427.000000 | 1366.000000 | 138.000000 | 191.000000 | 61.000000 | 21.000000 | 9.000000 | 13.000000 |
11 rows × 45 columns
#Upewnienie się, że w danych nie ma wartości NaN
big_dataset.isnull().values.any()
False
#Prosta wizualizacja ogólnopolskich wyników głównych komitetów
import matplotlib.pyplot as plt
cols = ['Konfederacja', 'Wiosna','Koalicja Europejska', 'Prawo i Sprawiedliwość', 'Kukiz15', 'Lewica Razem']
plt.bar(cols,big_dataset[cols].sum())
621188
<BarContainer object of 6 artists>
!pip install --user sklearn
Requirement already satisfied: sklearn in c:\users\ggap9\anaconda31\lib\site-packages (0.0.post1)
import sklearn
#Wyodrębnienie z danych zbioru testowego
from sklearn.model_selection import train_test_split
data_train, data_test = sklearn.model_selection.train_test_split(big_dataset, test_size=2700, random_state=1)
data_train['obwod'].value_counts()
10 3106 12 2572 11 2446 7 1968 3 1860 5 1847 8 1691 13 1634 9 1623 6 1574 2 1498 4 1493 1 1273 Name: obwod, dtype: int64
#Prezentacja ilości komisji z poszczególnych okręgów wyborczych w zbiorze testowym
data_test["obwod"].value_counts()
11 311 10 298 12 256 7 224 3 214 8 211 13 207 9 187 5 185 4 164 6 161 2 159 1 123 Name: obwod, dtype: int64
#Wyodrębnienie zbioru walidacyjnego z pozostałego zbioru treningowego
data_train, data_val = sklearn.model_selection.train_test_split(data_train, test_size=2700, random_state=1)
data_val['obwod'].value_counts()
10 347 12 281 11 262 7 220 5 218 9 195 3 194 2 193 4 173 8 167 6 166 13 146 1 138 Name: obwod, dtype: int64
data_train['obwod'].value_counts()
10 2759 12 2291 11 2184 7 1748 3 1666 5 1629 8 1524 13 1488 9 1428 6 1408 4 1320 2 1305 1 1135 Name: obwod, dtype: int64
#Opis finalnego zbioru treningowego
data_train.describe(include='all')
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | Konfederacja | Wiosna | Koalicja Europejska | Prawo i Sprawiedliwość | Lewica Razem | Kukiz15 | Polska Fair Play | POLEXIT | Jedność Narodu | obwod | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 21885.000000 | 21885.000000 | 21885 | 21885 | 21885 | 21885 | 21885 | 21885 | 21885.000000 | 21885.000000 | ... | 21885.000000 | 21885.000000 | 21885.000000 | 21885.000000 | 21885.00000 | 21885.000000 | 21885.000000 | 21885.000000 | 21885.000000 | 21885.000000 |
unique | NaN | NaN | 5 | 11 | 20141 | 2410 | 372 | 16 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
top | NaN | NaN | wieś | stały | Szkoła Podstawowa Nr 89, os. Piastów 34a, 31-6... | m. Kraków | Warszawa | mazowieckie | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
freq | NaN | NaN | 10998 | 20427 | 6 | 370 | 629 | 2949 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
mean | 166256.481106 | 38.850171 | NaN | NaN | NaN | NaN | NaN | NaN | 847.296002 | 1102.516655 | ... | 22.748823 | 30.289331 | 192.186201 | 226.601234 | 6.18122 | 18.383093 | 2.695591 | 0.297738 | 0.081334 | 7.600914 |
std | 89750.888879 | 113.301763 | NaN | NaN | NaN | NaN | NaN | NaN | 445.264456 | 586.052675 | ... | 19.601050 | 32.984209 | 179.846822 | 131.900846 | 6.55052 | 14.252665 | 5.164476 | 0.965923 | 0.454834 | 3.639637 |
min | 20101.000000 | 1.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 10.000000 | 5.000000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.00000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
25% | 101009.000000 | 3.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 500.000000 | 653.000000 | ... | 9.000000 | 7.000000 | 52.000000 | 132.000000 | 2.00000 | 8.000000 | 0.000000 | 0.000000 | 0.000000 | 5.000000 |
50% | 146512.000000 | 7.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 811.000000 | 1069.000000 | ... | 19.000000 | 20.000000 | 138.000000 | 214.000000 | 4.00000 | 15.000000 | 0.000000 | 0.000000 | 0.000000 | 8.000000 |
75% | 241707.000000 | 18.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 1165.000000 | 1523.000000 | ... | 33.000000 | 43.000000 | 286.000000 | 305.000000 | 9.00000 | 26.000000 | 3.000000 | 0.000000 | 0.000000 | 11.000000 |
max | 326301.000000 | 1150.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 4200.000000 | 3550.000000 | ... | 496.000000 | 744.000000 | 1427.000000 | 1366.000000 | 138.00000 | 175.000000 | 61.000000 | 21.000000 | 9.000000 | 13.000000 |
11 rows × 45 columns
#Opis zbioru walidacyjnego
data_val.describe(include='all')
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | Konfederacja | Wiosna | Koalicja Europejska | Prawo i Sprawiedliwość | Lewica Razem | Kukiz15 | Polska Fair Play | POLEXIT | Jedność Narodu | obwod | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 2700.000000 | 2700.000000 | 2700 | 2700 | 2700 | 2700 | 2700 | 2700 | 2700.000000 | 2700.000000 | ... | 2700.000000 | 2700.00000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 |
unique | NaN | NaN | 4 | 9 | 2663 | 1340 | 364 | 16 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
top | NaN | NaN | wieś | stały | Szkoła Podstawowa Nr 2 z Oddziałami Sportowymi... | m. Kraków | Warszawa | mazowieckie | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
freq | NaN | NaN | 1358 | 2497 | 3 | 43 | 83 | 391 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
mean | 163242.944444 | 41.382222 | NaN | NaN | NaN | NaN | NaN | NaN | 852.164074 | 1106.854444 | ... | 22.940370 | 30.24037 | 192.878889 | 230.469259 | 6.090000 | 18.770370 | 2.803704 | 0.269630 | 0.090741 | 7.458148 |
std | 88874.631900 | 120.214646 | NaN | NaN | NaN | NaN | NaN | NaN | 447.375340 | 593.650865 | ... | 19.146898 | 32.97802 | 183.694451 | 137.581595 | 6.326346 | 14.373049 | 5.358506 | 0.849931 | 0.477259 | 3.625088 |
min | 20101.000000 | 1.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 20.000000 | 10.000000 | ... | 0.000000 | 0.00000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
25% | 100704.750000 | 3.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 500.000000 | 653.000000 | ... | 9.000000 | 7.00000 | 50.000000 | 130.000000 | 2.000000 | 8.000000 | 0.000000 | 0.000000 | 0.000000 | 4.000000 |
50% | 146506.000000 | 7.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 805.500000 | 1059.000000 | ... | 19.000000 | 19.00000 | 133.000000 | 216.000000 | 4.000000 | 16.000000 | 0.000000 | 0.000000 | 0.000000 | 8.000000 |
75% | 241130.500000 | 19.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 1188.500000 | 1545.000000 | ... | 33.000000 | 42.00000 | 285.000000 | 313.000000 | 8.000000 | 27.000000 | 4.000000 | 0.000000 | 0.000000 | 11.000000 |
max | 326301.000000 | 1142.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 2619.000000 | 3771.000000 | ... | 186.000000 | 310.00000 | 1159.000000 | 1087.000000 | 72.000000 | 123.000000 | 60.000000 | 7.000000 | 7.000000 | 13.000000 |
11 rows × 45 columns
#Opis zbioru testowego
data_test.describe(include='all')
Kod terytorialny gminy | Nr obwodu głosowania | Typ obszaru | Typ obwodu | Siedziba Obwodowej Komisji Wyborczej | Gmina | Powiat | Województwo | Komisja otrzymała kart do głosowania | Liczba wyborców uprawnionych do głosowania | ... | Konfederacja | Wiosna | Koalicja Europejska | Prawo i Sprawiedliwość | Lewica Razem | Kukiz15 | Polska Fair Play | POLEXIT | Jedność Narodu | obwod | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 2700.000000 | 2700.000000 | 2700 | 2700 | 2700 | 2700 | 2700 | 2700 | 2700.000000 | 2700.000000 | ... | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 | 2700.000000 |
unique | NaN | NaN | 4 | 9 | 2655 | 1333 | 366 | 16 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
top | NaN | NaN | miasto | stały | Szkoła Podstawowa Nr 36, ul. Siemiradzkiego 9,... | m. Kraków | Warszawa | mazowieckie | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
freq | NaN | NaN | 1373 | 2502 | 3 | 37 | 75 | 349 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
mean | 169715.999630 | 37.518148 | NaN | NaN | NaN | NaN | NaN | NaN | 853.610370 | 1111.765926 | ... | 22.737407 | 30.534815 | 193.765556 | 226.424074 | 6.305926 | 18.729630 | 2.759259 | 0.242963 | 0.068889 | 7.678889 |
std | 90574.898136 | 111.314638 | NaN | NaN | NaN | NaN | NaN | NaN | 450.079208 | 596.722257 | ... | 18.258719 | 32.629471 | 180.607844 | 132.012074 | 6.526581 | 15.389095 | 5.308962 | 0.844882 | 0.399697 | 3.623060 |
min | 20101.000000 | 1.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 13.000000 | 13.000000 | ... | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 1.000000 |
25% | 100978.500000 | 3.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 503.750000 | 662.750000 | ... | 9.000000 | 7.000000 | 53.000000 | 131.000000 | 2.000000 | 8.000000 | 0.000000 | 0.000000 | 0.000000 | 5.000000 |
50% | 160302.500000 | 7.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 820.000000 | 1072.500000 | ... | 19.000000 | 21.000000 | 143.000000 | 215.000000 | 5.000000 | 16.000000 | 0.000000 | 0.000000 | 0.000000 | 8.000000 |
75% | 246601.000000 | 19.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 1180.000000 | 1541.250000 | ... | 33.000000 | 43.000000 | 281.000000 | 304.000000 | 9.000000 | 26.000000 | 4.000000 | 0.000000 | 0.000000 | 11.000000 |
max | 326301.000000 | 1145.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 2776.000000 | 3208.000000 | ... | 276.000000 | 318.000000 | 1289.000000 | 996.000000 | 56.000000 | 191.000000 | 60.000000 | 8.000000 | 5.000000 | 13.000000 |
11 rows × 45 columns