%%HTML
<style>
/* style for presentation only */
.reveal .rendered_html table { font-size: 24px }
</style>
from matplotlib import pyplot as plt
plt.rcParams.update({'figure.max_open_warning': 0})
graph_figsize = (10,6) # I'm forgetful and lazy
%matplotlib nbagg
import pip
pip.main('install ckanapi'.split())
# Jupyter Magics!
from ckanapi import RemoteCKAN # Access to ODNI
import pandas as pd # Pandas shorthand
import numpy as np # Maths
import os # System Operations
Collecting ckanapi Downloading https://files.pythonhosted.org/packages/a0/63/55e83b44066494b1e05a1f6650cdc7aeb701e2b352313ee046af28174031/ckanapi-4.1.tar.gz Requirement already satisfied: setuptools in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from ckanapi) Collecting docopt (from ckanapi) Downloading https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz Requirement already satisfied: requests in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from ckanapi) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from requests->ckanapi) Requirement already satisfied: idna<2.7,>=2.5 in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from requests->ckanapi) Requirement already satisfied: urllib3<1.23,>=1.21.1 in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from requests->ckanapi) Requirement already satisfied: certifi>=2017.4.17 in /Users/andrew.bolster/anaconda3/envs/datasci/lib/python3.6/site-packages (from requests->ckanapi) Building wheels for collected packages: ckanapi, docopt Running setup.py bdist_wheel for ckanapi: started Running setup.py bdist_wheel for ckanapi: finished with status 'done' Stored in directory: /Users/andrew.bolster/Library/Caches/pip/wheels/50/a1/01/6480069c39fe20668e1aa21ffb41d3accffd713fa17b8eb867 Running setup.py bdist_wheel for docopt: started Running setup.py bdist_wheel for docopt: finished with status 'done' Stored in directory: /Users/andrew.bolster/Library/Caches/pip/wheels/9b/04/dd/7daf4150b6d9b12949298737de9431a324d4b797ffd63f526e Successfully built ckanapi docopt Installing collected packages: docopt, ckanapi Successfully installed ckanapi-4.1 docopt-0.6.2
You are using pip version 9.0.3, however version 10.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
def dataset_generator(resource_id):
"""A Generator that yields records from a given dataset resource id"""
offset=0
while True:
datastore_page = odni.action.datastore_search(resource_id=resource_id, offset=offset)
if not datastore_page['records']:
raise StopIteration
for record in datastore_page['records']:
yield record ## Execution is passed back to the caller here
offset+=1
version_no = round((pd.to_datetime('now') - pd.to_datetime('1988/05/17')).days/365,2)
version_no
ua = f'@Bolster/{version_no} (+http://bolster.online/)'
odni = RemoteCKAN('https://www.opendatani.gov.uk/', user_agent=ua)
deprivation = pd.DataFrame.from_records(dataset_generator('dd6aa1b5-6ccc-43eb-a63f-e6a424a59126'))
--------------------------------------------------------------------------- NotFound Traceback (most recent call last) <ipython-input-25-5a29631e013f> in <module>() ----> 1 deprivation = pd.DataFrame.from_records(dataset_generator('dd6aa1b5-6ccc-43eb-a63f-e6a424a59126')) ~/anaconda3/envs/datasci/lib/python3.6/site-packages/pandas/core/frame.py in from_records(cls, data, index, exclude, columns, coerce_float, nrows) 1098 1099 try: -> 1100 first_row = next(data) 1101 except StopIteration: 1102 return cls(index=index, columns=columns) <ipython-input-22-e439e3711e97> in dataset_generator(resource_id) 6 offset=0 7 while True: ----> 8 datastore_page = odni.action.datastore_search(resource_id=resource_id, offset=offset) 9 if not datastore_page['records']: 10 raise StopIteration ~/anaconda3/envs/datasci/lib/python3.6/site-packages/ckanapi/common.py in action(**kwargs) 49 data_dict=nonfiles, 50 files=files) ---> 51 return self._ckan.call_action(name, data_dict=kwargs) 52 return action 53 ~/anaconda3/envs/datasci/lib/python3.6/site-packages/ckanapi/remoteckan.py in call_action(self, action, data_dict, context, apikey, files, requests_kwargs) 85 else: 86 status, response = self._request_fn(url, data, headers, files, requests_kwargs) ---> 87 return reverse_apicontroller_action(url, status, response) 88 89 def _request_fn(self, url, data, headers, files, requests_kwargs): ~/anaconda3/envs/datasci/lib/python3.6/site-packages/ckanapi/common.py in reverse_apicontroller_action(url, status, response) 124 raise ValidationError(err) 125 elif etype == 'Not Found Error': --> 126 raise NotFound(emessage) 127 elif etype == 'Authorization Error': 128 raise NotAuthorized(err) NotFound: Resource "dd6aa1b5-6ccc-43eb-a63f-e6a424a59126" was not found.
odni.action.package_list()
['2011-census-microdata-sample-of-anonymised-records-teaching-file', 'a26-dualling-lidar', 'a6-lidar', 'active-places-ni-sports-facilities-database', 'adult-bmi-health-survey-northern-ireland', 'advice-centres', 'air-quality-monitoring-stations', 'analysis-of-the-trees-of-belfast', 'anbc-car-parking', 'anbc-local-nature-reserves', 'annual-survey-of-hours-and-earnings', 'anti-social-behaviour-incidents-recorded-by-the-police-in-northern-ireland', 'antrim-and-newtownabbey-borough-council-bring-bank-locations', 'antrim-and-newtownabbey-councillors', 'antrim-newtownabbey-borough-council-assets', 'ards-and-north-down-borough-council-car-parks', 'ards-and-north-down-councillors', 'areas-of-archaeological-potential', 'areas-of-outstanding-natural-beauty', 'areas-of-significant-archaeological-interest', 'areas-of-special-scientific-interest', 'armagh-city-banbridge-craigavon-borough-councillors', 'attendance-allowance-recipients-statistical-geography', 'authorised-waste-sites-treatment-storage', 'average-2015-prescription-costs-for-gp-practices-in-northern-ireland', 'bathymetric-lidar-for-red-bay', 'bathymetric-lidar-for-small-area-of-strangford-lough', 'bcni2018', 'belfast-bicycle-network', 'belfast-bike-hire-rentals-and-returns', 'belfast-bike-hire-rentals-returns', 'belfast-city-council-councillors', 'belfast-council-car-parks', 'belfast-trees', 'bike-hire-stations', 'botanic-gardens-3d-tree-model', 'bottle-banks', 'boundary-commission-for-northern-ireland-revised-proposals', 'boundary-review', 'bowling-pavilions', 'breastfeeding-welcome-here-certificate-holders', 'cancer-waiting-times', 'carers-allowance-recipients-statistical-geography', 'causewaycoastandglensbc', 'causeway-coast-and-glens-borough-councillors', 'causeway-coast-and-glens-borough-council-off-street-car-parks', 'cemeteries', 'city-parks', 'civic-amenity-sites', 'client-group-analysis-claimants-statisical-geographies', 'clinical-social-care-negligence-cases', 'community-centres', 'contracts-awarded-by-central-procurement-directorate-in-the-2016-2017-year', 'council-properties', 'datasets-financial-abuse-of-older-people', 'defence-heritage', 'dental-list-march-2018', 'department-of-health-trust-boundaries', 'derry-and-strabane-borough-councillors', 'derry-city-and-strabane-district-council-off-street-car-parks-locations', 'diagnostic-waiting-times', 'disability-living-allowance-recipients-statistical-geographies', 'disabled-persons-allowance-statistics', 'disease-prevalence', 'disease-prevalence-in-northern-ireland', 'domestic-abuse-incidents-and-crimes-recorded-by-the-police-in-northern-ireland', 'draft-programme-for-government-framework-2016-21', 'drainage-asset', 'driver-testing-outcomes-by-test-centre', 'driver-testing-outcomes-for-cars-by-test-centre', 'emergency-care-waiting-times', 'emergency-care-waiting-times1', 'enrolments-by-school-management-type', 'environmental-noise-directive-noise-mapping', 'essential-skills-activity', 'essential-skills-activity-2002-20014-15', 'essential-skills-activity-2002-2015-16', 'essential-skills-enrolments-administrative-geographies', 'estimates-of-the-population-aged-85-and-over-northern-ireland', 'eu-referendum-23-june-2016', 'european-parliament-election-22-may-2014-ni-region', 'events', 'farm-census-administrative-geographies', 'fermanagh-and-omagh-district-council-bowling-pavilions', 'fermanagh-and-omagh-district-council-car-parks', 'fermanagh-and-omagh-district-council-leisure-centres', 'fermanagh-and-omagh-district-councillors', 'filtering-offence-list', 'find-your-nearest-bus-stops', 'find-your-public-amenities-in-northern-ireland', 'fly-tipping', 'fodc-community-centres', 'fodc-recycling-centres', 'fodc-tree-preservation-orders', 'food-premise-hygiene-ratings', 'full-list-of-first-forenames-given-to-babies-registered-in-northern-ireland', 'further-education-achievements-administrative-geographies', 'further-education-activity', 'further-education-regulated-enrolments-administrative-geographies', 'gp-practice-list-sizes', 'gp-prescribing-data', 'gp-prescription-spending-by-british-national-formulary-bnf-chapter-and-drug-april-2013-may-2016', 'greater-beflast-area-park-and-ride-sites', 'gross-hourly-pay-annual-survey-of-hours-and-earnings', 'gross-weekly-pay-annual-survey-of-hours-and-earnings', 'gsni-250k-geology', 'gsni-tellus-regional-airborne-geophysical-survey-electromagnetics', 'gsni-tellus-regional-airborne-geophysical-survey-magnetics', 'gsni-tellus-regional-airborne-geophysical-survey-radiometrics', 'gsni-tellus-regional-stream-sediments', 'gsni-tellus-regional-stream-waters-icp', 'hea', 'health', 'health-trust-community-services-and-reference-costs', 'health-trust-community-services-indicators-and-reference-costs-2015-16', 'health-trust-reference-costs-2015-16', 'health-trust-specialist-services-reference-costs-2015-16', 'higher-education-enrolments-administrative-geographies', 'higher-education-qualifications-administrative-geographies', 'highway-network', 'historic-environment-division-lidar', 'historic-environment-division-lidar-2008', 'historic-environment-division-lidar-2009', 'historic-environment-division-lidar-2013', 'historic-environment-division-lidar-2014', 'historic-parks-and-gardens', 'https-www-daera-ni-gov-uk-sites-default-files-publications-doe-lakewaterbodygml-zip', 'https-www-daera-ni-gov-uk-sites-default-files-publications-doe-riversegmentgml-zip', 'https-www-infrastructure-ni-gov-uk-topics-dfi-statistics-and-research', 'https-www-nisra-gov-uk-statistics-deprivation', 'incidents-and-crimes-with-a-hate-motivation-recorded-by-the-police-in-northern-ireland', 'income-support-recipients-stat-geog', 'industrial-heritage-record', 'inpatient-waiting-times', 'invest-ni-financial-offers-of-support-2012-13-to-2016-17', 'jobs', 'job-seekers-allowance-claimants-statistical-geographies', 'landscape-character-areas', 'leisure-centres', 'libraries-ni-annual-loans-summary', 'library-locations-ni', 'licensed-bus-vehicles-at-31-december-2017', 'licensed-taxi-vehicles-at-30-june-2017', 'licensed-taxi-vehicles-at-30-september-2017', 'licensed-taxi-vehicles-at-31-december-2017', 'lidar-lough-neagh-environs-2017', 'lighting-assets', 'lisburn-and-castlereagh-city-council', 'lisburn-carpark-data', 'listed-buildings-northern-ireland', 'locate-a-school', 'lone-pensioner-allowance-statistics', 'lps-arcgis', 'materials-collected-at-northern-ireland-local-authority-waste-management-sites-time-series-data', 'members-allowances', 'metro-timetable-data-valid-from-18-june-until-31-august-2016', 'mid-and-east-antrim-borough-councillors', 'mid-and-east-antrim-borough-council-off-street-car-parks', 'mid-ulster-district-councillors', 'my-train-for-amazon-echo', 'national-nature-reserves', 'newry-mourne-and-down-district-councillors', 'nia-constituencies', 'ni-air-quality', 'nia-members', 'nia-questions', 'nia-register', 'ni-assembly-election-5-may-2016', 'ni-cycle-counters-raw-data-2011-2016', 'ni-direct-website-data', 'niea-authorised-landfill-sites', 'ni-gp-prescribing-data-november-december-2015', 'ni-herd-flock-map-references', 'ni-housing-stock', 'nihpi-by-propertytype', 'nihpi-mean-median-standardisded-price', 'nihpi-verified-sales-by-propertytype', 'nir20160126v2', 'nisra-open-data-boundaries-output-areas-2001', 'nisra-open-data-boundaries-small-areas-2011', 'nisra-open-data-boundaries-super-output-areas-2011', 'ni-water-customer-tap-authorised-supply-point-results', 'norther', 'northern-ireland-capital-value-bands-april-2016', 'northern-ireland-catchment-stakeholder-groups', 'northern-ireland-civil-service-employment-statistics', 'northern-ireland-composite-economic-index', 'northern-ireland-groundwater-bodies', 'northern-ireland-index-of-production', 'northern-ireland-index-of-services', 'northern-ireland-local-authority-collected-municipal-waste-management-statistics', 'northern-ireland-local-councils-election-22-may-2014', 'northern-ireland-local-management-areas', 'northern-ireland-multiple-deprivation-measure-2005', 'northern-ireland-multiple-deprivation-measures-2017', 'northern-ireland-new-dwelling-completions', 'northern-ireland-new-dwelling-starts', 'northern-ireland-planning-statistics-2016-17-dataset', 'northern-ireland-planning-statistics-annual-dataset', 'northern-ireland-railways-halts', 'northern-ireland-railways-nir-bridges', 'northern-ireland-railways-nir-culverts', 'northern-ireland-railways-nir-railway-network', 'northern-ireland-railways-nir-signal-posts', 'northern-ireland-railways-platforms', 'northern-ireland-railways-stations', 'northern-ireland-river-basin-districts', 'northern-ireland-river-water-bodies', 'northern-ireland-road-safety-partnership-2011-2016', 'northern-ireland-road-traffic-collision-data-2013-15-a-visualisation-of-the-data', 'northern-ireland-traffic-count-data', 'notifiable-infectious-diseases-report-2016-week-17', 'notifiable-infectious-diseases-reports-noids-northern-ireland-trends-predictions', 'number-of-education-establishments-in-ni-by-management-type1991-2017', 'number-of-pupils-attending-education-establishmentsin-ni-by-school-type-1991-2017', 'obese-and-overweight-children-health-survey-northern-ireland', 'off-street-car-parks-within-mid-ulster', 'opendatani-dataset-numbers-by-publisher', 'opendatani-dataset-suggestions', 'osni-open-data-10k-grid', 'osni-open-data-10m-dtm-sheets-101-1501', 'osni-open-data-10m-dtm-sheets-1-501', 'osni-open-data-10m-dtm-sheets-151-2001', 'osni-open-data-10m-dtm-sheets-201-2501', 'osni-open-data-10m-dtm-sheets-251-2931', 'osni-open-data-10m-dtm-sheets-51-1001', 'osni-open-data-1-million-raster-infrastructure1', 'osni-open-data-1-million-raster-locations1', 'osni-open-data-1-million-raster-natural-environment1', 'osni-open-data-1-million-raster-parliamentary-boundaries1', 'osni-open-data-50k-admin-boundaries-counties1', 'osni-open-data-50k-admin-boundaries-deas-19931', 'osni-open-data-50k-admin-boundaries-lgds-19931', 'osni-open-data-50k-admin-boundaries-ni-outline1', 'osni-open-data-50k-admin-boundaries-parliamentary-constituencies-20081', 'osni-open-data-50k-admin-boundaries-townlands1', 'osni-open-data-50k-admin-boundaries-wards-19931', 'osni-open-data-50k-grid', 'osni-open-data-50k-transport-line1', 'osni-open-data-50k-transport-text1', 'osni-open-data-50m-digital-terrain-model-csv1', 'osni-open-data-benchmark-data1', 'osni-open-data-largescale-boundaries-county-boundaries1', 'osni-open-data-largescale-boundaries-district-electoral-areas-19931', 'osni-open-data-largescale-boundaries-district-electoral-areas-20121', 'osni-open-data-largescale-boundaries-local-government-districts-19931', 'osni-open-data-largescale-boundaries-local-government-districts-20121', 'osni-open-data-largescale-boundaries-ni-outline1', 'osni-open-data-largescale-boundaries-parliamentary-constituencies-20081', 'osni-open-data-largescale-boundaries-townlands1', 'osni-open-data-largescale-boundaries-wards-19931', 'osni-open-data-largescale-boundaries-wards-20121', 'osni-open-data-midscale-raster1', 'osni-open-data-placename-gazetteer1', 'osni-open-data-river-basin-lidar-2004-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2007-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2008-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2009-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2010-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2012-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2013-dtms-and-dsms', 'osni-open-data-river-basin-lidar-2014-dtms-and-dsms', 'osni-open-data-streetmaps1', 'osni-open-data-street-name-gazetteer1', 'osni-open-data-townland-raster-maps1', 'osni-open-data-transport-50k-points', 'ou', 'outpatient-first-and-follow-up-appointments', 'outpatient-first-and-follow-up-appointments-2015-16', 'outpatient-waiting-times', 'pedestrain-crossing', 'pension-credit-claimants-statistical-geography', 'pitches-playing-fields', 'play-centres', 'playgrounds', 'police-recorded-crime-in-northern-ireland', 'police-recorded-injury-road-traffic-collision-statistics-northern-ireland', 'police-recorded-injury-road-traffic-collision-statistics-northern-ireland-2013', 'police-recorded-injury-road-traffic-collision-statistics-northern-ireland-2014', 'police-recorded-injury-road-traffic-collision-statistics-northern-ireland-2016', 'population-estimates-for-northern-ireland', 'population-estimates-for-small-areas-northern-ireland', 'population-estimates-for-super-output-areas-soas-and-electoral-wards-northern-ireland', 'population-projection-for-northern-ireland', 'pothole-enquiries', 'prescriptions-cost-savings', 'prescriptive-variability-of-drugs-by-general-practitioners', 'primary-1-and-year-8-obesity', 'protected-wreck-sites', 'psni-street-crime-data', 'public-toilets', 'ramsar-sites', 'rating-income', 'real-time-rail-stations-arrivals-and-departures', 'recycling-banks', 'recycling-centres', 'registered-and-responsible-body-list', 'register-of-charities', 'roadworks', 'rqia-registered-services', 'rural-soil-survey', 'scheduled-historic-monument-areas', 'school-census-nursery-schools', 'school-census-post-primary', 'school-census-pre-primary-schools', 'school-census-primary-schools', 'school-census-special-schools', 'school-enrolments-ni-summary-data', 'senior-officer-salaries', 'settlement-boundary-data', 'sites-and-monuments-record', 'special-areas-of-conservation', 'special-protection-areas', 'sports-pitches', 'state-pension-claimants-statistical-geography', 'stop-and-search-statistics-2016-17', 'surface-defects', 'surface-water-bodies-with-2015-status', 'theatre-utilisation-activity', 'the-public-trees-of-belfast-city', 'total-paid-hours-worked-annual-survey-of-hours-and-earnings', 'translink-bus-stop-list', 'translink-metro-bus-routes', 'translink-ni-railways-stations', 'translink-ulsterbus-routes', 'trust-community-services-indicators-and-reference-costs', 'trust-reference-costs', 'trust-specialist-services-reference-costs', 'type-of-long-term-condition-by-age-by-sex-dc3101ni', 'uk-parliamentary-election-7-may-2015', 'ulsterbus-and-goldline-timetable-data-from-28-june-31-august-2016', 'umbrella-bodies', 'upcoming-parades', 'using-machine-learning-to-extract-useful-information-about-belfast-trees', 'vehicle-testing-outcomes-by-test-centre', 'victims-survivors-services-funded-organisations-2017-18', 'water-abstraction-licence-application-locations-except-public-water-supplies', 'what-s-under-the-trees-visualising-opendatani-lidar-in-a-geographical-information-system-gis', 'whylivehere', 'world-heritage-site', 'york-street-interchange-lidar']
resource = 'northern-ireland-multiple-deprivation-measures-2017'
# 'northern-ireland-multiple-deprivation-measure-2005',
dfs =pd.DataFrame()
for dataset in odni.action.package_show(id=resource)['resources']:
df = pd.read_csv(dataset['url'], index_col=False)
df['source'] = dataset['name']
dfs = dfs.append(df)
dfs.groupby('source').size()
source NIMDM 2017 - SOA 890 NIMDM2017 - LGD2014 11 NIMDM2017 - NI 1 NIMDM2017 - SA 4537 dtype: int64
df = dfs[dfs.source == 'NIMDM2017 - SA']
df
Outdoor physical environment Sub-Domain (Rank) | 2015 Default Urban-Rural | 2015 Default Urban/Rural | Absenteeism at post-primary schools (% of possible attendance) | Absenteeism at Primary Schools (% of possible attendance) | Absenteeism at Primary Schools (rank) | Absenteeism at post-primary schools (rank) | Access to Services Domain Rank (where 1 is most deprived) | Combined Mental Health Indicator (rank) | CountryCode | ... | Standardized physical health-related benefit ratio (rank) | Standardized preventable death ratio (excluding Suicides) | Standardized preventable death ratio (excluding Suicides) (rank) | Standardized ratio of Child Dental Extractions (NI = 100) | Standardized ratio of Child Dental Extractions (rank) | Standardized ratio of people on multiple prescriptions on a regular basis (rank) | Standardized ratio of people registered as having cancer (excluding non-melanoma skin cancers) (NI = 100) | Standardized ratio of people registered as having cancer (excluding non-melanoma skin cancers) (rank) | Standardized ratio of people with a long-term health problem or disability (Excluding Mental Health problems) (rank) | source | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 208.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
1 | NaN | NaN | Mixed urban/rural | NaN | NaN | NaN | NaN | 1555.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
2 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 493.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
3 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 642.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 319.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
5 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 906.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
6 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 387.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
7 | NaN | NaN | Mixed urban/rural | NaN | NaN | NaN | NaN | 961.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
8 | NaN | NaN | Mixed urban/rural | NaN | NaN | NaN | NaN | 804.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
9 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 434.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
10 | NaN | NaN | Mixed urban/rural | NaN | NaN | NaN | NaN | 1778.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
11 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2168.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
12 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 3632.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
13 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2309.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
14 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2287.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
15 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2311.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
16 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1424.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
17 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1747.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
18 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1398.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
19 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1819.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
20 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2225.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
21 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1634.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
22 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1764.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
23 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 464.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
24 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 273.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
25 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 357.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
26 | NaN | NaN | Mixed urban/rural | NaN | NaN | NaN | NaN | 871.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
27 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1697.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
28 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 267.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
29 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 134.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
4507 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 1879.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4508 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 2277.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4509 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 1630.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4510 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 2405.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4511 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 1037.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4512 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 281.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4513 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 507.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4514 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 266.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4515 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 200.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4516 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 69.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4517 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 1053.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4518 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1715.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4519 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1699.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4520 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2372.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4521 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2640.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4522 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1898.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4523 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2852.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4524 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1463.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4525 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 711.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4526 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 608.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4527 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 107.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4528 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 652.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4529 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 542.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4530 | NaN | NaN | Rural | NaN | NaN | NaN | NaN | 1086.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4531 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1200.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4532 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2321.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4533 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 1212.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4534 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2555.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4535 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 3942.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4536 | NaN | NaN | Urban | NaN | NaN | NaN | NaN | 2882.0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NIMDM2017 - SA |
4537 rows × 98 columns
from datetime import timezone
timezone.utc
datetime.timezone.utc