Wybory 2025¶

Porównanie wyników pierwszej i drugiej tury po komisjach obwodowych¶

© opracowanie: Patryk Czarnik, źródło danych: https://wybory.gov.pl

Załadowanie danych¶

In [1]:
import pandas as pd
import numpy as np
In [2]:
katalog = '../dane/prez_2025/'
In [3]:
t1 = pd.read_csv(katalog+'protokoly_po_obwodach_utf8.csv', sep=';', encoding='UTF-8')
t2 = pd.read_csv(katalog+'protokoly_po_obwodach_w_drugiej_turze_utf8.csv', sep=';', encoding='UTF-8')
In [4]:
t1.shape
Out[4]:
(32143, 43)
In [5]:
t2.shape
Out[5]:
(32143, 33)

Preprocessing danych¶

w celu łatwiejszej obróbki

W kolumnach z wynikami liczbowymi wstawiam zero w miejsce pustych komórek i ustalam typ liczb całkowitych…

In [6]:
for k in t1.columns[7:]:
    t1[k] = t1[k].fillna(0).astype('int64')

for k in t2.columns[9:]:
    t2[k] = t2[k].fillna(0).astype('int64')

Zastąpienie spacji typu nbsp w nazwach kolumn.

In [7]:
t1.rename(columns=lambda s: s.replace('\xa0', ' '), inplace=True)
t2.rename(columns=lambda s: s.replace('\xa0', ' '), inplace=True)

Usunięcie niektórych kolumn.

In [8]:
do_usuniecia_1 = [
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których nie było oświadczenia o osobistym i tajnym oddaniu głosu',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których oświadczenie nie było podpisane przez wyborcę',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których nie było koperty na kartę do głosowania',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których znajdowała się niezaklejona koperta na kartę do głosowania',
        'w tym liczba kart wyjętych z kopert na kartę do głosowania w głosowaniu korespondencyjnym',
        'w tym z powodu postawienia znaku „X” wyłącznie obok nazwiska skreślonego kandydata',
]

t1.drop(columns=do_usuniecia_1, inplace=True)
In [9]:
do_usuniecia_2 = [
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których nie było oświadczenia o osobistym i tajnym oddaniu głosu',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których oświadczenie nie było podpisane przez wyborcę',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których nie było koperty na kartę do głosowania',
        'Liczba kopert zwrotnych w głosowaniu korespondencyjnym, w których znajdowała się niezaklejona koperta na kartę do głosowania',
        'w tym liczba kart wyjętych z kopert na kartę do głosowania w głosowaniu korespondencyjnym',
]

t2.drop(columns=do_usuniecia_2, inplace=True)

Usuwam także te kolumny, które powtarzają się między 1 i 2 turą TODO: sprawdź, czy gdziekolwiek mają zmienione wartości

In [10]:
t2.drop(columns=['Gmina', 'Powiat', 'Teryt Powiatu', 'Województwo', 'Siedziba'], inplace=True)

Skrócenie nazw kolumn z nazwiskami.

In [11]:
nazwiska1 = {pelne: pelne.split()[0].capitalize() for pelne in t1.columns[-13:]}
nazwiska2 = {pelne: pelne.split()[0].capitalize() for pelne in t2.columns[-2:]}
t1.rename(columns=nazwiska1, inplace=True)
t2.rename(columns=nazwiska2, inplace=True)

Skrócenie pozostałych nazw kolumn.

In [12]:
t1.rename(columns={
        'Liczba kart do głosowania otrzymanych przez obwodową komisję wyborczą, ustalona po ich przeliczeniu przed rozpoczęciem głosowania z uwzględnieniem ewentualnych kart otrzymanych z rezerwy': 'Kart otrzymanych',
        'Liczba wyborców uprawnionych do głosowania (umieszczonych w spisie, z uwzględnieniem dodatkowych formularzy) w chwili zakończenia głosowania': 'Uprawnionych',
        'Liczba niewykorzystanych kart do głosowania': 'Kart niewykorzystanych',
        'Liczba wyborców, którym wydano karty do głosowania w lokalu wyborczym (liczba podpisów w spisie oraz adnotacje o wydaniu karty bez potwierdzenia podpisem w spisie)': 'Kart wydanych w lokalu',
        'Liczba wyborców, którym wysłano pakiety wyborcze': 'Kopert wysłanych',
        'Liczba wyborców, którym wydano karty do głosowania w lokalu wyborczym oraz w głosowaniu korespondencyjnym (łącznie)': 'Kart wydanych',
        'Liczba wyborców głosujących przez pełnomocnika (liczba kart do głosowania wydanych na podstawie aktów pełnomocnictwa otrzymanych przez obwodową komisję wyborczą)': 'Pełnomocników',
        'Liczba wyborców głosujących na podstawie zaświadczenia o prawie do głosowania': 'Zaświadczeń',
        'Liczba otrzymanych kopert zwrotnych w głosowaniu korespondencyjnym': 'Kopert otrzymanych',
        'Liczba kopert na kartę do głosowania w głosowaniu korespondencyjnym wrzuconych do urny': 'Kopert wrzuconych',
        'Liczba kart wyjętych z urny': 'Kart wyjętych',
        'Liczba kart nieważnych (bez pieczęci obwodowej komisji wyborczej lub inne niż urzędowo ustalone)': 'Kart nieważnych',
        'Liczba kart ważnych': 'Kart ważnych',
        'Liczba głosów nieważnych (z kart ważnych)': 'Głosów nieważnych',
        'w tym z powodu postawienia znaku „X” obok nazwiska dwóch lub większej liczby kandydatów': 'Głosów nieważnych X',
        'w tym z powodu niepostawienia znaku „X” obok nazwiska żadnego kandydata': 'Głosów nieważnych Y',
        'Liczba głosów ważnych oddanych łącznie na wszystkich kandydatów (z kart ważnych)': 'Głosów ważnych',
}, inplace=True)
In [13]:
t2.rename(columns={
        'Liczba kart do głosowania otrzymanych przez obwodową komisję wyborczą, ustalona po ich przeliczeniu przed rozpoczęciem głosowania z uwzględnieniem ewentualnych kart otrzymanych z rezerwy': 'Kart otrzymanych',
        'Liczba wyborców uprawnionych do głosowania (umieszczonych w spisie, z uwzględnieniem dodatkowych formularzy) w chwili zakończenia głosowania': 'Uprawnionych',
        'Liczba niewykorzystanych kart do głosowania': 'Kart niewykorzystanych',
        'Liczba wyborców, którym wydano karty do głosowania w lokalu wyborczym (liczba podpisów w spisie oraz adnotacje o wydaniu karty bez potwierdzenia podpisem w spisie)': 'Kart wydanych w lokalu',
        'Liczba wyborców, którym wysłano pakiety wyborcze': 'Kopert wysłanych',
        'Liczba wyborców, którym wydano karty do głosowania w lokalu wyborczym oraz w głosowaniu korespondencyjnym (łącznie)': 'Kart wydanych',
        'Liczba wyborców głosujących przez pełnomocnika (liczba kart do głosowania wydanych na podstawie aktów pełnomocnictwa otrzymanych przez obwodową komisję wyborczą)': 'Pełnomocników',
        'Liczba wyborców głosujących na podstawie zaświadczenia o prawie do głosowania': 'Zaświadczeń',
        'Liczba otrzymanych kopert zwrotnych w głosowaniu korespondencyjnym': 'Kopert otrzymanych',
        'Liczba kopert na kartę do głosowania w głosowaniu korespondencyjnym wrzuconych do urny': 'Kopert wrzuconych',
        'Liczba kart wyjętych z urny': 'Kart wyjętych',
        'Liczba kart nieważnych (bez pieczęci obwodowej komisji wyborczej lub inne niż urzędowo ustalone)': 'Kart nieważnych',
        'Liczba kart ważnych': 'Kart ważnych',
        'Liczba głosów nieważnych (z kart ważnych)': 'Głosów nieważnych',
        'w tym z powodu postawienia znaku „X” obok nazwisk obu kandydatów': 'Głosów nieważnych X',
        'w tym z powodu niepostawienia znaku „X” obok nazwiska żadnego kandydata': 'Głosów nieważnych Y',
        'Liczba głosów ważnych oddanych łącznie na obu kandydatów (z kart ważnych)': 'Głosów ważnych',
}, inplace=True)

Dla komisji z siedzibą w kraju unikalną parę wartości stanowią (Teryt Gminy, Nr komisji) Komisje zagraniczne nie posiadają atrybutu Teryt Gminy, ale posiadają unikalny Nr komisji.

Dla ujednolicenia dostępu do danych komisjom zagranicznym przypisuję Teryt Gminy równy 0 (żadna gmina nie ma takiego).

In [14]:
len(t1[t1['Teryt Gminy'] == 0])
Out[14]:
0
In [15]:
t1['Teryt Gminy'] = t1['Teryt Gminy'].fillna(0).astype('int64')
t2['Teryt Gminy'] = t2['Teryt Gminy'].fillna(0).astype('int64')

Upewniam się, że żaden rekord nie zawiera zduplikowanych identyfikatorów.

In [16]:
(len(t1), len(t1[['Nr komisji', 'Teryt Gminy']].drop_duplicates()),
 len(t2), len(t2[['Nr komisji', 'Teryt Gminy']].drop_duplicates()))
Out[16]:
(32143, 32143, 32143, 32143)
In [17]:
t1.set_index(['Teryt Gminy', 'Nr komisji'], inplace=True)
t2.set_index(['Teryt Gminy', 'Nr komisji'], inplace=True)

Sumaryczne wyniki¶

Celem weryfikacji danych

In [18]:
t1.iloc[:, -13:].sum()
Out[18]:
Bartoszewicz      95636
Biejat           829345
Braun           1242892
Hołownia         978893
Jakubiak         150696
Maciak            36371
Mentzen         2902287
Nawrocki        5790762
Senyszyn         214195
Stanowski        243467
Trzaskowski     6147743
Woch              18338
Zandberg         952821
dtype: int64
In [19]:
t2.iloc[:, -2:].sum()
Out[19]:
Nawrocki       10606628
Trzaskowski    10237177
dtype: int64

Dodatkowe kolumny¶

Wyniki procentowo per obwód.

In [20]:
for n in nazwiska1.values():
    t1[f'Proc {n}'] = t1[n] / t1['Głosów ważnych']

for n in nazwiska2.values():
    t2[f'Proc {n}'] = t2[n] / t2['Głosów ważnych']

Złączenie danych do jednej tabeli¶

In [21]:
t = t1.merge(t2, how='inner', on=['Teryt Gminy', 'Nr komisji'], suffixes=[' t1', ' t2'])
In [22]:
t.shape
Out[22]:
(32143, 71)

Przykładowy rekord:

In [23]:
t.iloc[1].to_dict()
Out[23]:
{'Gmina': 'm. Bolesławiec',
 'Powiat': 'bolesławiecki',
 'Teryt Powiatu': 20100.0,
 'Województwo': 'dolnośląskie',
 'Siedziba': 'Szkoła Podstawowa Nr 3, ul. Ceramiczna 5, 59-700 Bolesławiec',
 'Kart otrzymanych t1': 1295,
 'Uprawnionych t1': 1293,
 'Kart niewykorzystanych t1': 414,
 'Kart wydanych w lokalu t1': 881,
 'Kopert wysłanych t1': 1,
 'Kart wydanych t1': 882,
 'Pełnomocników t1': 1,
 'Zaświadczeń t1': 7,
 'Kopert otrzymanych t1': 1,
 'Kopert wrzuconych t1': 1,
 'Kart wyjętych t1': 882,
 'Kart nieważnych t1': 0,
 'Kart ważnych t1': 882,
 'Głosów nieważnych t1': 2,
 'Głosów nieważnych X t1': 1,
 'Głosów nieważnych Y t1': 1,
 'Głosów ważnych t1': 880,
 'Bartoszewicz': 6,
 'Biejat': 29,
 'Braun': 37,
 'Hołownia': 29,
 'Jakubiak': 5,
 'Maciak': 2,
 'Mentzen': 113,
 'Nawrocki t1': 228,
 'Senyszyn': 9,
 'Stanowski': 13,
 'Trzaskowski t1': 381,
 'Woch': 1,
 'Zandberg': 27,
 'Proc Bartoszewicz': 0.006818181818181818,
 'Proc Biejat': 0.03295454545454545,
 'Proc Braun': 0.042045454545454546,
 'Proc Hołownia': 0.03295454545454545,
 'Proc Jakubiak': 0.005681818181818182,
 'Proc Maciak': 0.0022727272727272726,
 'Proc Mentzen': 0.12840909090909092,
 'Proc Nawrocki t1': 0.2590909090909091,
 'Proc Senyszyn': 0.010227272727272727,
 'Proc Stanowski': 0.014772727272727272,
 'Proc Trzaskowski t1': 0.4329545454545455,
 'Proc Woch': 0.0011363636363636363,
 'Proc Zandberg': 0.03068181818181818,
 'Typ obwodu': 'stały',
 'Typ obszaru': 'miasto',
 'Kart otrzymanych t2': 1296,
 'Uprawnionych t2': 1269,
 'Kart niewykorzystanych t2': 386,
 'Kart wydanych w lokalu t2': 910,
 'Kopert wysłanych t2': 1,
 'Kart wydanych t2': 911,
 'Pełnomocników t2': 2,
 'Zaświadczeń t2': 20,
 'Kopert otrzymanych t2': 1,
 'Kopert wrzuconych t2': 1,
 'Kart wyjętych t2': 911,
 'Kart nieważnych t2': 0,
 'Kart ważnych t2': 911,
 'Głosów nieważnych t2': 8,
 'Głosów nieważnych X t2': 5,
 'Głosów nieważnych Y t2': 3,
 'Głosów ważnych t2': 903,
 'Nawrocki t2': 386,
 'Trzaskowski t2': 517,
 'Proc Nawrocki t2': 0.4274640088593577,
 'Proc Trzaskowski t2': 0.5725359911406424}

Poszukiwania nietypowych sytuacji¶

Obliczenie różnic¶

In [24]:
t["Różn Nawrocki"] = t["Nawrocki t2"] - t["Nawrocki t1"]
t["Różn Trzaskowski"] = t["Trzaskowski t2"] - t["Trzaskowski t1"]
In [25]:
t["Różn Proc Nawrocki"] = t["Proc Nawrocki t2"] - t["Proc Nawrocki t1"]
t["Różn Proc Trzaskowski"] = t["Proc Trzaskowski t2"] - t["Proc Trzaskowski t1"]

Łączę głosy z pierwszej tury w dwa bloki nazwane umownie Lewica i Prawica (wybaczcie kandydaci i ich zwolennicy; wybaczcie wszyscy „prawdziwi” lewacy i prawacy, to tylko nawa robocza) w zależności od tego, czy przepływ elektoratu przewidujemy bardziej do RT, czy KN.

In [26]:
t["Lewica t1"] = t["Trzaskowski t1"] + t["Biejat"] + t["Hołownia"] + t["Senyszyn"] + t["Zandberg"]
t["Prawica t1"] = t["Nawrocki t1"] + t["Bartoszewicz"] + t["Braun"] + t["Jakubiak"] + t["Maciak"] + t["Mentzen"]+ t["Stanowski"]+ t["Woch"]
In [27]:
t["Proc Lewica t1"] = t["Lewica t1"] / t['Głosów ważnych t1']
t["Proc Prawica t1"] = t["Prawica t1"] / t['Głosów ważnych t1']
In [28]:
t["Różn Lewica"] = t["Trzaskowski t2"] - t["Lewica t1"]
t["Różn Prawica"] = t["Nawrocki t2"] - t["Prawica t1"]
In [29]:
t["Różn Proc Lewica"] = t["Proc Trzaskowski t2"] - t["Proc Lewica t1"]
t["Różn Proc Prawica"] = t["Proc Nawrocki t2"] - t["Proc Prawica t1"]

W drugiej turze kandydat zdobywa mniejszą bezwzględną liczbę głosów niż w pierwszej¶

In [30]:
rt_mniej = t[t["Różn Trzaskowski"] < 0].sort_values("Różn Trzaskowski")
kn_mniej = t[t["Różn Nawrocki"] < 0].sort_values("Różn Nawrocki")
In [31]:
len(rt_mniej), len(kn_mniej)
Out[31]:
(130, 114)

Jest 130 takich komisji w przypadku RT i 114 w przypadku KN.

Suma tych „przepływów”:

In [32]:
print(kn_mniej["Różn Nawrocki"].sum())
-508
In [33]:
print(rt_mniej["Różn Trzaskowski"].sum())
-482

Zobaczmy, jakiego typu są to komisje.

In [34]:
list(kn_mniej["Siedziba"])
Out[34]:
['Szkoła Podstawowa w Magnuszewie, ul. Bohaterów Września 10, 26-910 Magnuszew',
 'Cassino, Via Marconi, Aula Pacis, 03043 Cassino, Cassino, Republika Włoska',
 'Szkoła Podstawowa nr 160 im. Powstańców Śląskich, ul. Andrzeja Struga 24A, 90-513 Łódź',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej Sanatorium Uzdrowiskowe Ministerstwa Spraw Wewnętrznych i Administracji ”ORION” w Ciechocinku, ul. Warzelniana 1, 87-720 Ciechocinek',
 '21 Wojskowy Szpital Uzdrowiskowo-Rehabilitacyjny SP ZOZ w Busku-Zdroju, ul. Feliksa Rzewuskiego 8, 28-100 Busko-Zdrój',
 'Publiczna Szkoła Podstawowa nr 2 im. Ignacego Jana Paderewskiego w Staszowie, ul. Niepodległości 4, 28-200 Staszów',
 'Urząd Miejski (sala konferencyjna), ul. Marszałka Józefa Piłsudskiego 22, 23-100 Bychawa',
 'Dom Pomocy Społecznej "Biały Potok" w Trzemeśni, Trzemeśnia 377, 32-425 Trzemeśnia',
 'Wojskowy Instytut Medyczny Państwowy Instytut Badawczy, ul. Zegrzyńska 8, 05-119 Legionowo',
 'Szpital Powiatowy w Myszkowie, ul. Aleja Wolności 29, 42-300 Myszków',
 'Dom Pomocy Społecznej w Cetuniu, Cetuń 6, 76-010 Polanów',
 'Szpital Rehabilitacyjny we Wrocławiu (Provita), ul. Bierutowska 63, 51-317 Wrocław',
 'Nowy Szpital we Wschowie, ul. ks. Kostki 33, 67-400 Wschowa',
 'Regionalne Centrum Zdrowia Spółka z o. o., ul. Gen. Józefa Bema 5-6, 59-300 Lubin',
 'Wojewódzkie Centrum Szpitalne Kotliny Jeleniogórskiej Jednostka Zamiejscowa „Wysoka Łąka”, ul. Sanatoryjna 27, 58-530 Kowary',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Krotoszynie, Szpital Powiatowy im. Marcelego Nenckiego, ul. Mickiewicza 21, 63-700 Krotoszyn',
 'S. P. Wojewódzki Szpital Zespolony, ul. Alfreda Sokołowskiego 11, 70-899 Szczecin',
 'Dom Pomocy Społecznej Zakonu Bonifratrów w Zebrzydowicach, Zebrzydowice 1, 34-130 Kalwaria Zebrzydowska',
 'Centrum Medyczne Boruta Sp. z o. o. w Zgierzu, ul. Andrzeja Struga 2-4, 95-100 Zgierz',
 'Dom Pomocy Społecznej, ul. Kościuszki 71, 72-300 Gryfice',
 'Dom Pomocy Społecznej "RELAX", ul. Wójtowska 62, 27-230 Brody',
 'Szpital Miejski Nr 4 w Gliwicach Sp. z o. o., ul. Zygmunta Starego 20, 44-100 Gliwice',
 'Samodzielny Publiczny Szpital Kliniczny Nr 1 im. prof. Stanisława Szyszko Śląskiego Uniwersytetu Medycznego w Katowicach, ul. ks. Karola Koziołka 1, 41-803 Zabrze',
 'Zespół Opieki Zdrowotnej w Szczytnie, ul. Marii Curie-Skłodowskiej 12, 12-100 Szczytno',
 'SP ZOZ Ministerstwa Spraw Wewnętrznych i Administracji w Gdańsku, Gdańsk ul. Kartuska 4/6, 80-104 Gdańsk 18',
 'Dom Pomocy Społecznej, ul. Grabowiecka 7, 27-400 Ostrowiec Świętokrzyski',
 'Powiatowe Centrum Zdrowia w Kamiennej Górze Sp. z o. o., ul. Bohaterów Getta 10, 58-400 Kamienna Góra',
 'Szpital Medicover, al. Aleja Rzeczypospolitej 5, 02-972 Warszawa',
 'Nowy Szpital Sp. z o. o., ul. Wolności 27, 87-200 Wąbrzeźno',
 'SP-ZOZ Szpital im. Św. Ducha w Rawie Mazowieckiej, ul. Warszawska 14, 96-200 Rawa Mazowiecka',
 'Sanatorium Uzdrowiskowe "Ciche Wąwozy", ul. Bartosza Głowackiego 12, 24-150 Nałęczów',
 'Szpital Powiatowy w Rykach Sp. z o. o., ul. Żytnia 23, 08-500 Ryki',
 'Dom Pomocy Społecznej, ul. Rynkowa 27, 74-503 Moryń',
 'Samodzielny Publiczny Zespół Opieki Zdrowotnej Szpital w Gostyniu, pl. Karola Marcinkowskiego 8/9, 63-800 Gostyń',
 'Szpital Mrągowski im. Michała Kajki Sp. z o. o., ul. Wolności 3, 11-700 Mrągowo',
 'Dom Pomocy Społecznej "Ostoja", ul. Pawia 39, 59-300 Lubin',
 'Dom Pomocy Społecznej, ul. Jana Kilińskiego 10/12, 05-075 Warszawa',
 'Dom Pomocy Społecznej "Chemik", ul. Władysława Korotyńskiego 10, 02-121 Warszawa',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Krotoszynie, Szpital w Koźminie Wielkopolskim, ul. Czesława Stęszewskiego 9-10, 63-720 Koźmin Wielkopolski',
 'Wojewódzki Szpital Rehabilitacyjny im. dr. Stefana Jasińskiego, ul. Ciągłówka 9, 34-500 Zakopane',
 'Samodzielne Publiczne Sanatorium Gruźlicy i Chorób Płuc w Poniatowej, ul. Fabryczna 6, 24-320 Poniatowa',
 'Dom Pomocy Społecznej, Wapienne 70, 38-307 Wapienne',
 'Dom Pomocy Społecznej prowadzony przez Zakon Kamilianów, ul. Cisowa 6, 41-800 Zabrze',
 'Warmińsko-Mazurskie Centrum Chorób Płuc w Olsztynie, ul. Jagiellońska 78, 10-357 Olsztyn',
 'Samodzielny Szpital Miejski im. PCK, ul. Sienkiewicza 79, 15-003 Białystok',
 'Zakład Opieki Zdrowotnej, ul. Wita Stwosza 39-41, 40-042 Katowice',
 'Dom Pomocy Społecznej w Kobylej Górze, ul. Tomasza Sikorskiego 1, 63-507 Kobyla Góra',
 'Dom Pomocy Pracownika Służby Zdrowia, ul. Elekcyjna 37, 01-119 Warszawa',
 'Dom Św. Jana Bożego, ul. Piastowska 6, 48-200 Prudnik',
 'Samorządowy Dom Pomocy Społecznej w Jedliczu, ul. Gen. Tadeusza Kościuszki 5, 38-460 Jedlicze',
 'Szpital Wielospecjalistyczny w Kędzierzynie-Koźlu, ul. Doktora Judyma 4, 47-220 Kędzierzyn-Koźle',
 'emeis Polska Sp z o.o. Rezydencja na Dyrekcyjnej, ul. Dyrekcyjna 5-7, 50-528 Wrocław',
 'Dom Pomocy Społecznej, ul. Dobrzyńska 102, 87-800 Włocławek',
 'Międzyleski Szpital Specjalistyczny w Warszawie, ul. Bursztynowa 2, 04-749 Warszawa',
 'Dom Opieki "Spokojna Przystań II" w Baborowie, ul. Powstańców 3, 48-120 Baborów',
 'DPS Filia w Grodzisku Mazowieckim, ul. 3 Maja 63, 05-825 Grodzisk Mazowiecki',
 'Dom Pomocy Społecznej "Miłosierny Samarytanin", ul. ks. Marcina Lutra 2-8, 54-239 Wrocław',
 'Szpital Tucholski sp. z o.o., ul. Nowodworskiego 14-18, 89-500 Tuchola',
 'Dom Pomocy Społecznej w Kamieniu Wielkim, Kamień Wielki ul. Stawna 40, 66-460 Witnica',
 'Uniwersytecki Szpital Kliniczny Nr 1 w Lublinie, ul. Chmielna 1, 20-079 Lublin',
 'Hol główny Centrum, ul. Poddębina 9a, 95-080 Tuszyn',
 'Dom Pomocy Społecznej prowadzony przez Zgromadzenie Sióstr Franciszkanek Maryi Nieustającej Pomocy, ul. Grunwaldzka 104, 50-357 Wrocław',
 'Dom Pomocy Społecznej w Sosnówce, ul. Liczyrzepy 87, 58-564 Sosnówka',
 'Niepubliczny Zakład Opieki Zdrowotnej Szpital Powiatowy w Dzierżoniowie Sp. z o. o., ul. Cicha 1, 58-200 Dzierżoniów',
 'Dom Pomocy Społecznej w Dębcach, Dębce 11, 74-100 Gryfino',
 'S. P. Zakład Opieki Zdrowotnej MSWiA, ul. Jagiellońska 44, 70-382 Szczecin',
 'Dom Pomocy Społecznej dla Osób Przewlekle Psychicznie Chorych w Krowicy Lasowej, Krowica Lasowa 86, 37-625 Krowica Sama',
 'Krapkowickie Centrum Zdrowia Sp. z o. o., os. Osiedle XXX Lecia 21, 47-303 Krapkowice',
 'Zakład Pielęgnacyjno-Opiekuńczy w Wycześniaku, Wycześniak 22, 96-330 Puszcza Mariańska',
 'Powiatowe Zakłady Opiekuńczo-Lecznicze w Grojcu, ul. Aleja Ogrodowa 1, 32-615 Grojec',
 'SP ZOZ w Mińsku Mazowieckim, ul. Szpitalna 37, 05-300 Mińsk Mazowiecki',
 'Dom Pomocy Społecznej "Dom z Sercem" w Komorowie, ul. Kościelna 2, 07-310 Komorowo',
 'Dom Pomocy Społecznej, Klęczany 169, 33-394 Klęczany',
 'Zakład Pielęgnacyjno-Opiekuńczy Fundacji Ambrozja, ul. Stanisława Dubois 117, 93-465 Łódź',
 'Grupa Zdrowie Sp. z o.o. Hospicjum Stacjonarne w Głownie, ul. Wojska Polskiego 32/34, 95-015 Głowno',
 'Zgierskie Centrum Kardiologii Med-Pro Polsko-Amerykańskich Klinik Serca, ul. Parzęczewska 35, 95-100 Zgierz',
 'Zakład Opiekuńczo-Leczniczy dla Dorosłych Zgromadzenia Sióstr Franciszkanek Rodziny Maryi w Skrzeszewach, Skrzeszewy 26, 09-541 Pacyna',
 'Niepubliczny Zakład Opieki Zdrowotnej "Szpital Powiatowy" w Słubicach, ul. Nadodrzańska 6, 69-100 Słubice',
 'NZOZ "MOŻ-MED. " Sp. j. Możdżan w Poddębicach, ul. Miła 27, 99-200 Poddębice',
 'Dom Pomocy Społecznej Caritas Diecezji Kaliskiej im. Św. Józefa, ul. Klonowa 2, 98-270 Złoczew',
 'Szpital Powiatowy Sp. z o. o., ul. Szewska 23, 87-140 Chełmża',
 'Zakład Opiekuńczo-Leczniczy, Wichulec 14A, 87-327 Bobrowo',
 'Uzdrowisko Świeradów-Czerniawa Sp. z o.o. Grupa PGU Szpital Centrum Rehabilitacji i Reumatologii "Goplana", ul. Marszałka Józefa Piłsudskiego 33, 59-850 Świeradów-Zdrój',
 '6 Szpital Wojskowy z Przychodnią SPZOZ, ul. Szpitalna 2, 08-530 Dęblin',
 '"Nowy Szpital" w Świebodzinie Sp. z o. o., ul. Młyńska 6, 66-200 Świebodzin',
 'SP ZOZ Sanatorium Uzdrowiskowe MSWiA "Agat", ul. Cervi 14, 58-560 Jelenia Góra',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Nowym Mieście nad Pilicą, ul. Tomaszowska 43, 26-420 Nowe Miasto nad Pilicą',
 'Samodzielny Publiczny Zespół Zakładów Opieki Zdrowotnej w Kozienicach, ul. Al. Władysława Sikorskiego 10, 26-900 Kozienice',
 'Szpital Powiatowy w Wodzisławiu Śląskim, ul. Plebiscytowa 47, 44-280 Rydułtowy',
 'Dom Opieki HONORATA. Zakład Opiekuńczo-Leczniczy, ul. Główna 31, 41-500 Chorzów',
 'Szpital Rejonowy im. dr. Anki w Krzepicach, ul. Szkolna 1, 42-160 Krzepice',
 'Samodzielny Publiczny Zespół Opieki Zdrowotnej, ul. Grunwaldzka 9, 42-700 Lubliniec',
 'Dom Pomocy Społecznej, ul. Szczekocińska 19, 42-235 Lelów',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Augustowie, ul. Szpitalna 12, 16-300 Augustów',
 'Dom Pomocy Społecznej Zgromadzenia Sióstr Franciszkanek od Cierpiących, ul. Proletariacka 8, 15-449 Białystok',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Bielsku Podlaskim (szpital), ul. Kleszczelowska 1, 17-100 Bielsk Podlaski',
 'Szpital Pomnik Chrztu Polski, ul. 3 Maja 37 - 39, 62-200 Gniezno',
 'Dom Pomocy Społecznej "Misericordia" w Ełku, ul. ks. prał. Mariana Szczęsnego 5, 19-300 Ełk',
 'Dom Pomocy Społecznej w Dobrym Mieście, ul. Łużycka 73, 11-040 Dobre Miasto',
 'Oddział Zewnętrzny w Kikitach Zakładu Karnego w Barczewie, Kikity 21, 11-311 Kolno',
 'Zespół Opieki Zdrowotnej w Busku-Zdroju, ul. Bohaterów Warszawy 67, 28-100 Busko-Zdrój',
 'Szpital Miejski sp. z o.o., ul. 1 Maja 9, 41-100 Siemianowice Śląskie',
 'SP ZOZ Całodobowy Oddział Rehabilitacji, ul. Eugeniusza Kwiatkowskiego 2, 37-450 Stalowa Wola',
 'Niepubliczny Zakład Opiekuńczo-Leczniczy i Opieki Paliatywnej "Santa Rita" w Przemyślu, ul. Stefana Rogozińskiego 30, 37-700 Przemyśl',
 '„Zdrowie” Sp. z o. o. Niepubliczny Zakład Opieki Zdrowotnej w Kwidzynie, ul. gen. Józefa Hallera 31, 82-500 Kwidzyn',
 'NZOZ SALUS Sp. z o. o. Zakład Pielęgnacyjno-Opiekuńczy, ul. Zagorzynek 34, 62-800 Kalisz',
 'Apartamenty Szczęśliwy Senior, ul. Częstochowska 71-75, 62-800 Kalisz',
 'Dom Seniora "Zielony Piątek", Piątek Wielki 58, 62-820 Stawiszyn',
 'Dom Pomocy Społecznej w Poznaniu, ul. Stanisława Konarskiego 11/13, 61-114 Poznań',
 'Dom Pomocy Społecznej im. Bpa Stanisława Stefanka, Kolsk 30A, 73-240 Bierzwnik',
 'Dom Opieki Nasz Dom, Jabłkowo 19, 62-285 Popowo Kościelne',
 'Dom Pomocy Społecznej w Ślesinie, ul. Kościelna 46, 62-561 Ślesin',
 'Dom Pomocy Społecznej w Dolicach, ul. Wiśniowa 12, 73-115 Dolice',
 'Szpital Powiatowy w Gryfinie Sp. z o.o. Zakład Opiekuńczo-Leczniczy w Gryfinie, ul. Armii Krajowej 8, 74-100 Gryfino']
In [35]:
list(rt_mniej["Siedziba"])
Out[35]:
['Przedszkole Publiczne nr 10, ul. Adama Asnyka 6, 47-100 Strzelce Opolskie',
 'Gminny Ośrodek Kultury, Sportu i Rekreacji w Biszczy, Biszcza 50, 23-425 Biszcza',
 'Publiczna Szkoła Podstawowa Nr 3, klasa nr 3, ul. Ignacego Krasickiego 25, 46-300 Olesno',
 '21 Wojskowy Szpital Uzdrowiskowo-Rehabilitacyjny SP ZOZ w Busku-Zdroju, ul. Feliksa Rzewuskiego 8, 28-100 Busko-Zdrój',
 'Zespół Placówek Młodzieżowych "Bursa", ul. gen. Józefa Hallera 37, 86-300 Grudziądz',
 'Biblioteka - Ośrodek Kultury Gminy Sadowie, Sadowie 90A, 27-580 Sadowie',
 'Zespół Szkolno-Przedszkolny Nr 14, ul. Stawowa 179, 31-346 Kraków',
 'Szpital Medicover, al. Aleja Rzeczypospolitej 5, 02-972 Warszawa',
 'Wojewódzki Szpital Obserwacyjno-Zakaźny im. Tadeusza Browicza w Bydgoszczy, ul. Św. Floriana 12, 85-030 Bydgoszcz',
 'Wojewódzki Szpital Chorób Płuc w Wodzisławiu Śląskim, ul. Bracka 13, 44-300 Wodzisław Śląski',
 'Małopolski Szpital Rehabilitacyjny w Krzeszowicach, ul. I. Daszyńskiego 1, 32-065 Krzeszowice',
 'Szpital Specjalistyczny im. J. Dietla w Krakowie Małopolskie Centrum Reumatologii, Immunologii i Rehabilitacji, al. Aleja Marszałka Ferdinanda Focha 33, 30-119 Kraków',
 'Petro Giant',
 '116 Szpital Wojskowy z Przychodnią SP ZOZ w Opolu, ul. Walerego Wróblewskiego 46, 45-759 Opole',
 'Szpital Powiatowy w Strzyżowie, ul. 700-Lecia Strzyżowa 1, 38-100 Strzyżów',
 'SP ZZOZ Szpital w Iłży, Iłża ul. Danuty Siedzikówny "Inki" 4, 27-100 IŁŻA',
 'Szpital Nr 2 Samodzielny Publiczny Zakład Opieki Zdrowotnej Zespół Opieki Zdrowotnej, ul. Lompy 2, 48-340 Głuchołazy',
 'Budynek Szpitala w Chodzieży, ul. Strzelecka 32, 64-800 Chodzież',
 'Szpital Rejonowy, ul. Gamowska 3, 47-400 Racibórz',
 'Szpital Miejski nr 4 w Gliwicach Sp. z o.o., ul. Radiowa 2, 44-121 Gliwice',
 'Przedszkole Nr 17 w Tychach, ul. Lwa Tołstoja 5, 43-100 Tychy',
 'Śląski Dom Seniora, ul. Juliusza Słowackiego 22, 41-710 Ruda Śląska',
 'Zakład Opiekuńczo Leczniczy w Busku-Zdroju, ul. Solankowa 6, 28-100 Busko-Zdrój',
 'Zespół Opieki Zdrowotnej we Włoszczowie-Szpital Powiatowy im. Jana Pawła II, ul. Żeromskiego 28, 29-100 Włoszczowa',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Szamotułach, ul. Sukiennicza 13, 64-500 Szamotuły',
 'Centrum Kardiologii Inwazyjnej, Elektroterapii i Angiologii, ul. Jana Kilińskiego 68, 33-300 Nowy Sącz',
 'SPZOZ Szpital im. dr. J. Dietla, ul. Józefa Ignacego Kraszewskiego 142, 33-380 Krynica-Zdrój',
 'Wojskowy Instytut Medyczny Państwowy Instytut Badawczy, ul. Zegrzyńska 8, 05-119 Legionowo',
 'Samodzielny Publiczny Zespół Zakładów Opieki Zdrowotnej im. Marszałka Józefa Piłsudskiego w Płońsku, ul. Henryka Sienkiewicza 7, 09-100 Płońsk',
 'Wojewódzki Szpital Specjalistyczny im. Stefana Kardynała Wyszyńskiego SP ZOZ, ul. Zbigniewa Herberta 21, 20-286 Lublin',
 'Szpital Wielospecjalistyczny im. dr. Ludwika Błażka, ul. Poznańska 97, 88-100 Inowrocław',
 'Cuprum-Med Spółka z o. o., ul. Marii Skłodowskiej-Curie 70, 59-300 Lubin',
 'Oddział Fizjoterapii i Rehabilitacji w Stanisławowie Szpitala Zespołu Opieki Zdrowotnej w Łowiczu, Rulice 31, 99-423 Bielawy',
 'SAWIMED Sp. z o. o., Sawice-Wieś 19, 08-307 Repki',
 'Niepubliczny Zakład Opieki Zdrowotnej Centrum Medyczne \'\'Epimigren", ul. Botaniczna 38, 86-031 Osielsko',
 'Dom Pomocy Społecznej i Zakład Opiekuńczo-Leczniczy w Zatorze, ul. Jana Pawła II 3, 32-640 Zator',
 'Narodowy Instytut Onkologii im. M. Skłodowskiej-Curie-Państwowy Instytut Badawczy Oddział w Krakowie, ul. Garncarska 11, 31-115 Kraków',
 'Dom Pomocy Społecznej dla osób przewlekle psychicznie chorych w Ząbkowicach Śląskich, ul. Szpitalna 3, 57-200 Ząbkowice Śląskie',
 'Medyczne Centrum Opieki Hanna Sp. z o.o., ul. Konopnickiej 41A, 63-400 Ostrów Wielkopolski',
 'Szpital Powiatowy w Wyrzysku Spółka z o. o., ul. 22 Stycznia 41, 89-300 Wyrzysk',
 'Dom Pomocy Społecznej w Klisinie Filia w Głubczycach, ul. Dworcowa 10, 48-100 Głubczyce',
 'Szpital Powiatowy w Sędziszowie Małopolskim, Oddział Chorób Wewnętrznych, ul. Wyspiańskiego 14, 39-120 Sędziszów Małopolski',
 'Szpital Powiatowy w Chmielniku, ul. Kielecka 1-3, 26-020 Chmielnik',
 'Dom Pomocy Społecznej Stowarzyszenia na rzecz Osób Starszych i Niepełnosprawnych Fizycznie, Intelektualnie, Osób Chorych Psychicznie oraz Osób Uzależnionych od Alkoholu "Pomocna Dłoń", ul. Strzelców Bytomskich 450, 41-935 Bytom',
 'Miejski Szpital Zespolony w Olsztynie, Centrum Opieki Paliatywnej im. Jana Pawła II, ul. Aleja Wojska Polskiego 30, 10-229 Olsztyn',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej Ministerstwa Spraw Wewnętrznych i Administracji Centrum Rehabilitacji, Górzno 63, 64-120 Krzemieniewo',
 'Dom Strażaka w Hucie Poręby, Huta Poręby 30B, 36-245 Nozdrzec',
 'Szpital Specjalistyczny SANUS, ul. Wojska Polskiego 5, 37-450 Stalowa Wola',
 'Centrum "Attis" MSB, ul. Górczewska 89, 01-401 Warszawa',
 'Kamiliańskie Centrum Opiekuńczo – Lecznicze w Hutkach, Hutki ul. Jurajska 36, 32-329 Bolesław',
 'Zakład Opiekuńczo-Leczniczy prowadzony przez Zgromadzenie Sióstr Felicjanek, ul. Hugona Kołłątaja 7, 31-502 Kraków',
 'Dom im. Błogosławionej Matki Teresy z Kalkuty, ul. Zwierzyniecka 22B, 39-400 Tarnobrzeg',
 'Centrum Opieki Medycznej w Jarosławiu, ul. 3-go Maja 70, 37-500 Jarosław',
 'Dom Seniora Pogodna Dolina Sp. z o.o. w Siedliskach, Siedliska 89, 36-042 Siedliska',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Mławie, ul. Anny Dobrskiej 1, 06-500 Mława',
 'SP ZOZ Szpital Powiatowy im. Edmunda Biernackiego w Opocznie, ul. Partyzantów 30, 26-300 Opoczno',
 'Zamojski Szpital Niepubliczny Sp. z o. o. w Zamościu, ul. Peowiaków 1, 22-400 Zamość',
 'Dom Pomocy Społecznej w Warzynie, Warzyn 1, 88-140 Gniewkowo',
 'Szpital Zespołu Opieki Zdrowotnej, ul. Ułańska 28, 99-400 Łowicz',
 'Dom Pomocy Społecznej Św. Barbary, ul. Ogrodowa 1, 97-410 Kleszczów',
 'Dom Pomocy Społecznej w Inowrocławiu, ul. Macieja Wierzbińskiego 49, 88-100 Inowrocław',
 'Dolnośląskie Centrum Chorób Serca im. prof. Zbigniewa Religi-Medinet Sp. z o. o., ul. Henryka Michała Kamieńskiego 73a, 51-124 Wrocław',
 'Powiatowe Centrum Zdrowia Sp. z o. o. Szpital Powiatowy, ul. Kościelna 21, 59-600 Lwówek Śląski',
 'Uzdrowisko Świeradów-Czerniawa Sp. z o.o. Grupa PGU Szpital Centrum Rehabilitacji i Reumatologii "Goplana", ul. Marszałka Józefa Piłsudskiego 33, 59-850 Świeradów-Zdrój',
 'Szpital, ul. Morawa 31, 40-353 Katowice',
 'Dom Pomocy Społecznej św. Wincentego, ul. Powstańców 45, 41-500 Chorzów',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Kole, ul. Józefa Poniatowskiego 25, 62-600 Koło',
 '"NAZARET" Dom Pomocy Społecznej Zgromadzenia Sióstr Służebniczek NMP, ul. Odrowążów 124, 44-103 Gliwice',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Sokółce, ul. gen. Władysława Sikorskiego 40, 16-100 Sokółka',
 'Szpitale Tczewskie S. A., ul. 30-go Stycznia 57/58, 83-110 Tczew',
 'Powiatowy Zespół Zakładów Opieki Zdrowotnej w Będzinie-Oddział w Czeladzi, ul. Szpitalna 40, 41-250 Czeladź',
 'Dom Pomocy Społecznej w Cisewiu, Cisewie 35, 83-440 Cisewie',
 'Dom Pomocy Społecznej Nr 1 w Krośnie, ul. Franciszka Żwirki i Stanisława Wigury 4a, 38-400 Krosno',
 'Dom Pomocy Społecznej „Jawor” w Jałówce, Jałówka ul. Leśna 11, 16-050 Michałowo',
 'Dom Seniora "Paulinka", Pawłowice 60, 46-310 Gorzów Śląski',
 'Remiza Ochotniczej Straży Pożarnej w Majkowicach, Majkowice 55, 32-120 Nowe Brzesko',
 'Samodzielny Publiczny Zespół Opieki Zdrowotnej w Proszowicach, ul. Mikołaja Kopernika 13, 32-100 Proszowice',
 'Specjalistyczny Szpital Onkologiczny Nu-Med Sp. z o.o., ul. Jana Pawła II 35, 97-200 Tomaszów Mazowiecki',
 'Dom Pomocy Społecznej w Przatówku, Przatówek 1, 98-240 Szadek',
 'Grupa Zdrowie Sp. z o.o. Hospicjum Stacjonarne w Głownie, ul. Wojska Polskiego 32/34, 95-015 Głowno',
 'Uniwersytecki Szpital Kliniczny Nr 1 w Lublinie, ul. Chmielna 1, 20-079 Lublin',
 '6 Szpital Wojskowy z Przychodnią SPZOZ, ul. Szpitalna 2, 08-530 Dęblin',
 'Dom Pomocy Społecznej, ul. Mączna 3, 54-131 Wrocław',
 'Dom Seniora - Sobięcin, ul. II Armii 4, 58-305 Wałbrzych',
 'Specjalistyczne Centrum Medyczne im. św. Jana Pawła II, budynek D, ul. Jana Pawła II 2, 57-320 Polanica-Zdrój',
 'Dolnośląski Ośrodek Pielęgnacyjno-Rehabilitacyjny "Niebieski Parasol", ul. Szpitalna 20, 59-225 Chojnów',
 'Powiatowe Centrum Zdrowia Sp. z o. o. w Lwówku Śląskim-Szpital im. Hugona Kołłątaja w Gryfowie Śląskim, ul. Rzeczna 25, 59-620 Gryfów Śląski',
 'Wielospecjalistyczny Szpital-Samodzielny Publiczny Zespół Opieki Zdrowotnej, ul. Stanisława Konarskiego 5b, 59-900 Zgorzelec',
 'Niepubliczny Zakład Opieki Zdrowotnej Dom Sue Ryder prowadzony przez Pallmed sp. z o. o. Hospicjum Stacjonarne, ul. Wilhelma Roentgena 3, 85-796 Bydgoszcz',
 'Zakład Opiekuńczo Leczniczy, ul. Pokoju 1a, 68-300 Lubsko',
 'Sanatorium Uzdrowiskowe Rolnik w Nałęczowie, ul. Michała Górskiego 14, 24-150 Nałęczów',
 'Szpital Powiatowy SP ZOZ, ul. Marszałka Józefa Piłsudskiego 26/28/30, 23-100 Bychawa',
 'Dom Seniora "Pomocna Dłoń" Caritas Archidiecezji Łódzkiej, Kaszewice 11A, 97-415 Kluki',
 'Szpital, al. Aleja Kasztanowa 17, 34-220 Maków Podhalański',
 'Dom Pomocy Społecznej, ul. Nawojowska 159, 33-300 Nowy Sącz',
 'Zakład Pielęgnacyjno-Opiekuńczy w Przedborzu, ul. Częstochowska 25, 97-570 Przedbórz',
 'Saskatoon, Our Lady of Czestochowa Parish, 301 Avenue Y South, Saskatoon, SK S7M 3J6, Saskatoon, Kanada',
 'Centrum Alzheimera, al. Aleja Wilanowska 257, 02-730 Warszawa',
 'Szpital Kliniczny im. Księżnej Anny Mazowieckiej, ul. Karowa 2, 00-315 Warszawa',
 'Zakład Opiekuńczo-Leczniczy SP ZOZ, ul. Olchy 8, 04-837 Warszawa',
 'Dom Emeryta w Brańszczyku, ul. Jana Pawła II 1, 07-221 Brańszczyk',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Nowym Mieście nad Pilicą, ul. Tomaszowska 43, 26-420 Nowe Miasto nad Pilicą',
 'Niepubliczny Zespół Zakładów Opieki Zdrowotnej "Palium" w Sońsku, ul. Zacisze 1, 06-430 Sońsk',
 'Palium Sp. z o.o. w Nowym Mieście Zakład Opiekuńczo-Leczniczy w Starej Wronie, Stara Wrona 19, 09-131 Joniec',
 'Budynek byłej Szkoły Podstawowej w Obarzymie, Obarzym 36A, 36-204 Dydnia',
 'SP ZOZ Szpital Powiatowy w Lubaczowie, ul. Adama Mickiewicza 168, 37-600 Lubaczów',
 'Zakład Pielęgnacyjno-Opiekuńczy w Żołyni, ul. Górska 8, 37-110 Żołynia',
 'Szkoła Podstawowa w Wisłoku Wielkim, Wisłok Wielki 26A, 38-543 Komańcza',
 'Dom Pomocy Społecznej im. dr. Józefa Marcelego Kopicza w Szpęgawsku, ul. Kasztanowa 23, 83-200 Szpęgawsk',
 'Dom Pomocy Społecznej dla Osób w Podeszłym Wieku oraz Osób Niepełnosprawnych Fizycznie w Rzeszowie, ul. mjr. Henryka Sucharskiego 1, 35-225 Rzeszów',
 'Zakład Pielęgnacyjno-Opiekuńczy w Bacikach Średnich, Baciki Średnie 68, 17-300 Siemiatycze',
 'Szpital Ogólny w Wysokiem Mazowieckiem, ul. Szpitalna 5, 18-200 Wysokie Mazowieckie',
 'Szpital Powiatowy, ul. Ludwika Waryńskiego 4, 43-190 Mikołów',
 'Dom Pomocy Społecznej, Wiśnicze ul. Wiejska 42A, 44-187 Wielowieś',
 'Miejski Dom Spokojnej Starości w Ustroniu, ul. Słoneczna 10, 43-450 Ustroń',
 'Stowarzyszenie Domu Opieki „Złota Jesień”, Gdańsk ul. Franciszka Hynka 12, 80-465 Gdańsk 22',
 'Dom Pomocy Społecznej w Rudkach, Rudki 89, 28-225 Szydłów',
 'Zespół Opieki Zdrowotnej-Szpital Powiatowy, ul. Szpitalna 1, 26-110 Skarżysko-Kamienna',
 'Szkoła Podstawowa w Paprocicach, Paprocice 1, 26-006 Nowa Słupia',
 'Dom Pomocy Społecznej im. prof. Antoniego Kępińskiego, ul. Jagiellońska 76, 25-734 Kielce',
 '"Szpital Powiatowy w Jarocinie" Sp. z o.o., ul. Szpitalna 1, 63-200 Jarocin',
 'Zespół Zakładów Opieki Zdrowotnej im. Jerzego Pióro w Dobrym Mieście, ul. Grunwaldzka 10B, 11-040 Dobre Miasto',
 'Wojewódzki Ośrodek Terapii Uzależnienia od Alkoholu i Współuzależnienia w Giżycku, ul. Warszawska 41a, 11-500 Giżycko',
 'Zespół Zakładów Opieki Zdrowotnej im. Jerzego Pióro w Dobrym Mieście Centrum Świadczeń Zdrowotnych w Barczewie, ul. Niepodległości 9, 11-010 Barczewo',
 'Świetlica Wiejska, Klonowo 35, 13-230 Lidzbark',
 'Samodzielny Publiczny Zakład Opieki Zdrowotnej w Kępnie, Szpital w Kępnie, Oddział Leczniczo-Rehabilitacyjny w Grębaninie, Grębanin 97, 63-604 Baranów',
 'Zespół Zakładów Opieki Zdrowotnej w Ostrowie Wielkopolskim - Oddziały przy ul. 3. Maja, ul. 3 Maja 35, 63-400 Ostrów Wielkopolski',
 'Dom Pomocy Społecznej, ul. Winiarska 26, 62-800 Kalisz',
 'Zakład Leczniczy-Hospicjum Palium Uniwersyteckiego Szpitala Klinicznego w Poznaniu, os. Rusa 55, 61-245 Poznań',
 'Szpital Powiatowy w Gryfinie Sp. z o.o., ul. Parkowa 5, 74-100 Gryfino']

Jak widać, w obu przypadkach dominują obwody w szpitalach i zakładach opieki. Liczba głosów w takich miejscach nie jest zwykle duża i faktycznie może zmienić się o kilka między turami, zaraz to sprawdzimy.
Spróbujmy jednocześnie wyłapać te obwody, gdzie bezwględna różnica głosów była największa – zrobimy zestawienie posortowane wg różnicy.

In [36]:
rt_mniej.head(20)[["Gmina", "Województwo", "Siedziba",
                   "Nawrocki t1", "Nawrocki t2", "Różn Nawrocki",
                   "Trzaskowski t1", "Trzaskowski t2", "Różn Trzaskowski"]]
Out[36]:
Gmina Województwo Siedziba Nawrocki t1 Nawrocki t2 Różn Nawrocki Trzaskowski t1 Trzaskowski t2 Różn Trzaskowski
Teryt Gminy Nr komisji
161105 9 gm. Strzelce Opolskie opolskie Przedszkole Publiczne nr 10, ul. Adama Asnyka ... 107 416 309 311 223 -88
60204 2 gm. Biszcza lubelskie Gminny Ośrodek Kultury, Sportu i Rekreacji w B... 200 443 243 62 37 -25
160803 3 gm. Olesno opolskie Publiczna Szkoła Podstawowa Nr 3, klasa nr 3, ... 173 637 464 403 378 -25
260101 34 gm. Busko-Zdrój świętokrzyskie 21 Wojskowy Szpital Uzdrowiskowo-Rehabilitacyj... 129 111 -18 172 148 -24
46201 25 m. Grudziądz kujawsko-pomorskie Zespół Placówek Młodzieżowych "Bursa", ul. gen... 173 504 331 343 324 -19
260606 1 gm. Sadowie świętokrzyskie Biblioteka - Ośrodek Kultury Gminy Sadowie, Sa... 148 314 166 58 42 -16
126101 95 m. Kraków małopolskie Zespół Szkolno-Przedszkolny Nr 14, ul. Stawowa... 218 1132 914 550 540 -10
146516 1137 Wilanów mazowieckie Szpital Medicover, al. Aleja Rzeczypospolitej ... 19 14 -5 28 20 -8
46101 198 m. Bydgoszcz kujawsko-pomorskie Wojewódzki Szpital Obserwacyjno-Zakaźny im. Ta... 8 24 16 32 25 -7
241504 25 m. Wodzisław Śląski śląskie Wojewódzki Szpital Chorób Płuc w Wodzisławiu Ś... 17 18 1 17 10 -7
120606 29 gm. Krzeszowice małopolskie Małopolski Szpital Rehabilitacyjny w Krzeszowi... 65 89 24 50 44 -6
126101 432 m. Kraków małopolskie Szpital Specjalistyczny im. J. Dietla w Krakow... 12 26 14 20 14 -6
0 1003 statki NaN Petro Giant 4 12 8 21 16 -5
166101 81 m. Opole opolskie 116 Szpital Wojskowy z Przychodnią SP ZOZ w Op... 7 14 7 20 15 -5
181904 21 gm. Strzyżów podkarpackie Szpital Powiatowy w Strzyżowie, ul. 700-Lecia ... 19 23 4 9 4 -5
142503 21 gm. Iłża mazowieckie SP ZZOZ Szpital w Iłży, Iłża ul. Danuty Siedzi... 3 9 6 6 1 -5
160701 21 gm. Głuchołazy opolskie Szpital Nr 2 Samodzielny Publiczny Zakład Opie... 37 51 14 47 42 -5
300101 11 m. Chodzież wielkopolskie Budynek Szpitala w Chodzieży, ul. Strzelecka 3... 25 47 22 43 38 -5
241101 27 m. Racibórz śląskie Szpital Rejonowy, ul. Gamowska 3, 47-400 Racibórz 17 27 10 26 21 -5
246601 110 m. Gliwice śląskie Szpital Miejski nr 4 w Gliwicach Sp. z o.o., u... 14 15 1 20 15 -5
In [37]:
kn_mniej.head(20)[["Gmina", "Województwo", "Siedziba",
                   "Trzaskowski t1", "Trzaskowski t2", "Różn Trzaskowski",
                   "Nawrocki t1", "Nawrocki t2", "Różn Nawrocki"]]
Out[37]:
Gmina Województwo Siedziba Trzaskowski t1 Trzaskowski t2 Różn Trzaskowski Nawrocki t1 Nawrocki t2 Różn Nawrocki
Teryt Gminy Nr komisji
140706 1 gm. Magnuszew mazowieckie Szkoła Podstawowa w Magnuszewie, ul. Bohaterów... 105 467 362 285 193 -92
0 498 zagranica NaN Cassino, Via Marconi, Aula Pacis, 03043 Cassin... 91 110 19 79 45 -34
106101 157 m. Łódź łódzkie Szkoła Podstawowa nr 160 im. Powstańców Śląski... 177 397 220 86 53 -33
40102 9 m. Ciechocinek kujawsko-pomorskie Samodzielny Publiczny Zakład Opieki Zdrowotnej... 120 164 44 105 85 -20
260101 34 gm. Busko-Zdrój świętokrzyskie 21 Wojskowy Szpital Uzdrowiskowo-Rehabilitacyj... 172 148 -24 129 111 -18
261207 4 gm. Staszów świętokrzyskie Publiczna Szkoła Podstawowa nr 2 im. Ignacego ... 143 360 217 224 209 -15
60903 4 gm. Bychawa lubelskie Urząd Miejski (sala konferencyjna), ul. Marsza... 89 260 171 174 163 -11
120903 27 gm. Myślenice małopolskie Dom Pomocy Społecznej "Biały Potok" w Trzemeśn... 5 14 9 30 21 -9
140801 25 m. Legionowo mazowieckie Wojskowy Instytut Medyczny Państwowy Instytut ... 15 11 -4 14 5 -9
240901 22 m. Myszków śląskie Szpital Powiatowy w Myszkowie, ul. Aleja Wolno... 16 26 10 34 25 -9
320906 11 gm. Polanów zachodniopomorskie Dom Pomocy Społecznej w Cetuniu, Cetuń 6, 76-0... 3 10 7 20 12 -8
26401 326 m. Wrocław dolnośląskie Szpital Rehabilitacyjny we Wrocławiu (Provita)... 12 18 6 16 9 -7
81203 21 gm. Wschowa lubuskie Nowy Szpital we Wschowie, ul. ks. Kostki 33, 6... 8 8 0 12 6 -6
21101 50 m. Lubin dolnośląskie Regionalne Centrum Zdrowia Spółka z o. o., ul.... 14 24 10 37 31 -6
20602 8 m. Kowary dolnośląskie Wojewódzkie Centrum Szpitalne Kotliny Jeleniog... 22 26 4 25 19 -6
301204 35 gm. Krotoszyn wielkopolskie Samodzielny Publiczny Zakład Opieki Zdrowotnej... 8 8 0 15 9 -6
326201 196 m. Szczecin zachodniopomorskie S. P. Wojewódzki Szpital Zespolony, ul. Alfred... 55 72 17 49 43 -6
121803 16 gm. Kalwaria Zebrzydowska małopolskie Dom Pomocy Społecznej Zakonu Bonifratrów w Zeb... 2 11 9 22 17 -5
102003 38 m. Zgierz łódzkie Centrum Medyczne Boruta Sp. z o. o. w Zgierzu,... 4 6 2 6 1 -5
320502 21 gm. Gryfice zachodniopomorskie Dom Pomocy Społecznej, ul. Kościuszki 71, 72-3... 6 18 12 18 13 -5

Sprawdzę jeszcze ogólny rozkład tych przepływów w obwodach, gdzie był ujemny.

In [38]:
pd.concat([rt_mniej["Różn Trzaskowski"], kn_mniej["Różn Nawrocki"]], axis=1).describe()
Out[38]:
Różn Trzaskowski Różn Nawrocki
count 130.000000 114.000000
mean -3.707692 -4.456140
std 8.541233 9.744652
min -88.000000 -92.000000
25% -3.000000 -5.000000
50% -2.000000 -2.000000
75% -1.000000 -1.000000
max -1.000000 -1.000000

oraz w skali całych wyników – tu oczywiście dominować będzie wzrost liczby głosów, bo 1) większa frekwencja, 2) głosy od innych kandydatów z 1t

In [39]:
t[["Różn Trzaskowski", "Różn Nawrocki"]].describe(percentiles=np.arange(0, 1, 0.1))
Out[39]:
Różn Trzaskowski Różn Nawrocki
count 32143.000000 32143.000000
mean 127.226270 149.826276
std 133.718147 96.768254
min -88.000000 -92.000000
0% -88.000000 -92.000000
10% 16.000000 42.000000
20% 28.000000 67.000000
30% 42.000000 90.000000
40% 60.000000 113.000000
50% 86.000000 136.000000
60% 117.000000 160.000000
70% 154.000000 187.000000
80% 202.000000 220.000000
90% 286.000000 272.000000
max 1870.000000 1078.000000
In [40]:
t["Różn Nawrocki"].plot(kind='hist', figsize=(20, 10), bins=100, xlim=(-100, 1500), ylim=(0,5000), color="#4455CC")
Out[40]:
<Axes: ylabel='Frequency'>
No description has been provided for this image
In [41]:
t["Różn Trzaskowski"].plot(kind='hist', figsize=(20, 10), bins=100, xlim=(-100, 1500), ylim=(0,5000), color="#FF8833")
Out[41]:
<Axes: ylabel='Frequency'>
No description has been provided for this image

Wow, nie spodziewałem się, że te histogramy będą tak różne... nawet po ujednoliceniu skali. Ciekawostka dla analityków politycznych :)

W drugiej turze kandydat zdobywa mniejszą procentową liczbę głosów niż w pierwszej¶

In [42]:
rt_pmniej = t[t["Różn Proc Trzaskowski"] < 0].sort_values("Różn Proc Trzaskowski")
kn_pmniej = t[t["Różn Proc Nawrocki"] < 0].sort_values("Różn Proc Nawrocki")
In [43]:
len(rt_pmniej), len(kn_pmniej)
Out[43]:
(219, 171)

Tutaj liczby komisji to 219 i 171 odpowiednio dla RT i KN.

Okazuje się, że są to w większości bardzo małe komisje, a poniżej wybieram tylko te, w których łączna liczba głosów (kart ważnych) wynosiła co najmniej 100.

In [44]:
rt_pmniej[rt_pmniej['Kart ważnych t2'] >= 100][[
        "Gmina", "Województwo", "Siedziba",
        "Proc Nawrocki t1", "Proc Nawrocki t2", "Różn Proc Nawrocki", "Różn Nawrocki",
        "Proc Trzaskowski t1", "Proc Trzaskowski t2","Różn Proc Trzaskowski", "Różn Trzaskowski"]]
Out[44]:
Gmina Województwo Siedziba Proc Nawrocki t1 Proc Nawrocki t2 Różn Proc Nawrocki Różn Nawrocki Proc Trzaskowski t1 Proc Trzaskowski t2 Różn Proc Trzaskowski Różn Trzaskowski
Teryt Gminy Nr komisji
161105 9 gm. Strzelce Opolskie opolskie Przedszkole Publiczne nr 10, ul. Adama Asnyka ... 0.178631 0.651017 0.472386 309 0.519199 0.348983 -0.170216 -88
306201 47 m. Konin wielkopolskie Wojewódzki Szpital Zespolony im. dr. Romana Os... 0.435484 0.677966 0.242482 53 0.451613 0.322034 -0.129579 10
60204 2 gm. Biszcza lubelskie Gminny Ośrodek Kultury, Sportu i Rekreacji w B... 0.429185 0.922917 0.493732 243 0.133047 0.077083 -0.055964 -25
160803 3 gm. Olesno opolskie Publiczna Szkoła Podstawowa Nr 3, klasa nr 3, ... 0.180962 0.627586 0.446624 464 0.421548 0.372414 -0.049134 -25
260606 1 gm. Sadowie świętokrzyskie Biblioteka - Ośrodek Kultury Gminy Sadowie, Sa... 0.414566 0.882022 0.467457 166 0.162465 0.117978 -0.044487 -16
46201 25 m. Grudziądz kujawsko-pomorskie Zespół Placówek Młodzieżowych "Bursa", ul. gen... 0.219543 0.608696 0.389153 331 0.435279 0.391304 -0.043975 -19
226401 24 m. Sopot pomorskie Sanatorium Uzdrowiskowe "Leśnik", ul. 23 Marca... 0.353383 0.496933 0.143549 34 0.533835 0.503067 -0.030767 11
280305 8 gm. Płośnica warmińsko-mazurskie Świetlica Wiejska, Rutkowice 33, 13-206 Płośnica 0.520833 0.780702 0.259868 39 0.250000 0.219298 -0.030702 1
126101 95 m. Kraków małopolskie Zespół Szkolno-Przedszkolny Nr 14, ul. Stawowa... 0.138942 0.677033 0.538091 914 0.350542 0.322967 -0.027575 -10
241506 17 gm. Gorzyce śląskie Wojewódzki Ośrodek Lecznictwa Odwykowego i Zak... 0.289157 0.663462 0.374305 45 0.361446 0.336538 -0.024907 5
146503 1148 Białołęka mazowieckie Stołeczne Centrum Opiekuńczo-Lecznicze sp. z o... 0.398496 0.543624 0.145128 28 0.481203 0.456376 -0.024827 4
120606 29 gm. Krzeszowice małopolskie Małopolski Szpital Rehabilitacyjny w Krzeszowi... 0.460993 0.669173 0.208180 24 0.354610 0.330827 -0.023783 -6
247701 35 m. Tychy śląskie Przedszkole Nr 17 w Tychach, ul. Lwa Tołstoja ... 0.216704 0.626078 0.409373 389 0.397291 0.373922 -0.023369 -5
141801 19 gm. Góra Kalwaria mazowieckie Dom Pomocy Społecznej w Górze Kalwarii, ul. Sz... 0.556962 0.820000 0.263038 38 0.202532 0.180000 -0.022532 2
66301 197 m. Lublin lubelskie Uniwersytecki Szpital Kliniczny Nr 1 w Lublini... 0.345455 0.595041 0.249587 34 0.427273 0.404959 -0.022314 2
121403 8 gm. Nowe Brzesko małopolskie Remiza Ochotniczej Straży Pożarnej w Majkowica... 0.625000 0.852459 0.227459 34 0.169643 0.147541 -0.022102 -1
226101 17 m. Gdańsk pomorskie Szkoła Podstawowa Nr 62, Gdańsk ul. Kępna 38, ... 0.227494 0.628357 0.400863 398 0.392944 0.371643 -0.021301 23
180203 8 gm. Dydnia podkarpackie Budynek byłej Szkoły Podstawowej w Obarzymie, ... 0.425676 0.783439 0.357764 60 0.236486 0.216561 -0.019926 -1
260413 10 gm. Nowa Słupia świętokrzyskie Szkoła Podstawowa w Paprocicach, Paprocice 1, ... 0.504950 0.875000 0.370050 40 0.138614 0.125000 -0.013614 -1
61807 2 gm. Rachanie lubelskie Remizo-Świetlica, Pawłówka 57B, 22-640 Rachanie 0.598361 0.892086 0.293726 51 0.114754 0.107914 -0.006840 1
61408 16 gm. Nałęczów lubelskie Sanatorium Uzdrowiskowe Rolnik w Nałęczowie, u... 0.362832 0.473214 0.110382 12 0.530973 0.526786 -0.004188 -1
280304 11 gm. Lidzbark warmińsko-mazurskie Świetlica Wiejska, Klonowo 35, 13-230 Lidzbark 0.270677 0.603053 0.332377 43 0.398496 0.396947 -0.001550 -1
120704 7 gm. Jodłownik małopolskie Świetlica Wiejska, Góra Świętego Jana 85, 34-6... 0.628049 0.964706 0.336657 61 0.036585 0.035294 -0.001291 0
142511 9 gm. Wierzbica mazowieckie Remiza OSP w Wierzbicy-Kolonii, Wierzbica-Kolo... 0.472868 0.984615 0.511747 67 0.015504 0.015385 -0.000119 0
In [45]:
kn_pmniej[kn_pmniej['Kart ważnych t2'] >= 100][[
        "Gmina", "Województwo", "Siedziba",
        "Proc Trzaskowski t1", "Proc Trzaskowski t2","Różn Proc Trzaskowski", "Różn Trzaskowski",
        "Proc Nawrocki t1", "Proc Nawrocki t2", "Różn Proc Nawrocki", "Różn Nawrocki"]]
Out[45]:
Gmina Województwo Siedziba Proc Trzaskowski t1 Proc Trzaskowski t2 Różn Proc Trzaskowski Różn Trzaskowski Proc Nawrocki t1 Proc Nawrocki t2 Różn Proc Nawrocki Różn Nawrocki
Teryt Gminy Nr komisji
140706 1 gm. Magnuszew mazowieckie Szkoła Podstawowa w Magnuszewie, ul. Bohaterów... 0.175292 0.707576 0.532284 362 0.475793 0.292424 -0.183369 -92
40102 9 m. Ciechocinek kujawsko-pomorskie Samodzielny Publiczny Zakład Opieki Zdrowotnej... 0.493827 0.658635 0.164807 44 0.432099 0.341365 -0.090733 -20
106101 157 m. Łódź łódzkie Szkoła Podstawowa nr 160 im. Powstańców Śląski... 0.411628 0.882222 0.470594 220 0.200000 0.117778 -0.082222 -33
261207 4 gm. Staszów świętokrzyskie Publiczna Szkoła Podstawowa nr 2 im. Ignacego ... 0.280943 0.632689 0.351746 217 0.440079 0.367311 -0.072768 -15
60903 4 gm. Bychawa lubelskie Urząd Miejski (sala konferencyjna), ul. Marsza... 0.225888 0.614657 0.388769 171 0.441624 0.385343 -0.056282 -11
260701 36 m. Ostrowiec Świętokrzyski świętokrzyskie Dom Pomocy Społecznej, ul. Grabowiecka 7, 27-4... 0.313559 0.650000 0.336441 41 0.398305 0.350000 -0.048305 -5
26401 310 m. Wrocław dolnośląskie Dolnośląskie Centrum Onkologii, Pulmonologii i... 0.452381 0.621359 0.168978 26 0.416667 0.378641 -0.038026 4
20803 9 m. Kudowa-Zdrój dolnośląskie SP ZOZ Sanatorium Uzdrowiskowe "Bristol" MSWiA... 0.441176 0.624309 0.183133 38 0.388235 0.375691 -0.012545 2
146505 113 Mokotów mazowieckie Szkoła Podstawowa Nr 205 im. Żołnierzy Powstan... 0.522491 0.928796 0.406304 868 0.077278 0.071204 -0.006074 2
326201 196 m. Szczecin zachodniopomorskie S. P. Wojewódzki Szpital Zespolony, ul. Alfred... 0.426357 0.626087 0.199730 17 0.379845 0.373913 -0.005932 -6
0 189 zagranica NaN Meksyk, Calle Cracovia 40, Colonia San Ángel, ... 0.473451 0.854902 0.381451 111 0.150442 0.145098 -0.005344 3
121701 22 m. Zakopane małopolskie Wojewódzki Szpital Rehabilitacyjny im. dr. Ste... 0.278481 0.461039 0.182558 27 0.544304 0.538961 -0.005343 -3
0 493 zagranica NaN Ho Chi Minh, 17 Đ. Lê Duẩn, District 1, Bến Ng... 0.377049 0.912162 0.535113 89 0.090164 0.087838 -0.002326 2

Eksport wyników¶

Łączę rekordy znalezione pierwszą i drugą metodą i eksportuję do plików dla zainteresowanych dalszą analizą.

In [46]:
rt = pd.concat([kn_mniej, kn_pmniej]).drop_duplicates().sort_values(['Różn Trzaskowski'])
kn = pd.concat([kn_mniej, kn_pmniej]).drop_duplicates().sort_values(['Różn Nawrocki'])
In [47]:
rt.to_csv('rt_mniej_utf8.csv', sep=',', encoding='UTF-8')
kn.to_csv('kn_mniej_utf8.csv', sep=',', encoding='UTF-8')

rt.to_excel('rt_mniej.xlsx')
kn.to_excel('kn_mniej.xlsx')

Pliki do pobrania stąd:
https://dhont.info/jupyter/prez_2025/

Z uwzględnieniem przepływu elektoratów¶

Gdyby naiwnie przyjąć, że wszystkie głosy „bardziej lewicowe” przechodzą na RT, a „bardziej prawicowe” na KN, wówczas komisji, w których zaobserwowano spadek poparcia między pierwszą a drugą turą będzie już bardzo dużo.

Nie świadczy to IMO o żadnych nieprawidłowościach, a jedynie o faktycznych przepływach tych elektoratów, które nie były pełne, jak zresztą potwierdzały badania.

Liczba komisji, w których liczba głosów na RT w drugiej turze była mniejsza niż na „blok rządowy + lewicowy” w pierwszej turze.

In [48]:
print((t["Różn Lewica"] < 0).sum())
3398

Liczba komisji, w których procent głosów na RT w drugiej turze był mniejszy niż na „blok rządowy + lewicowy” w pierwszej turze.

In [49]:
print((t["Różn Proc Lewica"] < 0).sum())
6992

Liczba komisji, w których liczba głosów na KN w drugiej turze była mniejsza niż na „blok antyrządowy + prawicowy” w pierwszej turze.

In [50]:
print((t["Różn Prawica"] < 0).sum())
12553

Liczba komisji, w których procent głosów na KN w drugiej turze był mniejszy niż na „blok antyrządowy + prawicowy” w pierwszej turze.

In [51]:
print((t["Różn Proc Prawica"] < 0).sum())
25090

Zbadajmy rozkład różnic bezwzględnych i procentowych.

Liczba dodatnia oznacza, że o tyle więcej głosów/procentów kandydat w 2t otrzymał, niż wiązany z nim blok w pierwszej turze.

Liczba ujemna, że w 2t otrzymał mniej głosów / procentów.

In [52]:
t[["Różn Lewica", "Różn Prawica"]].describe(percentiles=np.arange(0, 1, 0.1))
Out[52]:
Różn Lewica Różn Prawica
count 32143.000000 32143.000000
mean 34.663224 3.925551
std 54.003445 24.882971
min -485.000000 -317.000000
0% -485.000000 -317.000000
10% -1.000000 -21.000000
20% 4.000000 -11.000000
30% 8.000000 -4.000000
40% 14.000000 0.000000
50% 20.000000 4.000000
60% 30.000000 8.000000
70% 41.000000 13.000000
80% 56.000000 19.000000
90% 80.000000 28.800000
max 1181.000000 639.000000
In [53]:
t[["Różn Proc Lewica", "Różn Proc Prawica"]].describe(percentiles=np.arange(0, 1, 0.1))
Out[53]:
Różn Proc Lewica Różn Proc Prawica
count 32138.000000 32138.000000
mean 0.020081 -0.020081
std 0.040715 0.040715
min -0.750000 -0.600000
0% -0.750000 -0.600000
10% -0.015888 -0.054390
20% -0.001860 -0.040985
30% 0.007055 -0.033046
40% 0.014146 -0.026706
50% 0.020563 -0.020563
60% 0.026706 -0.014146
70% 0.033046 -0.007055
80% 0.040985 0.001860
90% 0.054390 0.015888
max 0.600000 0.750000

Ponieważ każdego kandydata z pierwszej tury przyporządkowałem do jednej z grup, różnica po drugiej stronie jest lustrzanym odbiciem.

Uwaga, wykres jest w skali logarytmicznej.

In [54]:
(t["Różn Proc Lewica"]).plot(kind='hist', figsize=(20,10), bins=100, logy=True, xticks=np.arange(-0.8, 1.0, 0.1), grid=True)
Out[54]:
<Axes: ylabel='Frequency'>
No description has been provided for this image

Zarówno średnia, jak i mediana oscylują około 2 punktów procentowych wzrostu poparcia RT względem sumy „lewicy” i 2 punktów procentowych spadku poparcia KN względem sumy „prawicy” z pierwszej tury. To informacja dla analityków sceny politycznej, a dla nas będzie to wartość domyślna tej zmiany.

In [55]:
srednia = t["Różn Proc Lewica"].mean()

Spróbujemy wyłowić teraz te komisje, gdzie ubytki procentów lub głosów między pierwszą a drugą turą były szczególnie duże.

Policzmy komisje, w których zmiana wyniku procentowego w dół była większa, niż przeciętne 2pp o 10, 20, 30, 40 i 50 pp.

In [56]:
for roznica in 0.1, 0.2, 0.3, 0.4, 0.5:
    print(roznica, (t["Różn Proc Lewica"] <= (-roznica + srednia)).sum())
0.1 393
0.2 92
0.3 30
0.4 9
0.5 4
In [57]:
for roznica in 0.1, 0.2, 0.3, 0.4, 0.5:
    print(roznica, (t["Różn Proc Prawica"] <= (-roznica - srednia)).sum())
0.1 417
0.2 94
0.3 32
0.4 13
0.5 4

Policzmy też komisje, gdzie bezwzględna liczba głosów na „bloki” spadła o więcej niż 100, 150, 200, 300 głosów.

In [58]:
for roznica in 100, 150, 200, 300:
    print(roznica, (t["Różn Lewica"] <= -roznica).sum())
100 8
150 6
200 2
300 1
In [59]:
for roznica in 100, 150, 200, 300:
    print(roznica, (t["Różn Prawica"] <= -roznica).sum())
100 57
150 13
200 8
300 1

Przyjmując odchylenie 20 punktów procentowych względem średniej za granicę „nietypowych przepływów”, zapisujemy rekordy, aby przyjrzeć się im bliżej.

In [60]:
lewica_mniej = t[(t["Różn Proc Lewica"] < (srednia-0.2))].copy()
In [61]:
prawica_mniej = t[(t["Różn Proc Prawica"] < (-srednia-0.2))].copy()
In [62]:
print(len(lewica_mniej), len(prawica_mniej))
92 94

Większość komisji to małe komisje w szpitalach. Około połowa z nich ma łączną liczbę kart ważnych ≤ 20:

In [63]:
print((lewica_mniej["Kart ważnych t2"] <= 20).sum(), (prawica_mniej["Kart ważnych t2"] <= 20).sum())
45 42

Policzymy jeszcze sumę tych „przepływów”. Poniższe liczby mają głównie umysłowić skalę, o jakiej mówimy – są to najwyżej pojedyncze tysiące głosów, a ponieważ „nietypowe przepływy” idą w obie strony, te liczby niwelują się i zostaje niezrównoważona różnica różnica rzędu kilkuset głosów.

Oczywiście konkretny wynik będzie zależał od zakreślania granic „nietypowego przepływu”. Ja ustaliłem zmianę o 20 punktów procentowych większą od średniej krajowej.

In [64]:
print(lewica_mniej["Różn Lewica"].sum(), prawica_mniej["Różn Prawica"].sum())
-1713 -1190

Łączna liczba kart w tych komisjach

In [65]:
print(lewica_mniej["Kart ważnych t2"].sum(), prawica_mniej["Kart ważnych t2"].sum())
8154 4830
In [66]:
print(lewica_mniej["Nawrocki t2"].sum() - lewica_mniej["Trzaskowski t2"].sum(),
      prawica_mniej["Trzaskowski t2"].sum() - prawica_mniej["Nawrocki t2"].sum())
2502 1675

Sortujemy dane według bezwzględnej różnicy głosów między wynikami „bloku” w pierwszej turze, a kandydata w drugiej turze. Największe spadki na górze.

Przypominam, że kolumna Lewica t1 obejmuje głosy RT, a kolumna Prawica t1 obejmuje głosy KN.

In [67]:
lewica_mniej.sort_values("Różn Lewica", inplace=True)
prawica_mniej.sort_values("Różn Prawica", inplace=True)
In [68]:
lewica_mniej.head(30)[["Gmina", "Województwo", "Siedziba",
                   "Nawrocki t1", "Prawica t1", "Nawrocki t2", "Różn Prawica", "Różn Proc Prawica",
                   "Trzaskowski t1", "Lewica t1", "Trzaskowski t2", "Różn Lewica", "Różn Proc Lewica"]]
Out[68]:
Gmina Województwo Siedziba Nawrocki t1 Prawica t1 Nawrocki t2 Różn Prawica Różn Proc Prawica Trzaskowski t1 Lewica t1 Trzaskowski t2 Różn Lewica Różn Proc Lewica
Teryt Gminy Nr komisji
126101 95 m. Kraków małopolskie Zespół Szkolno-Przedszkolny Nr 14, ul. Stawowa... 218 544 1132 588 0.330316 550 1025 540 -485 -0.330316
141201 13 m. Mińsk Mazowiecki mazowieckie Przedszkole Miejskie Nr 6 w Mińsku Mazowieckim... 153 380 611 231 0.227731 345 571 363 -208 -0.227731
247701 35 m. Tychy śląskie Przedszkole Nr 17 w Tychach, ul. Lwa Tołstoja ... 192 349 581 232 0.232172 352 537 347 -190 -0.232172
160803 3 gm. Olesno opolskie Publiczna Szkoła Podstawowa Nr 3, klasa nr 3, ... 173 393 637 244 0.216498 403 563 378 -185 -0.216498
161105 9 gm. Strzelce Opolskie opolskie Przedszkole Publiczne nr 10, ul. Adama Asnyka ... 107 205 416 211 0.308780 311 394 223 -171 -0.308780
46201 25 m. Grudziądz kujawsko-pomorskie Zespół Placówek Młodzieżowych "Bursa", ul. gen... 173 334 504 170 0.184838 343 454 324 -130 -0.184838
300101 11 m. Chodzież wielkopolskie Budynek Szpitala w Chodzieży, ul. Strzelecka 3... 25 29 47 18 0.199283 43 53 38 -15 -0.199283
46101 198 m. Bydgoszcz kujawsko-pomorskie Wojewódzki Szpital Obserwacyjno-Zakaźny im. Ta... 8 15 24 9 0.206777 32 38 25 -13 -0.206777
126101 432 m. Kraków małopolskie Szpital Specjalistyczny im. J. Dietla w Krakow... 12 16 26 10 0.250000 20 24 14 -10 -0.250000
261306 14 gm. Włoszczowa świętokrzyskie Zespół Opieki Zdrowotnej we Włoszczowie-Szpita... 28 34 45 11 0.185390 15 21 11 -10 -0.185390
100104 7 gm. Kleszczów łódzkie Dom Pomocy Społecznej Św. Barbary, ul. Ogrodow... 5 9 21 12 0.432692 7 15 5 -10 -0.432692
100502 8 gm. Bielawy łódzkie Oddział Fizjoterapii i Rehabilitacji w Stanisł... 22 23 32 9 0.239024 11 18 8 -10 -0.239024
241506 17 gm. Gorzyce śląskie Wojewódzki Ośrodek Lecznictwa Odwykowego i Zak... 24 39 69 30 0.193582 30 44 35 -9 -0.193582
102104 10 gm. Jeżów łódzkie Dom Pomocy Społecznej w Dąbrowie, Dąbrowa 1, 9... 10 12 24 12 0.318786 5 19 10 -9 -0.318786
246301 61 m. Chorzów śląskie Ośrodek św. Florian Caritas Archidiecezji Kato... 11 20 27 7 0.193420 6 23 14 -9 -0.193420
181904 21 gm. Strzyżów podkarpackie Szpital Powiatowy w Strzyżowie, ul. 700-Lecia ... 19 24 23 -1 0.185185 9 12 4 -8 -0.185185
40703 22 gm. Gniewkowo kujawsko-pomorskie Dom Pomocy Społecznej w Warzynie, Warzyn 1, 88... 8 13 15 2 0.191667 11 17 9 -8 -0.191667
100201 27 m. Kutno łódzkie Dom Pomocy Społecznej w Kutnie, ul. Bolesława ... 9 12 30 18 0.345029 5 15 8 -7 -0.345029
140209 10 gm. Sońsk mazowieckie Niepubliczny Zespół Zakładów Opieki Zdrowotnej... 14 24 32 8 0.198198 6 12 5 -7 -0.198198
142404 23 gm. Pułtusk mazowieckie Dom Pomocy Społecznej "Pod Sosnami" w Pułtusku... 8 9 20 11 0.339286 2 15 8 -7 -0.339286
166101 81 m. Opole opolskie 116 Szpital Wojskowy z Przychodnią SP ZOZ w Op... 7 8 14 6 0.216092 20 22 15 -7 -0.216092
106101 323 m. Łódź łódzkie Dom Pomocy Społecznej „Wyjątkowy Dom”, ul. Mun... 5 6 9 3 0.262500 6 14 7 -7 -0.262500
26501 64 m. Wałbrzych dolnośląskie Dom Seniora - Sobięcin, ul. II Armii 4, 58-305... 0 3 7 4 0.350962 7 13 6 -7 -0.350962
46401 66 m. Włocławek kujawsko-pomorskie Dom Pomocy Społecznej, ul. Nowomiejska 19, 87-... 7 13 20 7 0.194444 16 23 16 -7 -0.194444
260605 21 gm. Ożarów świętokrzyskie Dom Pomocy Społecznej w Sobowie Filia w Suchod... 4 9 15 6 0.339474 2 11 4 -7 -0.339474
20501 13 m. Jawor dolnośląskie Dom Pomocy Społecznej w Jaworze, pl. Seniora 3... 9 12 16 4 0.240166 4 11 5 -6 -0.240166
302407 19 gm. Szamotuły wielkopolskie Samodzielny Publiczny Zakład Opieki Zdrowotnej... 2 6 7 1 0.205128 10 12 6 -6 -0.205128
301701 44 m. Ostrów Wielkopolski wielkopolskie Medyczne Centrum Opieki Hanna Sp. z o.o., ul. ... 2 4 7 3 0.350649 7 10 4 -6 -0.350649
40801 10 m. Lipno kujawsko-pomorskie NZOZ Szpital Lipno Sp. z o.o., ul. Nieszawska ... 19 28 51 23 0.198630 19 28 22 -6 -0.198630
246201 79 m. Bytom śląskie Zakład Opiekuńczo-Leczniczy dla Przewlekle Cho... 5 8 15 7 0.328947 3 11 5 -6 -0.328947
In [69]:
prawica_mniej.head(30)[["Gmina", "Województwo", "Siedziba",
                    "Trzaskowski t1", "Lewica t1", "Trzaskowski t2", "Różn Lewica", "Różn Proc Lewica",
                    "Nawrocki t1", "Prawica t1", "Nawrocki t2", "Różn Prawica", "Różn Proc Prawica"]]
Out[69]:
Gmina Województwo Siedziba Trzaskowski t1 Lewica t1 Trzaskowski t2 Różn Lewica Różn Proc Lewica Nawrocki t1 Prawica t1 Nawrocki t2 Różn Prawica Różn Proc Prawica
Teryt Gminy Nr komisji
140706 1 gm. Magnuszew mazowieckie Szkoła Podstawowa w Magnuszewie, ul. Bohaterów... 105 165 467 302 0.432117 285 434 193 -241 -0.432117
0 498 zagranica NaN Cassino, Via Marconi, Aula Pacis, 03043 Cassin... 91 128 110 -18 0.284428 79 173 45 -128 -0.284428
261207 4 gm. Staszów świętokrzyskie Publiczna Szkoła Podstawowa nr 2 im. Ignacego ... 143 185 360 175 0.269231 224 324 209 -115 -0.269231
106101 157 m. Łódź łódzkie Szkoła Podstawowa nr 160 im. Powstańców Śląski... 177 267 397 130 0.261292 86 163 53 -110 -0.261292
60903 4 gm. Bychawa lubelskie Urząd Miejski (sala konferencyjna), ul. Marsza... 89 137 260 123 0.266941 174 257 163 -94 -0.266941
40704 11 gm. Inowrocław kujawsko-pomorskie Świetlica w Miechowicach, Miechowice 34, 88-10... 39 60 124 64 0.316748 62 128 71 -57 -0.316748
280106 4 gm. Sępopol warmińsko-mazurskie Szkoła Podstawowa w Dzietrzychowie, Dzietrzych... 63 89 155 66 0.239730 71 139 91 -48 -0.239730
0 493 zagranica NaN Ho Chi Minh, 17 Đ. Lê Duẩn, District 1, Bến Ng... 46 83 135 52 0.231834 11 39 13 -26 -0.231834
306101 56 m. Kalisz wielkopolskie Oddział Zewnętrzny w Kaliszu Aresztu Śledczego... 16 20 43 23 0.433962 4 33 10 -23 -0.433962
81203 21 gm. Wschowa lubuskie Nowy Szpital we Wschowie, ul. ks. Kostki 33, 6... 8 11 8 -3 0.227679 12 21 6 -15 -0.227679
320906 11 gm. Polanów zachodniopomorskie Dom Pomocy Społecznej w Cetuniu, Cetuń 6, 76-0... 3 7 10 3 0.242424 20 26 12 -14 -0.242424
40809 13 gm. Wielgie kujawsko-pomorskie Świetlica Domu Pomocy Społecznej w Nowej Wsi, ... 3 17 34 17 0.330556 2 23 11 -12 -0.330556
240607 7 gm. Popów śląskie Oddział Zewnętrzny w Wąsoszu Górnym Aresztu Śl... 21 32 54 22 0.234542 2 24 13 -11 -0.234542
260804 17 gm. Pińczów świętokrzyskie Dom Pomocy Społecznej w Pińczowie, ul. Wesoła ... 0 0 8 8 0.421053 9 22 11 -11 -0.421053
160203 24 gm. Głubczyce opolskie Dom Pomocy Społecznej w Klisinie Filia w Radyn... 7 11 26 15 0.347864 11 20 11 -9 -0.347864
206101 180 m. Białystok podlaskie Samodzielny Publiczny ZOZ Wojewódzki Szpital Z... 1 4 11 7 0.411111 5 16 7 -9 -0.411111
281701 19 m. Szczytno warmińsko-mazurskie Zespół Opieki Zdrowotnej w Szczytnie, ul. Mari... 4 6 16 10 0.422925 12 16 7 -9 -0.422925
302901 14 gm. Przemęt wielkopolskie Wielkopolskie Centrum Neuropsychiatryczne im. ... 8 10 15 5 0.254630 9 17 9 -8 -0.254630
246201 82 m. Bytom śląskie Bytomskie Centrum Wsparcia, pl. Szpitalny 1, 4... 6 10 17 7 0.295385 8 16 8 -8 -0.295385
160203 23 gm. Głubczyce opolskie Dom Pomocy Społecznej w Klisinie, Klisino 100,... 10 19 32 13 0.232238 10 22 14 -8 -0.232238
226101 190 m. Gdańsk pomorskie SP ZOZ Ministerstwa Spraw Wewnętrznych i Admin... 11 12 13 1 0.242222 10 13 5 -8 -0.242222
41606 20 gm. Tuchola kujawsko-pomorskie Szpital Tucholski sp. z o.o., ul. Nowodworskie... 4 4 17 13 0.480000 10 16 8 -8 -0.480000
46301 125 m. Toruń kujawsko-pomorskie Wojewódzki Ośrodek Terapii Uzależnień i Współu... 5 12 14 2 0.256039 2 11 4 -7 -0.256039
320502 21 gm. Gryfice zachodniopomorskie Dom Pomocy Społecznej, ul. Kościuszki 71, 72-3... 6 7 18 11 0.321386 18 20 13 -7 -0.321386
281406 10 gm. Jeziorany warmińsko-mazurskie Dom Pomocy Społecznej w Jezioranach, ul. Kajki... 17 18 27 9 0.220588 2 16 9 -7 -0.220588
46401 65 m. Włocławek kujawsko-pomorskie Dom Pomocy Społecznej, ul. Dobrzyńska 102, 87-... 5 8 14 6 0.303030 9 14 7 -7 -0.303030
182103 15 gm. Lesko podkarpackie Zakład Karny w Uhercach Mineralnych-Oddział Ze... 9 11 21 10 0.244038 4 23 16 -7 -0.244038
20701 10 m. Kamienna Góra dolnośląskie Powiatowe Centrum Zdrowia w Kamiennej Górze Sp... 6 6 10 4 0.433333 7 9 2 -7 -0.433333
41701 11 m. Wąbrzeźno kujawsko-pomorskie Nowy Szpital Sp. z o. o., ul. Wolności 27, 87-... 3 7 11 4 0.408654 7 9 2 -7 -0.408654
241309 19 gm. Zbrosławice śląskie Dom Pomocy Społecznej w Miedarach, ul. Zamkowa... 1 11 17 6 0.285714 1 10 4 -6 -0.285714

W przypadku spadku „prawicy” widać też wiele komisji zagranicznych.

Jeszcze raz powtarzam, że powiązanie kandydatów drugiej tury z „blokami” kandydatów w pierwszej jest bardzo dużym uproszczeniem i nie należy wyciągać pochopnych wniosków. Wcale nie jest powiedziane, że w każdej komisji wyborcy Mentzena głosowali w drugiej turze na Nawrockiego, a wyborcy Zandberga na Trzaskowskiego (przykładowo).

Zapisuję tak wybrane komisje do kolejnych plików w katalogu https://dhont.info/jupyter/prez_2025/

In [70]:
prawica_mniej.to_csv('prawica_mniej_utf8.csv', index=False, sep=',', encoding='UTF-8')
lewica_mniej.to_csv('lewica_mniej_utf8.csv', index=False, sep=',', encoding='UTF-8')

prawica_mniej.to_excel('prawica_mniej.xlsx')
lewica_mniej.to_excel('lewica_mniej.xlsx')

Głosy nieważne¶

In [71]:
t[["Kart nieważnych t1", "Głosów nieważnych t1", "Głosów nieważnych X t1", "Głosów nieważnych Y t1",
   "Kart nieważnych t2", "Głosów nieważnych t2", "Głosów nieważnych X t2", "Głosów nieważnych Y t2"]].sum()
Out[71]:
Kart nieważnych t1          2727
Głosów nieważnych t1       85813
Głosów nieważnych X t1     25574
Głosów nieważnych Y t1     60239
Kart nieważnych t2          1423
Głosów nieważnych t2      189289
Głosów nieważnych X t2    101841
Głosów nieważnych Y t2     87448
dtype: int64

Liczba kart nieważnych (bez pieczęci itp.) nie budzi kontrowersji. Komisje obwodowe za „kartę nieważną” uznają wszystko, co ludzie wrzucili do urn, np. kartę wydrukowaną samodzielnie w domu.

Kolumna X oznacza głosy nieważne z powodu więcej niż jednego znaku X, kolumna Y z podobu braku znaku X.

O ile głos typu Y w drugiej turze jest czymś normalnym (żaden kandydat mi nie odpowiada), to głosy typu X mogą budzić podejrzenie, bo kto szedłby specjalnie na wybory i stawiał dwa iksy?

Zauważmy najpierw, że zjawisko „podwójnych iksów” jest bardzo powszechne i rozproszone. Zazwyczaj są to pojedyncze głosy w komisji.

In [72]:
res1 = t["Głosów nieważnych X t1"].value_counts()
res2 = t["Głosów nieważnych X t2"].value_counts()
res = pd.DataFrame({'Liczba komisji w 1t': res1, 'Liczba komisji w 2t': res2})
res = res.fillna(0).astype('int64')
res.index.name = 'Liczba głosów nieważnych z powodu XX'
res
Out[72]:
Liczba komisji w 1t Liczba komisji w 2t
Liczba głosów nieważnych z powodu XX
0 17417 6989
1 8526 5701
2 3613 4590
3 1500 3530
4 609 2803
5 260 2277
6 88 1665
7 65 1216
8 34 976
9 18 698
10 3 471
11 2 348
12 2 249
13 1 194
14 1 123
15 1 101
16 1 60
17 1 46
18 1 38
19 0 21
20 0 12
21 0 8
22 0 8
23 0 2
24 0 3
25 0 8
26 0 2
29 0 3
30 0 1

Zbadam i zlilustruję korelację procenta głosów nieważnych z powodu X z wynikiem procentowym kandydata po komisjach obwodowych.

In [73]:
tn = t.copy()
In [74]:
tn["Proc Głosów nieważnych t2"] = tn["Głosów nieważnych t2"] / tn["Kart ważnych t2"]
tn["Proc Głosów nieważnych X t2"] = tn["Głosów nieważnych X t2"] / tn["Kart ważnych t2"]
tn["Proc Głosów nieważnych Y t2"] = tn["Głosów nieważnych Y t2"] / tn["Kart ważnych t2"]
In [75]:
from matplotlib import ticker
from math import sqrt
In [76]:
def normalizuj(seria):
    mi, ma = seria.min(), seria.max()
    rng = ma - mi
    return seria.apply(lambda x: (x-mi)/rng)
In [77]:
plot = tn.plot(kind='scatter', x="Proc Nawrocki t2", y="Proc Głosów nieważnych X t2",
        figsize=(15,10), xlabel='', ylabel='% nieważnych głosów z powodu podwójnego X',
        marker='.', s=5, grid=True, color=normalizuj(tn["Kart ważnych t2"]).apply(lambda v: (sqrt(v), 0.4, 0.4)))
plot.xaxis.set_major_formatter(lambda x,i: f'KN {x:.0%}\nRT {(1-x):.0%}')
plot.xaxis.set_ticks(np.arange(0.1, 1.0, 0.2))
plot.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=1))
No description has been provided for this image
In [78]:
print(tn["Proc Głosów nieważnych X t2"].corr(tn["Proc Trzaskowski t2"]), tn["Proc Głosów nieważnych X t2"].corr(tn["Proc Nawrocki t2"]))
0.08962301140112536 -0.08962301140112534

Korelacja rzędu 0.09 jest nieistotna statystycznie, ale gdyby ktoś upierał się na jej podstawie wyciągać wnioski, to więcej tego typu nieważnych głosów było w komisjach, gdzie lepsze wyniki osiągnął RT.

Odfiltrowując dane z najmniejszych komisji (przyjmę granicę 100 kart ważnych), uzyskujemy takie wyniki:

In [79]:
tn1 = tn[tn["Kart ważnych t2"] >= 100]

Nadal nieistotna korelacja na rzecz RT.

In [80]:
print(tn1["Proc Głosów nieważnych X t2"].corr(tn1["Proc Trzaskowski t2"]), tn1["Proc Głosów nieważnych X t2"].corr(tn1["Proc Nawrocki t2"]))
0.163956651583249 -0.163956651583249

Wykres. Kolory oznaczają wielkość komisji; im więcej odcienia czerwonego, tym większa komisja (mierzona wg liczby kart ważnych).

In [81]:
plot = tn1.plot(kind='scatter', x="Proc Nawrocki t2", y="Proc Głosów nieważnych X t2",
        figsize=(20,10), xlabel='', ylabel='% nieważnych głosów z powodu podwójnego X', ylim=(0.0, 0.1),
        marker='.', s=5, grid=True, color=normalizuj(tn1["Kart ważnych t2"]).apply(lambda v: (sqrt(v), 0.4, 0.4)))
# plot.xaxis.set_major_formatter(lambda x,i: f'KN {x:.0%}' if x > 0.5 else f'RT {(1-x):.0%}')
plot.xaxis.set_major_formatter(lambda x,i: f'KN {x:.0%}\nRT {(1-x):.0%}')
plot.xaxis.set_ticks(np.arange(0.1, 1.0, 0.2))
plot.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=1))
No description has been provided for this image

Możemy też wyłowić te komisje, w których udział głosów nieważnych był szczególnie duży. Procentowo...

In [82]:
tn.sort_values("Proc Głosów nieważnych X t2", ascending=False)[["Gmina", "Województwo", "Siedziba",
                                                                "Kart ważnych t2", "Głosów nieważnych t2", "Głosów nieważnych X t2",
                                                                "Trzaskowski t1", "Trzaskowski t2", "Nawrocki t1", "Nawrocki t2"]].head(30)
Out[82]:
Gmina Województwo Siedziba Kart ważnych t2 Głosów nieważnych t2 Głosów nieważnych X t2 Trzaskowski t1 Trzaskowski t2 Nawrocki t1 Nawrocki t2
Teryt Gminy Nr komisji
306401 245 m. Poznań wielkopolskie Zakład Opiekuńczo-Leczniczy Wielospecjalistycz... 5 1 1 1 1 0 3
200501 12 m. Hajnówka podlaskie Zakład Pielęgnacyjno-Opiekuńczy Samodzielnego ... 5 1 1 2 2 2 2
260506 7 gm. Słupia Konecka świętokrzyskie Dom Pomocy Społecznej "Etola" w Rudzie Pilczyc... 30 7 6 3 5 2 18
141901 7 gm. Bielsk mazowieckie Dom Pomocy Społecznej, Goślice 66, 09-230 Bielsk 20 4 3 4 6 2 10
181203 13 gm. Jeżowe podkarpackie Dom Pomocy Społecznej "u Aniołów", Jeżowe 728,... 7 1 1 0 0 5 6
101211 6 gm. Przedbórz łódzkie Dom Pomocy Społecznej „Family”-Niepubliczny Za... 14 3 2 0 2 4 9
26501 64 m. Wałbrzych dolnośląskie Dom Seniora - Sobięcin, ul. II Armii 4, 58-305... 15 2 2 7 6 0 7
186201 35 m. Przemyśl podkarpackie Dom Pomocy Społecznej im. Św. Brata Alberta, u... 23 6 3 1 6 2 11
180405 12 gm. Laszki podkarpackie Dom Pomocy Społecznej w Wysocku, Wysocko 2B, 3... 64 8 8 2 2 41 54
302604 26 gm. Śrem wielkopolskie Dom Pomocy Społecznej w Śremie, ul. Farna 16, ... 26 3 3 5 9 9 14
260102 8 gm. Gnojno świętokrzyskie Dom Pomocy Społecznej w Gnojnie, Gnojno 118, 2... 18 3 2 3 3 7 12
100202 7 gm. Bedlno łódzkie Dom Pomocy Społecznej w Wojszycach, Wojszyce 4... 63 7 7 15 30 22 26
40304 26 gm. Koronowo kujawsko-pomorskie Dom Pomocy Społecznej w Koronowie, ul. Paderew... 18 2 2 4 4 5 12
260105 10 gm. Solec-Zdrój świętokrzyskie Dom Pomocy Społecznej w Zborowie, Zborów ul. P... 28 7 3 4 5 3 16
46101 201 m. Bydgoszcz kujawsko-pomorskie Zakład Opiekuńczo-Leczniczy w Bydgoszczy, ul. ... 19 5 2 6 10 2 4
22405 23 gm. Ząbkowice Śląskie dolnośląskie Dom Pomocy Społecznej dla osób przewlekle psyc... 10 1 1 9 6 2 3
247801 81 m. Zabrze śląskie Dom Pomocy Społecznej "Słoneczny Dom", ul. Knu... 31 5 3 11 18 6 8
181703 5 gm. Bukowsko podkarpackie Wiejski Dom Spotkań Kulturalnych w Woli Piotro... 132 15 12 22 43 9 74
261201 10 gm. Bogoria świętokrzyskie Dom Pomocy Społecznej w Pęcławicach Górnych, P... 34 10 3 6 7 8 17
302805 14 gm. Skoki wielkopolskie Dom Opieki Nasz Dom, Jabłkowo 19, 62-285 Popow... 12 1 1 0 2 10 9
181101 33 m. Mielec podkarpackie Całodobowy Dom Opieki w Mielcu, ul. Partyzantó... 12 1 1 1 5 6 6
221503 20 m. Wejherowo pomorskie Dom Pomocy Społecznej, ul. św. Jacka 14, 84-20... 49 5 4 8 13 17 31
142201 13 m. Przasnysz mazowieckie Dom Pomocy Społecznej, ul. Ruda 1, 06-300 Prza... 64 11 5 2 10 16 43
240101 28 m. Będzin śląskie Dom Pomocy Społecznej, ul. Fryderyka Chopina 1... 26 2 2 4 16 4 8
26401 323 m. Wrocław dolnośląskie Dom Pomocy Społecznej "Arka" i Dom Pomocy Społ... 13 1 1 1 5 1 7
306401 231 m. Poznań wielkopolskie Szpital Św. Rodziny Specjalistycznego Zespołu ... 13 1 1 6 8 4 4
101411 8 gm. Złoczew łódzkie Dom Pomocy Społecznej Caritas Diecezji Kaliski... 13 2 1 2 5 7 6
142906 7 gm. Repki mazowieckie SAWIMED Sp. z o. o., Sawice-Wieś 19, 08-307 Repki 26 2 2 5 2 13 22
46101 191 m. Bydgoszcz kujawsko-pomorskie Dom Pomocy Społecznej "Jesień Życia" w Bydgosz... 40 3 3 17 26 4 11
321004 25 gm. Myślibórz zachodniopomorskie Dom Pomocy Społecznej dla Osób Przewlekle Soma... 40 6 3 4 10 15 24

Większość z nich to komisje bardzo małe. Suma głosów nieważnych w komisjach o procencie nieważnych głosów ≥ 5% wynosi ledwie 1370.

In [83]:
print(tn.loc[tn["Proc Głosów nieważnych t2"] >= 0.05, "Głosów nieważnych t2"].sum())
1370

Więc szukamy tych o największej wartości bezwzględnej.

In [84]:
tn.sort_values("Głosów nieważnych X t2", ascending=False)[[ "Gmina", "Województwo", "Siedziba",
                                                           "Kart ważnych t2", "Głosów nieważnych t2", "Głosów nieważnych X t2", "Proc Głosów nieważnych X t2",
                                                           "Trzaskowski t1", "Trzaskowski t2", "Nawrocki t1", "Nawrocki t2"]].head(50)
Out[84]:
Gmina Województwo Siedziba Kart ważnych t2 Głosów nieważnych t2 Głosów nieważnych X t2 Proc Głosów nieważnych X t2 Trzaskowski t1 Trzaskowski t2 Nawrocki t1 Nawrocki t2
Teryt Gminy Nr komisji
306401 36 m. Poznań wielkopolskie Szkoła Podstawowa Specjalna nr 106, ul. Klemen... 3192 47 30 0.009398 1031 2600 181 545
226101 71 m. Gdańsk pomorskie Przedszkole Nr 82, Gdańsk ul. Damroki 137, 80-... 2716 40 29 0.010677 1043 1955 331 721
186301 51 m. Rzeszów podkarpackie Szkoła Podstawowa Nr 24, ul. Piotra Czajkowski... 2387 34 29 0.012149 700 1216 486 1137
146517 663 Włochy mazowieckie Ratusz, al. Aleja Krakowska 257, 02-133 Warszawa 3222 42 29 0.009001 869 2187 296 993
146505 139 Mokotów mazowieckie Zespół Szkolno-Przedszkolny Nr 1, ul. Gościnie... 2694 37 26 0.009651 1060 1959 323 698
226101 88 m. Gdańsk pomorskie Zespół Szkół Ogólnokształcących Nr 12, Gdańsk ... 2869 43 26 0.009062 1119 2155 324 671
146512 703 Ursus mazowieckie Szkoła Podstawowa nr 2, ul. Orłów Piastowskich... 2647 37 25 0.009445 646 1822 163 788
146505 99 Mokotów mazowieckie Przedszkole Nr 330 "Pod Modrzewiem", al. Aleja... 2143 31 25 0.011666 922 1496 362 616
306401 109 m. Poznań wielkopolskie Politechnika Poznańska, ul. Jana Pawła II 28, ... 4005 42 25 0.006242 1256 3126 235 837
186301 15 m. Rzeszów podkarpackie Zespół Szkół Technicznych, ul. Adama Matuszcza... 2511 35 25 0.009956 554 1215 462 1261
240101 19 m. Będzin śląskie Filia Ośrodka Kultury, pl. plac Skarbińskich 1... 1496 27 25 0.016711 512 893 295 576
66301 103 m. Lublin lubelskie Zespół Szkół nr 12, ul. Sławinkowska 50, 20-81... 1758 25 25 0.014221 479 907 430 826
226101 53 m. Gdańsk pomorskie Morska Szkoła Podstawowa Gdańsk-Południe, Gdań... 2709 37 25 0.009228 929 1950 231 722
106101 196 m. Łódź łódzkie Szkoła Podstawowa nr 169 im. Marii Dąbrowskiej... 2654 33 25 0.009420 1204 1927 362 694
226101 124 m. Gdańsk pomorskie Zespół Szkół Ogólnokształcących Nr 1, Gdańsk u... 1498 33 24 0.016021 672 1091 228 374
246101 36 m. Bielsko-Biała śląskie Szkoła Podstawowa Nr 27 im. Janusza Kusociński... 1204 26 24 0.019934 473 668 265 510
226101 9 m. Gdańsk pomorskie Publiczna Szkoła Podstawowa HEVELIUS, Gdańsk u... 3290 38 24 0.007295 959 2295 299 957
52 m. Gdańsk pomorskie Morska Szkoła Podstawowa Gdańsk-Południe, Gdań... 2279 36 23 0.010092 806 1550 245 693
306401 183 m. Poznań wielkopolskie Szkoła Podstawowa nr 54 im. Jana Kasprowicza, ... 2210 35 23 0.010407 926 1768 184 407
126101 187 m. Kraków małopolskie Szkoła Podstawowa Nr 56, ul. Aleksandra Fredry... 1695 33 22 0.012979 465 1045 285 617
221105 6 gm. Kosakowo pomorskie Szkoła Podstawowa Hala Sportowa, Pogórze ul. S... 2585 36 22 0.008511 1031 1836 258 713
226101 70 m. Gdańsk pomorskie Szkoła Podstawowa Nr 85, Gdańsk ul. Stolema 59... 2398 34 22 0.009174 973 1869 209 495
146519 343 Żoliborz mazowieckie Szkoła Podstawowa nr 396, ul. Anny German 5A, ... 2193 26 22 0.010032 987 1709 185 458
146502 755 Bemowo mazowieckie Szkoła Podstawowa Nr 363, ul. Rozłogi 10, 01-3... 2196 32 22 0.010018 920 1472 420 692
146513 621 Ursynów mazowieckie Szkoła Podstawowa nr 16 budynek A, ul. Wilczy ... 1799 36 22 0.012229 837 1341 240 422
146503 883 Białołęka mazowieckie Szkoła Podstawowa nr 154, ul. Leśnej Polanki 6... 2323 33 22 0.009471 911 1579 309 711
146511 945 Targówek mazowieckie Szkoła Podstawowa Nr 58 im. Tadeusza Gajcego, ... 1739 30 22 0.012651 543 1164 181 545
126101 277 m. Kraków małopolskie Zespół Szkolno-Przedszkolny Nr 1, ul. Myśliwsk... 2091 29 21 0.010043 553 1363 246 699
146518 280 Wola mazowieckie Przedszkole Publiczne "Edulica", ul. Jana Kazi... 2938 32 21 0.007148 859 2179 200 727
146511 934 Targówek mazowieckie XLVI Liceum Ogólnokształcące z Oddziałami Dwuj... 1657 26 21 0.012674 763 1214 177 417
146504 792 Bielany mazowieckie S. B. M. "WARDOM", ul. Jana Kochanowskiego 49,... 1981 22 21 0.010601 889 1404 319 555
146507 404 Praga-Południe mazowieckie Szkoła Podstawowa Specjalna nr 240, ul. Wetery... 2441 34 21 0.008603 714 1763 261 644
102003 30 m. Zgierz łódzkie Szkoła Podstawowa Nr 1 z Oddziałami Integracyj... 1018 22 21 0.020629 297 490 271 506
186301 16 m. Rzeszów podkarpackie Zespół Szkolno-Przedszkolny nr 4, ul. Staroniw... 2248 38 21 0.009342 647 1138 513 1072
306401 108 m. Poznań wielkopolskie Centrum Sportowe, ul. Katowicka 95, 61-131 Poznań 2294 35 21 0.009154 915 1822 179 437
146513 573 Ursynów mazowieckie Przedszkole nr 126, ul. Wokalna 1, 02-787 Wars... 2212 28 20 0.009042 904 1577 325 607
106101 67 m. Łódź łódzkie Szkoła Podstawowa nr 81 im. Bohaterskich Dziec... 2162 30 20 0.009251 792 1435 348 697
126101 121 m. Kraków małopolskie MDK "Dom Harcerza", ul. Władysława Reymonta 18... 1614 40 20 0.012392 367 1134 133 440
270 m. Kraków małopolskie Szkoła Podstawowa Nr 20, ul. Agatowa 41, 30-79... 1784 22 20 0.011211 359 1018 227 744
226101 132 m. Gdańsk pomorskie XV Liceum Ogólnokształcące z Oddziałami Dwujęz... 1238 20 20 0.016155 498 838 237 380
126101 334 m. Kraków małopolskie Publiczne Salezjańskie Liceum Ogólnokształcące... 1882 31 20 0.010627 424 1042 305 809
100101 13 m. Bełchatów łódzkie Szkoła Podstawowa Nr 13, ul. Juliusza Słowacki... 1259 27 20 0.015886 348 510 389 722
146515 1009 Wesoła mazowieckie Szkoła Podstawowa nr 385, ul. Klimatyczna 1, 0... 1617 27 20 0.012369 667 1002 295 588
26401 287 m. Wrocław dolnośląskie Centrum GRAFIT, ul. Namysłowska 8, 50-304 Wrocław 2096 35 20 0.009542 458 1629 107 432
226101 161 m. Gdańsk pomorskie Szkoła Podstawowa Nr 83, Gdańsk ul. Stokłosy 1... 2270 32 20 0.008811 854 1400 454 838
106101 58 m. Łódź łódzkie XXIV Liceum Ogólnokształcące im. Marii Skłodow... 2006 27 20 0.009970 863 1326 352 653
21101 9 m. Lubin dolnośląskie II Liceum Ogólnokształcące, ul. Aleja Niepodle... 610 22 20 0.032787 201 284 168 304
126101 84 m. Kraków małopolskie Szkoła Podstawowa z Oddziałami Integracyjnymi ... 1788 28 19 0.010626 577 1168 285 592
306401 172 m. Poznań wielkopolskie Szkoła Podstawowa nr 10 im. Arkadego Fiedlera,... 2260 30 19 0.008407 721 1683 207 547
126101 228 m. Kraków małopolskie Szkoła Podstawowa im. Bł. Celiny Borzęckiej, u... 1722 33 19 0.011034 508 1099 260 590

Komisje, w których liczba głosów nieważnych z powodu podwójnego X przekroczyła 2% kart, a jednocześnie wynosiła co najmniej 5 sztuk → 61 takich komisji. To zapiszę do kolejnego pliku

In [85]:
znalezione = tn[(tn["Proc Głosów nieważnych X t2"] >= 0.02) & (tn["Głosów nieważnych X t2"] >= 5)]
In [86]:
len(znalezione)
Out[86]:
61
In [87]:
zn = znalezione.sort_values("Głosów nieważnych X t2", ascending=False)
zn[["Gmina", "Województwo", "Siedziba",
    "Kart ważnych t2", "Głosów nieważnych t2", "Głosów nieważnych X t2", "Proc Głosów nieważnych X t2",
    "Trzaskowski t1", "Trzaskowski t2", "Nawrocki t1", "Nawrocki t2"]].head(30)
Out[87]:
Gmina Województwo Siedziba Kart ważnych t2 Głosów nieważnych t2 Głosów nieważnych X t2 Proc Głosów nieważnych X t2 Trzaskowski t1 Trzaskowski t2 Nawrocki t1 Nawrocki t2
Teryt Gminy Nr komisji
102003 30 m. Zgierz łódzkie Szkoła Podstawowa Nr 1 z Oddziałami Integracyj... 1018 22 21 0.020629 297 490 271 506
21101 9 m. Lubin dolnośląskie II Liceum Ogólnokształcące, ul. Aleja Niepodle... 610 22 20 0.032787 201 284 168 304
126101 429 m. Kraków małopolskie Dom Studencki Nr 1 Olimp w Krakowie, ul. Józef... 773 25 19 0.024580 96 485 73 263
66301 217 m. Lublin lubelskie Areszt Śledczy w Lublinie, ul. Południowa 5, 2... 587 18 14 0.023850 288 438 47 131
60113 1 gm. Rossosz lubelskie Hala Sportowa w Rossoszu, ul. Lubelska 37, 21-... 581 17 14 0.024096 41 97 232 467
121905 16 gm. Wieliczka małopolskie Szkoła Podstawowa w Podstolicach, Podstolice 2... 668 15 14 0.020958 98 160 265 493
221404 4 gm. Pelplin pomorskie Szkoła Podstawowa Nr 2 w Pelplinie, ul. Kościu... 564 13 13 0.023050 180 285 147 266
160904 4 gm. Komprachcice opolskie Publiczna Szkoła Podstawowa w Domecku, Domecko... 552 16 12 0.021739 180 319 93 217
181703 5 gm. Bukowsko podkarpackie Wiejski Dom Spotkań Kulturalnych w Woli Piotro... 132 15 12 0.090909 22 43 9 74
22404 1 gm. Stoszowice dolnośląskie Szkoła Podstawowa w Budzowie z filią w Grodzis... 470 13 11 0.023404 119 172 172 285
40903 17 gm. Mogilno kujawsko-pomorskie Zespół Szkolno-Przedszkolny w Mogilnie, ul. Po... 437 10 10 0.022883 130 234 97 193
100305 4 gm. Wodzierady łódzkie Świetlica wiejska w Leśnicy, Leśnica 46, 98-10... 189 11 10 0.052910 52 82 56 96
22002 3 gm. Prusice dolnośląskie Świetlica Wiejska w Piotrkowicach, Piotrkowice... 410 9 9 0.021951 43 91 146 310
180405 12 gm. Laszki podkarpackie Dom Pomocy Społecznej w Wysocku, Wysocko 2B, 3... 64 8 8 0.125000 2 2 41 54
160602 19 gm. Namysłów opolskie Zespół Szkolno-Przedszkolny, Smarchowice Wielk... 307 9 8 0.026059 74 127 74 171
41804 3 gm. Brześć Kujawski kujawsko-pomorskie Brzeskie Centrum Kultury i Historii „Wahadło”,... 389 9 8 0.020566 72 142 113 238
221504 6 gm. Choczewo pomorskie Świetlica wiejska, Sasino ul. Brukowa 3, 84-21... 394 10 8 0.020305 151 263 50 121
121301 11 m. Oświęcim małopolskie Przedszkole Miejskie Nr 15, ul. Budowlanych 43... 336 8 8 0.023810 114 180 90 148
141708 21 gm. Wiązowna mazowieckie Świetlica w Woli Duckiej, Wola Ducka ul. Słone... 311 8 7 0.022508 51 103 115 200
221602 2 gm. Mikołajki Pomorskie pomorskie Gminne Centrum Kulturalno Biblioteczne w Mikoł... 317 10 7 0.022082 53 99 116 208
240413 8 gm. Poczesna śląskie Świetlica wiejska w Nowej Wsi, Nowa Wieś ul. C... 321 8 7 0.021807 101 149 92 164
21406 10 gm. Oleśnica dolnośląskie Powiatowy Dom Pomocy Społecznej w Ostrowinie, ... 345 11 7 0.020290 101 172 72 162
21103 6 gm. Rudna dolnośląskie Świetlica Wiejska, Chobienia rynek Rynek 6, 59... 240 7 7 0.029167 51 77 80 156
300302 7 gm. Czerniejewo wielkopolskie Świetlica Wiejska w Szczytnikach Czerniejewski... 318 8 7 0.022013 50 93 123 217
60304 3 gm. Dorohusk lubelskie Szkoła Podstawowa, Świerże ul. Jana Pawła II 5... 336 7 7 0.020833 62 79 168 250
100202 7 gm. Bedlno łódzkie Dom Pomocy Społecznej w Wojszycach, Wojszyce 4... 63 7 7 0.111111 15 30 22 26
80806 7 gm. Zbąszynek lubuskie Świetlica Wiejska, Rogoziniec 13, 66-210 Zbąsz... 234 6 6 0.025641 78 124 62 104
100204 9 gm. Krośniewice łódzkie Szkoła Podstawowa im. gen. Władysława Andersa ... 265 7 6 0.022642 31 57 112 201
21003 8 gm. Leśna dolnośląskie Świetlica Wiejska w Grabiszycach Górnych, Grab... 288 7 6 0.020833 72 122 79 159
306401 256 m. Poznań wielkopolskie Oddział Zewnętrzny Aresztu Śledczego w Poznani... 179 9 6 0.033520 112 149 5 21
In [88]:
zn.to_csv('duzo_niewaznych.xlsx')
zn.to_excel('duzo_niewaznych.xlsx')

Wzrost liczby wyborców t1 → t2¶

Pojawił się jeszcze wątek dodatkowych wyborców uprawnionych do głosowania, których przybyło w drugiej turze. Obstawiam, że chodzi o komisje zagraniczne, do których mogą zapisywać się osoby z obywatelstwem polskim nie mieszkające w Polsce. Ale sprawdźmy to.

In [89]:
rozn_upr = t["Uprawnionych t2"] - t["Uprawnionych t1"]
In [90]:
print(rozn_upr.sum())
111331
In [91]:
tu = t.sort_values("Nr komisji", key=lambda _: rozn_upr)[["Gmina", "Siedziba", "Uprawnionych t1", "Uprawnionych t2", "Nawrocki t2", "Trzaskowski t2"]]

Co ciekawe, są róœnież komisje z istotnym spadkiem liczby wyborców. Natomiast wzrosty – bez zaskoczenia – dotyczą głównie zagranicy i miejscowości wypoczynkowych.

In [92]:
tu.head(30)
Out[92]:
Gmina Siedziba Uprawnionych t1 Uprawnionych t2 Nawrocki t2 Trzaskowski t2
Teryt Gminy Nr komisji
26401 134 m. Wrocław Liceum Ogólnokształcące nr IV, ul. Stacha Świs... 1937 1395 545 837
246601 55 m. Gliwice Szkoła Podstawowa z Oddziałami Integracyjnymi ... 1399 952 517 422
106101 176 m. Łódź Integracyjna Szkoła Podstawowa nr 67 im. Janus... 1667 1351 416 868
142102 27 m. Pruszków Mazowieckie Specjalistyczne Centrum Zdrowia im... 540 224 114 108
221201 1 m. Ustka Szkoła Podstawowa nr 1, ul. Darłowska 18, 76-2... 1324 1017 370 637
281602 4 gm. Orzysz Świetlica wiejska w Wierzbinach, Wierzbiny 26A... 938 633 194 137
146506 205 Ochota Szkoła Podstawowa nr 97, ul. Spiska 1, 02-302 ... 1453 1172 343 814
120303 30 gm. Chrzanów Szpital Powiatowy w Chrzanowie, ul. Topolowa 1... 435 156 78 76
240304 8 gm. Brenna Szkoła Podstawowa Nr 2 w Brennej, ul. Bukowa 4... 1051 801 463 334
301901 3 m. Piła I Liceum Ogólnokształcące im. Marii Skłodowski... 2467 2249 616 866
106101 231 m. Łódź XLVII Liceum Ogólnokształcące im. Stanisława S... 2024 1816 538 956
121701 13 m. Zakopane Szkoła Podstawowa Nr 4, ul. Janosówka 15B, 34-... 1788 1595 834 358
246901 51 m. Katowice Szkoła Podstawowa nr 53, ul. Szopienicka 58A, ... 1441 1250 425 466
281602 1 gm. Orzysz Zespół szkolno-przedszkolny w Orzyszu (mały bu... 1595 1405 482 304
126101 429 m. Kraków Dom Studencki Nr 1 Olimp w Krakowie, ul. Józef... 947 773 263 485
146517 657 Włochy CLIX Liceum Ogólnokształcące, ul. Solipska 17/... 1502 1337 394 926
141301 10 m. Mława Zespół Szkół Nr 1, ul. Zuzanny Morawskiej 29, ... 1743 1590 526 547
320302 11 gm. Drawsko Pomorskie Szkoła Podstawowa w Mielenku Drawskim, Mielenk... 820 672 199 204
146510 30 Śródmieście Przedszkole nr 44, ul. Ludna 8, 00-406 Warszawa 2715 2571 624 1539
22103 4 m. Szczawno-Zdrój Miejska Biblioteka Publiczna „Zdrojoteka” w Sz... 1068 925 224 521
106101 241 m. Łódź Szkoła Podstawowa nr 12 im. Mariana Batki, ul.... 2000 1859 558 889
215 m. Łódź Szkoła Podstawowa nr 23 im. Marii Bohuszewiczó... 1782 1644 384 600
0 498 zagranica Cassino, Via Marconi, Aula Pacis, 03043 Cassin... 315 185 45 110
240302 10 m. Ustroń Budynek Sanatorium i Szpitala Uzdrowiskowego „... 1245 1117 508 601
80305 2 gm. Skwierzyna Ośrodek Sportu i Rekreacji (świetlica) w Skwie... 1344 1225 337 490
146518 276 Wola Szkoła Podstawowa nr 132, ul. Grabowska 1, 01-... 2795 2678 853 1368
181701 22 m. Sanok Samodzielny Publiczny Zespół Opieki Zdrowotnej... 321 204 41 32
60914 9 gm. Wólka Gminna Biblioteka Publiczna-Filia Turka, ul. K... 2648 2532 1053 1001
301807 3 gm. Ostrzeszów I Liceum Ogólnokształcące, ul. Zamkowa 21, 63-... 1993 1880 590 767
146506 216 Ochota Centrum Kształcenia Ustawicznego Nr 2, ul. Szc... 1412 1300 224 919
In [93]:
tu.tail(50)
Out[93]:
Gmina Siedziba Uprawnionych t1 Uprawnionych t2 Nawrocki t2 Trzaskowski t2
Teryt Gminy Nr komisji
0 438 zagranica Reading, 81 London Road, RG1 5BY Reading, Read... 2208 2980 993 1486
487 zagranica Sheffield, 93 Broomspring Lane, S10 2FB Sheffi... 2209 2984 1021 1255
238 zagranica Dortmund I, Märkische Straße 120, 44141 Dortmu... 1693 2477 788 1264
116 zagranica Alicante II, Avenida de Elche 3, 03008 Alicant... 991 1776 264 1334
321305 6 gm. Postomino Szkoła Podstawowa w Jarosławcu, ul. Bałtycka 6... 1378 2174 897 1117
0 51 zagranica Split, Kliška 29, 21000 Split, Split, Republik... 559 1358 321 895
40 zagranica Nesebyr, Mladost 62, 8230 Nesebyr, Nesebyr, Re... 402 1215 328 750
221210 14 gm. Ustka Świetlica Wiejska w Rowach, ul. Kościelna 2a, ... 905 1722 623 1091
146518 279 Wola Przedszkole Nr 426, ul. Boguszewska 4, 01-250 ... 1960 2778 432 1428
0 276 zagranica Moss, Dronningensgate 27, 1530 Moss, Moss, Kró... 1776 2598 938 1221
275 zagranica Lillestrøm, Kjerulfsgate 38, 2000 Lillestrøm, ... 2076 2899 1031 1330
35 zagranica Gandawa, Kortrijksesteenweg 1025, 9051 Gent, G... 2533 3359 1190 1361
320905 5 gm. Mielno Szkoła Podstawowa im. Straży Granicznej w Sarb... 1566 2398 821 1341
0 96 zagranica Ateny, Chryssanthemon 22, 154 52 Paleo Psychik... 1285 2119 538 1565
383 zagranica Budapeszt, Városligeti fasor 16., 1068 Budapes... 1440 2289 582 1470
503 zagranica Mediolan II, Via Monte Rosa 6, 20149 Milano, M... 1284 2146 347 1433
232 zagranica Kolonia I, Im MediaPark 5C, 50670 Köln, Koloni... 1947 2816 773 1551
208 zagranica Brunssum, Schinvelderstraat 19A, 6441 TE Bruns... 2482 3354 999 1639
76 zagranica Paryż I, 57, rue Saint Dominique, 75007 Paris,... 2313 3195 879 1981
320507 2 gm. Rewal Sala Wystawiennicza w Rewalu, ul. Słowackiego ... 1322 2206 793 1184
0 431 zagranica Northampton, St Lawrence House, Duke Street, N... 2176 3075 1247 1259
1 zagranica Tirana, Rruga e Bogdanëve 50, Tiranë 1001, Tir... 304 1212 255 769
320507 1 gm. Rewal Kompleks Rekreacyjno-Sportowy, ul. Moniuszki 8... 1701 2616 764 1482
3 gm. Rewal Kompleks sportowo-rekreacyjny, ul. Leśna 1, 72... 1811 2728 845 1531
0 68 zagranica Hurghada, Km 20 Hurghada - Safaga Road, 84511 ... 492 1431 246 891
220802 1 m. Łeba Szkoła Podstawowa im. Adama Mickiewicza, ul. T... 1121 2074 601 1180
320905 3 gm. Mielno Centrum Usług Społecznych, ul. 6 Marca 35, 76-... 1234 2199 686 1270
0 272 zagranica Drammen, Cappelens gate 1, 3016 Drammen, Dramm... 2718 3687 1442 1612
262 zagranica Stuttgart I, Fritz-Walter-Weg 19, 70372 Stuttg... 1690 2674 753 1332
237 zagranica Darmstadt, Ludwigshöhstraße 42, 64285 Darmstad... 2259 3245 1047 1614
501 zagranica Palermo, Via Praga 46, 90146 Palermo, Palermo,... 789 1779 213 1262
56 zagranica Praga I, Truhlářská 13-15, 110 00 Praha 1, Pra... 1319 2311 340 1701
248 zagranica Kleve, Minoritenplatz 1, 47533 Kleve, Kleve, R... 2604 3606 1332 1505
496 zagranica Bari, Corso Vittorio Emanuele II 84, 70122 Bar... 784 1791 268 1367
502 zagranica Mediolan I, Via Monte Rosa 6, 20149 Milano, Me... 1549 2587 480 1763
49 zagranica Makarska, Kralja Petra Krešimira IV 19, 21300 ... 346 1388 415 871
499 zagranica Florencja, Via dei Conti 3, 50123 Firenze, Flo... 998 2080 313 1538
320804 5 gm. Kołobrzeg Szkoła Podstawowa im. Jana Pawła II, ul. Sport... 1275 2399 839 1371
221001 1 m. Krynica Morska Szkoła Podstawowa im. Janusza Korczaka w Kryni... 2231 3390 1096 1875
0 377 zagranica Antalya, Doğuyaka Mah. , 1219 Sokak No. 9, 073... 398 1561 235 943
118 zagranica Palma de Mallorca, Avinguda de Fra. Joan Llabr... 1122 2301 434 1858
221102 1 gm. Jastarnia Urząd Miasta, ul. Portowa 24, 84-140 Jastarnia 2662 3864 1286 1956
0 52 zagranica Zadar, Bože Peričića 14, 23000 Zadar, Zadar, R... 698 1917 340 1408
54 zagranica Nikozja, 1 Achaion Street, 2413 Engomi, Nicosi... 1180 2404 411 1519
506 zagranica Wenecja – Mestre, Via Sernaglia 43, 30171 Mest... 751 2063 321 1513
185 zagranica Valletta, Phoenix Business Centre, Level 2, Ol... 1865 3276 661 2170
98 zagranica Rodos, I. Kazouli Street 16, 85 100 Rhodes, Ro... 719 2191 428 1495
97 zagranica Heraklion, 1821 Street 39 , 712 01 Iraklio, He... 652 2249 363 1492
495 zagranica Rzym II, Via Vittoria Colonna 1, 00193 Roma, R... 2765 4443 1873 1953
378 zagranica Alanya, Şekerhane Mah. , Atatürk Bulvarı No. 1... 673 2473 566 1544

A ponieważ w sieci zaczął latać jakiś wykres pokazujący rzekomą zależność między wzrostem liczby osób uprawnionych a wzrostem poparcia dla Karola (jakkolwiek mierzonym), próbuję uzykać coś takiego na prawdziwych danych – absolutnie nie wychodzi żadna widoczna zależność. Pojedyncze komisje o dużym wzroście uprawnionych to komisje zagraniczne, a poparcie w nich było zazwyczaj bardziej dla RT, ale miejscami (USA + Kanada?) dla KN.

In [94]:
tab = pd.DataFrame({'Przyrost uprawnionych': rozn_upr,
                    'Przyrost KN': t['Nawrocki t2']-t['Nawrocki t1'], 
                    'Różnica KN RT': t['Nawrocki t2'] - t['Trzaskowski t2'],
                    'Wzrost różnicy KN RT': (t['Nawrocki t2'] - t['Trzaskowski t2']) - (t['Nawrocki t1'] - t['Trzaskowski t1']),}) 
In [95]:
tab.plot(kind='scatter', x='Przyrost uprawnionych', y='Przyrost KN', figsize=(15, 10), s=5)
Out[95]:
<Axes: xlabel='Przyrost uprawnionych', ylabel='Przyrost KN'>
No description has been provided for this image
In [96]:
tab.plot(kind='scatter', x='Przyrost uprawnionych', y='Różnica KN RT', figsize=(15, 10), s=5)
Out[96]:
<Axes: xlabel='Przyrost uprawnionych', ylabel='Różnica KN RT'>
No description has been provided for this image
In [97]:
tab.plot(kind='scatter', x='Przyrost uprawnionych', y='Wzrost różnicy KN RT', figsize=(15, 10), s=5)
Out[97]:
<Axes: xlabel='Przyrost uprawnionych', ylabel='Wzrost różnicy KN RT'>
No description has been provided for this image

Niezgodność liczby kart¶

In [98]:
t[t["Kart otrzymanych t2"] < t["Kart wyjętych t2"]]
Out[98]:
Gmina Powiat Teryt Powiatu Województwo Siedziba Kart otrzymanych t1 Uprawnionych t1 Kart niewykorzystanych t1 Kart wydanych w lokalu t1 Kopert wysłanych t1 ... Różn Proc Nawrocki Różn Proc Trzaskowski Lewica t1 Prawica t1 Proc Lewica t1 Proc Prawica t1 Różn Lewica Różn Prawica Różn Proc Lewica Różn Proc Prawica
Teryt Gminy Nr komisji
226401 7 m. Sopot Sopot 226400.0 pomorskie Muzeum Sopotu, ul. Księcia Józefa Poniatowskie... 1179 1275 194 985 1 ... 0.125076 0.25094 683 301 0.694106 0.305894 221 12 0.048704 -0.048704

1 rows × 83 columns

In [99]:
tn = t.copy()
In [100]:
tn["Proc zaświadczeń"] = tn["Zaświadczeń t2"] / tn["Kart wyjętych t2"]
In [101]:
pd.options.display.float_format = '{:.1%}'.format
In [102]:
tn.nlargest(50, "Proc zaświadczeń")[["Gmina", "Siedziba", "Kart wyjętych t2", "Głosów ważnych t2", "Zaświadczeń t2", "Proc zaświadczeń", "Proc Nawrocki t2", "Proc Trzaskowski t2"]]
Out[102]:
Gmina Siedziba Kart wyjętych t2 Głosów ważnych t2 Zaświadczeń t2 Proc zaświadczeń Proc Nawrocki t2 Proc Trzaskowski t2
Teryt Gminy Nr komisji
0 180 zagranica Luksemburg I, 5 Avenue Marie-Thérèse, (Centre ... 1797 1788 1797 100.0% 24.0% 76.0%
126101 403 m. Kraków Zespół Szkolno-Przedszkolny Nr 9, ul. Romana P... 977 968 976 99.9% 69.0% 31.0%
302407 19 gm. Szamotuły Samodzielny Publiczny Zakład Opieki Zdrowotnej... 14 13 13 92.9% 53.8% 46.2%
40102 8 m. Ciechocinek Klinika Uzdrowiskowa ”Pod Tężniami” – Spółdzie... 211 209 175 82.9% 30.6% 69.4%
61408 13 gm. Nałęczów Sanatorium Uzdrowiskowe Związku Nauczycielstwa... 126 125 99 78.6% 44.0% 56.0%
281803 18 gm. Gołdap Sanatorium Uzdrowiskowe WITAL, ul. Wczasowa 7,... 253 251 197 77.9% 47.4% 52.6%
20803 9 m. Kudowa-Zdrój SP ZOZ Sanatorium Uzdrowiskowe "Bristol" MSWiA... 181 181 137 75.7% 37.6% 62.4%
26101 48 m. Jelenia Góra SP ZOZ Sanatorium Uzdrowiskowe MSWiA "Agat", u... 155 155 117 75.5% 43.2% 56.8%
226401 25 m. Sopot SP ZOZ Sanatorium Uzdrowiskowe MSWiA w Sopocie... 267 264 200 74.9% 38.6% 61.4%
326301 26 m. Świnoujście "Uzdrowiska Świnoujście" S. A. - "Swarożyc", u... 1588 1581 1172 73.8% 33.4% 66.6%
320801 26 m. Kołobrzeg Sanatorium Uzdrowiskowe "ORW KOŁOBRZEG-PODCZEL... 250 248 184 73.6% 49.6% 50.4%
326301 1 m. Świnoujście "HOSSA" Centrum Edukacji i Wspierania Przedsię... 978 972 714 73.0% 30.5% 69.5%
320804 5 gm. Kołobrzeg Szkoła Podstawowa im. Jana Pawła II, ul. Sport... 2216 2210 1608 72.6% 38.0% 62.0%
321305 6 gm. Postomino Szkoła Podstawowa w Jarosławcu, ul. Bałtycka 6... 2025 2014 1445 71.4% 44.5% 55.5%
40102 9 m. Ciechocinek Samodzielny Publiczny Zakład Opieki Zdrowotnej... 250 249 176 70.4% 34.1% 65.9%
321303 8 gm. Darłowo Szkoła Podstawowa im. Ratowników Morskich, ul.... 2246 2236 1535 68.3% 43.2% 56.8%
320801 24 m. Kołobrzeg Szkoła Podstawowa nr 1 z Oddziałami Integracyj... 1067 1066 729 68.3% 37.3% 62.7%
41804 12 gm. Brześć Kujawski Filia Biblioteki Publicznej w Brześciu Kujawsk... 936 922 638 68.2% 47.8% 52.2%
40701 50 m. Inowrocław Sanatorium Uzdrowiskowe "Przy Tężni" im. dr. J... 463 458 311 67.2% 42.1% 57.9%
320905 5 gm. Mielno Szkoła Podstawowa im. Straży Granicznej w Sarb... 2177 2162 1453 66.7% 38.0% 62.0%
160402 27 gm. Kluczbork Powiatowe Centrum Zdrowia S. A. w Kluczborku, ... 15 15 10 66.7% 53.3% 46.7%
40701 49 m. Inowrocław "Solanki" Uzdrowisko Inowrocław sp. z o.o., ul... 554 552 364 65.7% 39.1% 60.9%
321603 11 gm. Połczyn-Zdrój Uzdrowisko Połczyn Grupa PGU S. A. -Kawiarnia ... 627 623 406 64.8% 39.8% 60.2%
320807 1 gm. Ustronie Morskie Szkoła Podstawowa im. Marii Konopnickiej (duża... 2361 2349 1527 64.7% 39.5% 60.5%
26101 46 m. Jelenia Góra Uzdrowisko Cieplice Sp. z o. o.-Grupa PGU, pl.... 224 223 144 64.3% 44.8% 55.2%
20803 8 m. Kudowa-Zdrój "Zespół Opieki Zdrowotnej" w Kłodzku (Szpital ... 162 162 104 64.2% 51.9% 48.1%
320801 1 m. Kołobrzeg Szkoła Podstawowa nr 1 z Oddziałami Integracyj... 1479 1465 948 64.1% 35.8% 64.2%
260101 34 gm. Busko-Zdrój 21 Wojskowy Szpital Uzdrowiskowo-Rehabilitacyj... 261 259 166 63.6% 42.9% 57.1%
146510 1104 Śródmieście Warszawski Instytut Zdrowia Kobiet Zakłady Lec... 16 16 10 62.5% 37.5% 62.5%
121007 6 gm. Krynica-Zdrój Hotel Victoria Cechini, ul. Kazimierza Pułaski... 1257 1248 785 62.5% 45.0% 55.0%
126101 421 m. Kraków SP ZOZ Szpital Uniwersytecki w Krakowie, ul. M... 111 109 69 62.2% 56.0% 44.0%
226401 24 m. Sopot Sanatorium Uzdrowiskowe "Leśnik", ul. 23 Marca... 164 163 101 61.6% 49.7% 50.3%
321301 1 m. Darłowo Terminal Turystyczny, ul. Kotwiczna 14, 76-150... 1957 1939 1202 61.4% 36.3% 63.7%
221210 14 gm. Ustka Świetlica Wiejska w Rowach, ul. Kościelna 2a, ... 1722 1714 1029 59.8% 36.3% 63.7%
61408 16 gm. Nałęczów Sanatorium Uzdrowiskowe Rolnik w Nałęczowie, u... 116 112 69 59.5% 47.3% 52.7%
200209 8 gm. Supraśl Holmed Uzdrowisko Sp. z o.o., ul. Uroczysko Pu... 171 170 101 59.1% 52.4% 47.6%
320807 3 gm. Ustronie Morskie Świetlica Wiejska w Sianożętach, Sianożęty ul.... 1289 1281 749 58.1% 41.4% 58.6%
320701 5 gm. Dziwnów Świetlica środowiskowa, ul. Zatoczna 34, 72-41... 1602 1591 927 57.9% 36.7% 63.3%
221102 3 gm. Jastarnia Klub Seniora, ul. Sosnowa 3, 84-141 Jurata 994 992 568 57.1% 23.3% 76.7%
320905 3 gm. Mielno Centrum Usług Społecznych, ul. 6 Marca 35, 76-... 1967 1956 1101 56.0% 35.1% 64.9%
240302 10 m. Ustroń Budynek Sanatorium i Szpitala Uzdrowiskowego „... 1117 1109 624 55.9% 45.8% 54.2%
221001 1 m. Krynica Morska Szkoła Podstawowa im. Janusza Korczaka w Kryni... 2999 2971 1675 55.9% 36.9% 63.1%
260101 32 gm. Busko-Zdrój Uzdrowiskowy Szpital Kompleksowej Rehabilitacj... 328 326 181 55.2% 55.5% 44.5%
61408 11 gm. Nałęczów Kardiologiczny Szpital Uzdrowiskowy, ul. Micha... 288 284 155 53.8% 54.2% 45.8%
321303 1 gm. Darłowo Świetlica Wiejska, Barzowice 10, 76-150 Darłowo 553 551 293 53.0% 42.5% 57.5%
180703 7 gm. Iwonicz-Zdrój Szpital Uzdrowiskowy "Excelsior" w Iwoniczu-Zd... 191 190 101 52.9% 59.5% 40.5%
260101 6 gm. Busko-Zdrój Buskie Samorządowe Centrum Kultury w Busku-Zdr... 1749 1727 923 52.8% 44.5% 55.5%
40102 2 m. Ciechocinek Żłobek Samorządowy "Bajeczka", ul. Widok 9, 87... 1748 1739 913 52.2% 42.9% 57.1%
320507 3 gm. Rewal Kompleks sportowo-rekreacyjny, ul. Leśna 1, 72... 2392 2376 1232 51.5% 35.6% 64.4%
320801 2 m. Kołobrzeg Zespół Szkół Nr 2, ul. Piastowska 5, 78-100 Ko... 1490 1480 749 50.3% 37.6% 62.4%