Plotting a referendum - Income
Following the shock decision by the UK to leave the EU, many ideas were put forward as to the reasons behind why so many people voted the ways that they did.
In an effort to learn more about data handling in python, using pandas, matplotlib and other fun stuff I scoured the internet for data and set about plotting graphs.
The income data downloaded from Nomis is already very structured and succinct, as we only chose the data we wanted to use. As such we don’t need to do much to it before pickling it.
We rename the columns, set the electoral wards as index and throw away a few
rows which were constructed from the comments in the initial csv
file.
"""
Data available from:
NOMIS website.
Dataset: Annual Survey of Hours and Earnings
-> annual survey of hours and earnings - resident analysis
Geography: local authorities: district / unitary (as of April 2015)
Date: 2015
Pay and hours: Annual pay - gross
Sex & full/part-time: full-time workers
Variable: median
Include Area codes
Assumes resulting filename is: 'nomis-media-income.csv'
Data is released under the Open Government Licence:
http://www.nationalarchives.gov.uk/doc/open-government-licence/
"""
import pandas as pd
inc = pd.read_csv('./raw/nomis-median-income.csv',header=7, na_values=['#','-'])
inc.columns = ['Area','Code','Income','Income_Conf']
inc.set_index('Code',inplace=True)
inc.drop('Column Total', inplace=True)
inc.sort_index(inplace=True)
inc = inc.dropna(subset=['Area'])
inc.to_pickle('./data/income.pkl')
File also available here.