In [14]:
import pandas as pd
import numpy as np
import plotly.plotly as py
import plotly.graph_objs as go
from sklearn.ensemble import *
from sklearn.cross_validation import train_test_split
eligible_votes = pd.read_csv("https://raw.githubusercontent.com/democratia/political_science/master/Reconstruct-Jura/Stimmberechtigte.csv", sep=";", na_values="...")
eligible_votes['Datum'], eligible_votes['Vorlage'] = eligible_votes['Datum und Vorlage'].str.split(' ', 1).str
kantonsnamen = list(eligible_votes)[3:-3]
eligible_votes['Datum'] = pd.to_datetime(eligible_votes['Datum'], infer_datetime_format=True)
eligible_per_year = eligible_votes.groupby(eligible_votes.Datum.dt.year).median()
eligible_cantons = eligible_per_year[list(eligible_per_year.columns[1:-1])]
years = eligible_cantons.index.values[11:]
eligible_cantons_mat = eligible_cantons.as_matrix()
eligible_cantons_mat = eligible_cantons_mat[:][11:]
traces = []
for i in range(0, 24):
traces.append(go.Scatter(
x=years,
y=eligible_cantons_mat[:, i],
mode='lines',
connectgaps=True,
name = kantonsnamen[i]
))
layout = go.Layout(
title='Stimmberechtigte pro Kanton',
xaxis=dict(title='Jahr'),
yaxis=dict(title='Stimmberechtigte')
)
fig = go.Figure(data=traces, layout=layout)
py.iplot(fig, filename='stimmberechtigte')
Out[14]:
In [ ]:
In [ ]: