#!/usr/bin/env python # coding: utf-8 # # The Costs and Revenues Associated With Running a Hospital - Parking # # How much does it cost to run a hospital, and what revenue streams are available to hospitals to help them raise money at a local level? # # The NHS [Estates Returns Information Collection (ERIC)](https://digital.nhs.uk/data-and-information/publications/statistical/estates-returns-information-collection/england-2018-19) seems to provide cost reports at local level and income reports at trust level. # # # Data link via [Owen Boswarva](https://www.owenboswarva.com/). # ## Data Preview # In[2]: import pandas as pd url_trust = 'https://files.digital.nhs.uk/83/4AF81B/ERIC%20-%20201819%20-%20TrustData%20v4.csv' df_trust = pd.read_csv(url_trust, encoding='latin1') df_trust.columns = [c.strip() for c in df_trust.columns] df_trust.head(3) # ## Data By Commissioning Region - Lookup # In[14]: cols = ['Income from car parking - patients and visitors (£)', 'Income from car parking - staff (£)'] from ipywidgets import Dropdown, interact region_widget = Dropdown(options = df_trust['New Commissioning Region'].unique()) trust_widget = Dropdown() # Define a function that updates the content of y based on what we select for x def update_trusts(*args): trust_widget.options = df_trust[df_trust['New Commissioning Region']==region_widget.value]['Trust Name'].unique() region_widget.observe(update_trusts) # Some function you want executed def trust_report(region, trust): return df_trust[df_trust['Trust Name']==trust][['Trust Name']+cols] interact(trust_report, region = region_widget, trust = trust_widget); # In[ ]: