I’m currently living in the Netherlands and looking for work. Rather pathetically, I don’t speak Dutch. (I should have said “I don’t yet speak Dutch” — there’s always hope, right?) Undeterred, I’ve set up email alerts for local jobs on LinkedIn. About a third of the alerts are for jobs that have descriptions written in English while the rest are in Dutch. My working assumption is that if the job description is in English then there’s a chance that they’ll speak English in the office and it’s worth finding out about it.
One problem is that I can’t immediately find…
Mike Bostock’s Command-Line Cartography tutorial shows how to use a series of command line tools to make a thematic map of population density. In a previous post I followed those steps to make a map of UK Election results. But I couldn’t help thinking the data munging part might be easier in Python using the GeoPandas library. In this post I re-create my map using Pandas and GeoPandas at the Python REPL.

To make our map we need constiuency boundary geometries and election results data. I downloaded these as follows:
# GB constituency geometry
wget http://parlvid.mysociety.org/os/bdline_gb-2019-10.zip unzip -o bdline_gb-2019-10.zip Data/GB/westminster_const_region.prj…
This tutorial adapts the steps from @mbostock’s Command-Line Cartography tutorial to show how to easily make a thematic map of UK election results using free open-source Javascript tools. I also then repeat the data-munging part using a Python/Pandas/GeoPandas stack to compare the ease of each approach.
This is the visualisation we will make:

This thematic map conveys the results of the last UK election by colouring each parliamentary constituency according to the party that gained the most votes. Along the way we will also visualise turnout by constituency.
This is a static snapshot of a live Observable Notebook and maybe out of date.
Please note: This is purely for private study and exploring Observable notebooks. I’ve boosted the prediction data and cartogram files from FiveThirtyEight and scraped the results data from Politico. All the hard work has been done by these guys and all mistakes will be mine.
Nate Silver encouraged podcast listeners to understand the performance of the house model by looking at the forecasts made state-by-state.
This notebook aims to do this by asking perhaps the most simple of questions: Was the actual voteshare witin the…

Argh, it happened again. I closed the laptop for the evening and forgot to stop the Notebook VM I had running.
Paperspace, when I was using it, had a nice feature to enable auto-shutdown after the instance had been idle for a while. There must be one for Google Cloud Platform but I didn’t see it on the first Google.
To be honest I’m not 100% trusting of an auto-shutdown. The main thing I want to avoid is inadvertently leaving the server running overnight or for long periods in the day when I don’t intend to use it. It’s pretty…
The $300 worth of credits seemed like one good reason to try out Google Cloud Platform for my prototype analytics stack.
This post describes what I did to get JupyterLab up and running on GCP. If I’ve done something stupid, please let me know.
First I signed up for a new GCP account. With the account validated I can begin provisioning compute resources, but not without creating a new Project first. GCP seems to be organised around Projects.
I created a new project by visiting the resource management page and clicking on the ‘+ create project’ button in the top…

Available for Data Analysis and Visualisation