In [7]:
import numpy as np
import random

liste = ['Max', 'Andi', 'Simon', 'Robin', 'Rosina']
np.random.shuffle(liste)
liste
Out[7]:
['Rosina', 'Andi', 'Max', 'Robin', 'Simon']
In [3]:
import pandas as pd
In [4]:
data = pd.read_csv("all_votes.tsv", sep = "\t")
In [5]:
import matplotlib.pyplot as plt
In [6]:
data.head()
Out[6]:
id poll_id mandate_label poll_label vote reason_no_show fraction_label poll_date
0 420205 4293 Frauke Petry (Bundestag 2017 - 2021) Änderung des Infektionsschutzgesetzes und Grun... no NaN fraktionslos (Bundestag 2017 - 2021) 2021-09-07
1 420204 4293 Frank Pasemann (Bundestag 2017 - 2021) Änderung des Infektionsschutzgesetzes und Grun... no NaN fraktionslos (Bundestag 2017 - 2021) 2021-09-07
2 420203 4293 Georg Nüßlein (Bundestag 2017 - 2021) Änderung des Infektionsschutzgesetzes und Grun... yes NaN fraktionslos (Bundestag 2017 - 2021) 2021-09-07
3 420202 4293 Mario Mieruch (Bundestag 2017 - 2021) Änderung des Infektionsschutzgesetzes und Grun... no NaN fraktionslos (Bundestag 2017 - 2021) 2021-09-07
4 420201 4293 Uwe Kamann (Bundestag 2017 - 2021) Änderung des Infektionsschutzgesetzes und Grun... no_show NaN fraktionslos (Bundestag 2017 - 2021) 2021-09-07
In [7]:
plt.hist(data.vote)
Out[7]:
(array([48647.,     0.,     0., 58135.,     0.,     0., 13042.,     0.,
            0.,  4738.]),
 array([0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3. ]),
 <BarContainer object of 10 artists>)
Out[7]:
In [39]:
data_gr = data.groupby(["mandate_label", "vote"]).size()
In [40]:
print(data_gr)
mandate_label                          vote   
Achim Kessler (Bundestag 2017 - 2021)  abstain     17
                                       no          99
                                       no_show     19
                                       yes         41
Achim Post (Bundestag 2017 - 2021)     no          54
                                                 ... 
Zaklin Nastić (Bundestag 2017 - 2021)  abstain     16
                                       no         111
                                       no_show     13
                                       yes         36
Zeki Gökhan (Bundestag 2017 - 2021)    no           3
Length: 2628, dtype: int64
In [86]:
data_gr[0:8].plot(kind = "bar")
Out[86]:
<Axes: xlabel='mandate_label,vote'>
Out[86]:
In [19]:
plt.hist(data_gr)
Out[19]:
(array([646., 413., 215., 184., 403., 175., 113., 156., 312.,  11.]),
 array([  1.,  14.,  27.,  40.,  53.,  66.,  79.,  92., 105., 118., 131.]),
 <BarContainer object of 10 artists>)
Out[19]:
In [46]:
data_sorted = data.sort_values(by="vote")
data_sorted
Out[46]:
id poll_id mandate_label poll_label vote reason_no_show fraction_label poll_date
61695 322105 1690 Gökay Akbulut (Bundestag 2017 - 2021) Betrieb von Kohlekraftwerken zur Stromerzeugun... abstain NaN DIE LINKE (Bundestag 2017 - 2021) 2019-06-28
17088 396621 4097 Sven-Christian Kindler (Bundestag 2017 - 2021) Verlängerung der Beteiligung der Bundeswehr an... abstain NaN DIE GRÜNEN (Bundestag 2017 - 2021) 2021-04-21
17089 396620 4097 Katja Keul (Bundestag 2017 - 2021) Verlängerung der Beteiligung der Bundeswehr an... abstain NaN DIE GRÜNEN (Bundestag 2017 - 2021) 2021-04-21
113543 98066 1285 Cem Özdemir (Bundestag 2017 - 2021) Verlängerung des Bundeswehreinsatzes im Mittel... abstain NaN DIE GRÜNEN (Bundestag 2017 - 2021) 2018-03-22
17090 396619 4097 Uwe Kekeritz (Bundestag 2017 - 2021) Verlängerung der Beteiligung der Bundeswehr an... abstain NaN DIE GRÜNEN (Bundestag 2017 - 2021) 2021-04-21
... ... ... ... ... ... ... ... ...
84079 297435 1636 Carsten Brodesser (Bundestag 2017 - 2021) Digitalpakt - Änderung des Grundgesetzes yes NaN CDU/CSU (Bundestag 2017 - 2021) 2019-02-21
84080 297434 1636 Ralph Brinkhaus (Bundestag 2017 - 2021) Digitalpakt - Änderung des Grundgesetzes yes NaN CDU/CSU (Bundestag 2017 - 2021) 2019-02-21
84081 297433 1636 Leni Breymaier (Bundestag 2017 - 2021) Digitalpakt - Änderung des Grundgesetzes yes NaN SPD (Bundestag 2017 - 2021) 2019-02-21
19166 390295 4093 Michael von Abercron (Bundestag 2017 - 2021) Energieversorgung in Deutschland yes NaN CDU/CSU (Bundestag 2017 - 2021) 2021-04-14
62280 321546 1688 Sonja Steffen (Bundestag 2017 - 2021) Verlängerung des Bundeswehreinsatzes im Kosovo... yes NaN SPD (Bundestag 2017 - 2021) 2019-06-28

124562 rows × 8 columns

In [60]:
abstain = data[data.vote == "abstain"]
no_show = data[data.vote == "no_show"]
yes = data[data.vote == "yes"]
no = data[data.vote == "no"]
In [84]:
abstain_gr = abstain.groupby("fraction_label").size()
abstain_gr.sort_values(ascending=False).plot(kind = "bar", title = "ABSTAIN")
Out[84]:
<Axes: title={'center': 'ABSTAIN'}, xlabel='fraction_label'>
Out[84]:
In [56]:
abstain_gr = abstain.groupby("mandate_label").size()
abstain_gr.sort_values(ascending=False)
Out[56]:
mandate_label
Mario Mieruch (Bundestag 2017 - 2021)          34
Lisa Paus (Bundestag 2017 - 2021)              31
Margarete Bause (Bundestag 2017 - 2021)        30
Matthias Gastel (Bundestag 2017 - 2021)        30
Renate Künast (Bundestag 2017 - 2021)          29
                                               ..
Klaus-Peter Willsch (Bundestag 2017 - 2021)     1
Sepp Müller (Bundestag 2017 - 2021)             1
Saskia Ludwig (Bundestag 2017 - 2021)           1
Sascha Raabe (Bundestag 2017 - 2021)            1
Frank Steffel (Bundestag 2017 - 2021)           1
Length: 420, dtype: int64
In [61]:
no_show_gr = no_show.groupby("mandate_label").size()
no_show_gr.sort_values(ascending=False)
Out[61]:
mandate_label
Angela Merkel (Bundestag 2017 - 2021)        131
Ingrid Remmers (Bundestag 2017 - 2021)       120
Helge Braun (Bundestag 2017 - 2021)          110
Sahra Wagenknecht (Bundestag 2017 - 2021)    109
Marcus Held (Bundestag 2017 - 2021)          109
                                            ... 
Dietrich Monstadt (Bundestag 2017 - 2021)      1
Hermann Gröhe (Bundestag 2017 - 2021)          1
Markus Koob (Bundestag 2017 - 2021)            1
Fabian Jacobi (Bundestag 2017 - 2021)          1
Hansjörg Durz (Bundestag 2017 - 2021)          1
Length: 716, dtype: int64
In [82]:
no_show_gr = no_show.groupby("fraction_label").size()
no_show_gr.sort_values(ascending=False).plot(kind = "bar", title = "NO_SHOW")
Out[82]:
<Axes: title={'center': 'NO_SHOW'}, xlabel='fraction_label'>
Out[82]:
In [58]:
no_gr = no.groupby("mandate_label").size()
no_gr.sort_values(ascending=False)
Out[58]:
mandate_label
Rainer Kraft (Bundestag 2017 - 2021)           124
Wolfgang Wiehle (Bundestag 2017 - 2021)        122
Karsten Hilse (Bundestag 2017 - 2021)          122
Michael Espendiller (Bundestag 2017 - 2021)    121
Marcus Bühl (Bundestag 2017 - 2021)            120
                                              ... 
Tobias Zech (Bundestag 2017 - 2021)              6
Thomas Viesehon (Bundestag 2017 - 2021)          3
Zeki Gökhan (Bundestag 2017 - 2021)              3
Florian Jäger (Bundestag 2017 - 2021)            2
Jimmy Schulz (Bundestag 2017 - 2021)             2
Length: 746, dtype: int64
In [81]:
no_gr = no.groupby("fraction_label").size()
no_gr.sort_values(ascending=False).plot(kind = "bar", title = "NO")
Out[81]:
<Axes: title={'center': 'NO'}, xlabel='fraction_label'>
Out[81]:
In [85]:
yes_gr = yes.groupby("fraction_label").size()
yes_gr.sort_values(ascending=False).plot(kind = "bar", title = "YES")
Out[85]:
<Axes: title={'center': 'YES'}, xlabel='fraction_label'>
Out[85]:
In [38]:
data_gr[0:4].plot(kind = "bar")
Out[38]:
<Axes: xlabel='vote,mandate_label'>
Out[38]:
In [0]: