Skip to content

Instantly share code, notes, and snippets.

@ivandebono
Created October 2, 2017 14:16
Show Gist options
  • Save ivandebono/d9b411203ed28e334736bd901b8967f0 to your computer and use it in GitHub Desktop.
Save ivandebono/d9b411203ed28e334736bd901b8967f0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Forecasting Malta's 2017 elections\n",
"__Ivan Debono__\n",
"June 2017"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import scipy.stats\n",
"%matplotlib notebook\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#Read in the poll data\n",
"file='electionpolls.csv'\n",
"data=pd.read_csv(file, parse_dates=[1], dayfirst=True)\n",
"\n",
"ProbPNPD=[]\n",
"ProbPL=[]\n",
"ProbAD=[]\n",
"ProbOthers=[]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#PN results will be added to PD\n",
"data['PNPD']=data.PN+data.PD"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"cols = data.columns.tolist()\n",
"cols=['Year','Date','Pollster','PNPD','PL','AD','Others']\n",
"df=data[cols]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"dAll=[]\n",
"for index, row in df.iterrows(): dAll.append(np.array(row))"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## This is the key part of the calculation\n",
"We simulate 50000 draws from a Dirichlet distribution for each poll.\n",
"\n",
"The probability distribution function of a Dirichlet distribution is:\n",
"\n",
"$\\{x_1, \\dots, x_K\\} \\sim\\frac{1}{B(\\boldsymbol{\\alpha})}\\prod_{i=1}^Kx_i^{\\alpha_i - 1}$\n",
"with $K\\le 2$, $x_i \\in (0,1)$, and $\\sum_{i=1}^Kx_i = 1$.\n",
"\n",
"Our $x_i$ are the poll percentages for each party $i$.\n",
"\n",
"The probability of victory for each party is the number of draws out of the total in which the simulated election is won by the respective party."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"\n",
"number= 50000\n",
"\n",
"for i in range(len(dAll)):\n",
" vector =list(dAll[i][3:7])\n",
"\n",
" random=np.random.dirichlet(vector,number)\n",
"\n",
" postn=[]\n",
" for i in range(number): postn.append(random[i].argmax(axis=0))\n",
" postn=np.array(postn)\n",
" \n",
" PNPD=100*len(np.where(postn ==0)[0])/number\n",
" ProbPNPD.append(PNPD)\n",
" \n",
" PL=100*len(np.where(postn ==1)[0])/number\n",
" ProbPL.append(PL)\n",
" \n",
" AD=100*len(np.where(postn ==2)[0])/number\n",
" ProbAD.append(AD)\n",
" \n",
" Others=100*len(np.where(postn ==3)[0])/number\n",
" ProbOthers.append(Others)\n",
"\n",
"#Probability of victory for each party\n",
" setprint=False\n",
" if setprint == True:\n",
" print('PNPD',PNPD,'%')\n",
" print('PL',PL,'%')\n",
" print('AD',AD,'%')\n",
" print('Others',Others,'%')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We make the March 2013 entry the actual election result, i.e. this is equivalent to a poll with 100% certainty"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ProbPNPD[-1]=0\n",
"ProbPL[-1]=100"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"#### Now we can plot the graph tracking probabilities since 2013\n",
"\n",
"We have an actual election in March 2013 (first data point), so the results are $100\\%$ certain (i.e. $100\\%$ probability of victory for the winning party, and $0\\%$ for the others.\n",
"\n",
"I have used the European election of May 2014 as a poll for the general election, so the actual results are included with polls."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" this.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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MhcivVvXJHFz1M7QpekFSJMpTbRGonmoKOIX3MvY4Yhop7BtFHUXo0VIvFSv/CVI2+rF69hwOnoC/We0071RPp+9L18xQDn2L87XO6xVL9VuVf0MfmmMl6GUXqrNIj9Teqk+Yg/jvLYVxUB+Njov1V43e6nx+9wUhVrYz9r/2qqfm3Kt0flZVS9rzzbnupKAVkq2RtugOK+ypBiB3oeuQrqX5gSkF5uBQpOtA9DVBTuuTl291cSC3QddpSX269E+KFyGfYB8UfyGyo3QqkiTxq1QiD+ETJZq4npgpi1y2+LiShRORJoMn4HWQXHMjgu5fKNtuV37irF/cb7dXqrzqvnZDi/1OBv52civRtvUblHEHsb5Vv1sdF5qHN3spcbvc1MUamE/+2/rqRFZOlelc1Mja3R+Vs3LpUm61HUEehmxVsSKFCZKj7F9FvoECi8+cUr1oGKgFYtBNZo7qOwSuw7bH2miNh/9EIXYhYzua2wmVmTnj6GH0EVoU1QURS/sga22NRO97Fzko+ra7aXGWSU/U3qpx1bGz5Reqs9eNFR+Lu9ein9KP4fSSz2W5d3PlF6KZy/yuSkSCSOs0CRs0k0lINBLG0uydpTGPqm8WbatTKLVxPegw5EmRRei76FHUbtDS+yHoYORPsSiidlUFMfrKeif5V0oPGZ9IETvyh5EZUP/cEajL6I7Cw7SdkUvCv2oHEezbONj6+V72RD6U9qKl+qjyn6m8lKPs4yfvewX2OqYONrhpdrvRaHPVv20lyLa77XSXhTYqhxHO/zspYPQX6teaqz2UxT6/ewlDWxVF0c7vFT7vSj02aqfVfZSjzVJxC9GSRp0I5UjoNVETaTOQzcWjC5MjAo2JavSZO69SJPBfZO1unRDvRRTnfxLt1ytkv3s93mzatkyqNHYy+HjpZ4A9nP4+LlceOkJ4KD+b3fVQb2MdnmYGHWVKS0M1n62AK9ih9rLihnS4nDsZ4sAK3S4vayQGR6KCZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZhAVxA4kVHejp5FT6Ar0DgUx2gK30RPoefQDLQRiuMbFO5AL6DZ8YYsrzZnosfRYvQAOgWNQo50BDrlZzziLSjo+fN0XOl8ywQ65eVYRqrf0c7rn1t+BG4gJtApP9XnCug4dB/S/+SH0OeRIw2BTnk5heHmz0uV9TrsKElgxZL7LY+77cmD/jbaGe2NRqJr0aooxBlk3oc+iHZDq6Gr0AgUQv9wzkP/Fypy6d8pX4D+EWky+Gl0BDoJOdIR6JSfYcSawF+CbgoVTpMR6LSX72Tk60f6ZbJH4oZEoJN+6g35ZKRJ4BvRu9Es5EhDoFNefo3hxuek8nPR9DQPw62YwNIE1qW4BO2RVa9B+iL6QFZWsgF6Gf2TCrmYQrloBTC3W1/xdP564lBEJl1du/38KkO9EE1CXgEEQhujXV6OZcw657dv49jd9LIE2uXn1nSlN9x6o+3oDIF2eZkf/XZU6FzdPb/B5foEvAJYn01+iyZ8ir/0Jz07kmqVR6uCIR4hczfaJVQMItVlQ11iumEQx/qQ8gTa6edEhnEgOqr8cLxnCwTa6aWGpVs7dBvIzegA5GgvgXb5qdU+3WKzH5qHetE56HXI0R4C7fIyP1qt6t6HvHCSJ9Og7AlgAzjRJl3G1arcr5AmeIr10ItooQpR6F4+bWs2fs0Bi9EfkZ7EX0CO9hBop59rM+RpaBJ6BjnaS6CdXi5i6MciTfr2Rb9AupXjYORoD4F2+rkZQ94E6c3ZR9AkpDfyP0SO9ATa6WU82tEUPozOjSudH5jAyIF38R4Q+BZ6C9J9fgOFnvRaim42dCn5tWg79N/oOHQacqQn0E4/v8twL0Y3ph+2Wywg0E4vn6K/r0d9/ob8Wuh4dFFU72w6Au30Uwsemixo8qfVIsXhSB/S02Xhe5EjHYF2ehmPcn8Keu28IK50fmACOiEcjQl8k83vQRPQ/GjXx8i/BukFIY4xFLQK2Gw8xAG6ifUSdAKagkYgR1oC7fZzIsM9Dr2USe9KdRlE5cOQIx2BdntZNNJbqdyyaIPrWibQbj8fZYQ6D8PkTwP+vf4QG/cn/puIQLu9jIc5mcJVSK/JjiYIeAJYH5ZW8vQORu8u9KKue0bi0LtG3VC8d1SpTyJti3Q5t5VQ36OQUkcaAp3y8x0MVx8aCNKl/Gez8uWkjtYJdMrLopHuQKUmEo50BDrl580MeSTaPBr6Vln+z1Gds4Mn0Ckvwwg3JTMB+fJvIOI0CYGptKJPb+6JdE9f0MrkQ3yHjFbu9kJ6YdA9QrNRvHK3BWVNBs5CusQQJgZaPVTo3oWD0NZoM6T7U+aji5AjHYFO+Zkf8SQq9DxypCPQKS8PZcgfQjo3dYlQK7u67/cY5EhHoFN+asFDb9xvQPp/vSPSiu61yJGGQKe8DKP9EpmHUfyaG7Y5NYFBE9B9fEWaFLW4EnktdS9Az6Mr0RtQHNdTKGpnbLaT7v3TPyWtEi1C96ATkdp2pCNQ5IHqJkVdpPAzaq4vq/Y9AcxTaa3cKS8PZZhz0XNIH+jRPYAHI0daAp3yU6PeAP0I6f/tY+h89DrkSEOgk15qQv8QOjXN0N2KCZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZhA5wlMo8vwE1h/J/84ug4dhvRzVWVjEjv6ZwPL0vJ+JmACLRFo5p9TSx35YBMwARMYxgSu4bGtj8aifdBM9A10FRqJHCZgAiZgAiZgAiZgAsOIwDQeyxUFj2cidVoZnJxtO5Z0DnoO6Ufsp6LVkGI8CquIIZ1CneI16DT0MNKxt6HxyGECJmACJmACJmACJjBEBKbRb9EEUMOZja5Whvg0moA2RZoc/gFpEqjQJO9T6K9ovUxhcvh9yjej3dHm6Di0GG2JHCZgAiZgAiZgAiZgAkNAYBp91psA/oBtc+uM6UDqn4q2TSL/dFRWVhO+V9AGKkTxc/JfjsrOmoAJmEBTBHxvSlO4vLMJmIAJNEVgBfbWJV2FVv8+j7ZBqyP9/10JrYp0abco3kql2rgvt3E05QW5OhdNwARMoDQBTwBLo/KOJmACJtA0ga05Yh7aBOlS8Fnov9Bf0G7oXDQK1YsV2fAy2jFL4/0WxQXnTcAETKAZAp4ANkPL+5qACZhAeQK6z+/N6OvobUj/bz+DdElXcVB/8urfF8mNeLXUn/ltVjeG9KbcNhdNwARMwARMwARMwASGiMA0+v0p0oc3NkS6bKtLvc+iK5EmddsjXQrWBz02Q4eg+Uh1ayLFLkjlvdA6aBWkuAjNQ/sjfYDk7ehzaF/kMAETMAETMAETMAETGAIC0+hTEzdJXwT9BNIXQX8U6RJuiGPIPIKeR9cgTQJ1TJgAku35DtIHQ1Q/BSl0ifgkNA9plfBRdBnS6qLDBEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABJYDAv8PuoKN51wq0nsAAAAASUVORK5CYII=\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.ticker import FuncFormatter\n",
"import matplotlib.ticker as mtick\n",
"\n",
"x=pd.to_datetime(df.Date)\n",
"fig, ax = plt.subplots()\n",
"ax.xaxis_date()\n",
"\n",
"fmt = '%.0f%%' # Format for ticks e.g. '40%'\n",
"\n",
"import matplotlib.dates as mdates\n",
" \n",
"years = mdates.YearLocator()\n",
"months = mdates.MonthLocator()\n",
"monthsFmt = mdates.DateFormatter('%b') \n",
"yearsFmt = mdates.DateFormatter('\\n\\n%Y') # add some space for the year label\n",
" \n",
"\n",
"ax.xaxis.set_minor_locator(months)\n",
"ax.xaxis.set_minor_formatter(monthsFmt)\n",
"plt.setp(ax.xaxis.get_minorticklabels(), rotation=90,size=8)\n",
"ax.xaxis.set_major_locator(years)\n",
"ax.xaxis.set_major_formatter(yearsFmt)\n",
"\n",
"\n",
"plt.plot(x,ProbPNPD,linestyle='-',color='darkblue',linewidth=2,label='PN+PD',alpha=0.8)\n",
"plt.plot(x,ProbPL,linestyle='-',color='red',linewidth=2,label='PL',alpha=0.8)\n",
"#plt.plot(x,ProbAD,linestyle='-',color='green',linewidth=2,label='AD',alpha=0.8)\n",
"#AD's chances are zero in any simulation. I am not plotting their probability or it would needlessly clutter the graph\n",
"plt.legend(bbox_to_anchor=(0.3, 0.9, 1, 0), loc='center',\n",
" ncol=1, mode=\"compact\", borderaxespad=0)\n",
"plt.axhline(y=50,linewidth=0.5, color = 'gray')\n",
"plt.yticks(np.arange(0,110,10))\n",
"plt.xlabel('Date')\n",
"plt.ylabel('Probability of winning election')\n",
"\n",
"label_list = [\n",
" (pd.to_datetime('2017-05-01'), '2017 election announced', 'grey'),\n",
" (pd.to_datetime('2013-03-09'), '2013 election', 'grey'),\n",
" (pd.to_datetime('2014-05-24'), 'European elections', 'grey')\n",
"]\n",
"ax = plt.gca()\n",
"\n",
"for date_point, label, clr in label_list:\n",
" plt.axvline(x=date_point, color=clr,linestyle='--', linewidth=1)\n",
" plt.text(date_point, ax.get_ylim()[1]-109, label,\n",
" horizontalalignment='right',\n",
" verticalalignment='bottom',\n",
" rotation=90,\n",
" color=clr,\n",
" alpha=0.8)\n",
" \n",
"yticks = mtick.FormatStrFormatter(fmt)\n",
"ax.yaxis.set_major_formatter(yticks)\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## What the results tell us\n",
"\n",
"Labour's chances were always better than the Nationalist Party's (later the Nationalist Party + Democratic Party) throughout 2013-2017, except for two brief periods around January 2014 and May 2016. The first coincides with the announcement of the sale-of-passport programme by the Maltese government, and the media story which followed. The second coincides with the Panama Papers leak.\n",
"\n",
"### Are European elections a useful test for governing parties?\n",
"\n",
"Yes and no. Labour was trailing the Nationalist Party (the Democratic Party hadn't been set up yet) right up to April 2014. But it ended up polling $53.4\\%$ to the Nationalist Party's $40.0\\%$. European and general elections are fought on different platforms. The candidates are different, the issues are different, and, significantly, the party leaders (in this case, the Prime Minister and Leader of the Opposition) do not stand for election. The voters are also different. EU citizens are on the voting register for European elections, but not for general elections. I could not find any reliable data on voters in either election. This question deserves to be looked at."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment