Skip to content

Commit

Permalink
Added some routines for interpolating historical regional poll averages.
Browse files Browse the repository at this point in the history
  • Loading branch information
j3camero committed Sep 29, 2015
1 parent e09b5ba commit 2c93a7b
Show file tree
Hide file tree
Showing 6 changed files with 1,501 additions and 27 deletions.
23 changes: 23 additions & 0 deletions download_regional_poll_averages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""Quick and dirty script that downloads some regional poll averages."""

import json
import urllib2

def PrintDataPoint(data, party_name):
row = [data['statdate'], data['region'], party_name, data[party_name]]
print ','.join(str(x) for x in row)

def DoRegion(region_name):
url = ('http://cbcnewsinteractives.com/canopy/poll_tracker_prod/np/' +
'poll_averages/' + region_name + '?parseData=' +
'jQuery2140210138985227179_1443503953058&_=1443503953061')
response = urllib2.urlopen(url)
raw = response.read()
raw = raw.replace('parseData(', '').replace(');', '')
parsed = json.loads(raw)
for data_row in parsed['data']:
for party_name in ['cpc', 'ndp', 'lpc', 'gpc', 'bq', 'oth']:
PrintDataPoint(data_row, party_name)

for region in ['Canada', 'AB', 'ATL', 'BC', 'ON', 'QC', 'SK_MB']:
DoRegion(region)
12 changes: 12 additions & 0 deletions interpolator_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import datetime

from regional_poll_interpolator import RegionalPollInterpolator

interpolator = RegionalPollInterpolator()
interpolator.LoadFromCsv('regional_poll_averages.csv')
dates = ['2015-08-19', '2015-08-20', '2015-08-21', '2015-08-22',
'2015-08-23', '2015-08-24']
for date_string in dates:
date = datetime.datetime.strptime(date_string, '%Y-%m-%d')
print date_string, interpolator.Interpolate('QC', 'ndp', date)
print interpolator.GetMostRecent('SK_MB', 'gpc')
12 changes: 6 additions & 6 deletions regional_baseline.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
,ATL,QC,ON,SKMB,AB,BC,TERR
CON,37.46139295,16.5,44.4,54.7875,66.8,45.5,39.6
LIB,29.58301806,14.2,25.3,12.92142857,9.3,13.4,18.9
NDP,29.75,42.9,25.6,28.78883929,16.8,32.5,30.6
GRN,2.960361135,2.1,3.8,3.186160714,5.3,7.7,3.9
BQ,0,23.4,0,0,0,0,0
,ATL,QC,ON,SK_MB,AB,BC,Canada
cpc,37.46139295,16.5,44.4,54.7875,66.8,45.5,39.6
lpc,29.58301806,14.2,25.3,12.92142857,9.3,13.4,18.9
ndp,29.75,42.9,25.6,28.78883929,16.8,32.5,30.6
gpc,2.960361135,2.1,3.8,3.186160714,5.3,7.7,3.9
bq,0,23.4,0,0,0,0,0
Loading

0 comments on commit 2c93a7b

Please sign in to comment.