66 lines
3.2 KiB
Bash
66 lines
3.2 KiB
Bash
|
!pip install --user kaggle
|
||
|
!pip install --user pandas
|
||
|
!pip install --user sklearn
|
||
|
|
||
|
!kaggle datasets download -d brezniczky/2019-european-parliament-election-in-poland-data
|
||
|
|
||
|
#Rozpakowanie danych
|
||
|
!unzip -o 2019-european-parliament-election-in-poland-data.zip
|
||
|
|
||
|
#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')
|
||
|
|
||
|
#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])
|
||
|
|
||
|
big_dataset.describe(include='all')
|
||
|
|
||
|
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()
|
||
|
|
||
|
#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()
|