{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**For better experience, view this notebook in nbviewer [here](https://nbviewer.jupyter.org/github/chenliny/LA_Collision_Analysis/blob/master/collision_exploratory_analysis_la.ipynb)**
\n", "\n", "\n", "Docker image used: [jupyter/datascience-notebook](https://hub.docker.com/r/jupyter/datascience-notebook/dockerfile)
\n", "\n", "\n", "To connect to a dockerized Jupyter server: \n", "- ```docker pull jupyter/datascience-notebook``` \n", "- ```docker run -it -p host_port_number:8888 -v /your/host/directory:/home/jovyan/work --name your_container_name jupyter/datascience-notebook``` \n", "- install additional packages as needed: ```docker exec your_container_name pip install package_name```\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exploratory Data Analysis - Traffic Collisions in the City of Los Angeles " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Context\n", "The World Health Organization (WHO) and U.S. Department of Transportation statistics\n", "show that approximately 1.35 million people in the world or more than 35,000 people in the\n", "U.S. lost their lives due to traffic collisions each year. In Los Angeles alone, more than 200\n", "people were killed each year while trying to move around throughout the city. Bikers,\n", "pedestrians, children, and older adults were particularly vulnerable on the city’s streets.\n", "However, traffic deaths are predictable and preventable, and everyone has the right to\n", "move safely in their communities. Thus, the City of Los Angeles has committed to the Vision\n", "Zero initiative, aiming to eliminate all traffic deaths and series injuries by 2025.\n", "In order to achieve the grand vision of Vision Zero, we first need to understand our existing\n", "collisions better. Thanks to the California Highway Patrol (CHP), we have data for all\n", "reported traffic collisions in the City of Los Angeles from 2009 to 2018. This project includes an exploratory data analysis on traffic collisions in the City of Los Angeles, with a light touch of machine learning with scikit-learn, aiming to answer questions such as:\n", "- when and where do collisions happen?\n", "- what are their risk factors?\n", "- who are the victims?\n", "- where are the most dangerous intersections at which severe collisions tend to happen?\n", "- ...\n", "\n", "The [City of Los Angeles Data Portal](https://data.lacity.org/A-Safe-City/Traffic-Collision-Data-from-2010-to-Present/d5tf-ez2w) provides up-to-date collision data from 2010 to present, but with limited attributes for each incident. Although not used in this project, I connected the dataset to Carto just to show a rough idea of what we are dealing with here." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%HTML\n", "# embed link" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Import packages & set plot style" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "import pandas as pd\n", "import pandas as pd\n", "import numpy as np\n", "import googlemaps\n", "\n", "from sklearn.cluster import DBSCAN\n", "import sklearn.utils\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "import cartoframes\n", "from cartoframes.auth import set_default_context, Context\n", "from cartoframes import Credentials\n", "from cartoframes import Layer, BaseMap, styling\n", "from cartoframes.viz import Map, basemaps\n", "\n", "import plotly.graph_objects as go\n", "import plotly.io as pio\n", "from plotly.subplots import make_subplots\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mtick\n", "import seaborn as sns\n", "\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "USERNAME = '----'\n", "APIKEY = '----'\n", "creds = Credentials(username=USERNAME, key=APIKEY)\n", "cc = cartoframes.CartoContext(creds=creds)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "plt.style.use('ggplot')\n", "plt.rcParams['axes.facecolor'] = '#F5F5F5'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Get the data ready" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Load the dataset" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/jovyan/work/victim_2009_2018.csv'" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "file_path = '/home/jovyan/work/'\n", "file_name_v = 'victim_2009_2018'\n", "input_data_v = os.path.join(file_path, file_name_v + '.csv')\n", "input_data_v" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/jovyan/work/collision_2009_2018.csv'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "file_path = '/home/jovyan/work/'\n", "file_name = 'collision_2009_2018'\n", "input_data = os.path.join(file_path, file_name+'.csv')\n", "input_data" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CASE_IDACCIDENT_YEARPROC_DATEJURISCOLLISION_DATECOLLISION_TIMEOFFICER_IDREPORTING_DISTRICTDAY_OF_WEEKCHP_SHIFT...COUNT_PED_KILLEDCOUNT_PED_INJUREDCOUNT_BICYCLIST_KILLEDCOUNT_BICYCLIST_INJUREDCOUNT_MC_KILLEDCOUNT_MC_INJUREDPRIMARY_RAMPSECONDARY_RAMPLATITUDELONGITUDE
0391894320092009120219422009-03-23174535046128315...000000--NaNNaN
1398421920092009011519422009-01-0354033829170165...000000--NaNNaN
2398427420092009012619422009-01-076303861415235...100000--NaNNaN
3398428120092009012619422009-01-085032896198545...000000--NaNNaN
4398435220092010091419422009-01-11145024517201475...000010--NaNNaN
\n", "

5 rows × 76 columns

\n", "
" ], "text/plain": [ " CASE_ID ACCIDENT_YEAR PROC_DATE JURIS COLLISION_DATE COLLISION_TIME \\\n", "0 3918943 2009 20091202 1942 2009-03-23 1745 \n", "1 3984219 2009 20090115 1942 2009-01-03 540 \n", "2 3984274 2009 20090126 1942 2009-01-07 630 \n", "3 3984281 2009 20090126 1942 2009-01-08 50 \n", "4 3984352 2009 20100914 1942 2009-01-11 1450 \n", "\n", " OFFICER_ID REPORTING_DISTRICT DAY_OF_WEEK CHP_SHIFT ... \\\n", "0 35046 1283 1 5 ... \n", "1 33829 1701 6 5 ... \n", "2 38614 152 3 5 ... \n", "3 32896 1985 4 5 ... \n", "4 24517 2014 7 5 ... \n", "\n", " COUNT_PED_KILLED COUNT_PED_INJURED COUNT_BICYCLIST_KILLED \\\n", "0 0 0 0 \n", "1 0 0 0 \n", "2 1 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " COUNT_BICYCLIST_INJURED COUNT_MC_KILLED COUNT_MC_INJURED PRIMARY_RAMP \\\n", "0 0 0 0 - \n", "1 0 0 0 - \n", "2 0 0 0 - \n", "3 0 0 0 - \n", "4 0 1 0 - \n", "\n", " SECONDARY_RAMP LATITUDE LONGITUDE \n", "0 - NaN NaN \n", "1 - NaN NaN \n", "2 - NaN NaN \n", "3 - NaN NaN \n", "4 - NaN NaN \n", "\n", "[5 rows x 76 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "collision = pd.read_csv(input_data, parse_dates=(['COLLISION_DATE']))\n", "collision.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CASE_IDPARTY_NUMBERVICTIM_ROLEVICTIM_SEXVICTIM_AGEVICTIM_DEGREE_OF_INJURYVICTIM_SEATING_POSITIONVICTIM_SAFETY_EQUIP_1VICTIM_SAFETY_EQUIP_2VICTIM_EJECTED
0391894321M2541NG0
1398421911M1911LG0
2398427423F5819--0
3398428111M2911LH0
4398435212F99803LG0
\n", "
" ], "text/plain": [ " CASE_ID PARTY_NUMBER VICTIM_ROLE VICTIM_SEX VICTIM_AGE \\\n", "0 3918943 2 1 M 25 \n", "1 3984219 1 1 M 19 \n", "2 3984274 2 3 F 58 \n", "3 3984281 1 1 M 29 \n", "4 3984352 1 2 F 998 \n", "\n", " VICTIM_DEGREE_OF_INJURY VICTIM_SEATING_POSITION VICTIM_SAFETY_EQUIP_1 \\\n", "0 4 1 N \n", "1 1 1 L \n", "2 1 9 - \n", "3 1 1 L \n", "4 0 3 L \n", "\n", " VICTIM_SAFETY_EQUIP_2 VICTIM_EJECTED \n", "0 G 0 \n", "1 G 0 \n", "2 - 0 \n", "3 H 0 \n", "4 G 0 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "victim = pd.read_csv(input_data_v)\n", "victim.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Make column headers lower case" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['case_id', 'accident_year', 'proc_date', 'juris', 'collision_date',\n", " 'collision_time', 'officer_id', 'reporting_district', 'day_of_week',\n", " 'chp_shift', 'population', 'cnty_city_loc', 'special_cond', 'beat_type',\n", " 'chp_beat_type', 'city_division_lapd', 'chp_beat_class', 'beat_number',\n", " 'primary_rd', 'secondary_rd', 'distance', 'direction', 'intersection',\n", " 'weather_1', 'weather_2', 'state_hwy_ind', 'caltrans_county',\n", " 'caltrans_district', 'state_route', 'route_suffix', 'postmile_prefix',\n", " 'postmile', 'location_type', 'ramp_intersection', 'side_of_hwy',\n", " 'tow_away', 'collision_severity', 'number_killed', 'number_injured',\n", " 'party_count', 'primary_coll_factor', 'pcf_code_of_viol',\n", " 'pcf_viol_category', 'pcf_violation', 'pcf_viol_subsection',\n", " 'hit_and_run', 'type_of_collision', 'mviw', 'ped_action',\n", " 'road_surface', 'road_cond_1', 'road_cond_2', 'lighting',\n", " 'control_device', 'chp_road_type', 'pedestrian_accident',\n", " 'bicycle_accident', 'motorcycle_accident', 'truck_accident',\n", " 'not_private_property', 'alcohol_involved', 'stwd_vehtype_at_fault',\n", " 'chp_vehtype_at_fault', 'count_severe_inj', 'count_visible_inj',\n", " 'count_complaint_pain', 'count_ped_killed', 'count_ped_injured',\n", " 'count_bicyclist_killed', 'count_bicyclist_injured', 'count_mc_killed',\n", " 'count_mc_injured', 'primary_ramp', 'secondary_ramp', 'latitude',\n", " 'longitude'],\n", " dtype='object')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "collision.columns = map(str.lower, collision.columns)\n", "collision.columns = collision.columns.str.replace(' ', '_')\n", "collision.columns" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['case_id', 'party_number', 'victim_role', 'victim_sex', 'victim_age',\n", " 'victim_degree_of_injury', 'victim_seating_position',\n", " 'victim_safety_equip_1', 'victim_safety_equip_2', 'victim_ejected'],\n", " dtype='object')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "victim.columns = map(str.lower, victim.columns)\n", "victim.columns = victim.columns.str.replace(' ', '_')\n", "victim.columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Drop unnecessary attributes for the EDA and set index column" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
case_idaccident_yearcollision_timeday_of_weekprimary_rdsecondary_rddistancedirectionintersectionweather_1...count_visible_injcount_complaint_paincount_ped_killedcount_ped_injuredcount_bicyclist_killedcount_bicyclist_injuredcount_mc_killedcount_mc_injuredlatitudelongitude
collision_date
2009-03-233918943200917451WESTERN AVCENTURY BL55.0NNA...01000000NaNNaN
2009-01-03398421920095406TAMPA AVPINE VALLEY AV420.0NN-...00000000NaNNaN
2009-01-073984274200963035TH STFLOWER ST0.0NaNYA...00100000NaNNaN
2009-01-0839842812009504VAN NUYS BLVESPER AV0.0NaNYA...00000000NaNNaN
2009-01-113984352200914507HARVARD BL3RD ST0.0NaNYA...00000010NaNNaN
\n", "

5 rows × 55 columns

\n", "
" ], "text/plain": [ " case_id accident_year collision_time day_of_week \\\n", "collision_date \n", "2009-03-23 3918943 2009 1745 1 \n", "2009-01-03 3984219 2009 540 6 \n", "2009-01-07 3984274 2009 630 3 \n", "2009-01-08 3984281 2009 50 4 \n", "2009-01-11 3984352 2009 1450 7 \n", "\n", " primary_rd secondary_rd distance direction intersection \\\n", "collision_date \n", "2009-03-23 WESTERN AV CENTURY BL 55.0 N N \n", "2009-01-03 TAMPA AV PINE VALLEY AV 420.0 N N \n", "2009-01-07 5TH ST FLOWER ST 0.0 NaN Y \n", "2009-01-08 VAN NUYS BL VESPER AV 0.0 NaN Y \n", "2009-01-11 HARVARD BL 3RD ST 0.0 NaN Y \n", "\n", " weather_1 ... count_visible_inj count_complaint_pain \\\n", "collision_date ... \n", "2009-03-23 A ... 0 1 \n", "2009-01-03 - ... 0 0 \n", "2009-01-07 A ... 0 0 \n", "2009-01-08 A ... 0 0 \n", "2009-01-11 A ... 0 0 \n", "\n", " count_ped_killed count_ped_injured count_bicyclist_killed \\\n", "collision_date \n", "2009-03-23 0 0 0 \n", "2009-01-03 0 0 0 \n", "2009-01-07 1 0 0 \n", "2009-01-08 0 0 0 \n", "2009-01-11 0 0 0 \n", "\n", " count_bicyclist_injured count_mc_killed count_mc_injured \\\n", "collision_date \n", "2009-03-23 0 0 0 \n", "2009-01-03 0 0 0 \n", "2009-01-07 0 0 0 \n", "2009-01-08 0 0 0 \n", "2009-01-11 0 1 0 \n", "\n", " latitude longitude \n", "collision_date \n", "2009-03-23 NaN NaN \n", "2009-01-03 NaN NaN \n", "2009-01-07 NaN NaN \n", "2009-01-08 NaN NaN \n", "2009-01-11 NaN NaN \n", "\n", "[5 rows x 55 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "to_drop = [\n", " 'juris', # all the same since city of Los Angeles\n", " 'proc_date', # process date\n", " 'population', # incoporated over 250000\n", " 'officer_id', \n", " 'reporting_district', \n", " 'chp_shift', \n", " 'cnty_city_loc', \n", " 'special_cond',\n", " 'beat_type', \n", " 'chp_beat_type', \n", " 'city_division_lapd',\n", " 'chp_beat_class', \n", " 'beat_number', \n", " 'stwd_vehtype_at_fault',\n", " 'chp_vehtype_at_fault',\n", " 'caltrans_county', \n", " 'caltrans_district',\n", " 'weather_2', # only if a second description is necessary\n", " 'primary_ramp',\n", " 'secondary_ramp'\n", "]\n", "\n", "collision.drop(to_drop, axis=1, inplace=True)\n", "collision.set_index('collision_date', inplace=True)\n", "collision.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Replace labels - collision dataset" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# day of week\n", "dowdict = {\n", " 1: 'Monday',\n", " 2: 'Tuesday',\n", " 3: 'Wednesday',\n", " 4: 'Thursday',\n", " 5: 'Friday',\n", " 6: 'Saturday',\n", " 7: 'Sunday'\n", "}\n", "\n", "collision['day_of_week'].replace(\n", " to_replace=[i for i in dowdict.keys()], \n", " value=[i for i in dowdict.values()],\n", " inplace=True\n", ")\n", "\n", "\n", "# type of collision\n", "tocdict = {\n", " 'A': 'Head-On',\n", " 'B': 'Sideswipe',\n", " 'C': 'Rear End',\n", " 'D': 'Broadside',\n", " 'E': 'Hit Object',\n", " 'F': 'Overturned',\n", " 'G': 'Vehicle/Pedestrian',\n", " 'H': 'Other',\n", " '-': 'Not Stated'\n", "}\n", "\n", "collision['type_of_collision'].replace(\n", " to_replace=[i for i in tocdict.keys()],\n", " value=[i for i in tocdict.values()],\n", " inplace=True\n", ")\n", "\n", "\n", "# violation category \n", "vcdict = {\n", " '0': 'Unknown',\n", " '1': 'Driving or Bicycling Under the Influence of Alcohol or Drug',\n", " '2': 'Impeding Traffic',\n", " '3': 'Unsafe Speed',\n", " '4': 'Following Too Closely',\n", " '5': 'Wrong Side of Road',\n", " '6': 'Improper Passing',\n", " '7': 'Unsafe Lane Change',\n", " '8': 'Improper Turning',\n", " '9': 'Automobile Right of Way',\n", " '10': 'Pedestrian Right of Way',\n", " '11': 'Pedestrian Violation',\n", " '12': 'Traffic Signals and Signs',\n", " '13': 'Hazardous Parking',\n", " '14': 'Lights',\n", " '15': 'Brakes',\n", " '16': 'Other Equipment',\n", " '17': 'Other Hazardous Violation',\n", " '18': 'Other Than Driver (or Pedestrian)',\n", " '19': None,\n", " '20': None,\n", " '21': 'Unsafe Starting or Backing',\n", " '22': 'Other Improper Driving',\n", " '23': 'Pedestrian or \"Other\" Under the Influence of Alcohol or Drug',\n", " '24': 'Fell Asleep',\n", " '- ': 'Not Stated'\n", "}\n", "\n", "collision['pcf_viol_category'].replace(\n", " to_replace=[i for i in vcdict.keys()],\n", " value=[i for i in vcdict.values()],\n", " inplace=True\n", ")\n", "\n", "\n", "# collission severity \n", "csdict = {\n", " 0: 'Property Damage',\n", " 1: 'Fatal',\n", " 2: 'Severe',\n", " 3: 'Other Visible Injuries',\n", " 4: 'Complaint of Pain'\n", "}\n", "\n", "collision['collision_severity'].replace(\n", " to_replace=[i for i in csdict.keys()],\n", " value=[i for i in csdict.values()],\n", " inplace=True\n", ")\n", "\n", "\n", "# location type\n", "ltdict = {\n", " 'H': 'Highway',\n", " 'I': 'Intersection',\n", " 'R': 'Ramp'\n", "}\n", "\n", "collision['location_type'].replace(\n", " to_replace=[i for i in ltdict.keys()],\n", " value=[i for i in ltdict.values()],\n", " inplace=True\n", ")\n", "\n", "\n", "# weather\n", "weatherdict = {\n", " 'A': 'Clear',\n", " 'B': 'Cloudy',\n", " 'C': 'Raining',\n", " 'D': 'Snowing',\n", " 'E': 'Fog',\n", " 'F': 'Other',\n", " 'G': 'Wind',\n", " '- ': 'Not stated'\n", "}\n", "\n", "collision['weather_1'].replace(\n", " to_replace=[i for i in weatherdict.keys()], \n", " value=[i for i in weatherdict.values()], \n", " inplace=True\n", ")\n", "\n", "\n", "# bike & ped collision\n", "def bike_ped(row):\n", " if (row.bicycle_accident == 'Y') | (row.pedestrian_accident == 'Y'):\n", " return 'Y'\n", " else:\n", " return 'N'\n", "collision['bike_ped_collision'] = collision.apply(bike_ped, axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Replace labels - victim dataset" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# degree of injury\n", "doidict = {\n", " 0: 'No Injury',\n", " 1: 'Killed',\n", " 2: 'Severe Injury',\n", " 3: 'Other Visible Injury',\n", " 4: 'Complaint of Pain',\n", " 5: 'Other',\n", " 6: 'Other',\n", " 7: 'Other'\n", "}\n", "\n", "victim.victim_degree_of_injury.replace(\n", " to_replace=[i for i in doidict.keys()],\n", " value=[i for i in doidict.values()],\n", " inplace=True\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### victim age & gender clean-up" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# age 998 is not stated - replace with NaN\n", "# age 999 is fatal fetus - replace with age 0 for now; there are 6 of them :(\n", "victim['victim_age'].replace({998: np.nan, 999: 0}, inplace=True)\n", "victim['victim_sex'].replace('-', np.nan, inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Add time period attributes based on collision time\n", "- Early morning: 12AM - 6AM\n", "- AM Peak: 6AM - 9:30AM\n", "- Midday: 9:30AM - 2PM\n", "- PM Peak: 2PM - 6:30PM\n", "- Evening: 6:30PM - 12AM" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
collision_timetime_period
collision_date
2009-03-231745PM Peak
2009-01-03540Early Morning
2009-01-07630AM Peak
2009-01-0850Early Morning
2009-01-111450PM Peak
\n", "
" ], "text/plain": [ " collision_time time_period\n", "collision_date \n", "2009-03-23 1745 PM Peak\n", "2009-01-03 540 Early Morning\n", "2009-01-07 630 AM Peak\n", "2009-01-08 50 Early Morning\n", "2009-01-11 1450 PM Peak" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ranges = [0, 600, 930, 1400, 1830, 2400]\n", "labels = ['Early Morning', 'AM Peak', 'Midday', 'PM Peak', 'Evening']\n", "\n", "collision['time_period'] = pd.cut(\n", " collision.collision_time, \n", " ranges, \n", " labels=labels\n", ").astype('category')\n", "\n", "collision[['collision_time', 'time_period']].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Add hour of day attributes based on collision time" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
collision_timehour_of_day
collision_date
2009-03-23174517
2009-01-035405
2009-01-076306
2009-01-08500
2009-01-11145014
\n", "
" ], "text/plain": [ " collision_time hour_of_day\n", "collision_date \n", "2009-03-23 1745 17\n", "2009-01-03 540 5\n", "2009-01-07 630 6\n", "2009-01-08 50 0\n", "2009-01-11 1450 14" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ranges = list(np.arange(0, 2401, 100))\n", "labels = list(np.arange(0, 24))\n", "collision['hour_of_day'] = pd.cut(\n", " collision.collision_time, \n", " ranges, \n", " labels=labels\n", ").astype('category')\n", "\n", "collision[['collision_time', 'hour_of_day']].head()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# collision.reset_index().to_csv('collision_09_18_cleaned.csv', index=None)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exploratory Data Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### What are we dealing with? " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The dataset has 355,488 rows/collisions and 58 attributes/columns.\n", "Among the 355,488 collisions: \n", " 1,885 were fatal... \n", " 21,663 involved a cyclist... \n", " 28,593 involved a pedestrian...\n" ] } ], "source": [ "print(\n", " \"The dataset has {:,} rows/collisions and {:,} attributes/columns.\".format(\n", " collision.shape[0], \n", " collision.shape[1]\n", " )\n", ")\n", "\n", "\n", "print(\n", " \"Among the {A:,} collisions: \\n\\\n", " {B:,.0f} were fatal... \\n\\\n", " {C:,.0f} involved a cyclist... \\n\\\n", " {D:,.0f} involved a pedestrian...\".format(\n", " A = collision.shape[0], \n", " B = len(collision[collision.collision_severity=='Fatal']),\n", " C = len(collision[collision.bicycle_accident=='Y']),\n", " D = len(collision[collision.pedestrian_accident=='Y'])\n", " )\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Overall collision trend by year (matplotlib)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What collision severity levels do we have?" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['Complaint of Pain', 'Fatal', 'Property Damage',\n", " 'Other Visible Injuries', 'Severe'], dtype=object)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "collision.collision_severity.unique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### group by year" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
All CollisionsSevere CollisionsPercent of Severe Collisions
accident_year
20093582211090.030959
20103444610380.030134
20113342210570.031626
20123356211450.034116
20133193711140.034881
20143314811330.034180
20153696111420.030897
20163848714250.037025
20173909414800.037857
20183860914590.037789
\n", "
" ], "text/plain": [ " All Collisions Severe Collisions Percent of Severe Collisions\n", "accident_year \n", "2009 35822 1109 0.030959\n", "2010 34446 1038 0.030134\n", "2011 33422 1057 0.031626\n", "2012 33562 1145 0.034116\n", "2013 31937 1114 0.034881\n", "2014 33148 1133 0.034180\n", "2015 36961 1142 0.030897\n", "2016 38487 1425 0.037025\n", "2017 39094 1480 0.037857\n", "2018 38609 1459 0.037789" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# agg(list(tuple())) to create new columns \n", "# agg(dict()) to apply functions to existing columns\n", "severe_fatal_year = collision.groupby('accident_year').collision_severity.agg([\n", " ('All Collisions', len),\n", " ('Severe Collisions', lambda x: ((x == 'Severe') | (x == 'Fatal')).sum()),\n", " ('Percent of Severe Collisions', lambda x: ((x == 'Severe') | (x == 'Fatal')).mean())\n", " ]\n", ")\n", "severe_fatal_year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Collision by year" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAu0AAAGKCAYAAAC4p38YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1hU1f4/8PcMCCMgIXjhIo2oCF6OJhCkIpJAaYboMcOE0hRM8cK3g+Y5aql5TS1JvJRcvJQZSqcyPZmSAokXsExRMzMdQEQQMRBhQGH9/uDnHkdu4wWY9P16Hp+nWWvttT/7gz1+ZrP22jIhhAAREREREekteXMHQERERERE9WPRTkRERESk51i0ExERERHpORbtRERERER6jkU7EREREZGeY9FORERERKTnWLQT0RNh06ZNMDMz0/lzQ2QyGRISEh5pjPerY8eOWLlyZbPG0FTmzp2LiRMnNncYjy0hBFxcXLBz587mDoWI6sCinYj0Xl5eHsLDw9G5c2cYGxvDzs4OQ4YMwf/+979Hdo7AwEBcuHBB5/G5ubnw9/d/ZOfXB6dPn4ZCoUB8fLxWuxACAwcOxJAhQ5olritXrmD16tWYM2eO1LZ48WK4ubmhVatWaNu2LYYNG4YzZ85oHVdVVYX33nsPtra2aNmyJZ5//nn89ttvWmPUajWmTJkCKysrmJqaYvjw4cjJydEac+zYMfj4+MDCwgJt2rTBpEmTcPPmzYe+rv3792PYsGGwsbGBqakpevfujc2bN9cYd+DAAbi4uEChUKBz586Ijo7W6s/IyMDIkSPh4OAAmUyGRYsW1Zjj9u3bmDNnDhwcHNCyZUt06tQJ7733HiorKwFUfwl99913MWvWLPD1LUT6iUU7Eek1lUoFFxcX/PDDD1i6dClOnjyJxMREDB06FJMmTXpk52nZsiXatWun83hra2sYGxs/svPrgx49emDx4sWYMmUKrly5IrV//PHHOHXqFOLi4hrt3Ldu3aqzb8OGDejXrx+USqXUlpSUhKlTp+LIkSP48ccfIZPJ4Ovri7/++ksas3TpUnz88cdYs2YN0tLSYGlpiRdeeEGr4J42bRq+/fZbbN++HSkpKbh27RqGDRuGqqoqAMClS5fg6+sLJycnHD16FP/73/9w4sQJTJgw4aGvOTU1Fb1790ZCQgJOnjyJ0NBQTJgwAdu3b5fG/Pnnn3jppZfg5eWF48ePY+bMmZg8eTK+/fZbaczNmzfRqVMnLFmyBE8//XSt51qyZAk+/fRTrFmzBr/99hs++ugjrF69GsuXL5fG+Pv7o6CgAHv37n3oayOiRiCIiPTYkCFDhI2Njbhx40aNvsLCQum/MzMzxfDhw4WZmZkwMzMTI0aMENnZ2VL/xo0bhampqc6fs7KyxLBhw0Tr1q1Fy5YthZOTk9i2bZvUD0Ds2LFD+nzy5Enh4+MjFAqFaN26tRg7dqz466+/pP6xY8eKoUOHisjISGFrayssLCzEuHHjxM2bN6UxycnJwsPDQ5iamgpzc3Ph7u4uMjIy6syNUqkU8+bNE0FBQcLU1FS0b99erFixQup/8803xdChQ7WOqaysFPb29uLDDz+sdc7Kykrh5eUl/P39hRBC/P7776Jly5YiPj5ea8ySJUuEg4ODUCgUomfPnuKLL77QmiciIkI4OjoKhUIhOnbsKGbNmiXUarXUP2fOHNG7d28RExMjHBwchFwuF2VlZbXG5OTkJNauXVtnHoQQ4q+//hIymUz873//k2Js27atWLZsmTSmpKREmJiYiJiYGCFE9d8fQ0ND8eWXX0pjLl68KACIxMREIYQQa9euFe3atROVlZXSmF9++UUAEBcuXKg3pgcxYsQI8eqrr0qf//WvfwlnZ2etMWPHjhWenp61Hu/k5CQWLlxYo/3FF18U48eP12obM2aMCAgI0Gp7/fXXxdixYx8weiJqTLzTTkR6q7CwEHv27MHUqVNrXW/eunVrANXLN4YPH468vDzs378fBw4cwOXLlzF8+PAH/lV/WFgYSktLceDAAZw+fRqRkZGwsLCodWxpaSkGDx4MMzMzpKWl4euvv8ahQ4cwfvx4rXE//fQTTp06hcTERMTHx+Prr7/Gxx9/DKB6+UJAQAA8PT1x4sQJHD16FOHh4TAwMKg3zo8++gjdunXDL7/8ggULFmD27Nn473//CwAIDQ3Fnj17kJubK43ft28frly5gtdff73W+eRyOTZv3oykpCTExMRg7NixGDFiBF599VVpzH/+8x9s2bIF69evx5kzZzBr1ixMmDABe/bskcaYm5tj06ZN+O2337BmzRp8/vnnWLZsmda5zp8/jx07duCrr77Cr7/+CiMjoxrxXL16Fb///jvc3NzqzcONGzcghJD+Tpw/fx5Xr17FCy+8II0xNTWFp6cnDh06BABIT0/H7du3tcZ07NgRXbt2lcaUl5fDyMgIcrnmn8uWLVsCqL5T/qgVFxdL1wAAhw8f1ooPAF588UWkpaVJS1t04enpiR9//BG///47AODUqVNISkqqseTJ3d0dycnJD3EFRNRomvlLAxFRnY4ePSoAiP/+97/1jtu7d6+Qy+Xi4sWLUtuff/4pZDKZ2LdvnxDi/u+0/+Mf/xDz58+v85y46077hg0bhLm5uSguLpb6Dxw4IACIP/74QwhRfXe0Q4cO4tatW9KYkJAQ4ePjI4QQ4tq1awKASEpKqvda76ZUKoWvr69W24QJE0T//v2lzz169BBLly6VPr/66qti5MiRDc4dGxsr5HK5sLOzE9evX5fai4uLhbGxsTh06JDW+ClTpkh352sTFRUlnJycpM9z5swRLVq0EPn5+fXGkZ6eLgCIrKysOsdUVVWJESNGCFdXV+mOeHJysgAgcnJytMa+/vrr4qWXXhJCCLF582ZhZGRUY74BAwaIsLAwIYQQJ06cEAYGBmLFihWivLxcXLt2TQwfPlwAEMuXL6839vv19ddfixYtWohjx45JbQ4ODmLx4sVa43788UcBoNbc1XWnvbKyUsyaNUvIZDJhaGgoZDKZeO+992qM++qrr4RcLtf6zQIR6QfeaScivSV0vEv+22+/wdbWFh07dpTaOnXqBFtb2xoPJ+oqPDwcixYtQt++fTF37lz8/PPP9Z6/V69eaNWqldTWr18/yOVyrfN3794dhoaG0mdbW1vk5+cDACwtLTFu3Di8+OKLGDp0KD766CNkZ2c3GGffvn1rfL77nKGhodi4cSOA6t9cfPvttzqtxx4/fjxsbGwwdepUrd8wnDp1CuXl5fDz84OZmZn0Jzo6Gn/++ac0Lj4+Hv3794e1tTXMzMwwY8YMZGVlaZ1DqVSibdu29cZRVlYGAFAoFHWOCQ8PR1paGhISErTuiAPVD1jeTQhRo+1ed4/p1asXNm7ciBUrVsDExAQ2NjZwcnKClZVVnb8F2bx5s1ZuDh8+XO/5ACAlJQWvv/461q5dC1dX1wavobb2+mzbtg1ffPEFvvzyS/zyyy/YuHEjVq9ejU2bNmmNa9myJaqqqlBeXq7z3ETUNFi0E5HecnR0hEwmq7Hjx73qK8Tup7C524QJE3Dx4kW8+eabOHfuHPr164f58+c/1PlbtGhRo+/OA48AsHHjRhw9ehReXl7YuXMnunbtih9++OGB4r/j9ddfR2ZmJg4ePIitW7eiTZs2NZZb1MXQ0FDrSwYAKd7du3fj119/lf6cPn0a33//PQDg4MGDCAoKwksvvYTvvvsOx48fx/vvv4+KigqtuUxNTRuMoU2bNgCA69ev19o/ffp0JCQkYP/+/Vpf2qytrQFA64FaAMjPz0f79u2lMRUVFTXmvnsMUJ3DvLw8XLp0CdeuXcPs2bNRWFgIBweHWmMaMWKEVm769OlT7zUmJydj6NChWLJkCUJDQ7X6rK2ta70GIyMjrWU0DZkxYwZmzZqFV199Ff/4xz8wduxYhIeH11iyVFhYCDMzM2kJEBHpDxbtRKS3LC0t8eKLL2LNmjUoKSmp0X9np5Du3bsjJycHKpVK6rtw4QIuX76M7t27P/D5O3TogIkTJ2L79u14//33sWHDhlrHde/eHSdOnMCNGzektkOHDqGqqgrdunW7r3P27t0bs2bNQlJSEry9vWvdAvBuR44cqfH57nNaWlrin//8J+Li4hAXF4dx48Y1uE6+Pj179oSRkRGysrLQpUsXrT93di5JTU2FUqnEnDlz8Oyzz8LR0VHrZ3M/HB0dYWpqWuM3JkIITJkyBTt27MCBAwfQtWtXrf4uXbqgbdu22Ldvn9RWWlqK1NRU9OvXDwDg5uYGQ0NDrTGZmZnSl7R73fmtwZdffglTU1P4+PjUGrO5ublWXur7LcGBAwcwdOhQLFq0CNOmTavR37dvX634gOrnEtzd3e/r51haWlpjvIGBgdaXRqD6NykuLi46z0tETcew4SFERM1n3bp16NevH9zc3LBw4UL06tULQggcOHAAS5cuRVZWFnx9fdG7d28EBQVh9erVEEJg2rRpcHFxwaBBgx7ovOHh4RgyZAi6du2K4uJi7Nmzp84vAEFBQZg3bx7eeOMNvP/++7h+/Treeust/POf/0SXLl10Ot/Fixfx6aefYtiwYbCzs8OFCxdw8uRJTJ48ud7jjhw5gqVLl+KVV15BUlIStmzZgq1bt2qNCQ0NxeDBg3Hr1q2HfiHUU089hbfffhtvv/02KisrMWDAABQXF+Pw4cMwMjJCSEgIunbtiqysLGzbtg3u7u74/vvvtbYxvB+Ghobw8fHBwYMHMXz4cKl98uTJ+PLLL/HNN9/gqaeeku5Gt2rVCqamppDL5QgPD8eSJUvQtWtXdOnSBQsWLEDr1q0xevRoAJolSTNmzECbNm1gYWGBt99+Gy4uLnj++eelc0VFRaF///4wNTXF3r178c477+DDDz+Eubn5Q2Syep/2l19+GeHh4QgMDJSuwdDQUPoNw+TJk7Fu3TpEREQgNDQUKSkp+Oyzz7Bjxw5pnoqKCulLTXl5Oa5cuYJff/0VrVq1QufOnQFUb+d4Z0vI7t274+eff0ZkZCRCQkK0Yvrpp58wdOjQh7ouImokzbaanohIR5cvXxZTp04VDg4OwsjISNjY2IjBgwdL2/sJUb3lY0BAgLTl4/Dhwx9qy8epU6eKLl26CGNjY9GmTRsRGBgoLl26JPWjli0fBw0aJBQKhbCwsKhzy8e7zZs3T/To0UMIIcSVK1fEiBEjhK2trTAyMhL29vZi5syZoqKios683NnycfTo0cLU1FS0a9dOa4vDO6qqqkSnTp3E888/X+dcdc1/9xaSd8+3atUq4ezsLFq0aCHatGkj/Pz8pG0ShRBi5syZok2bNsLMzEyMHDlSrFmzRhgYGEj9d7Z81MWuXbuEnZ2d9HDkrVu3BIBa/9z9EGZlZaWYO3euaN++vTA2Nhbe3t7i9OnTWnOXlpaKyZMni9atWwsTExMxbNgwrZ+zEEK89tprwtLSUhgZGYnevXuLrVu36hR3Q4KCgmq9hs6dO2uN+/HHH8UzzzwjjIyMhIODg9iwYYNW/x9//FHrPHcechZCiKKiIjFt2jTx9NNPC4VCITp16iTmzJkjysvLpTGZmZmiRYsW4vLly4/k+ojo0ZIJwVefERE9zsrKymBnZ4eoqCgEBQU1dzj3TQgBDw8PvP3223jttdeaO5zH1ttvv43y8nKsW7euuUMholpweQwR0WOqqqoKeXl5WLVqFVq2bIlRo0Y1d0gPRCaTYcOGDcjIyGjuUB5rNjY2ePPNN5s7DCKqQ5Pfac/NzcWMGTPg4eGB6dOnIz8/H1OnTtV6HXhAQABeeeWVWo8vKSnB+vXrcfLkSbRq1QpjxoyBp6en1J+RkYHY2FgUFBTA0dERYWFh0pZiQghs3boV+/fvBwAMGjQIQUFBD7y7BBGRPlOpVHBwcECHDh0QGxur864xRESkf5r8TntsbKz0YMzdNm3apNOT8DExMTA0NER0dDRUKhWWLl0KpVIJe3t7FBcXY+XKlZg0aRJcXV0RHx+PyMhILF68GACQmJiI9PR0rFixAjKZDAsXLkS7du34DxkRPZY6duz4wG+EJSIi/dKkWz6mpqbCxMQEPXv2fKDj1Wo1jh49isDAQCgUCjg7O8PNzQ0pKSkAgLS0NNjb26Nv374wMjLCqFGjoFKpkJOTA6B6L1x/f39YWVnB0tIS/v7+fF0zEREREem9JivaS0tLsX37drzxxhu19oeFhWHSpElYt24diouLax2Tm5sLuVwOW1tbqU2pVEpvDczOzoZSqZT6FAoFrK2t6+y/+1giIiIiIn3VZMtj4uPj8fzzz0t7z95hbm6OpUuXomPHjrhx4wZiY2MRFRWFOXPm1JhDrVbDxMREq83ExARqtVrqv3ff3Hv77z7+Tp+o5W2GiYmJSExMBIAab4wjIiIiImpKTVK0q1QqZGRkYPny5TX6FAqFtMbdwsICEyZMwMSJE1FaWlqjQFcoFCgrK9NqKysrk942V1t/aWlpnf13jq3tQVRfX1/4+vpqzdPcjI2NUV5e3txh6AXmohrzoMFcaDAXGsyFBnOhwVxoMBca+pKLe+vfO5qkaD99+jSuXr0qvdlPrVajqqoKs2bNwgcffKDzPDY2NqisrERubi5sbGwAVL9y2t7eHgBgb2+vtUZdrVYjLy9Pq1+lUklvKFSpVFIfEREREZG+apI17b6+voiKisKKFSuwYsUK+Pn5wcXFBXPmzMEff/yBy5cvo6qqCjdu3MDGjRvRo0cP6VtGUlISpkyZAqD6TrmHhwfi4+OhVqtx9uxZpKenw8vLCwDg7u6OrKwsHDlyBBUVFUhISIBSqYSdnR0AwMvLC7t370ZhYSEKCwuxa9cuDBw4sClSQERERET0wJrkTruxsbHWPuwKhQItWrSAubk5Tp48iW3btqG4uBgtW7ZEr169EB4eLo0tKCiAk5OT9DkkJATr1q1DaGgozMzMEBoaKt0tNzc3R0REBOLi4hAVFQVHR0etufz8/JCfn4+IiAgAgI+PD/z8/Br78omIiIiIHkqTv1zpfi1atAjjxo1Dhw4dmjWOe9e0CyFQXFyMqqqqJovBwMAAlZWVTXY+fdbYuZDL5TA3N9f7F2/py/o7fcBcaDAXGsyFBnOhwVxoMBca+pKLZl3T/jDmzp3b3CHUqri4GAqFQus3CI1NJpPxRSn/X2Pnory8HMXFxXjqqaca7RxEREREumrSlys9Tqqqqpq0YKemZWxs3KS/RSEiIiKqD4t2IiIiIiI9x6L9b27nzp0wNTXF77//LrVlZmbCzc0NAJCSkoKRI0fWeuyxY8fwwgsv4JlnnkGfPn0QFhZW7370n332Gf71r38BABYvXozIyEgAwMKFC7F///46j4uJicHWrVvv+9qIiIiIqJrer2n/uzA1XfFI57t5c6ZO43bs2IF+/fohISGh1rfI1iUvLw/BwcHYvHkzPDw8IITAN998gxs3btT5AERd3n333Xr7Q0JC7ms+IiIiItLGO+1/YyUlJTh8+DDWrVuHhISE+zp2w4YNCAoKgoeHB4DqBztHjBiB9u3bo7CwEIGBgXB3d4e3tzcyMjLqnWvixIn4+uuvAVQX8K6urnB3d8d//vMfANp35U+cOAFvb2+4u7tj9OjRuH79OgBg8ODBmDt3Lry8vNC7d2+kpqYCAM6cOQMvLy8899xzcHd3x/nz5+/rOomIiIgeByza/8a+++47+Pn5wdHREa1bt8bx48d1PvbMmTPo06dPrX2LFy9G7969kZaWhvnz5yM0NFSnOQsLC/Hdd9/h2LFjSEtLw6xZs2qMCQ0NxcKFC5GWloYePXpgyZIlUt/t27eRkpKCDz74QGqPjY1FWFgYjhw5goMHD0ovyiIiIiJ6krBo/xvbsWMHXnnlFQDAK6+8gh07djySeQ8dOoTXXnsNAODt7Y3CwkIUFRU1eJy5uTmMjY0RFhaGb7/9tsYym6KiIhQVFWHAgAEAgKCgIOmOOgAEBAQAAPr06YOsrCwA1W+5XblyJT788ENkZWWhZcuWj+QaiYiIiP5OWLT/TV27dg3JycmYMmUKunXrhsjISHz11Vc6713erVu3Ou/M1zaHLi8ZMjQ0REpKCgICAvDdd99JRbiu7myhaWBggNu3bwMAAgMDsX37drRs2RIBAQFISkq6rzmJiIiIHgcs2v+mvvnmG4wZMwZnz57Fb7/9hnPnzqFjx444dOiQTse/9dZb2Lp1K9LT06W2bdu24cqVK/D09ER8fDyA6t1nrKysYG5u3uCcJSUlKCoqwuDBg7F8+fIaa+GfeuopWFhYSHfXt23bBk9Pz3rnvHjxIhwcHBAWFoaXXnoJp06d0un6iIiIiB4n3D3mb2rHjh3S9ot3BAQEYPv27TXaa9O+fXts3rwZs2fPxtWrVyGXy9G/f38EBARg9uzZmDRpEtzd3WFiYoINGzboFNONGzcQGBgItVoNIQSWLVtWY8yGDRsQHh6O0tJSODg44JNPPql3zoSEBMTHx8PQ0BDt27eXHm4lIiIiepLIRGO+C/4xcu/+5devX0fr1q2bNAaZTKbz8pfHXVPkojl+xvfL2NgY5eXlzR2GXmAuNJgLDeZCg7nQYC40mAsNfclFXVtvc3kMEREREZGeY9FORERERKTnWLQTEREREek5Fu1ERERERHqORTsRERERkZ5j0U5EREREpOdYtP+NLV++HG5ubnB3d8dzzz2n9aKk5nTs2DG88MILeOaZZ9CnTx+EhYXV2DLzbp999pm0t/zixYsRGRkJAFi4cCH2799f53ExMTHYunXrow2eiIiISA/x5UqPiMlw00c6X+k3N+vtP3r0KL7//nukpqbC2NgYBQUFuHXr1iON4W63b9+GoWHDf13y8vIQHByMzZs3w8PDA0IIfPPNN7hx40ad+47W5d133623PyQk5L7mIyIiIvq74p32v6krV67AysoKxsbGAIA2bdrAxsYGAHD8+HG8+OKL6N+/P4YNG4bc3FycPXsWXl5e0vGZmZlwd3evczwADB48GPPmzcOLL76ItWvX4urVqxgzZgwGDBiAAQMG4PDhwzXi2rBhA4KCguDh4QGg+iVII0aMQPv27VFYWIjAwEC4u7vD29sbGRkZ9V7jxIkT8fXXXwOoLuBdXV3h7u4uvRX17rvyJ06cgLe3N9zd3TF69Ghcv35duoa5c+fCy8sLvXv3RmpqKgDgzJkz8PLywnPPPQd3d3ecP3/+AX4KRERERE2DRfvflI+PDy5duoTevXvj//7v//DTTz8BAG7duoWIiAh8/vnnSE1NxRtvvIEFCxbA2dkZFRUVuHjxIgAgISEBI0eOrHP8HUVFRfjhhx8QHh6OmTNnYurUqfjpp5/wxRdfYMqUKTXiOnPmDPr06VNrzIsXL0bv3r2RlpaG+fPnIzQ0VKdrLSwsxHfffYdjx44hLS0Ns2bNqjEmNDQUCxcuRFpaGnr06IElS5ZIfbdv30ZKSgo++OADqT02NhZhYWE4cuQIDh48CDs7O51iISIiImoOXB7zN2VmZobU1FSkpqYiJSUFb7zxBt5//324uLjgzJkz8Pf3BwBUVlbC2toaADBy5Eh89dVXmDFjBr766its2bIF586dq3P8nWPuOHDgAM6ePSt9Li4uxo0bN9CqVSudYj506BC++OILAIC3tzcKCwtRVFTU4HHm5uYwNjZGWFgYBg8ejCFDhmj1FxUVoaioCAMGDAAABAUFITg4WOoPCAgAAPTp0wdZWVkAAHd3d6xYsQI5OTkICAhAly5ddLoGIiIioubAov1vzMDAAF5eXvDy8kKPHj2wdetW9OnTB926dcOBAwdqjB85ciSCg4MREBAAmUyGLl264NSpU3WOBwBTU81afSEEDhw4gJYtW9YZU7du3XD8+HG8/PLLNfqEEDXaZDJZg9dpaGiIlJQUHDhwAAkJCfjkk0+wZ8+eBo+7484SIgMDA9y+fRsAEBgYiGeffRZ79uxBQEAA1q5dC29vb53nJCIiImpKXB7zN3Xu3DmtddgnT57E008/ja5du6KgoABHjx4FUL1c5syZMwCATp06wcDAAMuWLZPuoNc3/l6DBg3CJ598In0+ceJEjTFvvfUWtm7dqrWTzbZt23DlyhV4enoiPj4eAJCSkgIrKyuYm5s3eK0lJSUoKirC4MGDsXz58hpr4Z966ilYWFhI69W3bdsGT0/Peue8ePEiHBwcEBYWhpdeegmnTp1qMA4iIiKi5sI77X9TN2/eREREBIqKimBgYIDOnTsjKioKRkZG+PzzzzFz5kwUFRWhsrISU6ZMQffu3QFU322fM2eOVJg3NP5uK1euxL/+9S+4u7ujsrIS/fv3x+rVq7XGtG/fHps3b8bs2bNx9epVyOVy9O/fHwEBAZg9ezYmTZoEd3d3mJiYYMOGDTpd640bNxAYGAi1Wg0hBJYtW1ZjzIYNGxAeHo7S0lI4ODhofbmoTUJCAuLj42FoaIj27dtLD7cSERER6SOZqG3NQiPKzc3FjBkz4OHhgenTpwMAMjIyEBsbi4KCAjg6OiIsLAxt27at9fiSkhKsX78eJ0+eRKtWrTBmzBitu6r1zSWEwNatW6W9vwcNGoSgoCCdlmjcu8/49evX0bp16wfKwYOSyWS1LjF5EjVFLprjZ3y/jI2NUV5e3txh6AXmQoO50GAuNJgLDeZCg7nQ0Jdc1LVFdpMvj4mNjUXnzp2lz8XFxVi5ciUCAwMRFxeHTp06Sdv41SYmJgaGhoaIjo7G9OnTER0djezsbJ3mSkxMRHp6OlasWIGVK1fi559/xr59+xrvYomIiIiIHoEmLdpTU1NhYmKCnj17Sm1paWmwt7dH3759YWRkhFGjRkGlUiEnJ6fG8Wq1GkePHkVgYCAUCgWcnZ3h5uaGlJQUneZKTk6Gv78/rKysYGlpCX9/fyQnJzfNxRMRERERPaAmK9pLS0uxfft2vPHGG1rt2dnZUCqV0meFQgFra2vp7vndcnNzIZfLYWtrK7UplUppbENz3dt/97FERERERPqqyR5EjY+Px/PPP482bdpotavV6ho7iJiYmECtVteYQ61W11jnc/fYhua69/g7fUKIGuvaExMTkbo14DkAACAASURBVJiYCABYtmyZtG3gHXK5XKe18I9ac5xTXzV2LuRyeY2fu775O8TYVJgLDeZCg7nQYC40mAsN5kJD33PRJEW7SqVCRkYGli9fXqNPoVCgrKxMq620tBQKhUKnsWVlZdLYhua6t//OsbUVf76+vvD19ZU+1/ZgglqtbtIfLh9E1WjsXNz5eevDAyn10ZeHZvQBc6HBXGgwFxrMhQZzocFcaOhLLup6ELVJivbTp0/j6tWrmDx5MoDqYreqqgqzZs2Cn5+f1rpytVqNvLw82Nvb15jHxsYGlZWVyM3NhY2NDQAgMzNTGmtvb1/vXPb29lCpVNLbL1UqVa3n0YW5uTmKi4tr7CrTmAwMDFBZWdlk59NnjZ0LuVyu0x7yRERERE2hSYp2X19f9O/fX/q8c+dOXL16FaGhoQCAzz77DEeOHIGLiwsSEhKgVCphZ2cHAEhKSsKOHTuwdu1aKBQKeHh4ID4+HpMmTYJKpUJ6ejoWLVoEoPrV9PXN5eXlhd27d8PFxQUAsGvXLgwePPiBrkkmk+Gpp5564Jw8CH35BqgPmAsiIiJ6kjRJ0W5sbKy1jEShUKBFixbSncyIiAjExcUhKioKjo6OCA8Pl8YWFBTAyclJ+hwSEoJ169YhNDQUZmZmCA0Nle6Wm5ub1zuXn58f8vPzERERAQDw8fGBn59fo147EREREdHDavKXK92vRYsWYdy4cejQoUOzxtGUy2DqwrvLGsxFNeZBg7nQYC40mAsN5kKDudBgLjT0JRfNuqb9YcydO7e5QyAiIiLSO6amKx56jtu3WWf9XTT5G1GJiIiIiOj+sGgnIiIiItJzLNqJiIiIiPSc3q9pJyIiIiKqz5Owvp9FOxEREf2tPGyBpu/FGVFtuDyGiIiIiEjPsWgnIiIiItJzLNqJiIiIiPQci3YiIiIiIj3Hop2IiIiISM+xaCciIiIi0nMs2omIiIiI9ByLdiIiIiIiPceinYiIiIhIz7FoJyIiIiLSc4bNHQARERE1zNR0xUMdf/v23EcUCRE1B95pJyIiIiLScyzaiYiIiIj0HIt2IiIiIiI9x6KdiIiIiEjPsWgnIiIiItJzLNqJiIiIiPQci3YiIiIiIj3HfdqbyMPurwtwj10iIiKiJxXvtBMRERER6TtBugGkP6UHD4rSgwe12ipmzxY3b94UldbWUlvlM8+Imzdviltvvqk11gb/Ei/jNa22ULwsgPlabTvRVQDzxU501Wq/efOmUEdFabWpd+wQpefPa7XdevPN6pieeUYTk7W1uHnzpqiYPfuRXlPp+fNCvWOHdkxRUeLmzZtabbeHDBE3b94Ut4cMeahrqnJxeeyu6XH8OfGamueabt++/dhd0+P4c7rfazoGG6ktB2YCmC/mYaDWWBdMFC6YqNU2DwMFMF9U2djo3TU96M/pzjXlwExqOwYbAcwXn8JFa2xt/+ZWrl+vd9f0sH/37qeOAOaLULys99d0P3/3aruml/GasMG/tNo+hYsA5tf6/1Plu+/qxzXVQVZdjza+1atX49SpUygvL4eFhQWGDRsGHx8f5OfnY+rUqTA2NpbGBgQE4JVXXql1npKSEqxfvx4nT55Eq1atMGbMGHh6ekr9GRkZiI2NRUFBARwdHREWFoa2bdsCAIQQ2Lp1K/bv3w8AGDRoEIKCgiCTyRqMv7S09GEu/5EtjykvL3/oeR4HxsbGzAWYh7sxFxrMhcbjlIuH/Xfkcfo3hLmoxtpC43HKhYmJSa3tTbamfcSIEZg8eTJatGiBnJwczJ8/Hw4ODjAzMwMAbNq0CQYGBg3OExMTA0NDQ0RHR0OlUmHp0qVQKpWwt7dHcXExVq5ciUmTJsHV1RXx8fGIjIzE4sWLAQCJiYlIT0/HihUrIJPJsHDhQrRr1w4vvPBCo147EREREdHDaLI17fb29mjRogUAQCaTQSaT4cqVK/c1h1qtxtGjRxEYGAiFQgFnZ2e4ubkhJSUFAJCWlgZ7e3v07dsXRkZGGDVqFFQqFXJycgAAycnJ8Pf3h5WVFSwtLeHv74/k5ORHe6FERERERI9Yk+4eExMTg6SkJFRUVMDBwQEuLi4oLi4GAISFhUEmk6FXr14IDg6Gubl5jeNzc3Mhl8tha2srtSmVSpw5cwYAkJ2dDaVSKfUpFApYW1sjOzsbdnZ2NfqVSiWys7NrjTUxMRGJiYkAgGXLlmkt32kucrlcL+LQB8xFNeZBg7nQYC40mAsN5kKDudBgLjT0PRdNWrSHhIRg/PjxOHfuHE6fPg1DQ0OYm5tj6dKl6NixI27cuIHY2FhERUVhzpw5NY5Xq9U11vmYmJhArVZL/fcW+/f23338nT4hRI117b6+vvD19ZU+68Map6qqKr2IQx88TutUHwbzoMFcaDAXGsyFBv8N0WAuNJgLDX3JRV1r2pt8y0e5XA5nZ2dcu3YNe/fuhUKhQOfOnWFgYAALCwtMmDABJ06cqPXBT4VCgbKyMq22srIyKBSKOvtLS0vr7L9zrC4PohIRERERNZdm26e9qqoKeXl593WMjY0NKisrkZubK7VlZmbC3t4eQPW6+czMTKlPrVYjLy9Pq1+lUkn9KpVK6iMiIiIi0ldNsjymqKgIp06dgqurK4yMjHDy5EmkpqZi+vTp+OOPP2Bqagpra2vcvHkTGzduRI8ePaRfDSQlJWHHjh1Yu3YtFAoFPDw8EB8fj0mTJkGlUiE9PR2LFi0CALi7u+Ozzz7DkSNH4OLigoSEBCiVStjZ2QEAvLy8sHv3bri4uAAAdu3ahcGDBzdFCugufDssERER0f1pkqJdJpNh7969iI6OhhACbdq0wdixY/Hss8/i4MGD2LZtG4qLi9GyZUv06tUL4eHh0rEFBQVwcnKSPoeEhGDdunUIDQ2FmZkZQkNDpbvl5ubmiIiIQFxcHKKiouDo6Kg1l5+fH/Lz8xEREQEA8PHxgZ+fX1OkgIiIiIjogTVJ0W5ubo4FCxbU2ufp6an1cqR7nT17FuPGjZM+m5mZ4Z133qlzfK9evRAZGVlrn0wmQ3BwMIKDg3ULnIiIiIhIDzTp7jEPYu5cLoMgIiIioidbsz2ISkREREREumHRTkRERESk51i0ExERERHpOb1f005ET4aH3QqU24ASEdHjjEU7UTNioUpERES64PIYIiIiIiI9xzvtRESkt/jbKCKiarzTTkRERESk51i0ExERERHpORbtRERERER6jkU7EREREZGeY9FORERERKTnWLQTEREREek5Fu1ERERERHqO+7QTEekZ7k1ORET34p12IiIiIiI9x6KdiIiIiEjPsWgnIiIiItJzLNqJiIiIiPQci3YiIiIiIj3Hop2IiIiISM+xaCciIiIi0nM67dN+6dIlmJmZwcLCAmq1Gjt37oRcLoe/vz+MjY0bO0YiIiIioieaTnfaP/74Y5SWlgIAtmzZgt9++w3nzp3Dhg0bGjU4IiIiIiLS8U771atXYWtrCyEE0tPT8eGHH8LIyAhTp05t7PiIiIiIiJ54OhXtLVq0QFlZGS5dugQrKyuYm5ujsrISt27d0vlEq1evxqlTp1BeXg4LCwsMGzYMPj4+AICMjAzExsaioKAAjo6OCAsLQ9u2bWudp6SkBOvXr8fJkyfRqlUrjBkzBp6enlJ/fXMJIbB161bs378fADBo0CAEBQVBJpPpfB1ERERERE1Np+Ux/fv3x/vvv4+1a9fC29sbAHDx4kW0a9dO5xONGDECa9euxebNm/HOO+/gyy+/xIULF1BcXIyVK1ciMDAQcXFx6NSpEyIjI+ucJyYmBoaGhoiOjsb06dMRHR2N7OxsAGhwrsTERKSnp2PFihVYuXIlfv75Z+zbt0/nayAiIiIiag46Fe3jxo3D6NGjERISgsGDBwMAZDIZxo4dq/OJ7O3t0aJFC+lYmUyGK1euIC0tDfb29ujbty+MjIwwatQoqFQq5OTk1JhDrVbj6NGjCAwMhEKhgLOzM9zc3JCSkgIADc6VnJwMf39/WFlZwdLSEv7+/khOTtb5GoiIiIiImoNOy2MAoHfv3lqfO3fufN8ni4mJQVJSEioqKuDg4AAXFxds27YNSqVSGqNQKGBtbY3s7GzY2dlpHZ+bmwu5XA5bW1upTalU4syZMwCA7Ozseue6t1+pVEp36e+VmJiIxMREAMCyZcv0YpccuVyuF3HoA+aiGvOgwVxoMBcazIUGc6HBXGgwFxr6ngudivb8/Hxs27YNKpUKarVaq2/9+vU6nywkJATjx4/HuXPncPr0aRgaGkKtVsPc3FxrnImJSY3zANV32k1MTOoc29Bc9x5/p08IUWNdu6+vL3x9faXP5eXlOl9nY6mqqtKLOPQBc1GNedBgLjSYCw3mQoO50GAuNJgLDX3Jxb217h06Fe0ff/wx2rdvjzfeeOOhv4HI5XI4OzsjJSUFe/fuhUKhQFlZmdaY0tJSKBSKGsfWNrasrEwa29Bc9/bfOZYPohIRERGRPtP55UoLFy6EXP7oXqBaVVWFvLw82Nvba60rV6vVUvu9bGxsUFlZidzcXNjY2AAAMjMzpbENzWVvbw+VSoUuXboAAFQqVa3nISIiIiLSJzpV4d26dYNKpXrgkxQVFSE1NRVqtRpVVVX49ddfkZqaip49e8Ld3R1ZWVk4cuQIKioqkJCQAKVSKa1nT0pKwpQpUwBU3yn38PBAfHw81Go1zp49i/T0dHh5eQFAg3N5eXlh9+7dKCwsRGFhIXbt2oWBAwc+8HURERERETUFne60t23bFosXL4a7uzssLCy0+gIDAxs8XiaTYe/evYiOjoYQAm3atMHYsWPx7LPPAgAiIiIQFxeHqKgoODo6Ijw8XDq2oKAATk5O0ueQkBCsW7cOoaGhMDMzQ2hoqHS33NzcvN65/Pz8kJ+fj4iICACAj48P/Pz8dEkBEREREVGz0aloLy8vh6urKyorK3Ht2rX7Pom5uTkWLFhQZ3+vXr3q3Jv97NmzGDdunPTZzMwM77zzzgPNJZPJEBwcjODgYN0CJyIiIiLSAzoV7WFhYY0dR53mzp3bbOcmIiIiItIHOu/Tnpubi9TUVBQWFsLS0hL9+/eXHgYlIiIiIqLGo9ODqMeOHcO///1v5OTkwMzMDJcvX8a///1vHDt2rLHjIyIiIiJ64ul0p33btm2YOXMmevbsKbWdPn0acXFxcHNza7TgiIiIiIhIxzvthYWF6Natm1abs7PzAz2USkRERERE90enor1jx4747rvvtNp27dqFjh07NkZMRERERER0F52Wx4SEhOCDDz7A999/DysrK1y7dg3Gxsb1br1IRERERESPhk5Fu52dHVatWoVz587h+vXrsLS0RJcuXWBoqPPmM0RERERE9IB0rroNDAxqrGsnIiIiIqLGV2fR/vbbb2PVqlUAgMmTJ9c5wfr16x99VEREREREJKmzaH/rrbek/542bVqTBENERERERDXVWbQ7OztL/929e/cmCYaIiIiIiGrSacvHXbt2QaVSAQDOnTuHyZMnY+rUqTh37lxjxkZERERERNCxaN+9ezfatWsHoPrtqC+//DL++c9/YtOmTY0ZGxERERERQceivbS0FCYmJigrK4NKpcKQIUMwaNAgXL58ubHjIyIiIiJ64um05aOVlRV+//13ZGdno1u3bpDL5SgtLYVcrlPNT0RERERED0Gnoj04OBgfffQRDA0NERERAQD45Zdf0KVLl0YNjoiIiIiIdCzaXVxc8Omnn2q1Pffcc3juuecaJSgiIiIiItKos2jPz8+XHj7Ny8urc4L27ds/+qiIiIiIiEhSZ9E+Y8YMbNmyBQAwffr0OieIj49/9FEREREREZGkzqL9TsEOsDAnIiIiImpO3P6FiIiIiEjP1Xmn/b333oNMJmtwggULFjzSgIiIiIiISFudRfugQYOaMg4iIiIiIqpDnUW7t7d3E4ZBRERERER1qbNo379/v04T8I48EREREVHjqrNo/+mnn3SaQJei/datW4iJiUFGRgZKSkpgbW2N1157DX369EF+fj6mTp0KY2NjaXxAQABeeeWVWucqKSnB+vXrcfLkSbRq1QpjxoyBp6en1J+RkYHY2FgUFBTA0dERYWFhaNu2LQBACIGtW7dKX0gGDRqEoKAgndbuExERERE1lzqL9nnz5j2yk1RWVsLKygrz589HmzZtcPz4caxatQorV66UxmzatAkGBgYNzhUTEwNDQ0NER0dDpVJh6dKlUCqVsLe3R3FxMVauXIlJkybB1dUV8fHxiIyMxOLFiwEAiYmJSE9Px4oVKyCTybBw4UK0a9cOL7zwwiO7ViIiIiKiR03nLR9LSkqQnJyMr7/+GsnJySgpKdH5JAqFAq+++iratWsHuVwOV1dXtGvXDhcuXLivYNVqNY4ePYrAwEAoFAo4OzvDzc0NKSkpAIC0tDTY29ujb9++MDIywqhRo6BSqZCTkwMASE5Ohr+/P6ysrGBpaQl/f38kJyffVwxERERERE1Np6L93LlzmDZtGvbt24fMzEwkJiZi2rRpOHfu3AOd9K+//kJubi7s7e2ltrCwMEyaNAnr1q1DcXFxrcfl5uZCLpfD1tZWalMqlcjOzgYAZGdnQ6lUSn0KhQLW1tZ19t99LBERERGRvqpzeczdNm3ahJCQEPTv319qO3ToEDZu3IilS5fe1wlv376NqKgoDBw4EHZ2dlCr1Vi6dCk6duyIGzduIDY2FlFRUZgzZ06NY9VqNUxMTLTaTExMoFarpX5zc/N6++8+/k6fEKLGuvbExEQkJiYCAJYtW6a15r65yOVyvYhDHzAX1ZgHDeZCg7nQYC40mAsN5kKDudDQ91zoVLTn5uaib9++Wm3PPfccoqOj7+tkVVVVWLNmDQwNDTF+/HgA1XfDO3fuDACwsLDAhAkTMHHiRJSWltYo0BUKBcrKyrTaysrKoFAo6uwvLS2ts//OsbU9iOrr6wtfX1/pc3l5+X1da2OoqqrSizj0AXNRjXnQYC40mAsN5kKDudBgLjSYCw19ycW99e8dOi2Psba2xqFDh7TaDh8+jPbt2+scgBACn3zyCYqKihAREQFDQ52+L2ixsbFBZWUlcnNzpbbMzExpmY29vT0yMzOlPrVajby8PK1+lUol9atUKq0lOkRERERE+kinon3cuHGIjY3FnDlzsGrVKsyePRsxMTF48803dT5RdHQ0cnJyMGvWLBgZGUntf/zxBy5fvoyqqircuHEDGzduRI8ePaRvGUlJSZgyZQqA6jvlHh4eiI+Ph1qtxtmzZ5Geng4vLy8AgLu7O7KysnDkyBFUVFQgISEBSqUSdnZ2AAAvLy/s3r0bhYWFKCwsxK5duzBw4ECdr4GIiIiIqDnodLvbyckJUVFR+OWXX3D9+nW4urrCxcUFZmZmOp3k6tWrSExMRIsWLRAaGiq1T5w4ETKZDNu2bUNxcTFatmyJXr16ITw8XBpTUFAAJycn6XNISAjWrVuH0NBQmJmZITQ0VLpbbm5ujoiICMTFxSEqKgqOjo5ac/n5+SE/Px8REREAAB8fH/j5+el0DUREREREzaXeor2iogJXrlzB008/DTMzM+mONgBkZWXByMhI6655Xdq2bYvt27fX2X/3y5HudfbsWYwbN076bGZmhnfeeafO8b169UJkZGStfTKZDMHBwQgODm4wZiIiIiIifVHv8phvv/1WenvovZKSkrBz585GCepuc+fORYcOHRr9PERERERE+qreov3QoUMYNmxYrX0vv/wyUlNTGyUoIiIiIiLSqLdoLywshKWlZa19lpaWKCwsbJSgiIiIiIhIo96iXaFQoKCgoNa+goICvd6AnoiIiIjocVFv0d6nTx9s27at1r4vv/wSLi4ujRIUERERERFp1Lt7zOjRozFnzhzMnDkT7u7uaN26Na5fv460tDSUlZVh0aJFTRUnEREREdETq96i3cLCAh988AF27dqFX3/9FSUlJTAzM4OrqytefvllnfdpJyIiIiKiB9fgy5XMzMwwevRojB49uiniISIiIiKie9S7pp2IiIiIiJofi3YiIiIiIj3Hop2IiIiISM/VWbTPmTNH+u8dO3Y0STBERERERFRTnUX75cuXUVFRAQDYtWtXkwVERERERETa6tw95tlnn0V4eDjatWuHiooKzJs3r9ZxCxYsaLTgiIiIiIionqI9LCwMZ8+eRX5+Ps6fP4/nn3++KeMiIiIiIqL/r9592p2dneHs7Izbt2/D29u7iUIiIiIiIqK7NfhyJQAYNGgQTp06hZSUFFy/fh2tW7eGl5cXevbs2djxERERERE98XTa8vHHH39EZGQkLCws4O7ujtatW+Pjjz9GYmJiY8dHRERERPTE0+lO+86dOzF37lx07NhRauvXrx8+/PBD+Pr6NlZsREREREQEHe+037hxAx06dNBqs7W1RUlJSaMERUREREREGjoV7c7OztiyZQvKy8sBAGq1Gp999hm6du3aqMEREREREZGOy2NCQ0MRGRmJcePGwczMDCUlJejatSvCw8MbOz4iIiIioieeTkV769atsWDBAly7dk3aPcbKyqqxYyMiIiIiIuhYtN9hZWXFYp2IiIiIqInptKadiIiIiIiaD4t2IiIiIiI91+DymKqqKpw5cwbOzs4wNLyv1TSSW7duISYmBhkZGSgpKYG1tTVee+019OnTBwCQkZGB2NhYFBQUwNHREWFhYWjbtm2tc5WUlGD9+vU4efIkWrVqhTFjxsDT01Pqr28uIQS2bt2K/fv3A6h+02tQUBBkMtkDXRcRERERUVNo8E67XC7H8uXLH7hgB4DKykpYWVlh/vz52LRpEwIDA7Fq1Srk5+ejuLgYK1euRGBgIOLi4tCpUydERkbWOVdMTAwMDQ0RHR2N6dOnIzo6GtnZ2QDQ4FyJiYlIT0/HihUrsHLlSvz888/Yt2/fA18XEREREVFT0Gl5TLdu3XDu3LkHPolCocCrr76Kdu3aQS6Xw9XVFe3atcOFCxeQlpYGe3t79O3bF0ZGRhg1ahRUKhVycnJqzKNWq3H06FEEBgZCoVDA2dkZbm5uSElJAYAG50pOToa/vz+srKxgaWkJf39/JCcnP/B1ERERERE1BZ1un7dt2xZLly6Fm5sbrKystJaTBAYG3vdJ//rrL+Tm5sLe3h579+6FUqmU+hQKBaytrZGdnQ07Ozut43JzcyGXy2Frayu1KZVKnDlzBgCQnZ1d71z39iuVSukuPRERERGRvtKpaK+oqMCzzz4LACgsLHyoE96+fRtRUVEYOHAg7OzsoFarYW5urjXGxMQEarW6xrFqtRomJiZ1jm1ornuPv9MnhKixrj0xMRGJiYkAgGXLlsHY2PgBr/jRkcvlehGHPmAuqjEPGsyFBnOhwVxoMBcazIUGc6Gh77nQqWgPCwt7JCerqqrCmjVrYGhoiPHjxwOovhteVlamNa60tBQKhaLG8bWNLSsrk8Y2NNe9/XeOre1BVF9fX/j6+kqfy8vL7+dSG0VVVZVexKEPmItqzIMGc6HBXGgwFxrMhQZzocFcaOhLLu69QX2Hzls+Xrp0CQkJCYiNjQUAXL58GZmZmToHIITAJ598gqKiIkREREgPttrb22vNo1arkZeXB3t7+xpz2NjYoLKyErm5uVJbZmamNLahuezt7aFSqaR+lUpV63mIiIiIiPSJTkX74cOHMW/ePBQWFkoPfZaVlWHLli06nyg6Oho5OTmYNWsWjIyMpHZ3d3dkZWXhyJEjqKioQEJCApRKpbSePSkpCVOmTAFQfafcw8MD8fHxUKvVOHv2LNLT0+Hl5aXTXF5eXti9ezcKCwtRWFiIXbt2YeDAgTpfAxERERFRc9Bpecz27dvx7rvvomPHjjh8+DCA6oc4775rXZ+rV68iMTERLVq0QGhoqNQ+ceJEDBgwABEREYiLi0NUVBQcHR0RHh4ujSkoKICTk5P0OSQkBOvWrUNoaCjMzMwQGhoq3S03Nzevdy4/Pz/k5+cjIiICAODj4wM/Pz+droGIiIiIqLnoVLQXFRVp7boCADKZTOeXErVt2xbbt2+vs79Xr1517s1+9uxZjBs3TvpsZmaGd95554HmkslkCA4ORnBwsE5xExERERHpA52Wx3Tq1ElaFnNHamoqunTp0ihB3W3u3Lno0KFDo5+HiIiIiEhf6XSn/c0338SiRYuwf/9+lJeXY/Hixbh8+TLmzp3b2PERERERET3xdCra7ezsEBkZiZ9//hmurq6wsrKCq6trrdsyEhERERHRo6VT0Q4AxsbGcHZ2RmFhISwtLVmwExERERE1EZ2K9oKCAqxevRp//PEHTE1NcfPmTXTp0gXTp09H27ZtGztGIiIiIqInmk4Poq5duxadOnXCxo0bERMTg40bN6Jz585Yu3ZtY8dHRERERPTE06lov3DhAoKDg6UlMQqFAsHBwbhw4UKjBkdERERERDoW7Y6Ojjh//rxW259//omuXbs2SlBERERERKRR55r2+Ph46b/bt2+PpUuXwsXFBVZWVrh27RqOHz8OT0/PJgmSiIiIiOhJVmfRfu3aNa3PHh4eAIDi4mK0aNEC7u7uqKioaNzoiIiIiIio7qI9LCysKeMgIiIiIqI66LxPe3l5Oa5cuQK1Wq3V7uTk9MiDIiIiIiIiDZ2K9uTkZMTFxcHQ0BBGRkZafevXr2+UwIiIiIiIqJpORfvnn3+OiIgI9OrVq7HjISIiIiKie+i05aOhoSG6d+/e2LEQEREREVEtdCraAwMDsWXLFhQXFzd2PEREREREdA+dlsfY2tpi+/bt+OGHH2r03b2fOxERERERPXo6Fe1RUVHw8vJCv379ajyISkREREREjUunor2kpASBgYGQyWSNHQ8REREREd1DpzXt3t7eSElJaexYiIiIiIioFjrdaT9//jz27NmD//73v7CwsNDqW7BgQaMERkREREREppYmOAAAHB9JREFU1XQq2n18fODj49PYsRARERERUS10Ktq9vb0bOQwiIiIiIqqLTkX7/v376+wbNGjQIwuGiIiIiIhq0qlo/+mnn7Q+//XXX7hy5QqcnZ1ZtBMRERERNTKdivZ58+bVaNu/fz9ycnIeeUBERERERKRNpy0fa+Pt7V3vshkiIiIiIno0dLrTXlVVpfW5oqICKSkpMDU11flEe/bsQVJSErKystC/f39MmTIFAJCfn4+pU6fC2NhYGhsQEIBX/l97dx8cVXm4ffzKEsISkliCxLywLiNmSFEpDpQIxYASOm3H1BEhVIJKgagN9aWTSh1qHWhLAcFOnAh0Gl6cdlBjw/SnEls1KEFESKwIKKQyg5ssIQZCSiBmlzW75/mDJ7skQAywZ3OQ7+cv9txnT+77miW5cvbsybRp5z1Oa2ur1qxZo7179yo+Pl4zZ87UhAkTguP79u3TunXr1NTUpPT0dBUUFGjw4MGSJMMwtHHjxuAvG3feeafy8vL4o1EAAACwtB6V9vvuu++cbYmJiXr44Yd7/IUGDhyoqVOnas+ePfL5fOeMv/jii+rTp883Hmft2rWKjo5WSUmJXC6Xli5dKqfTKYfDoZMnT2rlypV65JFHNHr0aJWWlqqoqEhLliyRJFVUVKi6ulorVqxQVFSU/vCHPygpKUk//OEPe7wOAAAAINJ6VNpfeOGFTo/79eunhISEi/pCmZmZkqRDhw7p+PHjF/XcDl6vV7t27dJzzz0nu92ujIwMjRkzRtu2bVNeXp6qqqrkcDg0btw4SdL06dM1d+5c1dfXKy0tTZWVlcrJydGgQYMkSTk5OdqyZQulHQAAAJbWo9LecXmJmQoKChQVFaWRI0dq1qxZ5/2loKGhQTabTampqcFtTqdT+/fvlyS53W45nc7gmN1uV3Jystxut9LS0s4Zdzqdcrvd551PRUWFKioqJEnLli3rdPlOb7HZbJaYhxWQxRnkEEIWIWQRQhYhZBFCFiFkEWL1LLot7YsXL+72yVFRUXrmmWcuawIJCQlaunSphg4dqlOnTmndunUqLi7Wb3/723P29Xq9io2N7bQtNjZWXq83ON617HcdP/v5HWOGYZxzXXt2drays7ODj0+fPn1Z6wyHQCBgiXlYAVmcQQ4hZBFCFiFkEUIWIWQRQhYhVsmia9ft0G1pv/3228+7vbm5Wf/617/CsjC73a5hw4ZJkr7zne9o7ty5euihh9TW1nbOpO12uzweT6dtHo9Hdrv9guNtbW0XHO94Lh9EBQAAgJV1W9q7/uGkU6dO6Z///Ke2bNmi8ePHX/AOL2ZJSUmR3+9XQ0ODUlJSJEm1tbVyOBySJIfDocrKyuD+Xq9XjY2NncZdLpduvPFGSZLL5QqOAQAAAFbVo/u0t7W16ZVXXtFjjz2mlpYWLV++XA8//HDwA5094ff75fP5FAgEFAgE5PP55Pf7dfDgQR05ckSBQECnTp3Shg0bdNNNNwXPsm/dujV4e0i73a7MzEyVlpbK6/WqpqZG1dXVysrKkiSNHTtWdXV12rlzp3w+n8rKyuR0OpWWliZJysrKUnl5uZqbm9Xc3KzNmzdr4sSJFxUYAAAAEGndnmn3+XwqLy/X5s2bNWLECP3+97+/5DPTmzZtUllZWfDx+++/r2nTpik1NVUvv/yyTp48qf79+2vkyJF6/PHHg/s1NTVp+PDhwcfz5s3T6tWrlZ+fr7i4OOXn5wfnlJCQoMLCQq1fv17FxcVKT0/vdKwpU6bo6NGjKiwslCRNnjxZU6ZMuaT1AAAAAJHSbWmfP3++AoGAfvrTn2rYsGFqaWlRS0tLp31uvvnmHn2h3Nxc5ebmnnfs7D+O1FVNTY1mz54dfBwXF6cFCxZccP+RI0eqqKjovGNRUVGaNWuWZs2a1aM5AwAAAFbQbWmPiYmRJL399tvnHY+KijrnHu7h9vTTT5t6fAAAAMDqui3tq1atitQ8AAAAAFxAjz6ICgAAAKD3UNoBAAAAi6O0AwAAABZHaQcAAAAsjtIOAAAAWBylHQAAALA4SjsAAABgcZR2AAAAwOIo7QAAAIDFUdoBAAAAi6O0AwAAABZHaQcAAAAsjtIOAAAAWBylHQAAALA4SjsAAABgcZR2AAAAwOIo7QAAAIDFUdoBAAAAi6O0AwAAABZHaQcAAAAsjtIOAAAAWBylHQAAALA4SjsAAABgcZR2AAAAwOKiI/WF/v3vf2vr1q2qq6vTD37wA82fPz84tm/fPq1bt05NTU1KT09XQUGBBg8efN7jtLa2as2aNdq7d6/i4+M1c+ZMTZgwoUfHMgxDGzdu1LvvvitJuvPOO5WXl6eoqCgTVw4AAABcnoidaR84cKCmTp2qO+64o9P2kydPauXKlZoxY4bWr1+vG264QUVFRRc8ztq1axUdHa2SkhI99thjKikpkdvt7tGxKioqVF1drRUrVmjlypX6z3/+o3feececBQMAAABhErHSnpmZqbFjxyo+Pr7T9qqqKjkcDo0bN04xMTGaPn26XC6X6uvrzzmG1+vVrl27NGPGDNntdmVkZGjMmDHatm1bj45VWVmpnJwcDRo0SImJicrJyVFlZaX5iwcAAAAuQ8Quj7kQt9stp9MZfGy325WcnCy32620tLRO+zY0NMhmsyk1NTW4zel0av/+/T06Vtdxp9MZPEvfVUVFhSoqKiRJy5YtU79+/S5/sZfJZrNZYh5WQBZnkEMIWYSQRQhZhJBFCFmEkEWI1bPo9dLu9XqVkJDQaVtsbKy8Xu95942Njb3gvt90rK7P7xgzDOOc69qzs7OVnZ0dfHz69OlLWF14BQIBS8zDCsjiDHIIIYsQsgghixCyCCGLELIIsUoWXbtuh16/e4zdbpfH4+m0ra2tTXa7vUf7ejye4L7fdKyu4x3P5YOoAAAAsLJeL+0Oh0O1tbXBx16vV42NjXI4HOfsm5KSIr/fr4aGhuC22tra4L7fdCyHwyGXyxUcd7lc5/06AAAAgJVErLT7/X75fD4FAgEFAgH5fD75/X6NHTtWdXV12rlzp3w+n8rKyuR0OoPXs2/dujV4e0i73a7MzEyVlpbK6/WqpqZG1dXVysrKkqRvPFZWVpbKy8vV3Nys5uZmbd68WRMnToxUBAAAAMAlidg17Zs2bVJZWVnw8fvvv69p06YpNzdXhYWFWr9+vYqLi5Wenq7HH388uF9TU5OGDx8efDxv3jytXr1a+fn5iouLU35+fvBseUJCQrfHmjJlio4eParCwkJJ0uTJkzVlyhSzlw4AAABcloiV9tzcXOXm5p53bOTIkRe8N3tNTY1mz54dfBwXF6cFCxZc8Ot0d6yoqCjNmjVLs2bN6vnEAQAAgF7W63eP+SZPP/10b08BAAAA6FW9/kFUAAAAAN2jtAMAAAAWR2kHAAAALI7SDgAAAFgcpR0AAACwOEo7AAAAYHGUdgAAAMDiKO0AAACAxVHaAQAAAIujtAMAAAAWR2kHAAAALI7SDgAAAFgcpR0AAACwOEo7AAAAYHGUdgAAAMDiKO0AAACAxVHaAQAAAIujtAMAAAAWR2kHAAAALI7SDgAAAFgcpR0AAACwOEo7AAAAYHGUdgAAAMDiKO0AAACAxVHaAQAAAIuL7u0JdFi0aJEOHjwom+3M7xGJiYl6/vnnz7vv5s2b9dprr8nn8ykzM1P5+fnq27evJKm1tVVr1qzR3r17FR8fr5kzZ2rChAnB5+7bt0/r1q1TU1OT0tPTVVBQoMGDB5u/QAAAAOASWaa0S9KcOXM0efLkbvf55JNP9Nprr+mZZ57RwIEDtXLlSr366qvKy8uTJK1du1bR0dEqKSmRy+XS0qVL5XQ65XA4dPLkSa1cuVKPPPKIRo8erdLSUhUVFWnJkiWRWB4AAABwSa64y2MqKyt1xx13yOFwKC4uTvfee6+2bt0qSfJ6vdq1a5dmzJghu92ujIwMjRkzRtu2bZMkVVVVyeFwaNy4cYqJidH06dPlcrlUX1/fiysCAAAAumep0v7SSy9p7ty5+t3vfqfPPvvsvPscPnxYQ4cODT52Op1qaWnRqVOn1NDQIJvNptTU1E7jbrdbkuR2u+V0OoNjdrtdycnJwXEAAADAiixzeUxeXp6GDBmi6OhoffDBB1q+fLmeffZZJScnd9rP6/UqNjY2+Ljj3x6P55yxjnGv1xt8bkJCwgXHz1ZRUaGKigpJ0rJly9SvX7/LX+RlstlslpiHFZDFGeQQQhYhZBFCFiFkEUIWIWQRYvUsLFPa09PTg/+eNGmSPvjgA+3evVs//vGPO+1nt9vV1tYWfOzxeCRJ/fv3l91uDz4+e9xutwef23W8ra0tOH627OxsZWdnBx+fPn36ElcWPoFAwBLzsAKyOIMcQsgihCxCyCKELELIIoQsQqySRdcT0B0sdXnM2aKiomQYxjnbhwwZotra2uDj2tpaXXPNNYqPj1dKSor8fr8aGho6jTscDkmSw+Ho9Fyv16vGxsbgOAAAAGBFlijtX331lT755BP5fD75/X69//77OnDggEaNGiVJys3NDV7jPnHiRL377rs6fPiwWltbtWnTJk2aNEnSmTPpmZmZKi0tldfrVU1Njaqrq5WVlSVJGjt2rOrq6rRz5075fD6VlZXJ6XQqLS2tV9YNAAAA9IQlLo/x+/0qLS1VfX29bDab0tLS9OSTTyo1NVXHjx+X3W7X9ddfL0kaNWqU7r77bi1evDh4n/bc3NzgsebNm6fVq1crPz9fcXFxys/PD55JT0hIUGFhodavX6/i4mKlp6fr8ccf75U1AwAAAD1lidKekJCgpUuXnnfss88+049+9CPFx8cHt91111266667zrt/XFycFixYcMGvNXLkSBUVFV3ehAEAAIAIskRp707HpS0AAADA1coS17QDAAAAuDBKOwAAAGBxlHYAAADA4ijtAAAAgMVR2gEAAACLo7QDAAAAFkdpBwAAACyO0g4AAABYHKUdAAAAsDhKOwAAAGBxlHYAAADA4ijtAAAAgMVR2gEAAACLo7QDAAAAFkdpBwAAACyO0g4AAABYHKUdAAAAsDhKOwAAAGBx0b09AQAAgEjq8+NoxV7mMdr+76uwzKW3kUWI1bPgTDsAAABgcZR2AAAAwOK4POYKcrlv23xb3r6SyKKD1d/KiySyCCGLELIIIQvgysaZdgAAAMDiKO0AAACAxVHaAQAAAIu76q5pb21t1Zo1a7R3717Fx8dr5syZmjBhQm9PCwAAALigq660r127VtHR0SopKZHL5dLSpUvldDrlcDh6e2oAAADAeV1Vl8d4vV7t2rVLM2bMkN1uV0ZGhsaMGaNt27b19tQAAACAC7qqSntDQ4NsNptSU1OD25xOp9xudy/OCgAAAOhelGEYRm9PIlIOHDigP//5zyopKQluq6io0Pbt27Vo0aJO+1ZUVKiiokKStGzZskhOEwAAAOjkqjrTbrfb5fF4Om3zeDyy2+3n7Judna1ly5ZZqrA/9dRTvT0FyyCLM8ghhCxCyCKELELIIoQsQsgixOpZXFWlPSUlRX6/Xw0NDcFttbW1fAgVAAAAlnZVlXa73a7MzEyVlpbK6/WqpqZG1dXVysrK6u2pAQAAABfUZ1HXi7m/5W6++Wbt3LlTa9eu1e7duzV79mzdcsstvT2tHrvhhht6ewqWQRZnkEMIWYSQRQhZhJBFCFmEkEWIlbO4qj6ICgAAAFyJrqrLYwAAAIArEaUdAAAAsLjo3p7A1ebrr7/W2rVrtW/fPrW2tio5OVn33Xefbr31VknSvn37tG7dOjU1NSk9PV0FBQUaPHiwJMkwDG3cuFHvvvuuJOnOO+9UXl6eoqKiJEn//e9/9eKLL6q+vl5JSUmaN2+eMjIyemehPXA5WXz66afatGmTDh06pLi4OK1atarTsY8ePao1a9bo4MGDuvbaazVnzhyNHDky4mvsKTOzeOWVV1RdXa36+npNnTpVubm5EV/fxTAri5aWFm3YsEEHDhyQ1+vV9ddfrwceeEDp6em9ss6eMPN1sXjxYtXV1am9vV1JSUnKzc3V97///YivsafMzKLD/v37tWjRIk2dOlU/+9nPIra2i2VmFvPnz9eJEydks505pzd8+HA9/fTTkV3gRTD7dfHmm2+qvLxcJ0+e1LXXXqsnn3yy0x9otBKzsmhqatKvfvWrTl/r9OnTuv/++5WTkxO5BV4EM18XLpdL69evV21trfr376/s7GxNmzYtMgszEFEej8coLS01GhsbDb/fb3z00UfG/fffbzQ2NhotLS3GAw88YOzYscM4ffq08be//c1YuHBh8Llvv/228dhjjxlNTU3G8ePHjSeeeMJ46623DMMwjFOnThlz5swxduzYYfj9fqOystKYPXu2cerUqd5a6je6nCwOHjxoVFZWGu+8845RUFBwzrEXLlxovPjii8bp06eNDz/80HjwwQeNlpaWSC7vopiZxXvvvWd8/PHHxvLly43S0tJILuuSmJXFl19+abzxxhtGc3Oz4ff7jXfeeceYM2eO4fF4Ir3EHjPzdeFyuYz29nbDMAzj888/N+6//36jubk5Ymu7WGZmYRiG8fXXXxu//vWvjYULFxovv/xypJZ1SczMoqCgwNizZ08kl3NZzMyioqLCKCwsNNxutxEIBIyGhoar9mfq2RobG43c3FyjsbHR7CVdMjOzeOKJJ4yXXnrJ8Pv9RkNDg5Gfn29UV1dHZF1cHhNhdrtdubm5SkpKks1m0+jRo5WUlKRDhw6pqqpKDodD48aNU0xMjKZPny6Xy6X6+npJUmVlpXJycjRo0CAlJiYqJydHlZWVks6cZb/mmms0btw42Ww2ZWVlKSEhQVVVVb253G5dThY33nijsrKylJSUdM5xjxw5oi+++EK5ubmKiYnRbbfdpuuvv147d+6M9BJ7zKwsJGnSpEm69dZbz/tHxKzIrCyuu+463XXXXRo4cKBsNpuys7PV3t6uI0eORHqJPWbm68LpdKpPnz6SpKioKPn9fh0/fjxia7tYZmYhSZs3b9b3vvc9y55FPZvZWVxJzMoiEAiorKxMDz74oIYMGaKoqCglJycrLi4u0kvssUi9LiorKzVixAhLv4bMzOLYsWO6/fbbZbPZlJycrIyMDLnd7oisi9Ley06cOKGGhgY5HA653W45nc7gmN1uV3JycvDF0HXc6XQGxwzDkNHlRkCGYaiuri4CqwiPi8miO4cPH9Z1112n/v37B7c5nU4dPnzYlHmbIVxZfBuYlYXL5VJ7e7uSk5PDOV1ThTuLZcuWKS8vTwsXLtSIESMsfauzrsKZxbFjx/Tee+9F7i3uMAv366K4uFhz587VH//4R7lcLhNmbJ5wZdHc3Kzjx4/L7XbrF7/4hebPn69XX31VgUDAzOmHlVnfO7dt26aJEyeGc6qmC2cWP/nJT1RZWRk86fP5559H7NbhXNPei9rb21VcXKyJEycqLS1NXq9XCQkJnfaJjY2V1+uVJHm9XsXGxp4zZhiGhg8frv/973/avn27brvtNm3fvl2NjY3y+XwRXdOlutgsutM1p47nNjc3h3XOZglnFlc6s7Joa2tTcXGxpk2bds5rxarMyOKpp55Se3u79u3bp/r6+uB1zFYX7iw2bNigGTNmXDHvRp0t3Fk8+uijuuGGG2QYht58800tWbJERUVFGjBggBnTD6twZtHxrtOePXu0cuVKffXVV1qyZIkSExOVnZ1tyvzDyazvnQcOHNCJEyd02223hXO6pgp3FqNHj9YLL7ygN954Q4FAQNOmTdONN95oxtTPcWV8h/4WCgQCeuGFFxQdHa05c+ZIOvPbnsfj6bRfW1tb8AdJ13GPxyO73a6oqCjFx8drwYIFKi8vV35+vj755BPdcsstSkxMjNyiLtGlZNEdu92utra2Tts8Hk+nM+9WFe4srmRmZeHz+bR8+XKlp6frnnvuCeuczWLm6yI6Olq33nqr9uzZo48++ihsczZLuLP46KOP5PF4NH78eFPmayYzXhcZGRmKiYlRv379dM8992jAgAE6cOBA2OcebuHOIiYmRpJ09913a8CAAUpKSlJ2drZ2794d/smHmZnfLyorK5WZmXnF/PwJdxatra3605/+pGnTpmnjxo1as2aN9uzZo7feesuU+XdFae8FhmHoL3/5i1paWlRYWKjo6DNveDgcDtXW1gb383q9amxslMPhCI6f/Valy+UKjknSiBEjtHTpUm3YsEGPPvqojhw5ErHf/i7VpWbRnSFDhujo0aOd/lPW1tZqyJAh4V9AGJmRxZXKrCy+/vprrVixQomJiXrooYdMmXu4Rep1EQgE9OWXX4ZlzmYxI4tPP/1Uhw4dUn5+vvLz87Vjxw6Vl5fr2WefNW0d4RCp10XH3cmszIwsUlNTg8e5kpj5uvD5fPrwww81adKkcE/bFGZk0djYKJvNpokTJ6pPnz4aNGiQxo8fH7Ff5ijtvaCkpET19fX6zW9+E/xtXpLGjh2ruro67dy5Uz6fT2VlZXI6nUpLS5MkZWVlqby8XM3NzWpubtbmzZs7XVf2xRdfqL29XW1tbfr73/+uQYMGadSoURFf38W41CwCgYB8Pp/8fr8Mw5DP51N7e7ukM99shw4dqn/84x/y+XyqqqpSbW2t5d/OMyML6cxbgz6fT4ZhBPe1+nWZZmTR3t6u5557Tn379tUvf/nLK+ZSEDOyqK+v1+7du4Pbtm3bpv3792vEiBG9ssaeMiOLGTNm6Pnnn9eKFSu0YsUKjRkzRpMnT1ZBQUGvrLGnzMiiqalJNTU1we8Zr7/+uk6ePKnhw4f3yhp7yows+vXrp/Hjx+v111+Xx+PR8ePHtWXLFo0ePbpX1thTZv0ckaSqqioNGDBAN910U0TXdKnMyCIlJUWGYWj79u0KBAI6ceKEduzY0ekaeTNFGV0/vQhTHTt2TPPnz1ffvn07lYaHHnpIt99+u/bu3av169fr2LFjwXuHdnyC2fj/92nfsmWLJGny5Mmd7tNeVFQU/G1v1KhRmjNnjq655poIr7DnLieLzz77TIsXL+50vBEjRmjRokWSztynffXq1cH7tM+dO9fS92k3M4tVq1YF7zLUoaCgwLJnS8zKouMe3DExMZ3OHi5cuFDf/e53I7O4i2RWFocPH9bq1at1+PBh2Ww2paSk6J577tHYsWMjur6LYeb/kbOtWrVKgwYNsvR92s3Kwu126/nnn1djY6P69u2roUOHKi8vT8OGDYvo+i6Gma+LtrY2/fWvf9XHH3+sAQMGaPLkybr33nst++6D2f9HlixZomHDhln6/0YHM7P49NNPtXHjRh05ckQxMTEaPXq0fv7zn6tfv36mr4vSDgAAAFjclfH+MAAAAHAVo7QDAAAAFkdpBwAAACyO0g4AAABYHKUdAAAAsDhKOwAAAGBxlHYAAADA4ijtAAAAgMVR2gEAAACLo7QDAAAAFkdpBwAAACyO0g4AAABYHKUdAAAAsDhKOwAAAGBxlHYAAADA4ijtAAAAgMVR2gEAAACLo7QDAAAAFkdpBwAAACyO0g4AAABYHKUdAAAAsDhKOwAAAGBxlHYAAADA4ijtAAAAgMVR2gEAAACLo7QDAAAAFvf/AIqUcgDwNHtoAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = severe_fatal_year[['All Collisions', 'Severe Collisions']].plot(\n", " kind='bar', \n", " rot=0, \n", " figsize=(12, 6), \n", " color=['navy', 'orangered']\n", ")\n", "\n", "ax.set_title('Collisions by Year (2009 - 2018)', fontsize=14)\n", "ax.set_ylabel('Number of Collisions')\n", "ax.set_xlabel(' ')\n", "ax.set_ylim([0, 45000])\n", "ax.legend(loc='upper left')\n", "\n", "fmt = '{x:,.0f}'\n", "ax.yaxis.set_major_formatter(mtick.StrMethodFormatter(fmt))\n", "\n", "for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "\n", "ax.axhline(severe_fatal_year['All Collisions'].mean(), color='red', linestyle='dashed', linewidth=1)\n", "\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Overall collision trend by year - plotly (figures as dictionaries)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hoverinfo": "y", "marker": { "color": "rgb(0, 0, 128)" }, "name": "All", "type": "bar", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 35822, 34446, 33422, 33562, 31937, 33148, 36961, 38487, 39094, 38609 ] }, { "hoverinfo": "y", "marker": { "color": "rgb(255, 69, 0)" }, "name": "Severe", "type": "bar", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 1109, 1038, 1057, 1145, 1114, 1133, 1142, 1425, 1480, 1459 ] } ], "layout": { "bargap": 0.25, "bargroupgap": 0.1, "barmode": "group", "plot_bgcolor": "#F5F5F5", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Collisions by Year (2009 - 2018)" }, "xaxis": { "tickfont": { "size": 12 }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Nnumber of Collisions" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = {\n", " \"data\": [{\"type\": \"bar\",\n", " \"x\": severe_fatal_year.index,\n", " \"y\": severe_fatal_year['All Collisions'],\n", " \"name\": \"All\",\n", " \"marker_color\": \"rgb(0, 0, 128)\",\n", " \"hoverinfo\": \"y\"\n", " },\n", " {\"type\": \"bar\",\n", " \"x\": severe_fatal_year.index,\n", " \"y\": severe_fatal_year['Severe Collisions'],\n", " \"name\": \"Severe\",\n", " \"marker_color\": \"rgb(255, 69, 0)\",\n", " \"hoverinfo\": \"y\"\n", " }],\n", " \"layout\": {\"title\": {\"text\": \"Collisions by Year (2009 - 2018)\", \"font_size\": 20},\n", " \"xaxis\": {\"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Nnumber of Collisions\", \n", " \"tickfont_size\": 12},\n", " \"barmode\": \"group\",\n", " \"bargap\": 0.25,\n", " \"bargroupgap\": 0.1,\n", " \"plot_bgcolor\": \"#F5F5F5\"\n", " }\n", "}\n", "\n", "pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Overall collision trend by year - plotly with plot control (figures as graph objects)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "marker": { "color": "rgb(0,0,128)" }, "name": "Collisions", "type": "scatter", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 35822, 34446, 33422, 33562, 31937, 33148, 36961, 38487, 39094, 38609 ] }, { "marker": { "color": "rgb(255, 69, 0)" }, "name": "Severe Collisions", "type": "scatter", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 1109, 1038, 1057, 1145, 1114, 1133, 1142, 1425, 1480, 1459 ] } ], "layout": { "legend": { "orientation": "h" }, "plot_bgcolor": "#F5F5F5", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Collisions by Year (2009 - 2018)" }, "updatemenus": [ { "active": 0, "bordercolor": "rgb(192,192,192)", "buttons": [ { "args": [ { "visible": [ true, false ] }, { "annotations": [ { "ax": 0, "ay": -40, "text": "39,094 Collisions
happend in 2017", "x": 2017, "xref": "x", "y": 39094, "yref": "y" } ], "title": "All Collisions from 2009 to 2018" } ], "label": "All Collisions", "method": "update" }, { "args": [ { "visible": [ false, true ] }, { "annotations": [ { "ax": 0, "ay": -40, "text": "1,480 Severe Collisions
happend in 2017", "x": 2017, "xref": "x", "y": 1480, "yref": "y" } ], "title": "Severe Collisions from 2009 to 2018" } ], "label": "Severe Collisions", "method": "update" } ], "x": 1, "xanchor": "right", "y": 1.12, "yanchor": "top" } ] } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = [severe_fatal_year[i] for i in ['All Collisions', 'Severe Collisions']]\n", "names = [\"Collisions\", \"Severe Collisions\"]\n", "colors = [\"rgb(0,0,128)\", \"rgb(255, 69, 0)\"]\n", "plot_data = zip(data, names, colors)\n", "\n", "# Create figures and annotations\n", "fig = go.Figure()\n", "annotation_list = []\n", "\n", "for item in plot_data:\n", " fig.add_trace(\n", " go.Scatter(\n", " x=severe_fatal_year.index,\n", " y=item[0],\n", " name=item[1],\n", " marker_color=item[2]),\n", ")\n", " \n", " annotation_text = \"{:,.0f} {}
happend in {}\".format(\n", " item[0].max(),\n", " item[1],\n", " item[0].idxmax())\n", "\n", " annotation = [\n", " dict(\n", " x=item[0].idxmax(),\n", " y=item[0].max(),\n", " xref=\"x\", yref=\"y\",\n", " text=annotation_text,\n", " ax=0, \n", " ay=-40)]\n", "\n", " annotation_list.append(annotation)\n", "\n", "# Create drop-downs and plot\n", "fig.update_layout(\n", " updatemenus=[\n", " go.layout.Updatemenu(\n", " active=0,\n", " buttons=list([\n", " dict(label=\"All Collisions\",\n", " method=\"update\",\n", " args=[{\"visible\": [True, False]},\n", " {\"title\": \"All Collisions from 2009 to 2018\",\n", " \"annotations\": annotation_list[0]}]),\n", " dict(label=\"Severe Collisions\",\n", " method=\"update\",\n", " args=[{\"visible\": [False, True]},\n", " {\"title\": \"Severe Collisions from 2009 to 2018\",\n", " \"annotations\": annotation_list[1]}])]),\n", " bordercolor=\"rgb(192,192,192)\",\n", " x=1,\n", " xanchor=\"right\",\n", " y=1.12,\n", " yanchor=\"top\"\n", " )],\n", " plot_bgcolor=\"#F5F5F5\",\n", " legend_orientation=\"h\",\n", " title_text=\"Collisions by Year (2009 - 2018)\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bike & ped collisions by year" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Bike & Ped CollisionSevere CollisionsPercent BP Severe Collisions
accident_year
200945785150.112495
201047105150.109342
201148034830.100562
201250585370.106168
201351245360.104606
201451335160.100526
201551105190.101566
201650746380.125739
201752256970.133397
201851516950.134925
\n", "
" ], "text/plain": [ " Bike & Ped Collision Severe Collisions \\\n", "accident_year \n", "2009 4578 515 \n", "2010 4710 515 \n", "2011 4803 483 \n", "2012 5058 537 \n", "2013 5124 536 \n", "2014 5133 516 \n", "2015 5110 519 \n", "2016 5074 638 \n", "2017 5225 697 \n", "2018 5151 695 \n", "\n", " Percent BP Severe Collisions \n", "accident_year \n", "2009 0.112495 \n", "2010 0.109342 \n", "2011 0.100562 \n", "2012 0.106168 \n", "2013 0.104606 \n", "2014 0.100526 \n", "2015 0.101566 \n", "2016 0.125739 \n", "2017 0.133397 \n", "2018 0.134925 " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bp_collision = collision[collision.bike_ped_collision=='Y'][['accident_year', 'bike_ped_collision', 'collision_severity']]\n", "bp_collision = bp_collision.groupby('accident_year').agg({\n", " 'bike_ped_collision': 'count',\n", " 'collision_severity': lambda x: ((x=='Severe') | (x=='Fatal')).sum()\n", " }\n", ")\n", "\n", "bp_collision['Percent BP Severe Collisions'] = bp_collision.collision_severity / bp_collision.bike_ped_collision\n", "bp_collision.rename(columns={\n", " 'bike_ped_collision': 'Bike & Ped Collision',\n", " 'collision_severity': 'Severe Collisions'\n", " }, inplace=True\n", ")\n", "\n", "bp_collision" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Bike & Ped CollisionSevere CollisionsPercent BP Severe CollisionsAll CollisionsSevere CollisionsPercent of Severe Collisions
accident_year
200945785150.1124953582211090.030959
201047105150.1093423444610380.030134
201148034830.1005623342210570.031626
201250585370.1061683356211450.034116
201351245360.1046063193711140.034881
201451335160.1005263314811330.034180
201551105190.1015663696111420.030897
201650746380.1257393848714250.037025
201752256970.1333973909414800.037857
201851516950.1349253860914590.037789
\n", "
" ], "text/plain": [ " Bike & Ped Collision Severe Collisions \\\n", "accident_year \n", "2009 4578 515 \n", "2010 4710 515 \n", "2011 4803 483 \n", "2012 5058 537 \n", "2013 5124 536 \n", "2014 5133 516 \n", "2015 5110 519 \n", "2016 5074 638 \n", "2017 5225 697 \n", "2018 5151 695 \n", "\n", " Percent BP Severe Collisions All Collisions \\\n", "accident_year \n", "2009 0.112495 35822 \n", "2010 0.109342 34446 \n", "2011 0.100562 33422 \n", "2012 0.106168 33562 \n", "2013 0.104606 31937 \n", "2014 0.100526 33148 \n", "2015 0.101566 36961 \n", "2016 0.125739 38487 \n", "2017 0.133397 39094 \n", "2018 0.134925 38609 \n", "\n", " Severe Collisions Percent of Severe Collisions \n", "accident_year \n", "2009 1109 0.030959 \n", "2010 1038 0.030134 \n", "2011 1057 0.031626 \n", "2012 1145 0.034116 \n", "2013 1114 0.034881 \n", "2014 1133 0.034180 \n", "2015 1142 0.030897 \n", "2016 1425 0.037025 \n", "2017 1480 0.037857 \n", "2018 1459 0.037789 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Concatenate with all collisions\n", "collision_compare = pd.concat([bp_collision, severe_fatal_year], axis=1)\n", "collision_compare" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hoverinfo": "y", "marker": { "color": "rgb(250, 128, 114)" }, "name": "% Severe bike & ped collisions", "type": "scatter", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 0.11249453910004369, 0.10934182590233546, 0.10056214865708932, 0.10616844602609728, 0.10460577673692428, 0.1005260081823495, 0.10156555772994129, 0.1257390618841151, 0.13339712918660288, 0.1349252572316055 ] }, { "hoverinfo": "y", "marker": { "color": "rgb(255, 165, 0)" }, "name": "% Severe collisions", "type": "scatter", "x": [ 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 ], "y": [ 0.030958628775612753, 0.030134122975091448, 0.031625875172042364, 0.034115964483642215, 0.03488117230798134, 0.03418004102811633, 0.030897432428776277, 0.037025489126198456, 0.03785747173479306, 0.03778911652723458 ] } ], "layout": { "bargap": 0.25, "bargroupgap": 0.1, "barmode": "group", "legend": { "orientation": "h" }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Percent of Severe Collisions by Year (2009 - 2018)" }, "xaxis": { "tickfont": { "size": 12 }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "tickformat": ",.0%", "title": { "text": "Ratio" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = {\n", " \"data\": [{\"type\": \"scatter\",\n", " \"x\": collision_compare.index,\n", " \"y\": collision_compare['Percent BP Severe Collisions'],\n", " \"name\": \"% Severe bike & ped collisions\",\n", " \"marker_color\": \"rgb(250, 128, 114)\",\n", " \"hoverinfo\": \"y\"\n", " },\n", " {\"type\": \"scatter\",\n", " \"x\": collision_compare.index,\n", " \"y\": collision_compare['Percent of Severe Collisions'],\n", " \"name\": \"% Severe collisions\",\n", " \"marker_color\": \"rgb(255, 165, 0)\",\n", " \"hoverinfo\": \"y\"\n", " }],\n", " \"layout\": {\"title\": {\"text\": \"Percent of Severe Collisions by Year (2009 - 2018)\", \"font_size\": 20},\n", " \"xaxis\": {\"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Ratio\", \n", " \"tickfont_size\": 12,\n", " \"tickformat\": \",.0%\"},\n", " \"barmode\": \"group\",\n", " \"bargap\": 0.25,\n", " \"bargroupgap\": 0.1,\n", " \"legend_orientation\": \"h\"\n", " }\n", "}\n", "\n", "pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Collisions by Day of Week (10-yr)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAu0AAAGKCAYAAAC4p38YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1xVVf7/8fdBhQMiKaQhyEAq3r9W4mimoSJ0x2om08ImzJwKLWe+5tRvstTUUdNKc9K+FejoqENaPWq0rEjFu1JpmulI6VFSvBCWFzgywvr94cOdRy4e0cM55Ov5ePB4sPdae+3P/hzKD4u197YZY4wAAAAA+Cw/bwcAAAAAoGoU7QAAAICPo2gHAAAAfBxFOwAAAODjKNoBAAAAH0fRDgAAAPg4inYAHjdnzhwFBwe7vX0hNptNixcvvqwxXqyYmBhNnTrVqzF4y5tvvqnf/OY38vPz05gxY7wdTjnV/WzGjBmjRx55xAMRoTJvvPGGrr76amt76tSpuv/++70YEeC7KNoBVOnQoUMaPny4WrRooYCAAEVGRur222/XRx99dNnO0b9/f+3evdvt/vn5+UpOTr5s5/cVDodDNpvN+goODlbr1q316KOPauvWrd4OT5J09OhRDR06VCNHjtT+/fv19NNPl+szYMAAJSUluexbvXq1bDabnnzySZf9b731lgICAlRcXOzRuC/k8OHDeuWVVzRq1Chr36pVq9S3b19FRkbKZrNpzpw55Y4zxmjMmDGKiIhQYGCgevXqpe3bt9dg5Jfm3J+3ir5SU1PdGmfAgAG67777LjmeoUOHauXKldq0adMljwX82lC0A6iUw+FQp06d9Mknn2jixInaunWrsrKydOedd+rxxx+/bOcJDAxUkyZN3O4fHh6ugICAy3Z+X7Ns2TLl5+dr27ZtevXVV3X48GHFxcXpX//6l7dD0969e3X69Gndddddatq0aYV/IUlISNDatWtVUlJi7Vu5cqV+85vfaMWKFS59V65cqRtvvFGBgYEej70qb7/9trp06aLmzZtb+06cOKEOHTpo+vTplcb30ksv6eWXX9aMGTOUk5OjJk2aKCkpScePH6+p0N127udxVn5+vvX11ltvlds3ffr0Go0xMDBQ999/v2bMmFGj5wVqBQMAlbj99ttN06ZNzfHjx8u1FRYWWt/v3bvX3HPPPSY4ONgEBwebe++91+Tl5Vnts2fPNvXr13d7e9++faZv376mUaNGJjAw0LRu3dosXLjQapdkFi1aZG1v3brV9OnTx9jtdtOoUSPz8MMPm59++slqf/jhh82dd95ppk2bZiIiIkzDhg1NamqqOXnypNUnOzvbdO3a1dSvX9+EhISYLl26mG3btlWam+joaDN69GiTkpJi6tevb6655hozZcoUq33QoEHmzjvvdDmmtLTUREVFmZdffrnCMffs2WMkmZycnHJtDzzwgLnqqqvM0aNHjTHGFBQUmAEDBpjIyEhjt9tNu3btTEZGhtX/H//4hwkNDTVOp9NlnAcffNAkJydXel1VfZazZ882kly+9uzZU26MXbt2GUlm1apV1r7evXub1157zfj7+5tDhw5Z+yMiIsyYMWOs7R9++MH079/fNGzY0DRs2NDccccdZteuXS7jf/jhh6ZTp04mICDAxMTEmL/+9a/m1KlTVnt0dLTLZzFv3jzToEED88EHH1R63e3btzfTp0+vtL1+/fpm9uzZLvvKyspMeHi4GT9+vLWvqKjIBAcHmzfeeKPCcfbs2WP8/PzKfcZvvvmmCQsLs65j+/bt5o477jDBwcGmcePGZsCAASY/P9/qv2nTJpOUlGTCwsJMgwYNTPfu3c26detcxpRk/v73v5t7773XBAUFmREjRlR6fcYYs2jRIlNZWfDVV1+Znj17GrvdbkJDQ83gwYPNsWPHjDHGPPPMM+V+LtavX2+MMebPf/6zadmypbHb7RV+VrNmzTJhYWEu5/rkk09MUFCQSz8AxjDTDqBChYWFWrZsmYYNG1bhbGqjRo0knVkecM899+jQoUNavny5VqxYoQMHDuiee+6RMaZa505LS1NRUZFWrFih7du3a9q0aWrYsGGFfYuKinTbbbcpODhYmzZt0vvvv69169aVW5u8evVqffPNN8rKylJmZqbef/99axbx9OnTuvvuu9WjRw99/fXX2rhxo4YPH646depUGecrr7yitm3b6quvvtLYsWP117/+Ve+9954kaciQIdaM+VmfffaZDh48qIceeuiic/L000/r559/VlZWliTJ6XSqU6dOWrJkibZv367hw4frscce0+effy5J6tevn8rKyvTBBx9YY/z88896//33NXjw4ArPcaHPsn///lq2bJkkadOmTcrPz1dUVFS5cWJjYxUZGWnNqp86dUrr16/XHXfcoc6dO2vlypWSpP/85z86cOCAevfuLenMZ9m7d2/Z7XZlZ2dr/fr1atq0qRITE1VUVCRJ+uSTT5SSkqJhw4Zp+/btysjI0OLFi/XXv/61wmt67bXX9OSTT2rJkiXq27dvhX0KCwv17bffqnPnzlV+Bufbs2ePDh48qFtuucXaFxgYqPj4eK1bt67CY2JiYpSYmKiMjAyX/RkZGXrooYfk7++v/Px8xcfHq0OHDtq0aZOysrJ04sQJ9e3bV2VlZZKk48eP66GHHtLq1au1adMmXX/99brjjjtUUFDgMu7YsWN1xx13aNu2bRo6dOhFXd9Zx44d06233qomTZooJydHixYt0vLly62/to0aNUp333237rrrLmuGPi4uTpJ01VVXae7cudqxY4dee+01zZ49W1OmTKnyfF26dFFRUZFycnKqFS/wq+Xd3xkA+KqNGzcaSea9996rst+nn35q/Pz8XGZcv//+e2Oz2cxnn31mjLn4mfb/+Z//cZl9PZ/OmWl/8803TUhIiDXrZ4wxK1asMJJMbm6uMebMTHuzZs3Mf//7X6vPo48+avr06WOMMebHH380kszKlSurvNZzRUdHm8TERJd9gwcPNt27d7e227dvbyZOnGht33///eb3v/99pWNWNdNeXFxsJJnJkydXenz//v3N4MGDre2hQ4eaW2+91dqeOXOmueaaa1zycC53PsucnJxKZ9jPNXDgQNOrVy9jzJnPo1mzZsYYY/7f//t/5vHHHzfGnJllPXdGNT093bRs2dKUlZVZ45w+fdqEhoaazMxMY4wxN998s3nxxRddzvX++++b+vXrW8ednWl//vnnTZMmTcxXX31VZaybN282kszu3bsr7VPRTPvatWuNJLN3716X/YMGDTK33HJLpWMtWrTINGzY0BQXFxtjjPn222+NJOsvO88//7xJSEhwOaawsNBIMhs3bqxwzLOz/vPmzbP2STLDhg2rNI6K4qqoLHjttddMWFiYKSoqsvZ9/PHHxmazmX379hljzvzsVfWzfdarr75q2rdvb21XNNNujDGBgYHmn//8p9uxA1cCZtoBVMi4OUu+Y8cORUREKCYmxtrXvHlzRURE6Ntvv63WuYcPH67x48erW7duGjVqlL788ssqz9+xY0c1aNDA2nfTTTfJz8/P5fzt2rVT3bp1re2IiAgdPnxYkhQaGqrU1FTdeuutuvPOO/XKK68oLy/vgnF269at3Pa55xwyZIhmz54t6cxs7gcffFDpLPeFnP08bDabJKm0tFQTJkxQx44dFRYWpuDgYL333nvat2+fy/k/++wz/fDDD5LOzOY+/PDDLnk41+X8LHv37q3169fL6XRqxYoV6tWrlySpV69e1gz8ihUr1L17d/n7+0uSvvzyS+3Zs0cNGjRQcHCwgoODddVVV+no0aP6/vvvrT4TJkyw2oODg/Xggw/q5MmTOnjwoHX+6dOn67XXXtOaNWt0ww03VBnr2Ztg7Xb7RV3jWWc/k7OMMeX2nevuu++Wv7+/9VeZjIwMdenSRR06dLCucdWqVS7XePYvGmfzcPjwYT322GNq1aqVrrrqKjVo0ECHDx92+fwlXfRfDyqyY8cO3XDDDS7r+nv06CFjjHbs2FHlsQsXLtRNN92k8PBwBQcH69lnny0XY0UCAwO9fnMy4Gso2gFUKDY2Vjab7YL/KFdVoFRVuFRl8ODB2rNnjwYNGqRdu3bppptuqvTRgu6ev169euXazi41kKTZs2dr48aNio+P14cffqhWrVrpk08+qVb8Zz300EPau3ev1qxZo/nz5+vqq692WUpxMc4WzWdvlJw6dapefvlljRw5Up9//rm2bNmie+65x+Vmw+uuu06dOnXSnDlz9M033+iLL76o8pGGl/OzTEhI0KlTp7RhwwatXLnSKtq7d++u3bt368CBA8rOzraWxkhSWVmZrr/+em3ZssXla9euXXrsscesPqNHj3Zp37p1q3Jzc9W4cWNrrB49eshms2nhwoUXjPXsIwePHj16UdcYHh4uSS6/LEhnCuprrrmm0uPq1aunP/zhD8rIyNDp06c1b948l1/mysrKdOedd5bLQ25uru666y5J0sMPP6ycnBy9+uqrWrdunbZs2aJmzZqVu9m0fv36F3VNFanuz0V2drYeeugh9e3bV0uWLNHmzZv1wgsvVHhD7LnKysr0008/uXyeACjaAVQiNDRUt956q/7+97/rxIkT5dp/+uknSWdmsPfv3y+Hw2G1nS3K2rVrV+3zN2vWTH/84x/1zjvv6MUXX9Sbb75ZYb927drp66+/dnlax7p161RWVqa2bdte1Dmvu+46PfPMM1aR+Y9//KPK/hs2bCi3fe45Q0ND9bvf/U4ZGRnKyMhQamrqBdfJV2bq1Km66qqrlJiYKElas2aNkpOT9dBDD+n6669XixYttGvXrnLHDRkyRHPmzNHbb7+t7t27q3Xr1pWe43J+ljExMYqJidFHH32kjRs3WkV7/fr1FRcXp5kzZ+rQoUNKSEiwjunUqZO+++47XX311WrZsqXLV2hoqNVn586d5dpbtmzp8heEuLg4ffrpp3rllVc0bty4KmNt0aKFQkJCLvqvCddee63Cw8P12WefWfucTqdWr16tm266qcpjhwwZohUrVmjmzJk6fvy4BgwY4JKH7du3Kzo6utw1nv2L0po1a/Tkk0/qzjvvVPv27dWgQQOX+ycup3bt2umrr75ymfles2aNbDab2rRpI0ny9/dXaWmpy3Fr1qxRixYt9Oyzz6pz586KjY11+dmqzI4dO1RWVqZOnTpd1usAajuKdgCVmjlzpowx6ty5sxYtWqT//Oc/2rlzp2bNmqWOHTtKkhITE3XdddcpJSVFX375pb744gulpKSoU6dOLgXZxRg+fLiWLVum3bt3a8uWLVq2bFmlRWNKSorq16+vP/zhD9q2bZtWrVqlxx57TL/73e/UsmVLt863Z88ePfvss1q3bp327t2rFStWaOvWrRcsVDds2KCJEycqNzdXb731lubOnas///nPLn2GDBmi+fPn6+uvv9agQYPciufHH3/UwYMHtWfPHn388cfq27evFi9erDfeeENXXXWVJKlVq1b6/PPPtWbNGu3cuVPDhg3Tnj17yo31wAMP6ODBg5o1a9YFl+Zc7s+yd+/eeuONN9S4cWO1aNHC2t+zZ0+99tpratCggXXDonTms7zmmmt09913Kzs7W3v27NGqVas0YsQI5ebmSpJeeOEFLViwQC+88IK++eYb7dy5U4sXL9Zf/vKXcuf/7W9/q08//VQvv/yyxo8fX2mcfn5+SkxM1Jo1a1z2nzhxwprlLisr0759+7RlyxZreYfNZtOf/vQnTZo0Se+9956++eYbpaamWkt2qtKqVSv16NFDI0eO1H333aeQkBCrbejQofr555/Vv39/bdy4Ubt371ZWVpb++Mc/Wr+ctmrVSv/85z/17bffKicnRwMGDLCWGV1uDz/8sPz8/JSamqpvvvlGK1as0NChQ/XAAw9Yy3ZiYmL09ddfKzc3VwUFBTp9+rRatWqlPXv26J133tH333+v1157Te++++4Fz7d69Wq1a9euwpucgSua11bTA6gVDhw4YIYNG2auvfZa4+/vb5o2bWpuu+0289FHH1l99u7da+6++27rMYH33HPPJT3ycdiwYaZly5YmICDAXH311aZ///7mhx9+sNpVwSMfExISjN1uNw0bNqz0kY/nGj16tHVD3MGDB829995rIiIijL+/v4mKijIjR440JSUllebl7CMfBwwYYOrXr2+aNGliJk2aVK5fWVmZad68uendu3elY5119kbUs1+BgYEmNjbWPPLII2bLli0ufQsLC829995rPRJw5MiR5oknnjA9e/YsN+6gQYNMcHCwOXHixAVjuNBn6e6NqMYYM3fuXCPJDBw40GX/xx9/bCSV+0yMOfNZpKammsaNGxt/f38TExNjBg0aZI4cOWL1+eSTT0yPHj1MYGCgadCggYmLizMzZsyw2s9/5OPGjRvNVVddZcaNG1dprMuWLTPh4eHm9OnT1r6zNzSf//Xwww9bfcrKyszo0aNNeHi4CQgIMPHx8VU+KvRc//jHP4wkk52dXa5t165d5ve//71p2LChsdvtplWrVmbYsGHWTbtbtmwxXbp0MXa73TRv3tzMnTvXtG/f3owePdoa4/z/Ti6kuo98NObM/ycSEhJM/fr1rUc+lpWVmf/93/81YWFhJjg42PTr189Mnz7dBAQEWMdVdCNqfHy8efXVV92OG7hS2Iyp5jPZAAAXVFxcrMjISM2YMUMpKSleieH2229Xs2bNrJfnoGLdunVTWlpatR7JWR2TJ09Wenp6hcuarlRffvmlkpOTlZube1nW4wO/JhU/QgAAcEnKysp06NAhvfrqqwoMDFS/fv1qPIbCwkJlZWXp008/1ddff13j569t/u///k+bN2/2+HlOnDihnTt3avr06Xruuec8fr7a5NChQ5o3bx4FO1CBGp1pX7t2rRYvXqyCggI1bNhQaWlpatu2rbZt26b09HQVFBQoNjZWaWlpld41fuLECc2aNUtbt25VgwYN9OCDD6pHjx5We1VjGWM0f/58LV++XNKZpxukpKRU+wkXAFAZh8Oha6+9Vs2aNVN6enq1nxpzKWJiYlRYWKjnnntOzzzzTI2fHxVLTU3VwoUL1bdvXy1cuLDSR3ACwLlqrGjfunWr3njjDf3pT39Sy5YtrSdP1K1bV08++aQef/xx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m6dWrVp5NDgAAAAAbi6PGTJkiKZNm6bU1FQFBwfrxIkTatWqlctNngAAAAA8w62ivVGjRho7dqx+/PFH6+kxYWFhno4NAAAAgNws2s8KCwujWAcAAABqmFtr2gEAAAB4D0U7AAAA4OMuWLSXlZXpm2++0enTp2siHgAAAADnueCadj8/P7300kuaO3duTcRzRQpYt9jz5/Dg2Kduus+DowMAAMCt5TFt27bVrl27PB0LAAAAgAq49fSYxo0ba+LEiercubPCwsJks9mstv79+3ssOAAAAABuFu0lJSX67W9/K0kqLCz0aEAAAAAAXLlVtKelpXk6DgAAAACVcPvlSj/88IM2bNign3/+WYMHD9aBAwf03//+V9HR0Z6MDwAAALjiuXUj6vr16zV69GgVFhZq1apVkqTi4mKeKAMAAADUALdm2t955x09//zziomJ0fr16yVJ0dHRcjgcnowNAAAAgNycaf/555/LLYOx2WwuT5EBAAAA4BluFe3Nmze3lsWctXbtWrVs2dIjQQEAAAD4hVvLYwYNGqTx48dr+fLlOnXqlCZMmKADBw5o1KhRno4PAAAAuOK5VbRHRkZq2rRp+vLLLxUXF6ewsDDFxcXJbrd7Oj4AAADgiuf2Ix8DAgLUpk0bFRYWKjQ0lIIdAAAAqCFuFe0FBQV67bXXlJubq/r16+vkyZNq2bKlnnrqKTVu3NjTMQIAAABXNLduRH399dfVvHlzzZ49W2+//bZmz56tFi1a6PXXX/d0fAAAAMAVz62ifffu3Ro4cKC1JMZut2vgwIHavXu3R4MDAAAA4GbRHhsbq++++85l3/fff69WrVp5JCgAAAAAv6h0TXtmZqb1/TXXXKOJEyeqU6dOCgsL048//qjNmzerR48eNRIkAAAAcCWrtGj/8ccfXba7du0qSTp27Jjq1aunLl26qKSkxLPRAQAAAKi8aE9LS6vJOAAAAABUwu3ntJ86dUoHDx6U0+l02d+6devLHhQAAACAX7hVtGdnZysjI0N169aVv7+/S9usWbM8EhgAAACAM9wq2v/5z39qxIgR6tix4yWfMD8/X08//bS6du2qp556SqtXr9abb75ptRtjVFJSokmTJql58+bljh8zZoxyc3Pl53fmwTehoaGaPn261b5t2zalp6eroKBAsbGxSktLs14AZYzR/PnztXz5cklSQkKC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LS0trca1jx49mtGjRxufGxqu3emtvX/1rmXdtIX2XP/tve69nF2AH6m91397p/p3HtW9c7X3+vdxdgF+pGtd/+fGqudqk+ExJSUl7N69m3Hjxl1wmaNHj/Lqq68ybdo0oqKiLrhcREQEPj4+eHp6MmLECPr06cPOnTuBMz3r9fX1DsvX1dVhNpvPO7++vh6z2awfooqIiIiIS2uTnvY9e/ZQUVHB448/Dpzp8bbb7Tz33HMsXLiQiooKXn75ZR588EGsVut/lLabmxstLWdusoeEhDiMUbfZbBw7dswYbhMSEkJJSQm9evUCzlxMXGoojoiIiIiIs7VJ0D569GiGDh1qfP7oo4+oqKjg0Ucfpaqqit/+9rf87Gc/O+9TXDZs2EBubi6pqal8//337N+/n+joaNzd3fniiy8oKioiMTERgJiYGFauXElhYSEDBgzg/fffJzQ0lO7duwNgtVpZv349AwYMAGDdunWMHTv22leAiIiIiMiP0CZBu7e3t8OgfbPZjKenJ507dyY3N5djx46Rm5tLbm6usczKlSsBqKyspE+fPgA0NzezevVqysvLMZlMdO/enblz5xIcHAxA586defrpp8nKyiI5OZmIiAjmzJljpDlmzBiOHz/O008/DcCoUaMYM2bMNd9+EREREZEfo82f0w4wceJE4/+EhAQSEhIuuGxxcbHRk965c2d+//vfXzTt/v3788Ybb5x3npubG4888giPPPLIf15oEREREREncUrQ/p/4zW9+4+wiiIiIiIg4VZu+XElERERERP5zCtpFRERERFycgnYRERERERenoF1ERERExMUpaBcRERERcXEK2kVEREREXJyCdhERERERF6egXURERETExSloFxERERFxcQraRURERERcnIJ2EREREREXp6BdRERERMTFKWgXEREREXFxCtpFRERERFycgnYRERERERenoF1ERERExMUpaBcRERERcXEK2kVEREREXJyCdhERERERF6egXURERETExSloFxERERFxcQraRURERERcnIJ2EREREREXp6BdRERERMTFKWgXEREREXFxCtpFRERERFycgnYRERERERenoF1ERERExMUpaBcRERERcXEebZ3hkSNHeOaZZxg0aBCzZ88GYPfu3WRmZlJZWUlERARPPPEEAQEB512/traWN998k6+++opOnTrx8MMP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kcHy5cv5+c9/jpubG01NTSxatIjhw4eTlZVFbGwsX375pZFOS0sLI0aMIC0tjbS0NLy8vMjMzATgzjvv5Pjx45SVlRnL30ht0t69e1m8eDHz5s1rNU/t/KV169YNk8lESkoKO3fupLa21mH++PHjSU9PZ/HixZw4cYLc3FwAnnzySfz9/XnuuedYuXIl999//2Xlt23bNgYPHsyKFSsYPnw4ubm5HDt2jOTkZObNm9dqH91000289NJLvP322yQkJJCcnMzJkyfx9PRk6NCh5OfnG8sWFBRw6623ttuAHS69Py6loKCAxx9/nIyMDJqamli7di0AZWVlLF++nFmzZpGens6pU6c4ceKEsZ7JZGLq1KlkZmbyyiuv8PXXX/Pxxx8DMGLECIdzbU1NDV9//bVLDOVU0O5izva2f/XVVwQHBxtjGO12O1988QUPP/wwPj4+BAYGMm7cOIcvsL+/P6NHj8ZkMhEXF8fJkyf57rvvqKys5N///jeTJk3C09OT6OhoBg4c6JDv3XffjY+PD56eniQkJHDo0CHq6uqAM8Hipk2bgDM9YLt27TKuim9U+/bto76+ngkTJuDh4UFQUBAjR46koKAAAHd3d44ePcqpU6fw8fEhIiICgM2bN3PXXXcRGRmJp6cnDz/8MOc+wKlXr15ERETg7u7OTTfdxKhRo4xAt0+fPnh5eRmfXbnBjoqKoqioCDgzXjEqKqrVtOjoaHbs2EFAQAAjR47E3d2dsLAwBg0aRGFhIXa7nS+//JJJkyZhNpu5+eabz/sytAceeIAOHTrg7+9P3759KSkpASAvL4/x48fTo0cP3N3dGT9+PCUlJVRUVODh4YHNZqO8vJyWlhZ69OhB165dLytPq9VKp06dcHd3Jz4+nqamJr799lvA8btit9spKChod4FPZGQkAwYMwGQyYbVajfq8HG5ubkycOBFPT0+8vLxwd3enurqayspKPDw8iIqKws3NjX379tHc3My9996Lh4cHgwcPNnrzATp16sTgwYPx9vbGx8eHCRMmGMeOp6cnQ4YMMeq5tLSUioqKVm1ae7do0SISExNJTEzktddeM6YnJCRgNpvx8vJyWF7t/OWxWCz89re/xc3NjfT0dGbMmMHChQuprq4mKCiI/v374+npSefOnbn33nuN9vZK9e7dm5iYGEwmE15eXmzevJkJEybQsWNH/P39jTvrZ8XGxuLr64vJZGLIkCEEBQVx4MABoHXHTX5+frtrX37oYvvjcowYMYLg4GC8vLyIjY012qvCwkIGDhxIdHQ0np6eTJo0yeFuXlhYGL1798bd3Z3AwEBGjx5t7OtevXphsVj4+uuvAfjiiy/o27cvXbp0ubobfwXaT/fPDcJqtfK///u/HD9+3CFYOHXqFE1NTfj7+xvTAgICqKqqMj6fe0B5e3sDYLPZqKmpoUOHDpjNZod1KysrgTPBxXvvvUdhYSE1NTXGgV1TU4PFYsFqtfLrX/8am83GF198QVRUFF27dr02FdBOVFZWUllZSWJiojHNbrcTHR0NwBNPPEFOTg5PPfUUgYGBJCQkMGDAAE6ePOmwD81mMx07djQ+l5eX884773Dw4EEaGxtpbm42An44c3xs2rSJfv36sWnTpsvu7Wlr0dHRfPzxx9TW1lJTU0O3bt34yU9+QmpqKrW1tRw+fJjo6Gg2b97M/v37HeqxubkZq9VKTU0Nzc3N+Pn5GfMCAgKM4O2sHx73NpsNgIqKClasWME777xjzG9paaGqqop+/frxs5/9jMzMTCorK4mJiWHy5MlGnV8sz7Vr1/Lpp59SVVWFm5sb9fX1nDp1CjjTC7x8+XKOHTvGkSNHsFgs7e7HVD/5yU+M/728vDh9+vRlj8Xt3LmzQzB53333kZubyyuvvAKceTv2Aw88wMmTJ/H19XU4iZ77vWhoaCA7O5t//vOffP/99wDU19cbv4mIi4tjyZIlPPTQQ+Tn5xMbG3vdjYGdO3euw5j248ePAzgcm+eqqqpSO3+ZevToYbxpvby8nOTkZN5++22mTZvGihUrKCoqwmazYbfbHdrnK/HD/XXy5EmHaece9wAbN25k3bp1VFRUAGfO4Wfbl4iICLy9vdm7dy9du3bl6NGj3HnnnT+qfK7gQvvjh8O7zudC7X9VVZVDPZvNZuNuKsC3337LO++8w7///W+j3T/3ZUxxcXHk5+fTv39/Nm3a1OriylkUtLuYgIAAAgMD2blzp8NjoM727FVWVhovmqqsrGz1NIHz6dq1K99//z02m81o0M825ACff/4527Zt44UXXiAgIIC6ujqmTZtmzPf19aV3795s2bKFTZs2MWbMmKu1uS7NbDY7/BD43Ct/Pz8/unXrxuLFi8+7bnBwME899RR2u53CwkL+8Ic/sGLFCrp06WKcfOFMg3zu7cC33nqLiIgIfv3rX2M2m/noo4/YsWOHMd9qtfLss88yduxYjh075rK9i71796auro68vDz69OkDnOlR6dq1K3l5efj6+hIYGIifnx/R0dHnfaSi3W7H3d2dEydO0L17d8DxuL0Uf39/JkyYcMGnAN1zzz3cc889fPfddyxevJiPPvqIiRMnXjTPoqIiPvzwQ1588UV69OiByWRi2rRpxt2Ss709mzZt4ttvv233vWA/5O3tTUNDg/G5urra4cT4w7dL+/j4MGXKFKZMmUJpaSkvvfQS4eHhdO3alaqqKlpaWox1Tpw4YYyVX7t2Ld9++y2vvvoqXbp0oaSkhGeffdao5969e+Ph4UFRURGff/45c+bMudab7jIu9AZvtfNXpnv37owYMYK///3vvPvuuwC8/vrrdOrUiS1btlx0eNgPvw92u52ampqL5telSxdOnDhBSEgI4LiPKioqSE9P58UXX6R3796YTCbmzp3rcDf27B2RLl26MHjw4FZ3XNq7c/dHWFjYBc/Bl9K1a1fKy8uNzw0NDcbFD0BGRgY9e/Zkzpw5+Pj4sH79egoLC435w4cP5+mnn6akpISysjJiYmJ+5JZdHRoe44JmzpzJiy++6NBjYjKZiI2N5b333qO+vp6KigrWrVt3WY8lDAgIIDw8nJycHJqamiguLmb79u3G/Pr6ejw8POjYsSMNDQ289957rdKwWq18+OGHHD582GUO3mutZ8+e7Nixg9raWk6ePMlf//pXY97ZoGHt2rU0NjZit9s5fPgwBw8eBM7ctqypqcFkMmGxWHBzczP24bZt29i3bx+nT59m1apVDidhm82GxWLB29ubsrIyYzz7WQEBAfTs2ZPU1FSXbrC9vLwIDw9n/fr1REZGGtMjIyNZv3698dSYgQMHcuTIEfLz82lqaqKpqYkDBw5QVlaGyWQiJiaG3NxcGhoaKCsrazX+82LGjBnDmjVrjPHxdXV1xnjzAwcOsH//fpqamvD29sbT0xOTyXTJPOvr63F3d6dz587Y7Xbef/99Y3jBWVarlY0bN7Jt27br7rGhPXv25PPPP8dut/PPf/7zkkMHtm/fztGjR2lpacHHx8eo47MByV//+leam5v58ssvjSEAcOZ74OXlhcVioba21hhXfK64uDiysrJwd3d3OMZuVGrnL095eTlr1641xjdXVlZSUFBAREQE9fX1mM1mOnToQFVVlTE++qwfdroEBwdz+vRpduzYQVNTE3/+8585ffr0RfOPjY3lgw8+oLa2lhMnTvC3v/3NmNfQ0ICbm5sx5PGzzz4z2q+zrFarcWF1PXQKXGx/9OzZk6KiIiorK6mrq2PNmjWXne7gwYPZvn07xcXFNDU1sXr1aoeLn/r6eiwWC2azmfLycj755BOH9f38/AgPDyclJYVBgwa5zLlWPe0u6Gxv0w/98pe/JCsri1mzZuHl5cWoUaNa/fL8QmbPnk1qairTpk2jd+/eWK1W47ZzXFwcu3btYubMmXTs2JFJkya1OoBjYmLIyMjgrrvucriYuJ6NGDGC3bt3k5SURGBgIHFxcUbg7u7uzvPPP092djYfffQRTU1NdO/enYceegg48+PI7Oxs48kkTz31FB4eHoSGhpKYmMjixYtpbGwkPj7e4fbe5MmTWb58OR988AFhYWEMGTKE4uJih3LFxcWRlpbG9OnT264yrkB0dDT79u1rFbT/7W9/M4J2Hx8ffvOb35CdnU12djYtLS2EhoYydepUAKZPn05aWhqPPfYYwcHBjBgx4rJfRBUTE4PNZuONN96gsrISi8XCrbfeSmxsLPX19WRnZ3Ps2DHjaQX33XffJfO8/fbbuf3225kzZw7e3t7ce++9rW5vR0ZG4ubmxi233HLdvVshMTGR1NRUPv74Y+666y7uuuuuiy5/5MgRsrKyjCF6P/3pT+nbty8AzzzzDOnp6axatYo77rjDIUi85557WLp0KdOnT8fX15dx48axdetWh7StViurV6/mwQcfvPob2k6pnb80Hx8f9u/fz7p166irq8NisTBw4EAeeeQRTpw4QUpKClOnTiUoKAir1cr69euNdR944AGysrL405/+xIQJE7jvvvuYMWMGy5Ytw263c999911w+NJZCQkJxg8ku3btysiRI/nLX/4CnBkmMm7cOObNm2f8puTsncqz/Pz8CAsLu24emXux/WGxWIiNjeWZZ56hU6dO3H///Wzbtu2y0g0JCWH69OksWbKEhoYGxo0b57BvJk+ezFtvvcWHH37ILbfcwpAhQ4wx7GfFxcWRkpLiMHzT2dxazr30ELmIJ598kkcffVTPMneyr7/+mjfffJOUlJQL3ioX53rppZcYNmwYo0aNcnZRrluNjY3Gj9a6devm7OJcN9TOu760tDR8fX2NTiK5Nvbu3UtycjKpqakOLzpzJtcohbi8s2O9+vXr5+SS3Niampr4y1/+wqhRoxSwu6gDBw7wzTffuNyjOK83n3zyCeHh4QrYryK1867v+PHjbNmyhbvvvtvZRbmunXuudZWAHTQ8Ri7D/PnzKSsrY9asWS518N5oDh8+zLx587jlllu45557nF0cOY+UlBS2bt3KtGnT8PHxcXZxrltJSUm0tLQwd+5cZxfluqF23vWtWrWK9evXM378+Otu6J0rKSsr4/nnnyc0NNTlzrUaHiMiIiIi4uJ0OS0iIiIi4uIUtIuIiIiIuDgF7SIiIiIiLk5Bu4iIiIiIi1PQLiIiIiLi4hS0i4iIiIi4OAXtIiIiIiIuTkG7iIiIiIiLU9AuIiIiIuLiFLSLiIiIiLg4Be0iIiIiIi5OQbuIiIiIiItT0C4iIiIi4uIUtIuIiIiIuDgF7SIiIiIiLk5Bu4iIiIiIi1PQLiIiIiLi4hS0i4iIiIi4OAXtIiIiIiIuTkG7iIiIiIiLU9AuIiIiIuLiFLSLiIiIiLg4Be0iIiIiIi7u/wEyXWkZhR+qNAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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deokduzYIQBoJmtKnQxZsf0aN24sAgMDxdKlSytNyH14EmGvXr1EkyZNhLW1tfD29hbz58/XnHv//n3x2muviUaNGlVa3m/79u1a161uMuSOHTuEj4+PsLKyEi+//LL4888/tb5uw4YNolWrVsLGxka8+uqrmqUtyydDVtdu1S3vV137S5l4KYQQAQEBYsGCBdW2NZGhKYR4wnXFiIh0KD8/H25uboiMjKzVxLba6NOnD5o3b16pV460de7cGWPGjNHZMnZP4tixY5px7C1atJAtB9UdiYmJCA0NxeXLl3UyBp1IFwzzCCgiomqo1WpkZWVhwYIFsLW1feyPinUhNzcXcXFx2Lt3L86cOWPw+xub5cuX488//5Tl3oWFhUhLS8PkyZPxxhtvsMgmjaysLKxdu5ZFNtUp7NEmIlmlpqbi6aefRvPmzbFy5conXm2kNjw9PZGbm4svv/wSn332mcHvT9KtXr0ao0aNQrt27bB161aOxSWiOo2FNhERERGRHnDVESIiIiIiPWChTURERESkByy0iYiIiIj0wKRXHcnLy5M7AhERERGZODs7uyr3s0ebiIiIiEgPWGgTEREREekBC20iIiIiIj1goU1EREREpAcstImIiIiI9ICFNhERERGRHrDQJiIiIiLSAxbaRERERER6wEKbiIioDlCpVPjoo4+gUqnkjkJEOsJCm4iIqA6Ijo5GUlIS1qxZI3cUItIRFtpEREQyU6lUiImJgRACMTEx7NUmMhEstImIiGQWHR0NtVoNACgtLWWvNpGJYKFNREQks7i4OJSUlAAASkpKEBsbK3MiItIFFtpEREQyCw4OhoWFBQDAwsICPXv2lDkREekCC20iIiKZhYeHw8ys7K9kc3NzDB8+XOZERKQLLLSJiIhkplQqERISAoVCgZCQECiVSrkjEZEOsNAmIiIAXMdZbuHh4Xj++efZm01kQlhoExERAK7jLDelUonFixezN5vIhLDQJiIiruNMRKQHFoa6UUxMDA4cOIAbN27A398fY8eO1RwrLCzE2rVrceTIEZSUlMDT0xPTpk0DAAgh8PPPP2Pfvn0AgKCgIAwdOhQKhcJQ0YmITF5V6zh//PHHMqciIjJuBiu0nZycMGDAAJw5cwZFRUVax5YvXw61Wo0FCxbAwcEBqampmmNxcXE4ceIE5s6dC4VCgW+//RZNmzZF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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 10-year total\n", "collision_dow = pd.Series(collision.groupby('day_of_week').count()['case_id'])\n", "collision_dow = collision_dow.reindex([\n", " 'Monday', \n", " 'Tuesday', \n", " 'Wednesday', \n", " 'Thursday', \n", " 'Friday', \n", " 'Saturday', \n", " 'Sunday'\n", "])\n", "\n", "pal = sns.color_palette('Reds', 7) \n", "colordict = {\n", " 'Friday': pal[6],\n", " 'Saturday': pal[5],\n", " 'Thursday': pal[4],\n", " 'Wednesday': pal[3],\n", " 'Tuesday': pal[2],\n", " 'Sunday': pal[0],\n", " 'Monday': pal[1]\n", "}\n", "\n", "ax = collision_dow.plot(figsize=(12, 6), kind='bar', color=[colordict[i] for i in collision_dow.index], width=0.5, rot=0)\n", "\n", "ax.set_title('Collisions by Day of Week (10 year Total)', fontsize=14)\n", "ax.set_ylim((40000, 60000))\n", "ax.set_ylabel('Number of Collisions')\n", "ax.set_xlabel(' ')\n", "\n", "fmt = '{x:,.0f}'\n", "ax.yaxis.set_major_formatter(mtick.StrMethodFormatter(fmt))\n", "\n", "for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", " \n", " \n", " \n", "# Daily total distribution\n", "collision_dow_measure = collision.groupby(\n", " ['collision_date', 'day_of_week'], as_index=False\n", ").count()[['day_of_week', 'case_id']]\n", "\n", "collision_dow_measure.rename(\n", " columns={\n", " 'day_of_week': 'Day of Week',\n", " 'case_id': 'Number of Collisions per Day'\n", " }, inplace=True\n", ")\n", "\n", "collision_dow_measure['Day of Week'] = pd.Categorical(\n", " collision_dow_measure['Day of Week'],\n", " categories=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], \n", " ordered=True\n", ")\n", "\n", "pal = sns.color_palette('Reds', 7) \n", "colordict = {\n", " 'Friday': pal[6],\n", " 'Saturday': pal[5],\n", " 'Thursday': pal[4],\n", " 'Wednesday': pal[3],\n", " 'Tuesday': pal[2],\n", " 'Sunday': pal[0],\n", " 'Monday': pal[1]\n", "}\n", "\n", "plt.figure(figsize=(12, 6))\n", "ax = sns.boxplot(x='Day of Week', y='Number of Collisions per Day', data=collision_dow_measure, palette=colordict)\n", "ax.set_title('Collisions by Day of Week (Daily Total Distribution)', fontsize=14)\n", "\n", "for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", " \n", "pass" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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KYMjE5W2kSNH4uzZs0/93VLMEfucEdEz58HVe9u2bcOxY8dKff+3bt3CH3/8gcjISEyZMqXU90/mLTMzE4cPH8aKFSuwZs2asi6HiqDUwtmMGTNw5swZ5YqvSpUqITIyEhkZGZg3bx7S0tIQFBRk1Gk6IiIC/fr1M+rkS0T0OI0bN8a1a9cwe/bsAoevMKUxY8bg22+/Rffu3fHmm2+W+v7JvPXo0QO//PIL3njjDXTp0qWsy6EiKLWvNWfMmIG2bduiQ4cORtOXLl2KatWqoU2bNpg0aRLeeecd+Pr6Yv/+/Th16hSGDx9eGuURERERaUKZD0J75coV+Pv7w97eHr6+vrh8+TKysrIQGxuL/v37l3V5RERERKWqVMPZ6tWr8cYbb2Dq1Kk4efIkAMDb2xvHjx/H7du3kZycDC8vL8TExKBz584lMogfERER0dOk1L7WPHPmDLy8vGBpaYmEhARER0fj448/hqOjI6KiopCWloZ27dqhfv36WLFiBf7v//4Py5Ytw7Vr1xAQEJDvYKfx8fGIj48HAHz44YelcRhEREREJlVmQ2lERESgcePG6NSpkzLNYDBg+vTpCAsLw549e2Bvb4/u3btj0qRJGD9+PLy8vArdZlZWlqnLLjIbGxvk5OSUdRlPLbZf0bHtioftVzxsv+Jh+xWd1tvO3t6+wHll1udMp9PluTdffHw8nnvuOVSrVg2pqanw9fWFpaUlvL2989xslYiIiOhZVCrh7Pbt2zh69Chyc3Oh1+uxd+9enD59Gi+88IKyTGZmJrZu3Yq+ffsCACpXroyTJ08iOzsbKSkpRjfMJiIiInpWlco4Z3q9HjExMbhw4QIsLCzg6emJf/3rX/Dw8FCWWblyJXr37g1bW1sAQGhoKObOnYu4uDgEBQVxrDMiIiIyC8/U7ZvY5+zZxfYrOrZd8bD9ioftVzxsv6LTettpss8ZEREREeXFcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBrCcEZERESkIQxnRERERBpS6uHs4sWLGDBgABYsWAAAyMjIwJQpUzB06FCsWLHCaNmIiAgkJyeXdolERET0FNHr9QgICMArr7wCAAgPD0ejRo0wfPhwZZnVq1dj0aJFZVXiEyn1cLZs2TL4+voqj2NjY9GuXTssWrQIhw4dUsLY/v374e7ubrQsERER0aMWLVqE2rVrAwAyMzORmJiII0eOQK/X48SJE7hz5w5WrVqFESNGlHGl6pRqOEtISIC9vT38/f2VaVeuXIG/vz/s7e3h6+uLy5cvIysrC7Gxsejfv39plkdERERPmQsXLmDLli0YMmQIAMDCwgK5ubkQEWRnZ8PKygrz58/HqFGjYGVlVbbFqlRq4SwrKwtr1qzBoEGDjKZ7e3vj+PHjuH37NpKTk+Hl5YWYmBh07twZDg4OpVUeERERPYUmTpyIiIgIWFjcjzTly5dHjx490LRpU/j4+KBChQo4fPgwunbtWsaVqmdZWjuKiYlBUFAQXF1djab37NkTUVFR2L59Ozp27Ai9Xo/U1FT06dMHkZGRuHbtGgICAvDyyy/n2WZ8fDzi4+MBAB9++CFsbGxK5ViKwsLCQtP1aR3br+jYdsXD9isetl/xsP0Kt2HDBlSpUgUtW7bErl27lPaaPHkypkyZAoPBgBEjRmDmzJlYtWoV4uLi8Pzzz2PKlCllXXqhSiWcnTt3Dr///js+/vjjPPMcHR0xfvx4AIDBYMD06dMRFhaG2NhYeHt7Y/To0Zg0aRL8/f3h5eVltG5ISAhCQkKUxzk5OaY9kGKwsbHRdH1ax/YrOrZd8bD9ioftVzxsv8Lt3bsX69evx6ZNm5CdnY2bN29iwIABiI6Oho2NDRITE6HX6+Hj44N33nkH27Ztw+DBg3Hy5En4+fmVae329vYF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iMisqPpe0tnZGR988AGSk5ORnp4OFxcX+Pn5Kf3PiIiIiKhkqApn586dg6OjI/z8/ODn5wfg/v02b926herVq5uyPiIiIiKzourU18KFC6HX642m3bt3D5999plJiiIiIiIyV6rCWUZGBtzd3Y2mValSBenp6SYpioiIiMhcqQpnlSpVQkpKitG0lJQUODs7m6QoIiIiInOlqs9Zly5d8Mknn6B79+5wd3fH5cuX8fPPP6NXr16mro+IiIjIrKgKZyEhIXBwcMCOHTtw9epVuLi4YNCgQWjZsqWp6yMiIiIyK48NZwaDAd9//z169eqFgICA0qiJiIiIyGw9ts+ZhYUFtm7dinLlypVGPURERERmTdUFAe3atUNcXJypayEiIiIye6r6nJ09exZbtmzB+vXr4eLiAp1Op8x77733TFYcERERkblRFc46dOiADh06mLoWIiIiIrOnKpy1b9/exGUQEREREaAynIkItm/fjoSEBNy8eRNz5szBqVOncP36dbRq1crUNRIRERGZDVUXBMTExGDnzp0ICQlBRkYGAMDFxQU//fSTSYsjIiIiMjeqwtnu3bsxadIktG7dWrkYoHLlyrhy5YpJiyMiIiIyN6rCmcFggK2trdG07OzsPNOIiIiIqHhUhbNGjRphxYoVuHv3LoD7fdBiYmLQpEkTkxZHREREZG5UhbNBgwbh2rVrGDJkCLKysjBo0CCkp6djwIABpq6PiIiIyKyoulrT3t4eEydORGZmJtLT0+Hq6gonJydT10ZERERkdgoNZzk5OVi3bh3++9//okaNGujZsyf8/PxKqzYiIiIis1Po15rLli3D4cOH4enpicTERKxcubK06iIiIiIyS4WGs6NHjyI8PBwDBw7E5MmTcfjw4dKqi4iIiMgsFRrOcnJy4OzsDABwdXVFVlZWqRRFREREZK4K7XOm1+tx4sQJ5bHBYDB6DAD+/v6mqYyIiIjIDBUazipWrIjFixcrjx0dHY0e63Q6fPbZZ6p2tGXLFuzatQupqalo3bo1Ro8eDQDIyMjAvHnzkJaWhqCgIAwaNEhZJyIiAv369YOvr+8THRQRERHR06rQcLZo0aIS25GzszN69eqFY8eOITc3V5keGxuLdu3aoU2bNsotonx9fbF//364u7szmBEREZFZUTUIbUlo0aIFmjdvjvLlyxtNv3LlCvz9/WFv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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "severe_collision_dow = pd.Series(collision.groupby('day_of_week')['collision_severity'].agg(lambda x: ((x== 'Severe') | (x == 'Fatal')).mean()))\n", "severe_collision_dow = severe_collision_dow.reindex([\n", " 'Monday', \n", " 'Tuesday', \n", " 'Wednesday', \n", " 'Thursday', \n", " 'Friday', \n", " 'Saturday', \n", " 'Sunday'\n", "])\n", "\n", "pal = sns.color_palette(\"Reds\", 7) \n", "colordict = {'Friday': pal[4],\n", " 'Saturday': pal[5],\n", " 'Thursday': pal[1],\n", " 'Wednesday': pal[3],\n", " 'Tuesday': pal[1],\n", " 'Sunday': pal[6],\n", " 'Monday': pal[0]}\n", "\n", "ax = severe_collision_dow.plot(figsize=(10, 6), kind='bar', color=[colordict[i] for i in severe_collision_dow.index], width=0.5, rot=0)\n", "\n", "ax.set_title('Percent Severe Collisions by Day of the Week over 10 years', fontsize=14)\n", "ax.set_ylabel('Percentage of Severe Collisions')\n", "plt.ylim([0, 0.05])\n", "ax.set_xlabel(' ')\n", "\n", "fmt = '{x:,.0%}'\n", "ax.yaxis.set_major_formatter(mtick.StrMethodFormatter(fmt))\n", "\n", "for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", " \n", " \n", "for rect in ax.patches:\n", " y_value = rect.get_height()\n", " x_value = rect.get_x() + rect.get_width() / 2\n", " space = 5\n", " va = 'bottom'\n", " label = '{:.0%}'.format(y_value)\n", " ax.annotate(label,\n", " (x_value, y_value),\n", " xytext=(0, space),\n", " textcoords='offset points',\n", " ha='center',\n", " va=va)\n", "\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's bring in time of day" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "heatmap", "x": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "y": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 ], "z": [ [ 1233, 879, 990, 1042, 1260, 2050, 2481 ], [ 989, 656, 784, 834, 1069, 1961, 2477 ], [ 880, 554, 657, 770, 1042, 2302, 2627 ], [ 495, 360, 448, 469, 602, 1299, 1601 ], [ 473, 328, 352, 389, 466, 913, 1005 ], [ 668, 647, 639, 611, 696, 801, 797 ], [ 1277, 1248, 1328, 1322, 1265, 840, 773 ], [ 2835, 3238, 3141, 3164, 2866, 1181, 885 ], [ 2681, 3005, 2911, 2870, 2760, 1410, 1061 ], [ 2274, 2545, 2426, 2335, 2338, 1752, 1325 ], [ 2160, 2316, 2274, 2263, 2258, 2010, 1745 ], [ 2382, 2467, 2472, 2380, 2466, 2338, 1914 ], [ 2666, 2773, 2688, 2624, 2900, 2727, 2237 ], [ 2642, 3013, 2697, 2758, 2949, 2784, 2483 ], [ 3145, 3148, 3133, 3101, 3354, 2972, 2597 ], [ 3438, 3396, 3362, 3529, 3869, 2907, 2525 ], [ 3271, 3393, 3326, 3464, 3769, 2781, 2433 ], [ 3701, 3778, 3726, 3784, 4033, 2756, 2599 ], [ 3113, 3231, 3429, 3419, 3675, 2842, 2562 ], [ 2290, 2565, 2648, 2619, 3000, 2707, 2433 ], [ 1898, 2032, 2071, 2187, 2691, 2705, 2522 ], [ 1733, 1781, 1851, 1982, 2441, 2515, 2195 ], [ 1475, 1510, 1585, 1766, 2292, 2502, 1833 ], [ 939, 1022, 1087, 1234, 1853, 1994, 1209 ] ] } ], "layout": { "height": 650, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Collision by Day of Week and Time of Day" }, "xaxis": { "tickfont": { "size": 12 }, "title": { "text": "Day of Week" }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Hour of Day" }, "type": "category" } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "heatmap", "x": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "y": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 ], "z": [ [ 42, 28, 43, 37, 46, 93, 109 ], [ 42, 16, 36, 34, 51, 108, 109 ], [ 50, 25, 29, 29, 49, 94, 138 ], [ 23, 19, 14, 24, 31, 54, 74 ], [ 18, 19, 21, 17, 25, 35, 46 ], [ 47, 43, 56, 49, 39, 34, 31 ], [ 47, 60, 70, 68, 56, 38, 30 ], [ 80, 95, 84, 95, 85, 37, 32 ], [ 62, 81, 69, 75, 62, 58, 40 ], [ 34, 60, 62, 63, 50, 53, 37 ], [ 49, 67, 59, 38, 71, 56, 40 ], [ 52, 46, 56, 55, 60, 58, 67 ], [ 70, 68, 60, 57, 67, 68, 49 ], [ 58, 80, 64, 69, 71, 85, 71 ], [ 79, 71, 74, 70, 96, 78, 77 ], [ 111, 90, 83, 98, 101, 72, 70 ], [ 78, 69, 84, 111, 106, 85, 85 ], [ 126, 132, 135, 129, 154, 105, 101 ], [ 119, 140, 135, 115, 142, 118, 124 ], [ 83, 109, 107, 124, 147, 108, 108 ], [ 111, 96, 106, 96, 117, 118, 115 ], [ 100, 85, 83, 76, 111, 96, 113 ], [ 57, 86, 82, 67, 103, 120, 84 ], [ 40, 39, 50, 56, 76, 80, 50 ] ] } ], "layout": { "height": 650, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Severe Collisions by Day of Week and Time of Day" }, "xaxis": { "tickfont": { "size": 12 }, "title": { "text": "Day of Week" }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Hour of Day" }, "type": "category" } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "collision_dow_hod = collision.groupby(['hour_of_day', 'day_of_week'])['case_id'].count().unstack()\n", "collision_dow_hod = collision_dow_hod[['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']]\n", "\n", "temp = collision[(collision.collision_severity=='Fatal') | (collision.collision_severity=='Severe')]\n", "collision_dow_hod_severe = temp.groupby(['hour_of_day', 'day_of_week'])['case_id'].count().unstack()\n", "collision_dow_hod_severe = collision_dow_hod_severe[['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']]\n", "\n", "data = [collision_dow_hod, collision_dow_hod_severe]\n", "title = [\n", " 'Collision by Day of Week and Time of Day', \n", " 'Severe Collisions by Day of Week and Time of Day'\n", "]\n", "chart_data = zip(data, title)\n", "\n", "for item in chart_data:\n", " \n", " fig = {\n", " \"data\": [{\"type\": \"heatmap\",\n", " \"x\": item[0].columns,\n", " \"y\": item[0].index,\n", " \"z\": item[0].values.tolist(),\n", " }],\n", " \"layout\": {\"title\": {\"text\": item[1], \"font_size\": 20},\n", " \"xaxis\": {\"title\": \"Day of Week\",\n", " \"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Hour of Day\", \n", " \"tickfont_size\": 12,\n", " \"type\": \"category\"},\n", " \"height\": 650\n", " }\n", " }\n", "\n", " pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Collisions by type" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
type_of_collisionBroadsideHead-OnHit ObjectNot StatedOtherOverturnedRear EndSideswipeVehicle/Pedestrian
accident_year
200910268283625585191201158862573842273
20109892284825674761177101825968712255
20119800279922872781139134805267782155
20129137270524403751500125793169812368
20138855265623103921421147716866442344
20149096265122694441519117758370272442
201510191320124866201518158838678752526
201610634337523997391237178877185102644
201710910358621857701250184865688002753
201810850342321947401297193836087232829
\n", "
" ], "text/plain": [ "type_of_collision Broadside Head-On Hit Object Not Stated Other \\\n", "accident_year \n", "2009 10268 2836 2558 519 1201 \n", "2010 9892 2848 2567 476 1177 \n", "2011 9800 2799 2287 278 1139 \n", "2012 9137 2705 2440 375 1500 \n", "2013 8855 2656 2310 392 1421 \n", "2014 9096 2651 2269 444 1519 \n", "2015 10191 3201 2486 620 1518 \n", "2016 10634 3375 2399 739 1237 \n", "2017 10910 3586 2185 770 1250 \n", "2018 10850 3423 2194 740 1297 \n", "\n", "type_of_collision Overturned Rear End Sideswipe Vehicle/Pedestrian \n", "accident_year \n", "2009 158 8625 7384 2273 \n", "2010 101 8259 6871 2255 \n", "2011 134 8052 6778 2155 \n", "2012 125 7931 6981 2368 \n", "2013 147 7168 6644 2344 \n", "2014 117 7583 7027 2442 \n", "2015 158 8386 7875 2526 \n", "2016 178 8771 8510 2644 \n", "2017 184 8656 8800 2753 \n", "2018 193 8360 8723 2829 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# by year\n", "t1 = collision.groupby(['accident_year', 'type_of_collision'])['case_id'].count().unstack()\n", "t1" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
weather_1-FogOtherRainingSnowingWind
type_of_collision
Broadside251.098.037.02574.05.056.0
Head-On127.065.018.0971.03.020.0
Hit Object86.095.023.01226.01.033.0
Not Stated368.03.05.0130.0NaN3.0
Other44.018.020.0258.01.06.0
Overturned4.02.01.061.0NaN1.0
Rear End290.098.040.02554.09.039.0
Sideswipe267.097.066.01767.02.024.0
Vehicle/Pedestrian87.036.015.0838.03.012.0
\n", "
" ], "text/plain": [ "weather_1 - Fog Other Raining Snowing Wind\n", "type_of_collision \n", "Broadside 251.0 98.0 37.0 2574.0 5.0 56.0\n", "Head-On 127.0 65.0 18.0 971.0 3.0 20.0\n", "Hit Object 86.0 95.0 23.0 1226.0 1.0 33.0\n", "Not Stated 368.0 3.0 5.0 130.0 NaN 3.0\n", "Other 44.0 18.0 20.0 258.0 1.0 6.0\n", "Overturned 4.0 2.0 1.0 61.0 NaN 1.0\n", "Rear End 290.0 98.0 40.0 2554.0 9.0 39.0\n", "Sideswipe 267.0 97.0 66.0 1767.0 2.0 24.0\n", "Vehicle/Pedestrian 87.0 36.0 15.0 838.0 3.0 12.0" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# by weather type\n", "t2 = collision.groupby(['type_of_collision', 'weather_1'])['case_id'].count().unstack()\n", "t2.drop(['Clear', 'Cloudy'], axis=1, inplace=True)\n", "t2" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
weather_1-FogOtherRainingSnowingWind
type_of_collision
Broadside8.03.01.085.00.02.0
Head-On11.05.01.081.00.02.0
Hit Object6.06.02.084.00.02.0
Not Stated72.01.01.026.0NaN1.0
Other13.05.06.074.00.02.0
Overturned6.03.01.088.0NaN1.0
Rear End10.03.01.084.00.01.0
Sideswipe12.04.03.079.00.01.0
Vehicle/Pedestrian9.04.02.085.00.01.0
\n", "
" ], "text/plain": [ "weather_1 - Fog Other Raining Snowing Wind\n", "type_of_collision \n", "Broadside 8.0 3.0 1.0 85.0 0.0 2.0\n", "Head-On 11.0 5.0 1.0 81.0 0.0 2.0\n", "Hit Object 6.0 6.0 2.0 84.0 0.0 2.0\n", "Not Stated 72.0 1.0 1.0 26.0 NaN 1.0\n", "Other 13.0 5.0 6.0 74.0 0.0 2.0\n", "Overturned 6.0 3.0 1.0 88.0 NaN 1.0\n", "Rear End 10.0 3.0 1.0 84.0 0.0 1.0\n", "Sideswipe 12.0 4.0 3.0 79.0 0.0 1.0\n", "Vehicle/Pedestrian 9.0 4.0 2.0 85.0 0.0 1.0" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# by weather type in terms of percentages\n", "t2.div(t2.sum(axis=1)/100, axis=0).round()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
collision_severityFatalSevere
type_of_collision
Broadside4433144
Head-On1441234
Hit Object205624
Not Stated16166
Other81497
Overturned1878
Rear End88750
Sideswipe68757
\n", "
" ], "text/plain": [ "collision_severity Fatal Severe\n", "type_of_collision \n", "Broadside 443 3144\n", "Head-On 144 1234\n", "Hit Object 205 624\n", "Not Stated 16 166\n", "Other 81 497\n", "Overturned 18 78\n", "Rear End 88 750\n", "Sideswipe 68 757" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# by severity\n", "t3 = collision.groupby(['type_of_collision', 'collision_severity'])['case_id'].count().unstack()\n", "t3.drop(['Property Damage', 'Other Visible Injuries', 'Complaint of Pain'], axis=1, inplace=True)\n", "t3.drop(['Vehicle/Pedestrian'], axis=0, inplace=True)\n", "t3" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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VVUNDpP8aVZusvfKWQO+Jrk2ANW1NnxN8t1y1mCq9wrgunaBTbLfvs/+b6O2z336lisUSfMy0UdfzhROndstJSIicrmu5u6kxlBiYyJpaWnuDkFERCzChhIbERERsQhPrbFRYiMiImJBews9805ZJTYiIiIWpBobERERsQwPzWuU2IiIiFiRWmxERETEMjqreFhERESsYp+Kh0VERMQy1BUlIiIiVuGheY0SGxEREStS8bB4jGtamaegzOFtp6qm1t1huHjbzfMPgd1uo9pM18bLTnWteeLxsttNc31sNnO9V3aTxePlZae21hzPW8yEx3wAACAASURBVLbbbaaJpal1DvVzdwhuocTGA/mZ6AnN2DDV0729TJTY1AIOk/3F5TDJE5oBDMwTT41hrs9xda254qkFvE3yRG0zxdLU9hVVuDsEt1BiIyIiYkHqihIRERHL8NC8RomNiIiIFXUKMU89ZXNSYiMiImJB+4tVYyMiIiIWoa4oERERsQwVD4uIiIhleGheo8RGRETEijoFa4A+ERERsYj9xyvdHYJbKLERERGxIHVFiYiIiGWoeFhEREQsw0PzGiU2IiIiVtRRxcOe65577mHYsGHcd999AHz88cdUVFRwzz33XHCbb775hnbt2tGhQ4fzlh06dIhXX32VU6dOUV1dTdeuXXnooYfYu3cvRUVF9OnT5yfjudT1zjVlyhRGjRpFVFTUZW0nIiLWc0DFw57Lx8eHr7/+muHDhxMUFHRJ2+Tm5nL99dfXm9gsXryY2267jb59+wKwf/9+4HTCsmvXrktKbC5lPRERkQuxqyvKc9ntdpKTk/n000+599576yw7evQof/3rXykpKSEoKIi0tDQKCwv59ttv2bZtG3//+9+ZMGECbdu2dW1TXFxMaGioa7pjx45UV1fz3nvv4XQ62b59O7/+9a8JDw/njTfewOl04nA4SEtLIzw8/Lz1+vTpw+uvv86BAweoqanh7rvvpm/fvjidThYsWEB+fj7t27fH6XQ22zUTERFzU/Gwh/uP//gPMjIyuOOOO+rMX7RoEYMGDWLw4MGsWLGC119/nYkTJ5KYmMj1119P//79z9vXbbfdxtSpU7nuuuvo2bMnN910EwEBAYwYMYJdu3aRmpoKQFlZGVOnTsXLy4tNmzbxzjvvkJ6eft5677zzDj169CAtLY1Tp07xxBNP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mOba/H+miccwUSxNyzx/pjUvJTYiIiIWFNhEd1uZnRIbERERCzrlNFkrYjPx1JYqERERsSC12IiIiFiQ3TNrh5XYiIiIWJGt0c/3vjopsREREbGgQIdnVpsosREREbGgU1WeWTysxEZERMSC1BUlIiIiluGhAw8rsREREbEiu1psRERExCoCVDwsIiIiVlGm4mERERGxCtXYyAWNGDGCjh07UltbS1hYGI8++igBAQFX/DiZmZls27YNf39/AHx9fXnuuecuefslS5bg5+fH7bfffsVjExGRq4vuipILcjgczJw5E4CXXnqJL774gjvvvLPR+62trcVur9sHOmrUKPr379/ofYuIiGdTjY1cktjYWPbv3++a/vjjj1m7di1VVVX069ePe+65B4AXX3yRwsJCqqqqGDp0KMnJycDpxGXYsGFs3LiR++67j65du170mEuWLOHYsWMUFBRw7Ngxhg4dytChQwH44IMPWLVqFW3atKFly5ZERkY2wVmLiMjVplw1NnIxtbW1bNmyhZtvvhmAjRs3cvjwYf7rv/4LwzB48cUX2bZtG926dSMtLY3AwECcTiePP/44N9xwAy1btqSyspKIiAhGjBhR7zHeeust/v73vwMQERHBY489BsChQ4d45plnKC8vZ+zYsQwZMoT9+/fzr3/9ixdffJGamhomTZp0wcQmOzub7OxsAE4ap2MRERHrUleUXJDT6SQjI4OjR48SGRlJz549gdOJzaZNm5g4cSIAFRUVHDlyhG7durF8+XJyc3MBOHbsGIcPH6Zly5bY7faf7Gq6UFdUnz598PHxwcfHh1atWnHixAm+//57+vXrh6+vLwCJiYkX3G9ycrKr1WjIc9kNuxAiInLVUPGwXNCZGpuysjJeeOEFPv/8c1dX0PDhw/nFL35RZ/2tW7eyefNmnnvuOXx9fZkyZQpVVVUA+Pj4nFdXcym8vf/9VtntdmpqagCweeonV0REfpKntth4ZmVRA/n7+5OSksKyZcuorq6mV69efPnll1RUVABQVFTEiRMnKCsrIyAgAF9fXw4ePMiOHTuaJJ64uDi++eYbnE4n5eXlfPfdd01yHBERufr4+9ga9bpaqcXmMnXp0oVOnTqRk5PDoEGDOHjwIE8++SQAfn5+PProoyQkJPDPf/6T9PR02rVrR0xMzCXv/+waG4Dnn3/+gutGRkYy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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGHCAYAAACu1mg/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1yUZf7/8dcMZwQUFDQVDwgonkJEUys0ZW1X3XK/aeauWCx+rR9urSlo5zR1N/O0uslWZrW2tZudTDvZkqkZmmyuWlAhnvGwKOCRw3C4f3/4dVYSFYUB5573s8c8cu657/v63DPD8OG6PnNdFsMwDERERESciLWxAxARERG5WkpgRERExOkogRERERGnowRGREREnI4SGBEREXE6SmBERETE6SiBEbnOdOjQgdmzZ9vvDxo0iAkTJtjv33fffcTHx1/z+VzVI488Qvfu3Rs7jAbTqlUr5s+f39hhiDiMEhiRelJQUMC0adPo3Lkz3t7ehISEEBcXx4oVK6ioqKi3dhYvXszbb79d6/0zMzN5+OGH6639mtx3331YLJbL3tavX+/QGBrDqVOncHd359VXX622/Q9/+AMWi6XG7X5+fpSXl9dbDE888QRdunSpt/OJOAslMCL1IC8vj5iYGN59912eeuoptm3bxldffUVSUhLz58/nu+++q7e2mjZtSmBgYK33Dw4OpkmTJvXWfk0WL17MkSNH7LcOHTowderUatsGDBjg0BgaQ0BAAH369OHzzz+vtn3dunW0a9euxu1xcXF4eHg0ZJj1ymazNXYIIoASGJF68f/+3/+jrKyMbdu28Zvf/IauXbsSERHBvffeyzfffENERAQA5eXlPPLII7Rp0wZPT0+6du3Km2++eVVt/XQIKSsri9tvv51mzZrRpEkToqKieP311+2P/3QI6fTp09x///0EBwfj7e1NbGwsn332mf3xffv2YbFYWLlyJb/85S/x9fUlLCys2jl/qmnTprRq1cp+c3Nzw8/Pr9q23bt3Y7FY2LZtW7Vj165di7u7O3l5eZSWlmKxWEhLS+POO+/E19eXtm3b8vzzz1c75tSpU0yaNIkbbriBJk2aEBsby5o1a2r1/L322mt06NABb29vfv7zn3PgwAEAvv/++yvGV5MhQ4ZUS1TKysrIyMjgySefrHH7ha/d4cOHGTduHC1atCAgIIBbb72VjIwM++Pl5eUkJSURFhaGj48PnTp14umnn7b34LzwwgvMmTOHH3/80d7T9eyzz1Zrc9KkSTRr1oxWrVrx6KOPUlVVZX/cMAwWLVpEZGQk3t7edO7cmeeee47Kykr7Pq1atWLmzJlMnDiRoKAghgwZUqvnWcThDBGpk4KCAsNqtRqzZs264r4pKSlGUFCQsXLlSuPHH3805syZY1gsFiM9Pd2+T/v27auda+DAgUZSUpL9/r333msMGTLEfr9Hjx7G2LFjjaysLGP37t3Gxx9/bKxZs+aS5xs1apTRvn1749NPPzWys7ONhx56yPDw8DC+//57wzAMY+/evQZgdOzY0XjrrbeMXbt2GdOnTzfc3NyMnJycWj0nnTp1Mp5++umLtsfFxRkPPPBAtW2jRo0yRowYYRiGYZSUlBiA0bx5cyMtLc348ccfjXnz5hlWq9X46KOPDMMwjMrKSmPAgAHGkCFDjK+++srIzc01nn/+ecPd3d348ssvLxnT9OnTjSZNmhhxcXHGN998Y2zZssXo1auX0adPn1rHV5N169YZgJGVlWUYhmF88cUXRqtWrQybzWY0adKk2nbA2L59u2EYhnH69GkjPDzcuOeee4xvvvnGyMnJMZ566inD29vbyM3NtT8fTz31lLF161Zj7969xnvvvWe0aNHC+MMf/mAYhmEUFxcbkydPNsLDw40jR44YR44cMc6cOWMYhmG0bNnSCAwMNObPn2/k5OQYK1asMKxWq/Hmm29We046duxofPDBB8aePXuM1atXGzfccIMxe/Zs+z4tW7Y0/P39jdmzZxs5OTlGdnb2JZ8LkYakBEakjr7++msDMN59993L7nf27FnD09PTWLp0abXtI0eONG677Tb7/atNYAICAoxXX331ku1eeL5du3YZgD0ZOK9Xr15GYmKiYRj/TWAWLFhgf7y8vNxo0qSJ8cILL1z2Gs+7VALzxhtvGAEBAcbZs2cNwzCM/Px8w9PT01i9erVhGP9NYCZMmFDtuF/96lf2a/7kk08MX19f+y/q88aOHWuMGTPmkjFNnz7dsFqtxv79++3bduzYYQD2xOdK8dWktLTU8PHxMZYsWWIYhmE8+eSTxtixYw3DMIzbb7+92vbg4GCjqqrKMAzD+Mtf/mJ07NjRqKysrHa+/v37G9OnT79ke3/4wx+M7t272+8//vjjRufOnS/ar2XLlsbo0aOrbRs4cKBx3333GYZhGCdOnDA8PT2NL774oto+L774otGyZctq5xk2bNgl4xFpLBpCEqkj4//WQ7VYLJfdLzc3F5vNRlxcXLXtAwcOJCsr65rbT0lJYcKECQwaNIgZM2ZcNARyoezsbICLYoiLi7sohujoaPu/3d3dadmyJf/5z3+uOU6Au+66C09PT9566y0A/vrXvxIcHMywYcOq7de/f/9q92+++WZ77JmZmZSUlNCyZUv8/Pzst3feeYddu3Zdtv02bdrQrl07+/2ePXvi5+dnP3dt47uQl5cXN998M+np6QB8/vnnDB48GIDBgwdX2z5kyBD7+yQzM5MDBw4QEBBQ7ToyMzOrXUdaWhp9+vQhJCQEPz8/Zs6cyf79+y97nedd+Bqev/7zr+HOnTux2WwMHz68Wvu///3v+c9//sPp06ftx/Xt27dW7Yk0JCUwInUUERGB1WqtdRLy00THMIwrJj+X8+STT5KTk8Pdd9/Nd999R79+/XjiiSeu6hw1xeDp6VntvsViqVY/cS28vLy47777WLZsGQDLly/nt7/9LW5ubleM77yqqipCQkLYvn17tVt2djarVq1qlPji4+PZsGEDJ0+eJDMz057A3HbbbdW2X1g/UlVVRXR09EXX8f3339trfl5//XWmTJlCQkICn3zyCf/+97+ZPn16rQtpL/canv//6tWrq7X/7bffsmvXrmqF344uAhe5FkpgROooKCiIX/ziFzz//POcPHnyosfLy8s5e/Ys4eHheHl5sWHDhmqPb9y4kW7dutUphrCwMJKTk3nnnXd45pln+Mtf/lLjfufb2bhxY7XtX375ZZ1jqK2JEyeyZcsWXnjhBXJyckhKSrpony1btlS7v3nzZqKiogCIjY0lPz8fwzAIDw+vdgsNDb1s24cOHeLgwYP2+99++y1nzpyxn7u28f3UkCFDOHnyJIsWLaJ169aEhYUBEBMTA8CiRYsoLy+vVsAbGxvLrl27CAoKuug6brjhBuDc63TTTTfx0EMP0bt3byIiIti7d2+1tj09PasV3dZWz5498fDwYO/evRe1Hx4ejtWqXw9yfXNv7ABEzCAtLY2bb76Z3r1788wzzxAdHY2npydbtmxh3rx5/PWvfyU6OpqHHnqIJ598kuDgYKKjo3n77bf54IMP+Oc//3lN7Z45c4bp06dz11130bFjR06cOMGnn35K165da9y/U6dOjB49muTkZF588UXat2/PX/7yF7777rur/jbUtYqIiOC2227j97//PUOHDqV9+/YX7fPee+/Ru3dvBg8ezJo1a1i1ahUffPABAL/4xS+45ZZbuOOOO5g7dy49evSgoKCATZs20axZM+67775Ltu3j48O9997L/PnzqaioIDk5mdjYWG699dariu+nYmJiCAwMZOHChYwaNcq+3c3Njbi4OBYuXEhYWBgdOnSwP3bvvfeyZMkShg8fzqxZswgPD+fo0aOkp6fTq1cvhg8fTufOnfnHP/7BRx99ROfOnVm1ahUffvhhtbY7duzIwYMH+de//kWHDh1o0qQJPj4+V4w5MDCQ1NRUUlJSqKioYPDgwdhsNnbu3ElWVhZz5sy54jlEGpNSbJF60K5dO7Zt28add97JjBkziImJYcCAASxbtozU1FT7DLBz5szhf//3f5k8eTLdunXjb3/7G3/729+u+aup7u7uFBUVkZSURFRUFLfffjstW7a8bDLy8ssvc/vttzNu3DhuvPFGvvrqKz788MMGnQxt4sSJ2Gw2Jk6cWOPjM2fOZM2aNdx4440sWLCAhQsXMmLECACsViuffPIJw4cP58EHH6Rz586MGDGCzz77zN7zcSkdOnRg3LhxjBw5kri4OIKCgnjnnXeuOr6fslqtDBo0iNOnT9uHj8677bbbOH369EWzJ/v5+bFp0ya6d+9OQkICkZGRjBo1iu3bt9vrdB588EFGjx7NuHHj6N27Nzt37rxoeHD06NHccccdDB06lODgYBYvXlyrmOHc+/HZZ58lLS2NHj16EBcXx5///Gc6duxY63OINBaLceHgsohIA1i4cCHz58/nwIEDuLv/tyO4tLQUHx8f3n777Wo9GddLfCJy/dBPpog0mNOnT5OTk8OiRYt46KGHrrvk4HqPT0T+S0NIItJg/vd//5cBAwbQu3dvh6/PdC2u9/hE5L80hCQiIiJORz0wIiIi4nSUwIiIiIjTUYWaCzp6sqyxQ2gwXu5uuF37JLdOxc3NigXXGREefN98MOo2M7CzePGZ+4jsENLYYTSYSsMCLlTd4Od9+Zmer1VQ/7rVcRVuXlRPkTiGEhgRERETiuzQqrFDcCglMCIiIiaUsz+/sUNwKCUwIiIiZlSHRWKdgRIY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fsX2lcCIiIiY0O58x05k9+OPP7Jx40batWtHamoqAGPHjmXkyJEsWrSIdevW0aJFC6ZMmQJAaGgo/fv3Z8qUKVitVpKSkrBazw0ETZgwgbS0NGw2G9HR0Vcs4AWwGNc6+CRO61SJaxQ+gmvVwLi5WV2qvunFrw8CrlEXclfPNgT7us7fmwaW85W8LsHXQbVcnad+VKfjf1wwvJ4icQzX+YkQERFxIWb/VqISGBERERNSAiMiIiJOp1NIk8YOwaGUwIiIiJjQ7mNajVpEREScjIaQRERExOkogRERERGn0ynk0tP6m4ESGBERERPac6y4sUNwKCUwIiIiJmT2ISQt5liDhISEavfXr1/P8uXLAfjss8/YsGGDffullvw2DIN3332Xhx56iN///vfMnDmTgwcPXrKN89566y127tx51THn5+ezadOmqz5ORETMyWKp2+16px6YqzR06FD7v9evX09oaGiNq2auXbuWnJwc5s2bh5eXFzt27OC5555jwYIFeHp6XvL8Y8aMuaa4jh07xqZNm7jllluu6XgRETEXs/fAKIG5SitXrsTb25uQkBB2797NkiVL8PT0ZM6cOdUSkw8++ICnn34aLy8vAG688UYiIyPZtGkTgwcPBmDFihVkZWXRpEkTJk+eTEBAAEuXLqV3797069ePPXv28Ne//pXS0lICAgJITk4mMDCQo0ePsmzZMk6dOoXVauXhhx/mzTffJC8vj9TUVAYOHFhtZVAREXE9YcEq4nU5NpvNvrImwJkzZ4iNja22T79+/fj0009JSEigU6dO1R4rLi6mtLSUVq1aVdveqVMn+zBSWVkZHTt2ZPz48bzzzju8/fbbJCUl2fetqKjglVdeYdq0aQQEBJCRkcHf//53kpOTWbJkCSNHjqRv377YbDYMw+DXv/41a9as4ZFHHqnxmtLT00lPTwfgwSnT8ff3v/YnSERErnt7j6uI1+V4enoyb948+/3169eze/fuOp/XMAx7l57FYmHAgAEA3HrrrcyfP7/avocPH+bgwYPMmjULgKqqKgIDAykpKaGwsJC+ffvaY62N+Ph44uPjAddajVpExFVZrRpCkqvk6+uLt7c3//nPf2jZsqV9+969e+natWuNx9Q0Vtm2bVvmzJlTbVtxsbkzahERqR8mL4HRt5Dqwtvbm5KSkhof++Uvf8mrr76KzWYDYOfOnfzwww/2IlvDMNiyZQsAmzZtokuXLtWOb926NadOnSInJwc4N6R08OBBfH19ad68OVu3bgWgvLycsrIyfHx8LhmLiIi4HovFUqfb9U49MHUwaNAgli1bVmMR7y9+8QvOnj3L1KlTsVqtNGvWjGnTptn38fLy4uDBg0yfPh1fX18efvjhaud2d3dn6tSpvPrqqxQXF1NZWcmwYcMIDQ3ld7/7HS+99BIrV67Ezc2NKVOm0K5dO9zc3FTEKyIiAHRs4dPYITiUxTAMo7GDkP969tlnGTFiBN27d3dYG65UA2NgweIib3E3NysWXONaASn4CmYAACAASURBVF78+iBQ1dhhNIi7erYh2Nd1/t40sICL/NwC+Hq5OeS8fZ75vE7HZz41pJ4icQzX+YlwAmlpadhstouGk0RERK6WMwwD1YUSmOtIcnJyY4cgIiImYUEJjIiIiDgZs9fAKIERERExoX0F5v5mqhIYERERE1INjIiIiDgdk+cvSmBERETMSD0wIiIi4nQ6qIhXREREnM1+FfGKiIiI09EQkoiIiDgbk+cvSmBERETMSEW8YjqFZ11nMcfmfp64uVkbO4wGce6zytwfWBdKiGlLUYmtscNoEL7ujlns73plsVjM333QADo0927sEBxKCYwLsrjICr7nGC60QrMVDNd5bd2tFoKbeDR2GA3EwKhwjWQNwOLu1dghNDDHJKj7C0sdct7rhRIYERERE9IQkoiIiDgdk+cvSmBERETMqH2QJrITERERJ3OgSDUwIiIi4mQ0hCQiIiJOR0W8IiIi4nRMnr8ogRERETGj9oGayE5ERESczIETZY0dgkMpgRERETEhDSGJiIiI01ERr4iIiDgdk+cvSmBERETMqJ2KeM3v7rvvZsSIEYwfPx6A1atXU1payt13333JY7Zu3Urr1q1p27btRY8dPnyYl156ibNnz1JRUUGXLl24//772bdvH4WFhcTExFw2ntru91MzZswgISGBTp06XdVxIiJiPgdVxGt+Hh4efP3114wcOZKAgIBaHZOZmUnv3r1rTGBeffVVhg8fTp8+fQA4cOAAcC4x2b17d60SmNrsJyIicilWDSGZn9VqJT4+no8++oixY8dWe+zYsWP85S9/4dSpUwQEBJCcnExBQQH/+te/yM7O5t1332Xq1Km0atXKfkxRURHNmze332/Xrh0VFRW8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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAGHCAYAAAA+xRHwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1yUdf7//8cMDiAnBQRNwTMkeDY0tRLry7ZlVnbSLNFQP9ribgeFNDtp6ZbndMMOplaWbVpqumW1rKkZWqR5RMOz4mFRIBE5DIfr94c/ZyNxPDDj4PS8721ut+aa67rerxlY5un7/ZprTIZhGIiIiIhcgNnVBYiIiEjNprAgIiIidiksiIiIiF0KCyIiImKXwoKIiIjYpbAgIiIidiksyB9e06ZNmTBhgu1+z549GTp0qO3+Y489Rlxc3BWf749qzJgxtGnTxtVluERxcTEmk4lPP/3U1aWIOITCglyzcnJyeOaZZ7j++uvx9vYmNDSUHj168MEHH1BWVuawcWbOnMnixYsvef/09HSefvpph41flcceewyTyWT3tnr1aqfW4EpLliyhe/fuBAYG4uvrS0REBPHx8RQWFrq6NAC8vb05duwYd999NwBlZWWYTCb++c9/urgykStTy9UFiFyJrKwsbrrpJmrVqsXLL79Mx44dsVgspKWlMXXqVNq1a0eHDh0cMladOnUua/+QkBCHjGvPzJkzee2112z3u3XrxgMPPEBSUpJtW1BQkNPrcIWVK1fSt29fxo8fz9y5c7FYLOzevZulS5dSWlrq6vKwWq14enrSoEEDV5ci4jCaWZBr0l/+8hdKSkrYtGkTjz76KNHR0URERDBo0CA2btxIREQEAKWlpYwZM4ZGjRrh6elJdHQ0CxcuvKyxfr8MsWPHDv785z9Tt25dfH19iYqKYsGCBbbHf78Mcfr0aYYPH05ISAje3t7ExMTwzTff2B4/cOAAJpOJRYsWcffdd+Pj40Pz5s0rnfP36tSpQ4MGDWw3Dw8P/Pz8Km3bu3cvJpOJTZs2VTr266+/platWmRlZdmmy2fPns29996Lj48PYWFhvPHGG5WOyc/PZ8SIEVx33XX4+voSExPDihUrLun1e++992jatCne3t7ccccdHDp0CICdO3detL6qfP7553Tt2pXnnnuOqKgoWrZsyZ133sk777xTKdjt2rWLe++9lzp16hAUFMQdd9xBRkYGcHZWysvLiyVLllQ694EDBzCbzbZZGavVynPPPUeTJk2oXbs2bdq0Yf78+bb9z71+b775Jn379sXf35/BgweftwwRFhYGQP/+/TGZTHh7e5OXl0ft2rXPq+GXX37BZDKxYcOGS3p9Ra4GhQW55uTm5vLll1/y17/+tcp/9VssFnx9fQEYO3Ysc+bM4fXXX2f79u0MGDCAAQMG8J///OeKx+/fvz/BwcGkpaWxbds2pk+fTmBg4AX3Hzx4MF9//TUffvghP//8MzfddBO9e/dm165dlfYbM2YM8fHxbN26lb59+5KQkMDu3buvuM6oqCh69OjBnDlzKm1/9913ufPOO21vYAAvvvgid9xxB5s3b+app57iySef5MsvvwSgoqKCO++8k19++YXPPvuMrVu3kpCQwP3338+6devs1nDgwAHmz5/PkiVLWLNmDdnZ2Tz44IOXXd9vXXfddezcuZOff/75guMeOXKEm2++maZNm/L999+TlpZGkyZNuPXWW8nLyyM4OJhevXrx/vvvVzruww8/pHHjxsTGxgIwcOBAVq5cybx588jIyGDs2LE88cQTfPTRR5WOe/HFF7ntttvYvHkz48aNO6+ec7W+9dZbHDt2jIMHDxIYGEjfvn2rfP5t2rSha9euF3x+IledIXKN+eGHHwzA+Oyzz+zud+bMGcPT09NISUmptL1Pnz7GrbfearvfpEkT45VXXrHdj42NNYYMGWK7P2jQIOP//b//Z7sfEBBgzJ8//4Lj/vZ8u3fvNgDjiy++qLRPx44djYSEBMMwDGP//v0GYEybNs32eGlpqeHr62u89dZbdp/jOS1atDBeeuml87Z/9NFHRkBAgHHmzBnDMAwjOzvb8PT0NJYvX24YhmEUFRUZgDF06NBKx913332257xy5UrDx8fHKCgoqLRP//79jX79+l2wptGjRxtms9k4ePCgbduWLVsMwPjuu+8uqb6q5OfnG3fccYcBGA0bNjT69Olj/OMf/zDy8vIqjR0bG1vpuPLycqNRo0bGm2++aRiGYSxdutSwWCzGiRMnbPtERkYazz//vGEYhrFz504DMPbt21fpPM8++6xx4403Gobxv9cvMTGx0j7nti9evNgwjLM/T8D4+OOPK+33/fffV3qNrFarERoaasyaNeuCz1/EFTSzINcc4///7jOTyWR3vz179mC1WunRo0el7bGxsezYseOKx09KSmLo0KH07NmTcePGnTeN/lvnpr1/X0OPHj3Oq+G3PRa1atWifv36/Pe//73iOgEeeOABPD09+eSTTwB4//33CQkJoVevXpX269atW6X7N910k6329PR0ioqKqF+/Pn5+frbbp59+etGZj0aNGtG4cWPb/Xbt2uHn52c796XW91v+/v6sXLmSvXv38sorr1C/fn1efvllrr/+evbs2WOr+fvvv69Ub0BAAMeOHbPVfNdddxEQEMDHH38MwA8//EBmZiYDBw60nQOgbdu2lc4zffr08553ly5d7L4OF9K9e3dat27N3LlzgbNLLPn5+QwYMOCKzifiLAoLcs2JiIjAbDZf8hv+70OFYRgXDRr2vPDCC2RmZtK3b1+2b99O165def755y/rHFXV4OnpWem+yWSioqLiiusE8PLy4rHHHrNNdc+dO5fBgwfj4eFx0frOqaioIDQ0lM2bN1e6ZWRksGzZMpfUB9C8eXMGDx7MW2+9RUZGBlarlWnTptlq7tWr13k1//LLLzz77LPA2eWq/v3788EHHwDwwQcf0K1bN1u/S0VFBSaTifT09Ern2L59uy1InHNu2etKDB8+nHnz5lFeXs67777LQw89ZHdZS8QVFBbkmhMUFMSdd97JG2+8walTp857vLS0lDNnztCyZUu8vLxYs2ZNpcfXrl1L69atq1VD8+bNSUxM5NNPP+Xll1/mzTffrHK/c+OsXbu20vbvvvuu2jVcqmHDhrFhwwbeeustMjMzGTJkyHn7/L6Zbv369URFRQEQExNDdnY2hmHQsmXLSrfw8HC7Yx85coTDhw/b7m/bto2CggLbuS+1voupV68e9erVIzs721bz9u3bady48Xk116tXz3bcwIED+emnn9i6dSuffPIJgwYNsj0WExODYRgcOXLkvHM0b978surz8PDAw8OD8vLy8x4bMGAAubm5vP322/z73//m//7v/y77+Ys4m8KCXJNmz56NxWLhhhtuYOHChWRkZLBnzx4+/PBDYmJi2L17Nz4+PjzxxBO88MILLF68mN27d/P3v/+dzz//nLFjx17RuAUFBYwYMYJVq1axf/9+fv75Z7766iuio6Or3L9FixY89NBDJCYm8vXXX7Nr1y6efPJJtm/fTnJycnVegksWERHBrbfeypNPPsntt99OkyZNzttnyZIlvP322+zevZvp06ezbNky27Ui7rzzTm6++Wbuueceli9fzv79+/npp594/fXXee+99+yOXbt2bQYNGsSmTZv48ccfSUhIICYmhltuueWy6vutsWPHMnr0aFavXs3+/fvZsmULTz75JHv27OG+++4D4KmnnqKgoID777+f77//ngMHDvDdd98xZswYfvrpJ9u5OnfuTHR0NIMGDaKgoIB+/frZHmvdujWPPPIIjz32GAsXLmTv3r1s3ryZd9991zaDcalMJhNNmjRh1apVHDt2jJycHNtjderU4eGHH+bpp5/m+uuvr/TaiNQYrmyYEKmO7OxsY+TIkUZERITh5eVlhISEGD169DAWLFhglJaWGoZxtmFs9OjRRsOGDQ2LxWJERUUZH330UaXzXE6DY1FRkdG/f3+jadOmtjH79u1rHDp06ILnO3XqlDFs2DCjXr16hqenp3HDDTcYX3/9te3xcw2O55r+zrlQ02JVLrbvP//5TwMwlixZUmn7uUa8N954w7jrrruM2rVrGw0bNjRef/31SvsVFBQYo0aNMho3bmxYLBajfv36xp133mmsWbPmgmOOHj3aaN26tTF37lwjPDzc8PLyMv70pz8ZBw4cuOT6qvLNN98YDzzwgNG4cWPDy8vLqFevnnHzzTcb//znPyvtt3fvXqNfv35GcHCw4enpaTRp0sSIj4+v9LMyDMN47bXXDMB48MEHzxurtLTUmDBhghEREWFYLBajXr16Rs+ePY2lS5dWev3ONTKeU9X25cuXG5GRkYbFYjG8vLwq7b9hwwYDMKZPn37R5y/iCibD+M3ipIi4penTpzN16lQOHTpErVr/uxZbcXExtWvXZvHixbaPNNak+v4olixZwqOPPkpWVhbBwcGuLkfkPH+8/1eK/IGcPn2azMxMZsyYwRNPPFHj3ohren3OVlhYyIEDB5gwYQKDBg1SUJAaSz0LIm7s//7v/+jevTs33HCD07+v4krU9Pqc7eWXX6Z9+/b4+vry97//3dXliFyQliFERETELs0siIiIiF0KCyIiImLXH6ubyAUO5RS6ugSRars/cSa1rvyilyI1xoZ/Puu0cwd1q17fTe76GQ6qxPEUFkRERBwgsmkDV5fgNAoLIiIiDpB5MNvVJTiNwoKIiIgjVOML6mo6hQUR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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "title = ['Collision Type by Year', 'Collision Type by Weather', 'Collision Type by Severity']\n", "ylabel = ['Year', 'Weather', 'Severity']\n", "t_data = [t1.T, t2, t3]\n", "\n", "for t in zip(title, ylabel, t_data):\n", " plt.figure(figsize = (8,6))\n", " sns.heatmap(t[2], cmap='Blues', alpha=0.8)\n", " plt.title(t[0])\n", " plt.xlabel(' ')\n", " plt.ylabel(' ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's look at alcohol use a bit more \n", "- remember the interesting bright spots (severe collisions) we saw earlier on Friday nights and early Sunday mornings?\n", "\n", "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Alcohol use among recorded incidents" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
alcohol_involvedNone ReportedAlcohol Involved
day_of_week
Monday452113843
Tuesday468963326
Wednesday468103532
Thursday472334006
Friday510015289
Saturday443357158
Sunday391997649
\n", "
" ], "text/plain": [ "alcohol_involved None Reported Alcohol Involved\n", "day_of_week \n", "Monday 45211 3843\n", "Tuesday 46896 3326\n", "Wednesday 46810 3532\n", "Thursday 47233 4006\n", "Friday 51001 5289\n", "Saturday 44335 7158\n", "Sunday 39199 7649" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "collision.alcohol_involved.replace(np.nan, 'N', inplace=True) # values for [alcohol_used] are either 'Y' or blank\n", "al_dow = collision.groupby(['day_of_week', 'alcohol_involved'])['case_id'].count().unstack()\n", "al_dow = al_dow.reindex(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'])\n", "al_dow.rename(columns={'Y': 'Alcohol Involved', 'N': 'None Reported',}, inplace=True)\n", "al_dow" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Alcohol use among recorded incidents in percentage terms" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
alcohol_involvedNone ReportedAlcohol Involved
day_of_week
Monday92.08.0
Tuesday93.07.0
Wednesday93.07.0
Thursday92.08.0
Friday91.09.0
Saturday86.014.0
Sunday84.016.0
\n", "
" ], "text/plain": [ "alcohol_involved None Reported Alcohol Involved\n", "day_of_week \n", "Monday 92.0 8.0\n", "Tuesday 93.0 7.0\n", "Wednesday 93.0 7.0\n", "Thursday 92.0 8.0\n", "Friday 91.0 9.0\n", "Saturday 86.0 14.0\n", "Sunday 84.0 16.0" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "al_dow_pct = al_dow.div(al_dow.sum(axis=1)/100, axis=0).round()\n", "al_dow_pct" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAGoCAYAAABbkkSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdfXzO9f////uxYyeHYU62odbanCwt5U1zfjJkijeqr7c5aUpESkQhnVB0yju9847IaU5KCIVOnCySFhI5V84aI+fCm9lm2/P3h5/Xx2HDgdccm27Xy2WXvE6O5+txPI5ja/e9Xq/n4TDGGAEAAAAArpuPtwsAAAAAgJsFAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwALyocjISL355pvWcsOGDdWlSxdr+fHHH1dcXNw1j+ctFz+Pv5vMzEx17txZwcHBcjgc+v77771dUg7JyclyOBz68ccfvV1KDt9//70cDof27t1r25hX+72U1+PkhUmTJsnX19fbZQDA3wYBC7DR0aNH9cILL6hixYpyuVwqVaqUYmNjNWXKFGVmZtp2nP/+97/6/PPPPd5/9erVeu6552w7fn4zaNAgORwOORwOOZ1OFS9eXDExMXrhhReUkpLi7fIss2fP1rRp0zR//nzt379fderUybFP/fr11bZtW7d1a9eulcPhuOT6pUuX5mndnho1apSioqLkcrl0++23q1evXlc9Ro8ePeR0OvXBBx/kQYXelV/+0HEz2Lt3b779IwUAELAAm+zdu1f33nuvZs+erVdffVVr165VUlKSnnjiCQ0bNkybNm2y7VjFihVTiRIlPN4/NDRUhQsXtu34+VFkZKT279+vvXv3atWqVerXr5+WLVumSpUq6aeffvJ2eZKk7du3KywsTHXq1FGZMmXk7++fY5+4uDgtWbJEF34G/JIlS3T77bfnur5QoUK5BrUbbcWKFXrmmWf06KOPauvWrZozZ47uuuuuqxojNTVVn3zyiV5++WWNHTs2jyoFACBvEbAAmzz99NNKT0/X2rVrlZCQoLvuuktRUVHq2LGj1qxZo6ioKEnS2bNn9eKLLyosLEz+/v666667NG3atKs61sWXI23evFkPPPCAihcvrsKFCys6OlpTp061tl/8l/P//e9/6tatm0JDQ+VyuVStWjUtWrTI2n7+MrGZM2eqZcuWCgwMVLly5dzGlKTx48crOjpaLpdLwcHBio2NveLlW9nZ2XrxxRcVEhKioKAgdenSRWfOnJEkffzxxypevLhSU1PdHjN48GCVLVvWLVxczOl0qkyZMrrllltUsWJFtWvXTj/++KMqVaqkjh07Kjs7W5L0xx9/qFWrVrr11lsVGBioe+65x+15XWsNxhgNGzZM5cqVk7+/v8qXL6/hw4db2xs2bKiBAwdq165dcjgcioyMzHWcxo0b68iRI9qwYYO1bsmSJXr22WeVmZmZY329evUUEBAg6dwliIMGDVLZsmXlcrlUqVIljRkzxm38U6dOqVevXgoLC1NgYKCqVq2qOXPmXLKvkjR06FCVKFHismcLnE6nJOmpp55S2bJlVa1aNXXr1u2y415sxowZKleunAYMGKA///zTo2C8c+dOxcfHq2TJkgoMDFTlypX11VdfWdu/+eYbxcTEKCAgQKVKlVL37t11+vTpHOOMHTtWERERCgoK0kMPPaTDhw+7bZ88ebLuuusuBQQE6LbbbtOAAQOu+6x0ZGSkXn31VfXq1UslS5ZU6dKl1bdvX2VlZUmSxo0bp2LFilnfH+cNHTpUYWFh1nt65cqVio2NVaFChVSiRAk98sgjOnToUK7HPHnypAIDA3P8zNm/f7+cTqcWLFggybP3ksPh0IgRI9S2bVsVLlxYt99+u2bNmqUTJ04oISFBRYsWVbly5TR79my3xx08eFCPP/64QkNDVbRoUdWtW1c//PCDtf38paCLFy9WbGysAgMDddddd2nhwoXWPuHh4ZKkRo0aXfb7CQC8wgC4bkePHjU+Pj7mjTfeuOK+ffv2NSVLljQzZ840v//+u3nrrbeMw+EwiYmJ1j4RERFuYzVo0MA88cQT1nLHjh1N48aNreV77rnHtG/f3mzevNns3LnTfPPNN2b+/PmXHK9169YmIiLCLFiwwGzZssU8++yzxs/Pz2zdutUYY8wff/xhJJmyZcuaGTNmmO3bt5v+/fsbp9Nptm3bZowx5pdffjFOp9NMnjzZJCcnmw0bNphx48aZlJSUSz73Bg0amKJFi5ouXbqYLVu2mHnz5pnQ0FDTs2dPY4wxqamppnjx4mbSpEnWY7KyskxERIR58803Lznua6+9ZsqXL5/rts8//9xIMqtXrzbGGLNhwwYzcuRIs379erNjxw7zwQcfGKfTaZYsWXJdNYwcOdK4XC4zZswYs23bNjN69GgTEBBgxo8fb4w59x7p06ePiYyMNPv37zeHDh3KdZyMjAxTpEgR89577xljjDl79qwpUqSIWbdunXnwwQdzrB8yZIj12I4dO5p77rnHLFy40OzatctMnz7dFCtWzKohOzvbNGzY0DRo0MAsX77c7Ny504wZM8b4+flZ77/zr/3y5ctNVlaW6dGjh7nlllvM+vXrL/ncz/ftjjvuMC1atDBpaWmX3fdSatasaf773/8aY4x5+umnTceOHd22L1261Eiy3mP79+83pUqVMo0bNzbLly83O3bsMF9++aX5+uuvjTHGrF+/3jidTtO7d2+zZcsW880335jw8HDToUMHt54FBQWZdu3amY0bN5qkpCRz++23m8cee8za56uvvjI+Pj7m7bffNr///ruZPn26KV68uBkwYIDbOBd+T+bm4u/DiIgIU7x4cfPOO++Ybdu2menTpxun02kmTpxojDHm+PHjxuVymWnTprmNU6lSJfPCCy9YPShatKhp37692bBhg1m+fLm55557TL169az9P/74Y+N0Oq3ldu3amfvvv99tzHfffdfccsstJjMz03o+l3svGWOMJFO6dGkzadIks337dvP000+bQoUKmaZNm5qPP/7YbN++3fTo0cMEBgaaI0eOGGPOvU+io6NNq1atzOrVq8327dvNm2++afz9/c2WLVvcXufKlSubb7/91mzbts08+uijplixYuavv/4yxhizdu1aI8nMnj37st9PAOANBCzABqtWrbL+Z385p0+fNv7+/ubDDz90W//www+bRo0aWctXG7CCgoLMxx9/fMnjXjje9u3bjSTrl9Dzqlatajp16mSM+b9fss//Mm/MuV/oCxcubD766CNjjDFz5swxQUFB5sSJE5d9zhdq0KCBiYiIsH6JM8aYMWPGGH9/f3Pq1CljjDE9e/Y0devWtbYvWLDA+Pr6mj///POS414uYG3dutVIMjNmzLjk4x988EHTpUsXa/laarjttttMv3793Nb17t3blC1b1qM6L9SsWTPzz3/+0xhjTFJSkgkODjbZ2dnm/fffd1svyfzyyy/GGGN27dplHA6HFZLPGzx4sPnHP/5hjDn3i2tAQIA5fvy42z6dOnUyDz30kDHm/177xMRE07p1a1OxYkWTnJx82Xqzs7NN06ZNTWxsrOnataupX7++OXbsmLX95ZdfNlWqVLnsGOvWrTN+fn7WL8qrVq0yhQoVsn6hPl//hQFrwIABpnTp0tZ752IdOnQw1atXd1v35ZdfGofDYT2njh07mpCQELdQ+M4775gyZcpYy/Xq1TPx8fFu4wwfPty4XC6Tnp5ujXMtAatly5Zu+zzwwAOmXbt21nLbtm1N06ZNreU1a9YYSWbTpk1WD8LCwqw6jDnXS0lm2bJlxpicAevbb781TqfT7Nu3z1pXuXJl07dvX2OMZ+8lY84FrF69elnLhw4dMpJMjx49rHXHjh0zkqw/+Hz88ccmLCzMnD171m3sRo0aWWOdf50v/Hm6f/9+I8ksWLDAGGNMSkqKkWSWLl1qACC/4RJBwAbm/79szOFwXHa/HTt2KCMjQ7GxsW7rGzRooM2bN1/z8fv27asuXbqoYcOGGjRokNauXXvJfbds2SJJOWqIjY3NUUOVKlWsf/v6+qp06dI6ePCgJKlJkyYqV66cypYtq3bt2mns2LE6cuTIFWutUaOGdTmZJNWtW1cZGRnauXOnJKlbt25KSkqy6hw3bpyaN2+uW2655Ypj5+bi1yY1NVUvvviiKlWqpJIlS6pIkSL65ptvtHv3busxV1vDyZMntXfv3lxf1+Tk5ByXG15J48aN9cMPP+js2bP67rvv1LBhQzkcDt13331u60uWLKmqVatKkn755RcZY1StWjUVKVLE+nr77be1fft2SecmO8nIyFBYWJjbPp988om1z3mdOnXSxo0blZSUpIiIiMvWu3DhQi1evFiffPKJxowZozvuuEN169ZVcnKyJGn9+vU5enOxMWPG6J///KdCQ0MlnXuflC1bVp988sklH7NmzRrVqVPnkvcXbt68OdfXxBhjvbaSFB0dbV1mKUlhYWHW+/xy46SlpVnv22t14fdYbsd+7LHHtHjxYh04cECSNHXqVMXExKhSpUpWbbVq1XK7n+8f//iHihUrdsmfKU2aNFGpUqX06aefSjr3+mzYsEGPPfaYJM/eSxce67zQ0FA5nU5VrlzZWleiRAn5+/tblyyuXr1aBw4cUPHixd3GXr58eY6xL+xNmTJl5HQ63XoDAPkVAQuwQVRUlHx8fDwOSRcHMWPMFcPZ5QwcOFDbtm1TmzZttGnTJtWqVUsDBgy4qjFyq+HiSRgcDod130eRIkX0yy+/6IsvvtAdd9yhjz76SBUqVNCaNWuu+rgXqlSpkurVq6fx48fr0KFDmjdvnp588smrGvNC5ycXKV++vCSpX79++uSTT/Tqq69q6dKlWrdunf75z38qIyPjumvI7XW9FnFxcTp16pRWrVqlJUuW6L777pMk3XPPPXK5XNb6Ro0aycfn3I/x86/LTz/9pHXr1llfmzZtsu7bys7OVrFixdy2r1u3Tlu2bNG3337rVkPz5s31xx9/WPfkXM66detUqlQphYeHy+FwaOzYsapRo4Zq166tWbNmaeHCherateslH3/69Gl9+umnmjdvnnx9fa2vrVu3XnGyiyt931xq+4Xrc3ufX/zaXeq1vZ7v20sd+/xrKUkPPPCAQkND9emnnyozM1OfffaZFYQuVduV1judTiUkJGjKlCmSpClTpqhq1aq65557JHn2XjrPz88vx/gXr7vwOWVnZys6OjrHe3Dr1q0aN27cZXtzYW0AkJ8RsAAblCxZUs2aNdPIkSN14sSJHNvPnj2r06dPq0KFCgoICNCyZcvctv/www/WX6SvVbly5dS9e3fNmjVLr7/+ukaPHp3rfuePc+FN5ZK0fPnyq67B6XQqNjZWr7/+utasWaNbbrnlihN2rF692rqJXzo3+9z5SSHO69atm6ZMmaKxY8eqTJkyatq06VXVdd7Zs2f1n//8R3fccYf11/AffvhBCQkJatu2rf7xj3+oXLly2rZtW47HXk0NQUFBuu2223J9XcuWLavAwMCrqrty5coKDQ3VV199pRUrVlgBy+FwqEGDBtb6Cyc6iYmJkSTt2bNHFSpUcPs639tq1arp+PHjSktLy7HP7bff7lZDQkKCJk+erM6dO2vy5MmXrTc8PFwHDhywzkD4+Pho4sSJiouLU3x8vNq1a6e77777ko+fPn26nE6n1q9f7/ZL9/Lly7V582atXLky18fFxMQoKSkp10krpHPv9Ytfk2XLlsnhcFzVDIe5jfPDDz+oUKFCKleunMfjXAun06lHHnlEU6ZM0aJFi3Ts2DG1b9/erbYVK1a4/YFg/fr1OnHixGW/nzt27KhNmzbpl19+0WeffaaOHTta2zx5L12ratWqadeuXQoKCsox9q233urxOOfD14U/SwAgvyBgATYZNWqU/Pz8FBMTo2nTpmnLli3asWOHPvnkE1WrVk3bt29XYGCgnn32WQ0cOFCff/65tm/frrfffltz587Vyy+/fE3HPXXqlJ555hktWbJEf/zxh3799VctWLDgkr9Ali9fXvHx8erevbsWLlyo3377Tb169dKmTZvUr18/j487d+5cvf/++1qzZo327NmjL7/8UikpKVf8xfXo0aN65plntHXrVn399dcaOHCgunbt6naZV+vWrSVJb7zxhp544gnrLM3lZGVl6cCBAzpw4IB+//13TZ8+XfXq1dOWLVs0efJka4yKFStq7ty5+vnnn7VlyxY9+eST+vPPP3OMd7U1vPTSSxoxYoTGjRun7du3a8yYMRo9evQ1va4Oh0ONGjXSqFGjFBwcrDvvvNPadt9992nUqFFKT09X48aNrfUVKlRQ586d1bVrV02dOlU7duzQ+vXrNXHiRA0dOtR6bFxcnFq1aqUvvvhCu3bt0po1a6y6L9auXTtNmzZN3bp1y3X7ef/6179UsWJFtWjRQvPnz9euXbu0YMECbd68WYULF9aiRYsueyndmDFj9P/+3//TPffco7vvvtv6qlu3rurWrXvJs1jdu3dXdna2HnroISUlJemPP/7QV199ZZ2N69evn9auXavnn39ev/32mxYsWKCePXsqISEhR6C8nJdeekmzZ8/WkCFDtG3bNs2cOVODBg1Snz59cj3LYreOHTtqw4YNeuWVV9SsWTPrMkrp3OeGnTx5Uo8//rg2bdqkH3/8UY8++qjq1aun+vXrX3LMu+++W1WrVlXXrl11+PBht9DmyXvpWiUkJKhs2bJq3ry5Fi1apOTkZK1atUrvvPOOvvzyS4/HCQkJUZEiRbRo0SIdOHBAf/3113XVBQC28tK9X8BN6dChQ+b55583UVFRJiAgwISGhprY2FgzdepU66bujIwM079/f3PrrbcaPz8/Ex0dbT799FO3ca5mkoszZ86Y9u3bm8jISOuYbdq0MXv27LnkeCdOnDBPPvmkCQkJMf7+/iYmJsYsXLjQ2n7hTHIXKl++vHnttdeMMcYsW7bMNGrUyISEhJiAgABToUIF884775js7OxL9qdBgwamU6dO1kyKRYoUMZ06dTKnT5/OsW/v3r2Nj4/PZWclPO+1114zkowk43A4TFBQkKlatarp169fjsfv2bPH3H///SYwMNCUKVPGvPrqq6Zz586mQYMG11VDdna2+fe/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IWABAAAAgE0IWAAAAABgEwIWAAAAANiEgAUAAAAANiFgAQAAAIBNCFgAAAAAYBMCFgAAAADYhIAFAAAAADYhYAEAAACATQhYAAAAAGATAhYAAAAA2ISABQAAAAA2IWABAAAAgE0IWAAAAABgE9+r2Xnv3r1auXKljh8/ri5dumjfvn3KzMxUREREXtUHAAAAAAWGx2ewVqxYoUGDBunYsWNavny5JCktLU1TpkyxrZikpCQ999xzevTRR9WzZ09t3bpVkrRx40b17t1bHTp00ODBg3X48GHbjgkAAAAAdvH4DNbMmTM1YMAARUZGauwKPr0AACAASURBVMWKFZKkiIgIJScn21LIhg0b9Omnn6p3796qUKGCjh8/Lkk6efKkhg0bpqeeekoxMTGaMWOGhg8frrfeesuW4wIAAACAXTw+g3XixIkclwI6HA45HA5bCpk5c6Zat26tO+64Qz4+PipZsqRKliypn3/+WeHh4apdu7b8/f0VHx+v5ORk7du3z5bjAgAAAIBdPD6DVa5cOf3www9q0KCBtS4pKUkVKlS47iKys7O1c+dOVatWTT179tTZs2dVvXp1Pfroo0pJSXELdi6XS2XKlFFKSorCwsLcxklMTFRiYqIkaciQIQoICLju2m5G9MW76L/30HvvoffeQ++9h957D72HN3kcsDp16qQ333xTS5YsUXp6ut566y39+eefGjBgwHUXcfz4cWVlZWnlypV6/fXX5XQ69e6772r27NlKS0tTUFCQ2/6BgYFKS0vLMU5cXJzi4uKs5fT09Ouu7WZEX7yL/nsPvfceeu899N576L335HXvAwMD83R8FGweB6ywsDANHz5ca9asUUxMjIKDgxUTEyOXy3XdRfj7+0uSmjZtqhIlSkiSmjdvrjlz5ig6Olpnzpxx2z81NdWW4wIAAACAna5qmvaAgADVqVPH9iKKFCmi4ODgXO/nCg8P17Jly6zltLQ0HTx4UOHh4bbXAQAAAADXw+OA9eqrr+YagHx9fRUcHKwaNWqoWrVq11xIw4YNtWDBAlWpUkVOp1PffPON7r33XtWoUUNTp07VypUrde+992rWrFmKiIjIcf8VAAAAAHibx7MI3nXXXTp06JCio6NVv359RUdH6/DhwypfvryKFSum0aNHa+7cuddcyL/+9S+VL19evXr10nPPPafIyEi1atVKQUFB6tOnj6ZPn65OnTppx44d6tWr1zUfBwAAAADyisdnsDZs2KBXXnlFt912m7Wufv36+vDDD/X222+rZs2aGj58uB566KFrK8TXV126dFGXLl1ybKtcubKGDx9+TeMCAAAAwI3i8Rmsffv2qXTp0m7rQkND9eeff0qSKlSooBMnTthbHQAAAAAUIB4HrOjoaI0aNUoHDhxQRkaGDhw4oI8++kh33nmnJGnPnj3WDIAAAAAA8Hfk8SWCPXr00Pjx4/Xcc88pOztbTqdTNWrUUPfu3c8N5OvLvVEAAADARYwxOnr0qLKysrxdCmzidDovOQu6xwGrSJEi6t27t7Kzs3Xy5EkFBQXJx+f/ToDdeuut9lQLAAAA3ESOHj0qPz8/FSlSxNulwCbp6ek6evSoQkJCcmy7qs/BOj9YRkaGDh8+bK27+N4sAAAAAOdkZWURrm4yAQEBSktLy3WbxwFr7969+uCDD7R79+4c22bMmHHt1QEAAADATcLjSS7Gjx+vSpUqaeLEiQoMDNTHH3+sJk2a6JlnnsnL+gAAAACgwPA4YO3evVsJCQkqXLiwjDEKDAxUhw4dOHsFAAAAXAXXg4Vs/fLU3LlzVahQIf3+++/Wut27dysmJuaankfFihV15MgRj/efOnWqevfu7fH66/HDDz+oVatWtox1tc/T44Dl5+dnzXxStGhRHTlyRMYYnTp16uqrBAAAAHBDzZw5U3Xq1NHnn3/u7VJuah4HrDvvvFMrVqyQJNWqVUtvv/22Bg0apEqVKuVZcQAAAACu36lTp7RixQp99NFHlwxYWVlZevHFF1WtWjVVr15do0aNkiQtXbpUtWrVUrVq1dStWzelp6dbjxk9erRq166tatWqWWfGjh07pvj4eFWvXl2xsbHauHGjx3V27dpVzz//vBo2bKjo6GjNmTNHktShQwctWLDAbb8vvvhCaWlpevLJJ1WtWjXVqlVLy5YtcxsvOztbFStW1PHjx611lSpV0sGDB3X48GG1a9dOdevWVd26dfXTTz9JOjfrY4sWLVSrVi316NFDxhiP65euImCdf6KS1L59ez388MNq3Lgxn30FAAAA5HPz58/X/fffr6ioKJUoUUK//vprjn0mTJig5ORkrVy5UqtXr1a7du2Ulpamrl27aurUqfrll1+UmZmpsWPHWo8JDg7WihUr1LVrVw0fPlyS9MYbb6hKlSpavXq1Xn/9dXXp0uWqaj1w4ICWLFmiOXPmaODAgZKk+Ph4zZo1S5KUkZGhpUuXqmnTpvroo48kSb/88osmT56sLl26uM3u5+PjoxYtWmjevHmSpJ9//lkREREqXbq0+vbtq549eyopKUmfffaZ9fm+b731lurUqaOVK1eqefPmSklJuar6PQ5Y54s6X2hsbKzuv/9+LV68+KoOCAAAAODGmjlzpuLj4yWdCyszZ87Msc+SJUvUtWtX+fqem2i8ZMmS2rZtmyIjIxUVFSXp3JmkH3/80XrMQw89JEmqWrWqNdv4ihUr9Mgjj0iSGjZsqKNHj+rEiRMe19qyZUv5+PgoOjpahw4dkiQ98MAD+v7775Wenq6FCxeqXr16KlSokH766SfrWBUrVtTtt9+u7du3u43XunVrK5x9/vnnat26taRzZ+aef/551axZU/Hx8Tp58qT+97//KSkpSe3bt5ckNWvWTCVKlPC4dukqpmmfPXu2HnzwwVzXt2jR4qoOCgAAAODGOHr0qL7//ntt3rxZDodDWVlZcjgcevvtt932M8bI4XDkWHc5AQEBkiSn06nMzMxLPubicT0Z88KxXC6XYmNjtXjxYs2aNUtt2rTxqD7p3O1NO3fu1OHDhzV//ny9+OKLks5dPvj999+rUKGcE4VcTb0Xu+IZrE2bNmnTpk3Kzs62/n3+67vvvsu1IAAAAAD5wxdffKGEhARt27ZNv//+u3bs2KHIyEglJSW57RcXF6dx48ZZQenYsWOqWLGidu/erZ07d0qSpk2bpvr161/2eHXr1tX06dMlnZvNLyQkREFBQdf9POLj4zVlyhQlJSWpSZMmkqR69epZx9q+fbtSUlJ0xx13uD3O4XDowQcfVP/+/XXnnXcqODhYktS4cWONHj3a2m/9+vU56l+4cKH++uuvq6rzimewzh80IyPDrQCHw6HixYurc+fOV3VAAAAA4O8sbd6ZG3q8mTNnqm/fvm7rHn74Yc2cOVN9+vSx1nXq1Enbt29X9erV5efnp06dOunpp5/W2LFjlZCQoMzMTMXExKhr166XPd6AAQPUrVs3Va9eXYUKFdK4ceNseR5xcXHq0qWLmjdvLn9/f0lSt27d1LNnT1WrVk2+vr4aN26c2xmw81q3bq169eq51fLee++pd+/eql69ujIzM1WvXj2NGDFCr7zyijp27KjatWurXr16Cg8Pv6o6HcbDaTFGjhypHj16XNXg3paamppnYxcu/G6ejZ3XTp/u5+0SrktB7r1UsPtP772H3nsPvfceeu9dBbn/ed37wMDAq9r/4MGDKlasWB5VA285ceKESpcunWO9x/dgXRiusrOz3bb5+Hg8VwYAAAAA3LQ8Dli7du3ShAkTtGfPHmVkZLhtmzFjhu2FAQAAAEBB43HA+vDDDxUTE6Onn3461+saAQAAAODvzuOAdeTIEbVv3/66piwEAAAAgJuZxzdPVa9e3Zq6EAAAAACQk8dnsM6ePathw4bpzjvvVPHixd22FbTZBQEAAAAgL3gcsG677TbddttteVkLAAAAcNMrVGioreOdOdPfg2MW0rPPPquhQ88d+/3339fp06c1YMAAW2u5UMWKFVW0aFHr83PHjx+viIiIPDueJM2bN09RUVGKjo6+qseFhIToyJEjttTgccCKj4+35YAAAAAAbqyAgADNnTtX/fr1U0hIyA077oIFCxQSEqI33nhDQ4cO1ahRo/LsWJmZmZo/f76aNWt21QHLTlf1AVYbNmzQ6NGjNWTIEEnSzp07tWnTpjwpDAAAAIA9fH199cQTT2jEiBE5tu3evVvNmjVT9erV1axZM+3Zs0eS1LVrVz3//PNq2LChoqOjNWfOHOsx//nPf1S3bl1Vr15db7zxxhWPX7NmTf3555/W8meffaZ69eqpZs2a6tGjh7KysiSdO5PUv39/1a5dW82aNdPhw4clSevXr1dsbKyqV6+uNm3a6K+//pIk3X///Xr11VfVpEkTvffee/r666/18ssvq2bNmtq1a5d27dqlBx98UHXq1FHjxo31+++/S5KSk5PVoEED1a1bV4MHD77GrubO44D17bffaty4cbrlllu0detWSZK/v7+mT59ua0EAAAAA7NetWzdNnz5dJ06ccFv//PPPKyEhQatXr1a7du3Up08fa9uBAwe0ZMkSzZkzRwMHDpQkJSYmaufOnfrxxx+1atUq/frrr/rxxx8ve+xFixapZcuWkqTffvtNs2bN0tKlS7Vq1So5nU4rU5w+fVpVqlTRihUrVL9+fb311luSpC5duuitt97S6tWrdffdd1vrJenEiRNavHix+vfvr+bNm+vtt9/WqlWrVK5cOT3zzDP6z3/+o59++knvvPOOevXqJUnq27evnnzySSUl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ibU+JSVFERER1rLL5VKZMmWUkpKisLCwHOMkJiYqMTFRkjRkyBAFBATkffEFEH3xLvrvPfTee+i999B776H33kPv4U35ImDNmDFDjRo1UkhIiNv6tLQ0BQUFua0LDAxUWlparuPExcUpLi7OWk5PT7e/2JsAffEu+u899N576L330Hvvoffek9e9DwwMzNPxUbB5/RLB5ORkbdy4US1atMixzeVy6cyZM27rUlNT5XK5blR5AAAAAOAxr5/B2rx5sw4fPqynn35a0rmzVtnZ2erfv7+aNGmiZcuWWfumpaXp4MGDCg8P91a5AAAAAHBJXg9YcXFxqlu3rrU8b948HT58WF27dpUkTZ06VStXrtS9996rWbNmKSIiItf7rwAAAADA27wesAICAtxuRHS5XPLz87PuverTp48mTpyoESNGKCoqSr169fJWqQAAAABwWV4PWBdr06aN23LlypX57CsAAAAABYLXJ7kAAAAAgJsFAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwAIAAAAAmxCwAAAAAMAmBCwAAAAAsAkBCwAAAABsQsACAAAAAJsQsAAAAADAJgQsAAAAALAJAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwAIAAAAAmxCwAAAAAMAmBCwAAAAAsAkBCwAAAABsQsACAAAAAJsQsAAAAADAJgQsAAAAALAJAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwAIAAAAAmxCwAAAAAMAmBCwAAAAAsAkBCwAAAABsQsACAAAAAJsQsAAAAADAJgQsAAAAALAJAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwAIAAAAAmxCwAAAAAMAmBCwAAAAAsAkBCwAAAABsQsACAAAAAJsQsAAAAADAJgQsAAAAALAJAQsAAAAAbELAAgAAAACbELAAAAAAwCYELAAAAACwCQELAAAAAGxCwAIAAAAAmxCwAAAAAMAmBCwAAAAAsAkBCwAAAABs4uvtAiTp7NmzGj9+vDZu3KhTp06pTJkyat++vapWrSpJ2rhxoyZMmKAjR44oKipK3bt3V2hoqJerBgAAAAB3+eIMVlZWloKDgzVo0CBNmjRJbdu21fvvv69D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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = al_dow_pct.plot.bar(\n", " stacked=True, \n", " figsize=(12,6), \n", " color = ['orangered', 'navy'], \n", " y=['Alcohol Involved', 'None Reported'], \n", " rot=0\n", ")\n", "\n", "ax.set_title('Collisions by Day of Week & Alcohol Involvement')\n", "ax.set_ylabel('Percentage')\n", "ax.set_xlabel('Day of Week (over 10 years)')\n", "plt.legend(bbox_to_anchor = (1.01, 0.5), loc = 'center left')\n", "\n", "fmt = '{x:,.0f}'\n", "ax.yaxis.set_major_formatter(mtick.StrMethodFormatter(fmt))\n", "\n", "for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Ok, we do see a higher alcohol involvement in percentage terms on weekends. Let's bring in time of day. \n", "#### Recorded, alcohol-involved incidents by day of week and time of day" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
day_of_weekMondayTuesdayWednesdayThursdayFridaySaturdaySunday
time_period
Early Morning1193687828912131827753219
AM Peak205223228202219235311
Midday330333329343375469444
PM Peak7186776947638789291102
Evening1378138714441777248527282543
\n", "
" ], "text/plain": [ "day_of_week Monday Tuesday Wednesday Thursday Friday Saturday Sunday\n", "time_period \n", "Early Morning 1193 687 828 912 1318 2775 3219\n", "AM Peak 205 223 228 202 219 235 311\n", "Midday 330 333 329 343 375 469 444\n", "PM Peak 718 677 694 763 878 929 1102\n", "Evening 1378 1387 1444 1777 2485 2728 2543" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of recorded, alcogol-involved incidents by day of week and time of day \n", "al = collision[collision.alcohol_involved == 'Y']\n", "al_dow_tod = al.groupby(['day_of_week', 'time_period'])['case_id'].count().unstack()\n", "al_dow_tod = al_dow_tod.reindex(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'])\n", "al_dow_tod = al_dow_tod.T\n", "al_dow_tod" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### In percentage terms" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
day_of_weekMondayTuesdayWednesdayThursdayFridaySaturdaySunday
time_period
Early Morning11.06.08.08.012.025.029.0
AM Peak13.014.014.012.013.014.019.0
Midday13.013.013.013.014.018.017.0
PM Peak12.012.012.013.015.016.019.0
Evening10.010.011.013.018.020.019.0
\n", "
" ], "text/plain": [ "day_of_week Monday Tuesday Wednesday Thursday Friday Saturday Sunday\n", "time_period \n", "Early Morning 11.0 6.0 8.0 8.0 12.0 25.0 29.0\n", "AM Peak 13.0 14.0 14.0 12.0 13.0 14.0 19.0\n", "Midday 13.0 13.0 13.0 13.0 14.0 18.0 17.0\n", "PM Peak 12.0 12.0 12.0 13.0 15.0 16.0 19.0\n", "Evening 10.0 10.0 11.0 13.0 18.0 20.0 19.0" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "al_dow_tod_pct = al_dow_tod.div(al_dow_tod.sum(axis=1)/100, axis=0).round()\n", "al_dow_tod_pct" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Is it a coincidence that the bright spots for % alcohol-involved aligns with % severe collisions?" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "heatmap", "x": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "y": [ "Early Morning", "AM Peak", "Midday", "PM Peak", "Evening" ], "z": [ [ 11, 6, 8, 8, 12, 25, 29 ], [ 13, 14, 14, 12, 13, 14, 19 ], [ 13, 13, 13, 13, 14, 18, 17 ], [ 12, 12, 12, 13, 15, 16, 19 ], [ 10, 10, 11, 13, 18, 20, 19 ] ] } ], "layout": { "height": 650, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "% Alcohol Involved in Recorded Collisions by Day of Week & Time of Day" }, "xaxis": { "tickfont": { "size": 12 }, "title": { "text": "Day of Week" }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Time Period" }, "type": "category" } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = {\n", " \"data\": [{\"type\": \"heatmap\",\n", " \"x\": al_dow_tod_pct.columns,\n", " \"y\": al_dow_tod_pct.index,\n", " \"z\": al_dow_tod_pct.values.tolist(),\n", " }],\n", " \"layout\": {\"title\": {\"text\": \"% Alcohol Involved in Recorded Collisions by Day of Week & Time of Day\", \"font_size\": 20},\n", " \"xaxis\": {\"title\": \"Day of Week\",\n", " \"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Time Period\", \n", " \"tickfont_size\": 12,\n", " \"type\": \"category\"},\n", " \"height\": 650\n", " }\n", "}\n", "\n", "pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Victim characteristics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Age distribution" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "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mo6ODpxOJxkZGUycOJEjR44QDAY5evQo+fn5xMfHM2XKFHJycsLXffvtt0yYMIHc3Fyio6PJyMjA4XBQX19v4GpEJJLopV4RkZvs0KFD3H333dhsNgCysrLCdwADgQB2uz38u//83uv18tNPP7Fy5crwWCAQIDs7+5bVLiKRTY2fiMhN5Pf7+eqrrwgGg6xevRqA/v5+enp68Pl8REdH09nZSWpqKgCdnZ3ha+12O9OnT+fFF180pHYRiXxq/EREbqJjx45hsVh4/fXXiYn5+yF227Zt1NbWkpmZyd69eykuLqajowO3201ycjIAc+bM4f3336e2tjb8gQ6Px4PVamXKlCmGrEdEIove4ycichO53W5yc3NJTk4mISEh/LVo0SIOHz7MqlWr6O3tpaioiB07djBv3jxiY2MBuO2229i4cSN1dXU8/fTTFBUVUVlZSX9/v8GrEpFIERUKhUJGFyEiYlbvvfcePp+PZ555xuhSRMQEdMdPROQWam1tpbm5mVAoxM8//8wXX3xBZmam0WWJiEnoPX4iIrfQn3/+yZtvvsnvv//O+PHjWbx4MXPnzjW6LBExCb3UKyIiImISeqlXRERExCTU+ImIiIiYhBo/EREREZNQ4yciIiJiEmr8REREREzif/bq9IgOtRfNAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "severe_victim = victim[\n", " (victim['victim_degree_of_injury'] == 'Killed') |\\\n", " (victim['victim_degree_of_injury'] == 'Severe Injury')\n", "]\n", "\n", "fatal_victim = victim[\n", " (victim['victim_degree_of_injury'] == 'Killed')\n", "]\n", "\n", "fig = plt.figure(figsize=(10, 10))\n", "ax1 = fig.add_subplot(211)\n", "ax1 = victim['victim_age'].hist(bins=40, color='skyblue', edgecolor='grey')\n", "ax2 = fig.add_subplot(212, sharex=ax1)\n", "ax2 = fatal_victim['victim_age'].hist(bins=40, color='salmon', edgecolor='darkred')\n", "\n", "for ax in [ax1, ax2]:\n", " ax.set_ylabel('Number of Collisions')\n", " fmt = '{x:,.0f}'\n", " ax.yaxis.set_major_formatter(mtick.StrMethodFormatter(fmt))\n", "\n", " for tick in ax.yaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", " for tick in ax.xaxis.get_major_ticks():\n", " tick.label.set_fontsize(12)\n", " \n", "ax1.set_title(\"Victim's Age Distribution\")\n", "ax1.axvline(victim['victim_age'].mean(), color='red', linestyle='dashed', linewidth=1)\n", "ax1.text(victim['victim_age'].mean() + victim['victim_age'].mean()/10,\n", " 40000, 'Mean Age: {:.0f}'.format(victim['victim_age'].mean()), fontsize=12)\n", "ax1.text(110, 3000, 'All Victims', fontsize=12)\n", "\n", "ax2.axvline(fatal_victim['victim_age'].mean(), color='darkred', linestyle='dashed', linewidth=1)\n", "ax2.text(fatal_victim['victim_age'].mean() + fatal_victim['victim_age'].mean()/10,\n", " 120, 'Mean Age: {:.0f}'.format(fatal_victim['victim_age'].mean()), fontsize=12)\n", "ax2.text(110, 10, 'Killed Victims', fontsize=12)\n", "ax2.set_xlabel('Age')\n", "\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Gender" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "victim_sex\n", "F 215779\n", "M 223444\n", "Name: case_id, dtype: int64" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "victim.groupby('victim_sex')['case_id'].count()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
victim_sexFM
victim_degree_of_injury
Killed5361440
Other Visible Injury2951346603
Severe Injury33717600
\n", "
" ], "text/plain": [ "victim_sex F M\n", "victim_degree_of_injury \n", "Killed 536 1440\n", "Other Visible Injury 29513 46603\n", "Severe Injury 3371 7600" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "victim_injury = victim.groupby(['victim_sex', 'victim_degree_of_injury'])['case_id'].count().unstack(level=0)\n", "victim_injury.drop(index=['Complaint of Pain', 'No Injury', 'Other'], inplace=True)\n", "victim_injury" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hoverinfo": "y", "marker": { "color": "rgb(0, 0, 128)" }, "name": "Female", "type": "bar", "x": [ "Killed", "Other Visible Injury", "Severe Injury" ], "y": [ 536, 29513, 3371 ] }, { "hoverinfo": "y", "marker": { "color": "rgb(255, 69, 0)" }, "name": "Male", "type": "bar", "x": [ "Killed", "Other Visible Injury", "Severe Injury" ], "y": [ 1440, 46603, 7600 ] } ], "layout": { "bargap": 0.25, "bargroupgap": 0.1, "barmode": "group", "plot_bgcolor": "#F5F5F5", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Degree of Injury by Gender (10-yr Total)" }, "xaxis": { "tickfont": { "size": 12 }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Nnumber of Collisions" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = {\n", " \"data\": [{\"type\": \"bar\",\n", " \"x\": victim_injury.index,\n", " \"y\": victim_injury['F'],\n", " \"name\": \"Female\",\n", " \"marker_color\": \"rgb(0, 0, 128)\",\n", " \"hoverinfo\": \"y\"\n", " },\n", " {\"type\": \"bar\",\n", " \"x\": victim_injury.index,\n", " \"y\": victim_injury['M'],\n", " \"name\": \"Male\",\n", " \"marker_color\": \"rgb(255, 69, 0)\",\n", " \"hoverinfo\": \"y\"\n", " }],\n", " \"layout\": {\"title\": {\"text\": \"Degree of Injury by Gender (10-yr Total)\", \"font_size\": 20},\n", " \"xaxis\": {\"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Nnumber of Collisions\", \n", " \"tickfont_size\": 12},\n", " \"barmode\": \"group\",\n", " \"bargap\": 0.25,\n", " \"bargroupgap\": 0.1,\n", " \"plot_bgcolor\": \"#F5F5F5\"\n", " }\n", "}\n", "\n", "pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Seat belt?" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
case_idparty_numbervictim_rolevictim_sexvictim_agevictim_degree_of_injuryvictim_seating_positionvictim_safety_equip_1victim_safety_equip_2victim_ejectedsafety
0391894321M25.0Complaint of Pain1NG0Seat Belts
1398421911M19.0Killed1LG0Seat Belts
2398427423F58.0Killed9--0No Seat Belts
3398428111M29.0Killed1LH0No Seat Belts
4398435212FNaNNo Injury3LG0Seat Belts
\n", "
" ], "text/plain": [ " case_id party_number victim_role victim_sex victim_age \\\n", "0 3918943 2 1 M 25.0 \n", "1 3984219 1 1 M 19.0 \n", "2 3984274 2 3 F 58.0 \n", "3 3984281 1 1 M 29.0 \n", "4 3984352 1 2 F NaN \n", "\n", " victim_degree_of_injury victim_seating_position victim_safety_equip_1 \\\n", "0 Complaint of Pain 1 N \n", "1 Killed 1 L \n", "2 Killed 9 - \n", "3 Killed 1 L \n", "4 No Injury 3 L \n", "\n", " victim_safety_equip_2 victim_ejected safety \n", "0 G 0 Seat Belts \n", "1 G 0 Seat Belts \n", "2 - 0 No Seat Belts \n", "3 H 0 No Seat Belts \n", "4 G 0 Seat Belts " ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def condition(x):\n", " if (x.victim_safety_equip_1 in ['C', 'E', 'G']) or (x.victim_safety_equip_2 in ['C', 'E', 'G']):\n", " return 'Seat Belts'\n", " else:\n", " return 'No Seat Belts'\n", "\n", "victim['safety'] = victim.apply(condition, axis=1)\n", "victim.head()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
safetyNo Seat BeltsSeat Belts
victim_degree_of_injury
Killed1609370
Severe Injury80003156
\n", "
" ], "text/plain": [ "safety No Seat Belts Seat Belts\n", "victim_degree_of_injury \n", "Killed 1609 370\n", "Severe Injury 8000 3156" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb_injury = victim.groupby(['safety', 'victim_degree_of_injury'])['case_id'].count().unstack(level=0)\n", "sb_injury.drop(index=['Complaint of Pain', 'No Injury', 'Other', 'Other Visible Injury'], inplace=True)\n", "sb_injury" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hoverinfo": "y", "marker": { "color": "rgb(0, 0, 128)" }, "name": "No Seat Belts", "type": "bar", "x": [ "Killed", "Severe Injury" ], "y": [ 1609, 8000 ] }, { "hoverinfo": "y", "marker": { "color": "rgb(255, 69, 0)" }, "name": "Seat Belts", "type": "bar", "x": [ "Killed", "Severe Injury" ], "y": [ 370, 3156 ] } ], "layout": { "bargap": 0.25, "bargroupgap": 0.1, "barmode": "group", "plot_bgcolor": "#F5F5F5", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 20 }, "text": "Degree of Injury by Seat Belt Status (10-yr Total)" }, "xaxis": { "tickfont": { "size": 12 }, "type": "category" }, "yaxis": { "tickfont": { "size": 12 }, "title": { "text": "Nnumber of Collisions" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = {\n", " \"data\": [{\"type\": \"bar\",\n", " \"x\": sb_injury.index,\n", " \"y\": sb_injury['No Seat Belts'],\n", " \"name\": \"No Seat Belts\",\n", " \"marker_color\": \"rgb(0, 0, 128)\",\n", " \"hoverinfo\": \"y\"\n", " },\n", " {\"type\": \"bar\",\n", " \"x\": sb_injury.index,\n", " \"y\": sb_injury['Seat Belts'],\n", " \"name\": \"Seat Belts\",\n", " \"marker_color\": \"rgb(255, 69, 0)\",\n", " \"hoverinfo\": \"y\"\n", " }],\n", " \"layout\": {\"title\": {\"text\": \"Degree of Injury by Seat Belt Status (10-yr Total)\", \"font_size\": 20},\n", " \"xaxis\": {\"tickfont_size\": 12, \n", " \"type\": \"category\"},\n", " \"yaxis\": {\"title\": \"Nnumber of Collisions\", \n", " \"tickfont_size\": 12},\n", " \"barmode\": \"group\",\n", " \"bargap\": 0.25,\n", " \"bargroupgap\": 0.1,\n", " \"plot_bgcolor\": \"#F5F5F5\"\n", " }\n", "}\n", "\n", "pio.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Geocoding (Google Maps Geocoding API)\n", "- Let's geocode all severe and fatal intersection collisions" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "api_key = '----'\n", "gmaps = googlemaps.Client(key=api_key)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "fatal_severe_collision = collision[(collision.collision_severity == 'Fatal') | (collision.collision_severity == 'Severe')]\n", "int_fatal_severe_collision = fatal_severe_collision[fatal_severe_collision.intersection == 'Y']" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "address = (\n", " int_fatal_severe_collision.primary_rd \n", " + ' and ' \n", " + int_fatal_severe_collision.secondary_rd \n", " + ', Los Angeles, California').tolist()\n", "\n", "address_formatted = []\n", "lat = []\n", "lon = []\n", "\n", "for add in address:\n", " try:\n", " geocode_result = gmaps.geocode(add)\n", "\n", " ad = geocode_result[0]['formatted_address']\n", " latitude = geocode_result[0]['geometry']['location']['lat']\n", " longitude = geocode_result[0]['geometry']['location']['lng']\n", "\n", " address_formatted.append(ad)\n", " lat.append(latitude)\n", " lon.append(longitude)\n", " except:\n", " address_formatted.append('NA')\n", " lat.append('NA')\n", " lon.append('NA')" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "int_fatal_severe_collision['lat'] = lat\n", "int_fatal_severe_collision['lon'] = lon\n", "int_fatal_severe_collision['address'] = address_formatted" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Now we XYs for all severe and fatal intersections collision locations" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
primary_rdsecondary_rdlatlon
0SAN PEDRO ST32ND ST33.715175-118.289782
122ND STVILLA CABRILLO MARINA33.717084-118.282379
2ALMA ST30TH ST33.718315-118.299416
3PACIFIC AV26TH ST33.720614-118.287991
425TH STMEYLER ST33.721563-118.296843
\n", "
" ], "text/plain": [ " primary_rd secondary_rd lat lon\n", "0 SAN PEDRO ST 32ND ST 33.715175 -118.289782\n", "1 22ND ST VILLA CABRILLO MARINA 33.717084 -118.282379\n", "2 ALMA ST 30TH ST 33.718315 -118.299416\n", "3 PACIFIC AV 26TH ST 33.720614 -118.287991\n", "4 25TH ST MEYLER ST 33.721563 -118.296843" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "int_fatal_severe_collision[['primary_rd', 'secondary_rd', 'lat', 'lon']].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Density-based Clustering Identification with DBSCAN (scikit-learn)\n", "We need to specify the following hyperparameters: \n", "- how far apart should the collisions be to be considered in the same cluster (epsilon)?\n", "- how many collisions should be in the radius of a data point (min_samples)?\n", "\n", "Here, I use the haversine metric and ball tree algorithm to calculate great circle distances between points. Thus, I will convert the epsilon and collision location coordinates to radians." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['case_id', 'accident_year', 'collision_time', 'day_of_week',\n", " 'primary_rd', 'secondary_rd', 'distance', 'direction', 'intersection',\n", " 'weather_1', 'state_hwy_ind', 'state_route', 'route_suffix',\n", " 'postmile_prefix', 'postmile', 'location_type', 'ramp_intersection',\n", " 'side_of_hwy', 'tow_away', 'collision_severity', 'number_killed',\n", " 'number_injured', 'party_count', 'primary_coll_factor',\n", " 'pcf_code_of_viol', 'pcf_viol_category', 'pcf_violation',\n", " 'pcf_viol_subsection', 'hit_and_run', 'type_of_collision', 'mviw',\n", " 'ped_action', 'road_surface', 'road_cond_1', 'road_cond_2', 'lighting',\n", " 'control_device', 'chp_road_type', 'pedestrian_accident',\n", " 'bicycle_accident', 'motorcycle_accident', 'truck_accident',\n", " 'not_private_property', 'alcohol_involved', 'count_severe_inj',\n", " 'count_visible_inj', 'count_complaint_pain', 'count_ped_killed',\n", " 'count_ped_injured', 'count_bicyclist_killed',\n", " 'count_bicyclist_injured', 'count_mc_killed', 'count_mc_injured',\n", " 'latitude', 'longitude', 'bike_ped_collision', 'time_period',\n", " 'hour_of_day', 'lat', 'lon', 'address'],\n", " dtype='object')" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "int_fatal_severe_collision.columns" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "int_fatal_severe_collision.dropna(subset=['lat', 'lon'], inplace=True)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "radius = 0.1/6371.0088 # converting 100m to radians (The radius of the earth is 6371.0088 km)\n", "min_event = 3\n", "\n", "x = np.column_stack((int_fatal_severe_collision['lat'], int_fatal_severe_collision['lon']))\n", "db = DBSCAN(eps=radius, min_samples=min_event, algorithm='ball_tree', metric='haversine').fit(x)\n", "labels = np.where(db.labels_==-1, \"Noise\", \"Cluster\").tolist()\n", "int_fatal_severe_collision['cluster'] = labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Now each collision location has a label (cluster or noise)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
primary_rdsecondary_rdlatloncluster
0SAN PEDRO ST32ND ST33.715175-118.289782Noise
122ND STVILLA CABRILLO MARINA33.717084-118.282379Noise
2ALMA ST30TH ST33.718315-118.299416Noise
3PACIFIC AV26TH ST33.720614-118.287991Noise
425TH STMEYLER ST33.721563-118.296843Noise
\n", "
" ], "text/plain": [ " primary_rd secondary_rd lat lon cluster\n", "0 SAN PEDRO ST 32ND ST 33.715175 -118.289782 Noise\n", "1 22ND ST VILLA CABRILLO MARINA 33.717084 -118.282379 Noise\n", "2 ALMA ST 30TH ST 33.718315 -118.299416 Noise\n", "3 PACIFIC AV 26TH ST 33.720614 -118.287991 Noise\n", "4 25TH ST MEYLER ST 33.721563 -118.296843 Noise" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "int_fatal_severe_collision[['primary_rd', 'secondary_rd', 'lat', 'lon', 'cluster']].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's see it on a map\n", "- Not all intersections are created equal; some are more dangerous than others\n", "- On the map below, darker red represents intersections where severe and fatal collisions tend to concentrate" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Params: encode_geom, geom_col and everything in kwargs are deprecated and not being used any more\n", "Table successfully written to CARTO: https://chenliny1117.carto.com/dataset/fatal_severe_collision\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc.write(int_fatal_severe_collision, 'fatal_severe_collision', lnglat=('lon', 'lat'), overwrite=True)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc.map(layers=[Layer('fatal_severe_collision',\n", " color={'column': 'cluster', 'scheme': styling.burg(2, bin_method='category')},\n", " size=5.5),\n", " BaseMap(source='light')],\n", " interactive=True,\n", " zoom=10,\n", " lng=-118.4148,\n", " lat=34.1038\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What have we found so far?\n", "- Number of collisions has been rising; 2013 saw the least amount of collisions.\n", "- Fridays are the worse in terms of collision occurances (both in terms of 10-yr total or daily distribution), yet the percentage of severe collisions is much higher on weekends, especially on Sundays.\n", "- PM peak hours on Fridays are the most dangerous time period (in terms of collision occurances).\n", "- Severe collisions (fatal or severe injury) tend to happen in early weekend mornings (12 AM - 6 AM); percentage of alcohol involvement in recorded incidents also peaks during the same time period. \n", "- Victims with seat belt on are less likely to suffer high degree of injury from collisions. \n", "- Mean age of fatal collision victims is higher than that of all victims.\n", "- Broadside collisions are more deadly than others; collisions of all types are more likely to happen on rainy days.\n", "- Not all intersections are created equal; some tend to be more dangerous than others.\n", "- ...\n", "- ..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# ---------------------------To be continued------------------------------" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }