ium_407409/create_dataset_s407409.sh

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()