{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PyCon 2018: Using pandas for Better (and Worse) Data Science\n", "\n", "### GitHub repository: https://github.com/justmarkham/pycon-2018-tutorial\n", "\n", "### Instructor: Kevin Markham\n", "\n", "- GitHub: https://github.com/justmarkham\n", "- Twitter: https://twitter.com/justmarkham\n", "- YouTube: https://www.youtube.com/dataschool\n", "- Website: http://www.dataschool.io" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'0.22.0'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "pd.__version__" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Dataset: Stanford Open Policing Project ([video](https://www.youtube.com/watch?v=hl-TGI4550M&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=1))\n", "\n", "https://openpolicing.stanford.edu/" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# ri stands for Rhode Island\n", "ri = pd.read_csv('police.csv')" ] }, { "cell_type": "code", "execution_count": 4, "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", "
stop_datestop_timecounty_namedriver_genderdriver_age_rawdriver_agedriver_raceviolation_rawviolationsearch_conductedsearch_typestop_outcomeis_arrestedstop_durationdrugs_related_stop
02005-01-0201:55NaNM1985.020.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalse
12005-01-1808:15NaNM1965.040.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalse
22005-01-2323:15NaNM1972.033.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalse
32005-02-2017:15NaNM1986.019.0WhiteCall for ServiceOtherFalseNaNArrest DriverTrue16-30 MinFalse
42005-03-1410:00NaNF1984.021.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalse
\n", "
" ], "text/plain": [ " stop_date stop_time county_name driver_gender driver_age_raw \\\n", "0 2005-01-02 01:55 NaN M 1985.0 \n", "1 2005-01-18 08:15 NaN M 1965.0 \n", "2 2005-01-23 23:15 NaN M 1972.0 \n", "3 2005-02-20 17:15 NaN M 1986.0 \n", "4 2005-03-14 10:00 NaN F 1984.0 \n", "\n", " driver_age driver_race violation_raw violation search_conducted \\\n", "0 20.0 White Speeding Speeding False \n", "1 40.0 White Speeding Speeding False \n", "2 33.0 White Speeding Speeding False \n", "3 19.0 White Call for Service Other False \n", "4 21.0 White Speeding Speeding False \n", "\n", " search_type stop_outcome is_arrested stop_duration drugs_related_stop \n", "0 NaN Citation False 0-15 Min False \n", "1 NaN Citation False 0-15 Min False \n", "2 NaN Citation False 0-15 Min False \n", "3 NaN Arrest Driver True 16-30 Min False \n", "4 NaN Citation False 0-15 Min False " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what does each row represent?\n", "ri.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(91741, 15)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what do these numbers mean?\n", "ri.shape" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "stop_date object\n", "stop_time object\n", "county_name float64\n", "driver_gender object\n", "driver_age_raw float64\n", "driver_age float64\n", "driver_race object\n", "violation_raw object\n", "violation object\n", "search_conducted bool\n", "search_type object\n", "stop_outcome object\n", "is_arrested object\n", "stop_duration object\n", "drugs_related_stop bool\n", "dtype: object" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what do these types mean?\n", "ri.dtypes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- What does NaN mean?\n", "- Why might a value be missing?\n", "- Why mark it as NaN? Why not mark it as a 0 or an empty string or a string saying \"Unknown\"?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "stop_date 0\n", "stop_time 0\n", "county_name 91741\n", "driver_gender 5335\n", "driver_age_raw 5327\n", "driver_age 5621\n", "driver_race 5333\n", "violation_raw 5333\n", "violation 5333\n", "search_conducted 0\n", "search_type 88545\n", "stop_outcome 5333\n", "is_arrested 5333\n", "stop_duration 5333\n", "drugs_related_stop 0\n", "dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what are these counts? how does this work?\n", "ri.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(True == 1) and (False == 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Remove the column that only contains missing values ([video](https://www.youtube.com/watch?v=TW5RqdDBasg&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=2))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# axis=1 also works, inplace is False by default, inplace=True avoids assignment statement\n", "ri.drop('county_name', axis='columns', inplace=True)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(91741, 14)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.shape" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Index(['stop_date', 'stop_time', 'driver_gender', 'driver_age_raw',\n", " 'driver_age', 'driver_race', 'violation_raw', 'violation',\n", " 'search_conducted', 'search_type', 'stop_outcome', 'is_arrested',\n", " 'stop_duration', 'drugs_related_stop'],\n", " dtype='object')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.columns" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(91741, 14)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# alternative method\n", "ri.dropna(axis='columns', how='all').shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Pay attention to default arguments\n", "- Check your work\n", "- There is more than one way to do everything in pandas" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Do men or women speed more often? ([video](https://www.youtube.com/watch?v=d0oBRIONOEw&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=3))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "M 0.680527\n", "F 0.319473\n", "Name: driver_gender, dtype: float64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# when someone is stopped for speeding, how often is it a man or woman?\n", "ri[ri.violation == 'Speeding'].driver_gender.value_counts(normalize=True)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "M 0.680527\n", "F 0.319473\n", "Name: driver_gender, dtype: float64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# alternative\n", "ri.loc[ri.violation == 'Speeding', 'driver_gender'].value_counts(normalize=True)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Speeding 0.524350\n", "Moving violation 0.207012\n", "Equipment 0.135671\n", "Other 0.057668\n", "Registration/plates 0.038461\n", "Seat belt 0.036839\n", "Name: violation, dtype: float64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# when a man is pulled over, how often is it for speeding?\n", "ri[ri.driver_gender == 'M'].violation.value_counts(normalize=True)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Speeding 0.658500\n", "Moving violation 0.136277\n", "Equipment 0.105780\n", "Registration/plates 0.043086\n", "Other 0.029348\n", "Seat belt 0.027009\n", "Name: violation, dtype: float64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# repeat for women\n", "ri[ri.driver_gender == 'F'].violation.value_counts(normalize=True)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "driver_gender violation \n", "F Speeding 0.658500\n", " Moving violation 0.136277\n", " Equipment 0.105780\n", " Registration/plates 0.043086\n", " Other 0.029348\n", " Seat belt 0.027009\n", "M Speeding 0.524350\n", " Moving violation 0.207012\n", " Equipment 0.135671\n", " Other 0.057668\n", " Registration/plates 0.038461\n", " Seat belt 0.036839\n", "Name: violation, dtype: float64" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# combines the two lines above\n", "ri.groupby('driver_gender').violation.value_counts(normalize=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What are some relevant facts that we don't know?\n", "\n", "Lessons:\n", "\n", "- There is more than one way to understand a question" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Does gender affect who gets searched during a stop? ([video](https://www.youtube.com/watch?v=WzpGq1X5U1M&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=4))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False 0.965163\n", "True 0.034837\n", "Name: search_conducted, dtype: float64" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ignore gender for the moment\n", "ri.search_conducted.value_counts(normalize=True)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.03483720473942948" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# how does this work?\n", "ri.search_conducted.mean()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "driver_gender\n", "F 0.020033\n", "M 0.043326\n", "Name: search_conducted, dtype: float64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# search rate by gender\n", "ri.groupby('driver_gender').search_conducted.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Does this prove that gender affects who gets searched?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "violation driver_gender\n", "Equipment F 0.042622\n", " M 0.070081\n", "Moving violation F 0.036205\n", " M 0.059831\n", "Other F 0.056522\n", " M 0.047146\n", "Registration/plates F 0.066140\n", " M 0.110376\n", "Seat belt F 0.012598\n", " M 0.037980\n", "Speeding F 0.008720\n", " M 0.024925\n", "Name: search_conducted, dtype: float64" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# include a second factor\n", "ri.groupby(['violation', 'driver_gender']).search_conducted.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Does this prove causation?\n", "\n", "Lessons:\n", "\n", "- Causation is difficult to conclude, so focus on relationships\n", "- Include all relevant factors when studying a relationship" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Why is search_type missing so often? ([video](https://www.youtube.com/watch?v=3D6smaE9c-g&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=5))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "stop_date 0\n", "stop_time 0\n", "driver_gender 5335\n", "driver_age_raw 5327\n", "driver_age 5621\n", "driver_race 5333\n", "violation_raw 5333\n", "violation 5333\n", "search_conducted 0\n", "search_type 88545\n", "stop_outcome 5333\n", "is_arrested 5333\n", "stop_duration 5333\n", "drugs_related_stop 0\n", "dtype: int64" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False 88545\n", "True 3196\n", "Name: search_conducted, dtype: int64" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# maybe search_type is missing any time search_conducted is False?\n", "ri.search_conducted.value_counts()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Series([], Name: search_type, dtype: int64)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# test that theory, why is the Series empty?\n", "ri[ri.search_conducted == False].search_type.value_counts()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NaN 88545\n", "Name: search_type, dtype: int64" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# value_counts ignores missing values by default\n", "ri[ri.search_conducted == False].search_type.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Incident to Arrest 1219\n", "Probable Cause 891\n", "Inventory 220\n", "Reasonable Suspicion 197\n", "Protective Frisk 161\n", "Incident to Arrest,Inventory 129\n", "Incident to Arrest,Probable Cause 106\n", "Probable Cause,Reasonable Suspicion 75\n", "Incident to Arrest,Inventory,Probable Cause 34\n", "Probable Cause,Protective Frisk 33\n", "Incident to Arrest,Protective Frisk 33\n", "Inventory,Probable Cause 22\n", "Incident to Arrest,Reasonable Suspicion 13\n", "Inventory,Protective Frisk 11\n", "Protective Frisk,Reasonable Suspicion 11\n", "Incident to Arrest,Inventory,Protective Frisk 11\n", "Incident to Arrest,Probable Cause,Protective Frisk 10\n", "Incident to Arrest,Probable Cause,Reasonable Suspicion 6\n", "Inventory,Reasonable Suspicion 4\n", "Incident to Arrest,Inventory,Reasonable Suspicion 4\n", "Inventory,Probable Cause,Protective Frisk 2\n", "Inventory,Probable Cause,Reasonable Suspicion 2\n", "Probable Cause,Protective Frisk,Reasonable Suspicion 1\n", "Incident to Arrest,Protective Frisk,Reasonable Suspicion 1\n", "Name: search_type, dtype: int64" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# when search_conducted is True, search_type is never missing\n", "ri[ri.search_conducted == True].search_type.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# alternative\n", "ri[ri.search_conducted == True].search_type.isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Verify your assumptions about your data\n", "- pandas functions ignore missing values by default" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. During a search, how often is the driver frisked? ([video](https://www.youtube.com/watch?v=4tTO_xH4aQE&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=6))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NaN 88545\n", "Incident to Arrest 1219\n", "Probable Cause 891\n", "Inventory 220\n", "Reasonable Suspicion 197\n", "Protective Frisk 161\n", "Incident to Arrest,Inventory 129\n", "Incident to Arrest,Probable Cause 106\n", "Probable Cause,Reasonable Suspicion 75\n", "Incident to Arrest,Inventory,Probable Cause 34\n", "Probable Cause,Protective Frisk 33\n", "Incident to Arrest,Protective Frisk 33\n", "Inventory,Probable Cause 22\n", "Incident to Arrest,Reasonable Suspicion 13\n", "Protective Frisk,Reasonable Suspicion 11\n", "Incident to Arrest,Inventory,Protective Frisk 11\n", "Inventory,Protective Frisk 11\n", "Incident to Arrest,Probable Cause,Protective Frisk 10\n", "Incident to Arrest,Probable Cause,Reasonable Suspicion 6\n", "Incident to Arrest,Inventory,Reasonable Suspicion 4\n", "Inventory,Reasonable Suspicion 4\n", "Inventory,Probable Cause,Reasonable Suspicion 2\n", "Inventory,Probable Cause,Protective Frisk 2\n", "Probable Cause,Protective Frisk,Reasonable Suspicion 1\n", "Incident to Arrest,Protective Frisk,Reasonable Suspicion 1\n", "Name: search_type, dtype: int64" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# multiple types are separated by commas\n", "ri.search_type.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# use bracket notation when creating a column\n", "ri['frisk'] = ri.search_type == 'Protective Frisk'" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('bool')" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.frisk.dtype" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "161" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# includes exact matches only\n", "ri.frisk.sum()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0017549405391264537" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# is this the answer?\n", "ri.frisk.mean()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False 91580\n", "True 161\n", "Name: frisk, dtype: int64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# uses the wrong denominator (includes stops that didn't involve a search)\n", "ri.frisk.value_counts()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0017549405391264537" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "161 / (91580 + 161)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# includes partial matches\n", "ri['frisk'] = ri.search_type.str.contains('Protective Frisk')" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "274" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# seems about right\n", "ri.frisk.sum()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.08573216520650813" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# frisk rate during a search\n", "ri.frisk.mean()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NaN 88545\n", "False 2922\n", "True 274\n", "Name: frisk, dtype: int64" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# str.contains preserved missing values from search_type\n", "ri.frisk.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.08573216520650813" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# excludes stops that didn't involve a search\n", "274 / (2922 + 274)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Use string methods to find partial matches\n", "- Use the correct denominator when calculating rates\n", "- pandas calculations ignore missing values\n", "- Apply the \"smell test\" to your results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Which year had the least number of stops? ([video](https://www.youtube.com/watch?v=W0zGzXQmE7c&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=7))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2012 10970\n", "2006 10639\n", "2007 9476\n", "2014 9228\n", "2008 8752\n", "2015 8599\n", "2011 8126\n", "2013 7924\n", "2009 7908\n", "2010 7561\n", "2005 2558\n", "Name: stop_date, dtype: int64" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# this works, but there's a better way\n", "ri.stop_date.str.slice(0, 4).value_counts()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# make sure you create this column\n", "combined = ri.stop_date.str.cat(ri.stop_time, sep=' ')\n", "ri['stop_datetime'] = pd.to_datetime(combined)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "stop_date object\n", "stop_time object\n", "driver_gender object\n", "driver_age_raw float64\n", "driver_age float64\n", "driver_race object\n", "violation_raw object\n", "violation object\n", "search_conducted bool\n", "search_type object\n", "stop_outcome object\n", "is_arrested object\n", "stop_duration object\n", "drugs_related_stop bool\n", "frisk object\n", "stop_datetime datetime64[ns]\n", "dtype: object" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.dtypes" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2012 10970\n", "2006 10639\n", "2007 9476\n", "2014 9228\n", "2008 8752\n", "2015 8599\n", "2011 8126\n", "2013 7924\n", "2009 7908\n", "2010 7561\n", "2005 2558\n", "Name: stop_datetime, dtype: int64" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# why is 2005 so much smaller?\n", "ri.stop_datetime.dt.year.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Consider removing chunks of data that may be biased\n", "- Use the datetime data type for dates and times" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 7. How does drug activity change by time of day? ([video](https://www.youtube.com/watch?v=jV24N7SPXEU&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=8))" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('bool')" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.drugs_related_stop.dtype" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.008883705213590434" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# baseline rate\n", "ri.drugs_related_stop.mean()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "stop_datetime\n", "0 0.019728\n", "1 0.013507\n", "2 0.015462\n", "3 0.017065\n", "4 0.011811\n", "5 0.004762\n", "6 0.003040\n", "7 0.003281\n", "8 0.002687\n", "9 0.006288\n", "10 0.005714\n", "11 0.006976\n", "12 0.004467\n", "13 0.010326\n", "14 0.007810\n", "15 0.006416\n", "16 0.005723\n", "17 0.005517\n", "18 0.010148\n", "19 0.011596\n", "20 0.008084\n", "21 0.013342\n", "22 0.013533\n", "23 0.016344\n", "Name: drugs_related_stop, dtype: float64" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# can't groupby 'hour' unless you create it as a column\n", "ri.groupby(ri.stop_datetime.dt.hour).drugs_related_stop.mean()" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# line plot by default (for a Series)\n", "ri.groupby(ri.stop_datetime.dt.hour).drugs_related_stop.mean().plot()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAELCAYAAADX3k30AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd8XOWV8PHfmVGzqi3NyE22VV1wA1s2LphiAgkttECCgTiQLIRQNkB4N2zybnjffbNLQhLSKAuhJQumJ2RDQjfFuCC5N1xUbEsu6rKKVed5/5gZI9uyLGnKvTM6389HnxldXd17NB4fXZ3nuecRYwxKKaWil8PqAJRSSoWWJnqllIpymuiVUirKaaJXSqkop4leKaWinCZ6pZSKcprolVIqymmiV0qpKKeJXimlolyM1QEAuFwuk52dbXUYSikVUdauXVtjjHGfaj9bJPrs7GyKi4utDkMppSKKiOzpz35aulFKqSiniV4ppaKcJnqllIpymuiVUirKaaJXSqkop4leKaWinCZ6pZSKchGd6LftP8zTK8qsDkMppWwtohP9ypIa/u/ftlHX0mF1KEopZVsRnejzMpMB2F3VbHEkSillX6dM9CLytIhUiciWHtvSReRdEdnlexzh2y4i8lsR2S0im0RkViiDz3droldKqVPpzxX9s8BXjtv2Q+B9Y0wB8L7vc4CLgALfxy3AY8EJs3djhw8jIdZBSbUmeqWUOplTJnpjzMdA3XGbLwee8z1/Driix/Y/Gq/VwHARGR2sYI/ncAi5rmS9oldKqT4MtkY/0hhzAMD3mOnbPhbY12O/Ct+2kMnL1ESvlFJ9CfZgrPSyzfS6o8gtIlIsIsXV1dWDPmG+O5nKhiMc6ege9DGUUiqaDTbRH/KXZHyPVb7tFcC4HvtlAft7O4Ax5gljTKExptDtPmXf/JPK98280Tq9Ukr1brCJ/q/AUt/zpcAbPbZ/0zf7Zh7Q6C/xhEpeZhKgiV4ppU7mlCtMicgy4FzAJSIVwE+AB4GXReTbwF7gGt/ufwcuBnYDrcBNIYj5GDmuJBwCJVqnV0qpXp0y0RtjrjvJl87vZV8D3B5oUAMRH+NkfHoiu/WKXimlehXRd8b65bmTKalqsToMpZSypahI9PmZyZTVtNDV7bE6FKWUsp2oSPR5mcl0dHvYV3/E6lCUUsp2oiPR+3re6ICsUkqdKCoSvX8uvQ7IKqXUiaIi0acNi8WdEq+tEJRSqhdRkegB8txJetOUUkr1ImoSfb6vuZl3Kr9SSim/6En07mSa2rqobmq3OhSllLKVqEn0eTogq5SKIMYY9tW10u0JfRUiahL90S6WOiCrlIoAdS0dLPr5cp5dWR7yc0VNoh+VmkBSnFNn3iilIkJpjbdtS64rKeTnippELyLkZSZTUq09b5RS9lfqKzPnujXRD0i+W5cVVEpFhtLqFuKcDrJGJIb8XFGV6PMykzl4uI2mtk6rQ1FKqT6V1rQwISMRp6O3FViDK7oSva/nTamWb5RSNlda3RyWsg1EWaI/2vNGyzdKKRvr6vawt66VXN/FaahFVaKfkJFIjEO0FYJSytb21R+hs9uQE4YZNxBliT7W6WBCRqJe0SulbM0/4yZPSzeDk5+ZrHfHKqVszT+OmOvS0s2g5LmT2VvbSqcuK6iUsqnSmmZGJMYyIikuLOeLukSfn5lMl8ewp1Zn3iil7Km0uiVsA7EQpYkedOaNUsq+SmtawtL6wC/qEr3/t6S2QlBK2VFTWyfVTe16RR+I5PgYRqcl6BW9UsqW/AOx4ZpaCVGY6OGL1aaUUspuSmvCO7USojTR57mTKanWZQWVUvZTWt2CQ2B8RuibmflFZ6LPTKa1o5sDjW1Wh6KUUscorWlhXHoi8THOsJ0zKhN9vltn3iil7Km0OrwzbiBKE31epvdF1J43Sik78XgMZTXNYZ1xAwEmehG5W0S2isgWEVkmIgkikiMia0Rkl4i8JCLhufWrB3dyPKkJMXpFr5SylQOH22jr9IR1xg0EkOhFZCxwF1BojJkGOIFvAD8DHjbGFAD1wLeDEegAY9OZN0op2wnn8oE9BVq6iQGGiUgMkAgcABYDr/q+/hxwRYDnGBTvzBu9aUopZR/+OfR5kVK6McZUAr8A9uJN8I3AWqDBGNPl260CGBtokIORn5lMTXM7ja26rKBSyh5Kq5tJinOSmRIf1vMGUroZAVwO5ABjgCTgol527XUyu4jcIiLFIlJcXV092DBO6mjPm+qmoB9bKaUGo7TG28xMJPTrxPYUSOnmS0CZMabaGNMJvA4sAIb7SjkAWcD+3r7ZGPOEMabQGFPodrsDCKN3/j+NSqq0fKOUsgdv18rw1uchsES/F5gnIoni/fV0PrANWA58zbfPUuCNwEIcnHHpicTFOHQREqWULbR1drO/8UjYFhvpKZAa/Rq8g67rgM2+Yz0B/Atwj4jsBjKAp4IQ54A5HUKuK4kSnXmjlLKBspoWjIEcC67oY069y8kZY34C/OS4zaXA3ECOGyx57mS27G+0OgyllOqxfGBklW5sLy8zmX11rbR1dlsdilJqiLNqDj1Ee6J3J+ExUK7LCiqlLFZW08LotAQS4wIqpAxKVCd6XVZQKWUXJTXWzLiBKE/0ua5kRDTRK6WsZYyhtLrZkhk3EOWJflick7HDh2krBKWUpWqaO2hq69Ir+lDR5mZKKav5B2LD3bXSL/oTvTuZ0upmuj26rKBSyhqlNdY0M/OL+kSfl5lMe5eH/Q1HrA5FKTVEldW0EBfjYMzwYZacP+oTvc68UUpZrbS6mZyMJJyO8DYz84v+RK/rxyqlLGZVMzO/qE/0I5LiSE+K0/VjlVKW6Oz2sLeuVRN9qOW7deaNUsoae+ta6fIYy+bQwxBJ9HmZyeyubsYYnXmjlAovfzMzK7pW+g2NRO9OoqG1k7qWDqtDUUoNMf459Hl6RR9aOvNGKWWVspoWMpLiSEuMtSyGoZXodUBWKRVmVs+4gSGS6MekDWNYrFPXj1VKhV1pjXXNzPyGRKJ3OIRcd5Je0SulwqrxSCc1zR16RR8u+ZnJun6sUiqsrG5m5jdkEn2eO5nKhiO0dnRZHYpSaog4uk6sRc3M/IZMovcPyJZqb3qlVJiU1bTgdAjj0xMtjWPIJXpthaCUCpfSmmbGpycSF2Ntqh0yiX5CRiIOXVZQKRVGpdUt5Fpcn4chlOjjY5xMyEjSRK+UCguPx1Bm4YLgPQ2ZRA/eAVkt3SilwqGy4QjtXR7LB2JhqCX6zCTKalro6vZYHYpSKsr5lw+0emolDLFEn+9OprPbsLeu1epQlFJRzj+HXks3YZZ3dOaNTrFUSoVWWU0LKfExuJPjrQ5laCV67WKplAoXfzMzEWvWie1pSCX61IRYMlPiNdErpUKutLrZFgOxEGCiF5HhIvKqiHwuIttFZL6IpIvIuyKyy/c4IljBBoPOvFFKhVprRxf7G9tsMYceAr+i/w3wljFmMjAT2A78EHjfGFMAvO/73Db8zc10WUGlVKiU1dijx43foBO9iKQCZwNPARhjOowxDcDlwHO+3Z4Drgg0yGDKz0ymqb2LqqZ2q0NRSkWpo+vERsEVfS5QDTwjIutF5A8ikgSMNMYcAPA9ZgYhzqDxD8hu2NdgcSRKqWhVZqM59BBYoo8BZgGPGWPOAFoYQJlGRG4RkWIRKa6urg4gjIGZk53O6LQEnvy4VMs3SqmQKK1uZuzwYQyLc1odChBYoq8AKowxa3yfv4o38R8SkdEAvseq3r7ZGPOEMabQGFPodrsDCGNg4mIcfPecPIr31LOqtDZs51VKDR2lNulx4zfoRG+MOQjsE5FJvk3nA9uAvwJLfduWAm8EFGEIfH3OONwp8fzu/d1Wh6KUijLGGNt0rfQLdNbNncDzIrIJOB34D+BB4AIR2QVc4PvcVhJindx6di6rSmspLq+zOhylVBSpbmqnub3LNjNuIMBEb4zZ4Cu/zDDGXGGMqTfG1BpjzjfGFPgebZlJl5w5nvSkOH77gV7VK6WCp+To8oHRc0UfsRLjYvjOohw+3lnNRp2Bo5QKktIaeywI3tOQTfQA35yfTdqwWH6nV/VKqSApq24hIdbBmLRhVody1JBO9MnxMdy8MIf3th9i2/7DVoejlIoCpTUtZGck4XBY38zMb0gneoBvLcwmJT6G3y/fZXUoSqkoUFrdTJ6NBmJBEz1pw2JZuiCbf2w5yK5DTVaHo5SKYB1dHvbVH7HVQCxoogfg5rNyGBbr5PfLtVavlBq8vXUtdHuMJno7Sk+K44Z5E/ifjfuP9qhQSqmBKjnazExLN7b0nUU5xDodPKpX9UqpQfqiPbFe0dtSZkoC180dz5/XV7JPFw9XSg1CaXUzruR4UhNirQ7lGJroe/juOXk4RHjsoxKrQ1FKRSD/OrF2o4m+h1FpCVxTmMWrxRUcaDxidThKqQhTWtNCniZ6+7vt3Dw8xvBfH5VaHYpSKoI0tHZQ19JBrs0GYkET/QmyRiRy1ayxLPtsL1VNbVaHo5SKEHZsZuanib4X3zs3n85uD3/4pMzqUFQUKa9p4YG/bqW+pcPqUFQIlFbbr5mZnyb6XmS7krj89LH89+o91Ol/ShUky4r28uzKcq5+bCV7a3VmV7Qpq2khxiGMS0+0OpQTaKI/idvPy+NIZzdPrdBavQqOLZWNjE5LoLalg6se+1TbY0eZ0uoWxmckEuu0X1q1X0Q2kZ+ZwsXTRvPcyj00tnZaHY6KcMYYNlc0cu6kTF67bQEJsU6+8cRq3t9+yOrQVJCU1jTbciAWNNH36Y7F+TS3d/HMSq3Vq8DsrWvlcFsXM7LSyM9M5vXvLSA/M5l/+mMx/716j9XhqQB1ewzlta22nFoJmuj7NGV0KhecNpKnV5TR1KZX9WrwNlc2AjB9bBrgvRP7xVvmcc5ENz/+yxZ+9tbneDzGyhBVACrrj9DR5bHljBvQRH9Kdy0u4HBbF39cpVddavA2VzQS53QwcWTK0W1J8TE8+c1Crps7nsc+LOHulzfQ3tVtYZRqsEqOzrjR0k1Emp6VxrmT3Dy1oozWji6rw1ERanNlI5NHpxAXc+x/uRing/+4chr3fXkSb2zYz9KnP6PxiP71GGnW7qnH6RCmjE459c4W0ETfD3cuLqCupYNXiiusDkVFIGMMmysbmeYr2xxPRLj9vHwe/vpM1u6p55rHV1LZoC04Isnq0lqmjU0jxWbNzPw00ffD7AkjKMhM5v3Pq6wORUWgPbWtNLV1MeMkid7vyjOyeO6muRxoaOOqRz9l6/7GMEWoAtHa0cXGigbm52ZYHcpJaaLvp4X5LorK6ujo8lgdioow/oHYk13R97Qg38Urt83HIcK1j6/i453VoQ5PBai4vJ7ObsP8PE30EW9BXgZHOrtZv7fe6lBUhNlceeJAbF8mj0rlz99byLj0RG5+tohXiveFOEIViFWltcQ4hMIJI6wO5aQ00ffTmbkZOAQ+Lam1OhQVYTZXNDKll4HYvoxKS+CV785nXm4G9726ife26Y1VdrW6tJYZWWkkxcdYHcpJaaLvp7RhsUzPGs6nu2usDmVIMMZQ29xOd4TPLfd4DFv2n3wgti8pCbE8/a055LqS+Pnbn0f8axGNmtu72FTRaOuyDYB9fwXZ0Fn5GfzXR6U0t3eRbOPf3tHgnW2HuPVPa4lzOhifkUiOK+noR3ZGErnuJDJT4hERq0Pt054630Bs1sATPUBcjIN7LpzIHS+s540NlVw1KyvIEapAFJXX0e0xzM91WR1KnzRbDcDCPBePLC/hs7JaFk8eaXU4Ue3jndUkxTm5Yf4EymtaKKtp4aOd1ccMhifGOcnO6PELwJVEjiuRHFcyIxJjbfFLYCADsSdz8bTRTB1TwsPv7eTSGWMGVAJSobW6pJZYpzDbxvV50EQ/ILMmjCA+xsGnuzXRh1pxeT2zs9O5/6IpR7d5PIb9jUcor2mlrKaZ0poWymta2Lq/kbe2HjymtJE2LNab+DO8iT/blUiu7zGcc503VzQQF9P/gdjeOBzCD748iZueKeKlor3cOD87eAGqgKwureX0ccMZFue0OpQ+BZzoRcQJFAOVxphLRSQHeBFIB9YBNxpjoqKpe0Ksk8LsEVqnD7GG1g52HGri0hmjj9nucAhZIxLJGpHIWQXH/qnc2e1hX10rZb6r//Ja72NReT1/2bD/mH1dyfG+K3/vXwG5riQW5LtIDcEvgM2VjUwZnRpw69pzJ7qZm53Obz/Yzddmj7N9YhkKDrd1srmykTvOy7c6lFMKxhX9PwPbgVTf5z8DHjbGvCgijwPfBh4LwnlsYUGei4fe3kFNczuu5Hirw4lKa/d4p7DOyUnv9/fEOh3kupPJdZ/Ya6Sts5s9td6/Asp8fw2U17TywefV1DR773a+elYWv7x2ZnB+AB+Px7Cl8jBXnDEm4GOJCPd9ZRLXPL6K51aV891z8gIPUAWkqKwOj4F5Nh+IhQATvYhkAZcAPwXuEW9RdDGwxLfLc8ADRFGiPyvfm+hXltTy1ZmB/wdWJyoqryfWKczMGh6U4yXEOpk0KoVJo04snzS1dfKDVzby0c5qPB6DwxG8un55bQvN7V3MGBucn2NOdjrnTXLz2IclXDd3PGnD7Hm7/VCxqqSWOKeDWePtXZ+HwKdX/hr4X4B/hCwDaDDG+Lt/VQBje/tGEblFRIpFpLi6OnLu/ps2No3UhBhWavkmZIrK65g2Ni0s5YmUhFguOG0UNc3tfH6wKajHDsZA7PHuvXASjUc6+cMnuvKZ1VaX1XLG+OEkxNq/jDboRC8ilwJVxpi1PTf3smuvk3+NMU8YYwqNMYVut3uwYYSd0yHMy81ghSb6kGjr7GZTRQNzs/tftgnUIl+9/5Ndwb3g2FzRSHyMg4KRwWtdO21sGpfOGM1TK8qobmoP2nHVwDS2drJ1/2Hbz5/3C+SKfiHwVREpxzv4uhjvFf5wEfGXhLKA/b1/e+RamO+iov6ILvAcApsqGunsNhSGMdGPTE1g0sgUPtkV3F/ewRqIPd49F0ykvcvDox/uDupxVf+tKavFGGzdyKynQb8DjTH3G2OyjDHZwDeAD4wx1wPLga/5dlsKvBFwlDazMN97BfhpiV7VB1tReR1A2OclLypw8Vl5HUc6grPwh8dj2Lr/8NEVpYIp153MNbOzeH71Xirq9WLDCqtL64iPcXD6+OCMv4RaKO68+Be8A7O78dbsnwrBOSyV505iZGq8TrMMgaLyOvIzk0lPigvreRdNdNPR5eEz3y+aQJX5BmKnD/KO2FO56/wCEPjt+7tCcnzVt1WltcyeMIL4GPvX5yFIid4Y86Ex5lLf81JjzFxjTL4x5hpjTNQVEkWEhXkuVpbU6jqfQdTtMazdU8+cMJZt/OZmpxPndLAiSHX6LcetERtsY4YP48Z5E3h1bQW7q5pDcg7Vu/qWDrYfOBwxZRvQpmaDtiDfRV1LR9BnagxlOw810dTWxZzs8E9XGxbnZE7OiKDV6Tf5B2IzQ7eG6PfOzWNYrJOH390ZsnOoE60p83awjZSBWNBEP2gL873/yCu1Th80xb6yiRVX9ACLCtx8frCJqsNtAR9rc2Ujp41JJSbIA7E9ZSTH8+1Fuby5+cDRvyBU6K0urWNYrJMZQbrPIxw00Q/S6LRh5LqTtE4fRJ+V1zMyNZ6sEcMsOf8X0ywD+zf1eAxbKxtDVrbp6TuLchieGMtDb+8I+bmU16qSWgqzR0RUc7nIidSGFua5WKPLCwaFMYaisjrmZKdb1nVyyqhUXMlxAc+nL61poaWjOyyJPjUhlu+dm8dHO6tZU6qL4oRabXM7Ow41MS+C6vOgiT4gC/MzaO3oZmNFg9WhRLzKhiMcPNxmWdkGvE3Tzsp3sWJ3TUCD7Jsrve+HUM24Od4352czMjWeh97egTE6OSCUVpd6y4uRVJ8HTfQBmZebgQhavgkC//z5QgsGYntaVOCmprmD7QcPD/oYmysOkxDrIL+XBmuhkBDr5K7zCyjeU8+HOyKnnUgkWl1aS2KcMyx/rQWTJvoADE+MY9qYNFbu1j+ZA1VUXk9KfAyTR6WeeucQCkadfktlI6eNDu1A7PGuLRzHhIxEfv72Dp3yG0KrSmuZk50e9LudQy2yorWhhfku1u+rp6W969Q7q5MqLq9j1oQROIPYPXIwMlMTmDwqZdB1+m7fGrHhvuKLdTq454KJbD9wmDc3HwjruYeKqqY2dlc1R1zZBjTRB2xhfgad3SZod1QORQ2tHew81GzJ/PneLCpwUVRWP6h2CGU1zbR2dDPdgql3l80Yw+RRKfzq3Z10dusEgWA7Wp+PsIFY0EQfsMIJ3jsqtW3x4BWXexcaCWcjs74sKnDT0e05emPMQGyqCO0dsX1xOIQfXDiJspoWXltbEfbzR7vVpbUkx8cwdYy15cXB0EQfoGFxTmZNGM6nWqcftKI9dcQ6hdPH2eMGlLk56cTFOAZVp99c2ciwWCd57qQQRHZq50/JZNb44fzm/V20dQanQZvyWl1Sy9yc9LCOvQRL5EVsQ2flu9h24DB1LVGxNG7YFZfXM31smm0WcEiIdTI3O31QdfotYbgjti8iwn1fnsyBxjaeWlFmSQzR6NDhNkprWiKybAOa6INiga9tsbZDGDj/QiNWzp/vzaICFzsPNXNoAO0Qun1rxFo99W5+XgaXTB/Nr97debSthArM6tLI62/Tkyb6IJgxNo2U+Bgt3wzCxn0NYV9opD8WFXhXPRtI+aa0upkjneG5I/ZU/vPq6WSNGMYdL6yntjnyG8geaDzCV379Md/901qKyuvCfmPYqpJaUhNimDI68urzoIk+KGKcDs7MTdcr+kEo3uMbiA3zQiOnMnlUCq7k+AGVb44OxIbpjti+pCbE8siSWdS1dnD3yxsjem59S3sXNz9bzL66VlaV1nLN46u4/JFP+cv6yrC1H1lVWsvcnAzLp/8Olib6IFmQ52JPbSv76nTFn4EoKq+jIDOZEWFeaORUHA5hUYGLFbv63w7hi4HY8NwReyrTxqbxwGVT+XhnNY8sj8xlB7s9hruWrWfHwcM8cv0sVt2/mP93xTSa27v4/ksbWPTzD3hk+W7qQzg+tr/hCHtqWyO2bAOa6IPmrAKt0w9Ut8ewtrzedmUbv0UFLmpbOth2oH/tELZUNjJ1TKqtrvqumzuOK04fw8Pv7YzIKcD/781tvP95Ff/nq1M5d1ImiXEx3DBvAu/dfQ7P3DSHiSNTeOjtHcx/8H3uf30zu6uCvz7E0fp8hA7Egib6oCnITMadEq91+gHYcbCJpvYu5ubYq2zjd1Z+/9shdPvXiLVB2aYnEeGnV04n153MXS9uCEqv/XD546pynvm0nJsX5nDj/OxjvuZwCOdNyuRP3z6Td+4+mytOH8tr6yr40q8+ZunTn/HRzuqg1fFXldQyPDGWyaNSgnI8K2iiDxIRYUFeBitLarWDYD8V7/E1Mptgzyv6gbRDKLHRQOzxkuJjeOz6WbS0d3HnsvV0RcBds8s/r+KBv27lS1My+dElU/rcd+LIFB68egarfriYey+YyLYDh1n69Gdc8PDHvLBmb8D3E6wqreXMnHQcNvpLbaA00QfRwjwXNc3t7Dyka3j2R1F5PaNSEyxbaKQ/zp7opri8ntaOvnsZWXlHbH8UjEzhp1dOY01ZHQ+/Z++lB7cfOMwdL6xj8qhUfvONM/pdCstIjufO8wv49F8W8/DXZ5IQ6+Bf/7yZKx9dOega/r66Virqj0R02QY00QfVAt/ygisisBYabv6FRgqzR1i20Eh/LCpw+doh9D0ffUtlI4lxTnJtMhDbm6tmZfGNOeN4ZHkJy3dUWR1Or6oOt/HtZ4tITojhqW8VkhQfM+BjxMU4uPKMLP7njrN44sbZlFQ3c+PTa2g80jngY30xf9414O+1E030QZQ1IpHsjMSIHPQKt4p670Ijc3PsWbbxm5OdTnyMg0929v1vuqmiwXYDsb154KtTmTwqhbtf2sD+hiNWh3OMIx3dfOePxdS3dvLU0jmMTgvsLz0R4cKpo/ivG2az42AT33z6M5raBpbsV5XWkp4UF9JF3sNBE32QLcj3Li8YCXVQK9m9Pu+XEOtkbk7f7RC6uj1sO3CY6WPt0aunLwmxTh67YTZd3YbbX1hnm2UwPR7D3S9tYHNlI7+97gymBbEEdt7kTB5ZMoutlY3c9ExRv1uKG2NYXVLLvNzIrs+DJvqgW5jnorm9i42+mq3qnX+hkUkRMJNhUYGLXVXNHGjs/Qq4pLqFtk4P07Mi467JHFcSP7t6Buv3NvCztz63OhwAfvb257y19SA/vuQ0LjhtZNCPf+HUUfzuujNYv6+Bm58t6lcL6r11rexvbIv4+jxoog86/00Vurxg34rK7LHQSH/42yGsOMk0y02+NYPtOhDbm0tmjOZbC7J5akUZb205aGksyz7by399VMoN88Zz88LskJ3noumj+dW1Mykqr+Of/lh8ytk4kd7fpidN9EGWnhTH1DGpmuj7UN/Swa6qZtvX5/2+aIfQ+7/plspGkuKc5Lgiq457/8WTmZmVxn2vbmRPbYslMazYVcP//ssWzpno5oHLpoZ8YP7y08fy0Ndm8mlJDbf+aS3tXSdP9qtKanElx9vmTudAaKIPgYX5LtbvbRjUCkVDwVqb9rc5GRHh7AIXK3b33g5hU2UjU8ekRcRfJz3Fxzj5/ZJZCPC959eFvX/9rkNN3Pb8WvLcyfx+yRlha+189ews/vPK6Xy0s5rbn+99nMIYw6pSb33ezrPC+ksTfQgsyMugo9tDkbaI7VVRuXehkZk2WWikPxZNdFHXSzuErm4P2w/Y747Y/hqXnsivrj2drfsP8+9/2xa289Y0t3Pzc0XExzh56luFpCTEhu3cAN+YO55/v2Ia722v4q5l609YerGspoVDh9ujomwDmuhDYm5OOrFO4VPte9OrovI6ZmQNt81CI/2x0NcO4ePjZt/srm72DsRGUH3+eF86bSS3npPL82v28uf1oV+C8EhHN7f8sZjqpnb+sLSQrBGJIT9nb26cN4F/u/Q03tp6kHte3kh3j7/WInl92N4MOtGLyDgRWS6C/AcNAAAR50lEQVQi20Vkq4j8s297uoi8KyK7fI+R8fd5ECXGxXDGuBFap+9FW2c3mysbKbTJQuD9lZmSwJTRqSfMp/ffERvM6YBW+MGFk5ibk84PXtnEss/2huw8tc3tXPfkatbva+Dha0+3fPnIm8/K4f6LJvM/G/dz3ytfJPtVpbVkpsST47JmSchgC+SKvgu41xgzBZgH3C4ipwE/BN43xhQA7/s+H3IW5rvYuv8wDa26vGBP/oVG5th8/nxvzi5wUbyn7ph2CP6B2NwITwixTgfPfGsOZ+W7uP/1zfzynR1B79lUVtPCVY+tZPuBwzx+w2wumj46qMcfrFvPyeMHF07k9fWV/Ovrm/F4DKtKapmflxEV9XkIINEbYw4YY9b5njcB24GxwOXAc77dngOuCDTISLQwPwNjvCP36gv+cYvZETIQ29OiAjed3YY1pV+MvWyqaGTq2LSIv6EGvM3P/rC0kK8XjuN3H+zm3pc3Bu2GqnV767n6sZU0tXWx7JZ5fHnqqKAcN1juWFzAXYvzeal4H7f8qZia5vaoKdtAkGr0IpINnAGsAUYaYw6A95cBkBmMc0SameOGkxTn1L43xykqr2fiSPstNNIfhdkjiI9xHK3T+wdiZ0R42aanWKeDB6+ezr0XeK9wb3r2Mw4PsG3A8d7acpDrnlhNakIMr9+2gFnj7flL/u4LJvLdc/J4b7u3D1C0DMRCEBK9iCQDrwHfN8b0b4UG7/fdIiLFIlJcXd3/5doiRazTwVkFLt7eeuiEEf2hqttjWLfHvguNnEpCrJMzczOOzqffVdVMe5cnYmfcnIyIcOf5BfzympmsKa3j2sdXnfSu4FN59tMybnt+LaeNSeW12xaQbeMSl4jwL1+ZxJ2L8/nSlJGMT7dmkDgUAkr0IhKLN8k/b4x53bf5kIiM9n19NNBrmzxjzBPGmEJjTKHb7Q4kDNv6+pxx1DS38+62Q1aHYgv+hUbmRNhAbE+L8l3srmpmf8MRNkfJQOzJXD07i2dumkNF/RGufMRbW+8vj8fw0ze38cD/bONLU0bywnfmkZEcH8Jog0NEuPfCSfxhaWHU1OchsFk3AjwFbDfG/KrHl/4KLPU9Xwq8MfjwIts5EzMZO3wYL6wJ3SyGSOKvz9u9kVlfFk30TrNcsauGzZWNJMfHkJNh36vUQC0qcPPyrfMxGK59fFW/ZpK1dXZz57L1PPlJGUvnT+DxG2YzLC5yptJGo0Cu6BcCNwKLRWSD7+Ni4EHgAhHZBVzg+3xIcjqEr88Zx4rdNZTXWHOLuZ0UldcxOs3eC42cyqSRKbhT4vl4V7XvjtjUqBiI7ctpY1L58/cWMmb4MJY+/Rmvrzv5XPuG1g5ufGoNb24+wI8unsIDX50acXcMR6NAZt2sMMaIMWaGMeZ038ffjTG1xpjzjTEFvschfXvotYXjcDqEF4v2WR2KpYwxFJXXUZgd2beUiwiLClx8urvGOxAbZfX5kxkzfBiv3DafuTnp3PPyRn7/wa4Tpl/uq2vlqsdWsnFfI7+77gz+6ezciP63jiZ6Z2yIjUpLYPHkTF5du882vb+tUFF/hEOH2yO6Pu93doGb+tZOOro8UVuf701qQizP3jSXK88Yyy/e2cn9r28+uu7CpooGrnx0JTVN7fzp23O5bOYYi6NVPQ18nS41YEvOHM+72w7xzraDXDpjaP4H8Nfn50TojJue/O0QILJaEwdDXIyDX107kzHDE3hkeQkHD7dxzexx/OCVjaQnxfHiLWeSn2n/NQaGGk30YXB2gfvooOzQTfT1pCTEMHFk5CcBd0o8p41OZV9dK9lRPBB7MiLCfV+ezNjhifzvN7bw4Y5qpo1N5emlc8hMTbA6PNULTfRh4HQI180dxy/e2UlZTUvU9M8YiOLyOmZHyEIj/XHvhRM50NgW9QOxfVly5njGjhjGhzuq+MGFkwa1kLcKD/2XCZNrC8fx6/d28eJne7n/4ilWhzMoVYfb+Lc3tlLZcIRsVxI5riRyXInkuJLJyUgiLbH3VrP+hUauOGNsmCMOnfOnBH+5u0h0zkQ350yMzvtgookm+jDJTE3gS1NG8sraCu65cCLxMZE1r/jDHVXc+/JGWjq6mJOdzoZ99by5aT891+FIT4ojO8OX+P2/AFxJ7K5uBqKjPq9UJNJEH0ZLzhzPW1sP8vbWQ3w1QmYldHR5eOjtz3nykzImj0rhpSXzjg62tXd1s6+ulbKaVspqmo8+frq7htfWtR1znFinDJmpiErZjSb6MDor38W49GG8sGZPRCT6PbUt3LlsPZsqGrlx3gR+dMmUYxYLiY9xkp+Z4kv8x5YyWju6KK9ppaymhfLaFsYMT4iohUaUiiaa6MPI4RC+MWc8D729g5LqZlsvOvzGhkp+9OctOAQev2E2X5k2sLayiXExnDYmldPGpIYoQqVUf+kNU2F2TWEWMQ5hmU3737R2dHHfKxv55xc3MHlUCv/4/tkDTvJKKXvRRB9mmSkJXDh1JK+tq6Cts9vqcI6xbf9hLvvdCl5dV8Gdi/N58ZZ5jB0euX1plFJemugtsGTuBOpbO3l760GrQwG8fWieW1nOFY9+SlNbF89/50zuvXASMU59eygVDbRGb4EFeRlMyEjk+TV7ufx0a+eWN7R2cN+rm3h32yHOm+TmF9fMjIi+4Uqp/tNLNgv4B2U/K6tjd1WTZXEUlddx8W8+4cMdVfz4kik8/a05muSVikKa6C1yTWEWsU7hhTXWtC9eu6eO655YTVyMg9dvW8h3FmlLWaWilSZ6i7iS47lw6ihLBmXrWjq444X1jB6ewBu3nxV1a54qpY6lid5C188dT+ORTv6x5UDYzunxGO5+aQO1zR08umT2SfvTKKWihyZ6C83PyyDHlRTWNWUf+6iEj3ZW82+XnaZX8koNEZroLSTibV9cVF7PzkOhH5RdVVLLL9/ZwVdnjuH6M8eH/HxKKXvQRG+xq2dlEed0hPyqvqqpjTuXrSfblcR/XDVdB16VGkI00VssIzmeL08bxeshHJTt9hjuWrae5vZOHr1+Fsm6QIRSQ4omehtYMnc8h9u6eHNTaAZlf/3eTlaX1vHvl09j8ihtMqbUUKOJ3gbm5aaT607ihc+CX775cEcVv/tgN9fMzuKawnFBP75Syv400duAiLBk7njW7qlnx8HgDcrubzjC3S95u1D+38unBe24SqnIooneJr4YlN0TlON1dnu4c9l6Oro8PHL9LIbF6aIfSg1VmuhtYkRSHBdNH8Xr6ys50hH4oOzP3/qctXvqefDqGbZe4EQpFXqa6G1kydzxNLV18bdN+wM6zjtbD/LkJ2XcOG8Cl0XAkoVKqdDSRG8jc3PSyc9M5slPSvloZ/WgplvurW3l3lc2Mn1sGj++dEoIolRKRRqdUG0jIsLdX5rIPS9vYOnTnzEs1snCfBeLJ2dy3mQ3o9P6Xu2pvaub219YB8Cj188iPkbr8kopTfS2c8mM0Zw/JZNVJbV88HkVH3xexXvbDwEwZXQqiye7WTw5k9PHjcDpOPbu1p++uZ3NlY08ceNsxqUnWhG+UsqGxBgT/IOKfAX4DeAE/mCMebCv/QsLC01xcXHQ44gGxhh2VTUfTfpr99TT7TGMSIzlnIluzpucyTkT3Xyyq4Y7l63nnxbl8KNLTrM6bKVUGIjIWmNM4Sn3C3aiFxEnsBO4AKgAioDrjDHbTvY9muj7r7G1k493VbP88yo+3FlNXUsHDoEYh4NpY1N56db5xOpar0oNCf1N9KEo3cwFdhtjSn2BvAhcDpw00av+S0uM5bKZY7hs5hi6PYaNFQ0s/7yKzw828X++OlWTvFLqBKFI9GOBnuvjVQBnhuA8Q57TIcwaP4JZ40dYHYpSysZCcfnXW//bE+pDInKLiBSLSHF1dXUIwlBKKQWhSfQVQM/uWVnACXcAGWOeMMYUGmMK3W53CMJQSikFoUn0RUCBiOSISBzwDeCvITiPUkqpfgh6jd4Y0yUidwBv451e+bQxZmuwz6OUUqp/QnLDlDHm78DfQ3FspZRSA6Nz8ZRSKsppoldKqSiniV4ppaJcSHrdDDgIkWpgsEsruYCaIIYTqfR1+IK+Fl76OnhF8+swwRhzyvnptkj0gRCR4v70eoh2+jp8QV8LL30dvPR10NKNUkpFPU30SikV5aIh0T9hdQA2oa/DF/S18NLXwWvIvw4RX6NXSinVt2i4oldKKdWHiE70IvIVEdkhIrtF5IdWx2MVESkXkc0iskFEhsxSXSLytIhUiciWHtvSReRdEdnlexwSzfpP8lo8ICKVvvfFBhG52MoYQ01ExonIchHZLiJbReSffduH5Huip4hN9L4lCx8BLgJOA64TkaG8WOp5xpjTh9g0smeBrxy37YfA+8aYAuB93+dDwbOc+FoAPOx7X5zu60EVzbqAe40xU4B5wO2+nDBU3xNHRWyip8eShcaYDsC/ZKEaIowxHwN1x22+HHjO9/w54IqwBmWRk7wWQ4ox5oAxZp3veROwHe+Kd0PyPdFTJCf63pYsHGtRLFYzwDsislZEbrE6GIuNNMYcAO9/fCDT4nisdoeIbPKVdoZMyUJEsoEzgDXoeyKiE32/liwcIhYaY2bhLWPdLiJnWx2QsoXHgDzgdOAA8EtrwwkPEUkGXgO+b4w5bHU8dhDJib5fSxYOBcaY/b7HKuDPeMtaQ9UhERkN4HussjgeyxhjDhljuo0xHuBJhsD7QkRi8Sb5540xr/s2D/n3RCQnel2yEBCRJBFJ8T8HLgS29P1dUe2vwFLf86XAGxbGYil/cvO5kih/X4iIAE8B240xv+rxpSH/nojoG6Z808V+zRdLFv7U4pDCTkRy8V7Fg3fFsBeGyusgIsuAc/F2JzwE/AT4C/AyMB7YC1xjjIn6QcqTvBbn4i3bGKAcuNVfq45GInIW8AmwGfD4Nv8r3jr9kHtP9BTRiV4ppdSpRXLpRimlVD9ooldKqSiniV4ppaKcJnqllIpymuiVUirKaaJXSqkop4leRQQR+b6IJIbw+Nk9W/z2sc+Sfh5rSY/PC0Xkt8GIU6nB0ESvIsX3gZAl+n7KBk6Z6I/fzxhTbIy5K0QxKXVKmuiV7fjaOrwpIhtFZIuI/AQYAywXkeW+fa7zLbayRUR+1uN7m0XklyKyTkTeFxF3H+eZ7TvHKuD2HtuzReQT3zHWicgC35ceBBb5FvG4W0ScIvKQiBT5OkTeepL9zhWRv/mO/YCIPCci7/gWjLlKRH7u+1ne8vVq8cf2ka8j6dvHtTNQamCMMfqhH7b6AK4GnuzxeRreW/hdvs/H4L2V3Y237cMHwBW+rxnget/zfwN+38d5NgHn+J4/BGzxPU8EEnzPC4Bi3/Nzgb/1+P5bgB/7nscDxUBOL/sd/Rx4AFgBxAIzgVbgIt/X/oy3V3ossBJw+7Z/HW+LD8v/bfQjMj9iAvs1oVRIbAZ+4btS/5sx5hNvv6qj5gAfGmOqAUTkeeBsvH1uPMBLvv3+G3idXohIGjDcGPORb9Of8LZ5Bm+i/b2InA50AxNPEueFwAwR+Zrv8zS8vxg6TvHz/cMY0ykim/H2aXqrx8+dDUwCpgHv+n5uJ942w0oNiiZ6ZTvGmJ0iMhu4GPhPEXnnuF16W4vgpIc7yXbp42t3420MNhNvebOtj2PcaYx5+5iNIueeIqZ2AGOMR0Q6jTH+ODx4/08KsNUYM/8Ux1GqX7RGr2xHRMYArcaY/wZ+AcwCmoAU3y5rgHNExOVbO/g6wH9l7gD8V9hL8JZJTmCMaQAafR0PAa7v8eU04IDx9nG/Ee8VNcfFAPA2cFuPuvpEX6vo4/cbqB2AW0Tm+44bKyJTAzieGuL0il7Z0XTgIRHxAJ3AbcB84B8icsAYc56I3A8sx3v1+3djjL/HeAswVUTWAo1469sncxPwtIi04k3afo8Cr4nINb5ztPi2bwK6RGQj3sW4f4O31LLO1wu9Gm+N/fj91g/khzfGdPjKQb/1lZhi8Lbj3jqQ4yjlp22KVVQRkWZjTLLVcShlJ1q6UUqpKKdX9CrqicgjwMLjNv/GGPOMFfEoFW6a6JVSKspp6UYppaKcJnqllIpymuiVUirKaaJXSqkop4leKaWi3P8H4L0jrCNBtmwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# alternative: count drug-related stops by hour\n", "ri.groupby(ri.stop_datetime.dt.hour).drugs_related_stop.sum().plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Use plots to help you understand trends\n", "- Create exploratory plots using pandas one-liners" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 8. Do most stops occur at night? ([video](https://www.youtube.com/watch?v=GsQ6x3pt2w4&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=9))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10 7350\n", "9 6838\n", "11 5877\n", "14 5634\n", "23 5629\n", "0 5221\n", "8 5210\n", "13 4842\n", "15 4832\n", "7 4572\n", "1 4442\n", "16 3844\n", "12 3582\n", "22 3473\n", "20 3340\n", "6 3290\n", "2 2975\n", "17 2900\n", "19 2587\n", "18 2168\n", "21 1499\n", "3 1172\n", "4 254\n", "5 210\n", "Name: stop_datetime, dtype: int64" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.stop_datetime.dt.hour.value_counts()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ri.stop_datetime.dt.hour.value_counts().plot()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ri.stop_datetime.dt.hour.value_counts().sort_index().plot()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# alternative method\n", "ri.groupby(ri.stop_datetime.dt.hour).stop_date.count().plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Be conscious of sorting when plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 9. Find the bad data in the stop_duration column and fix it ([video](https://www.youtube.com/watch?v=8U8ob9bXakY&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6&index=10))" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0-15 Min 69543\n", "16-30 Min 13635\n", "30+ Min 3228\n", "2 1\n", "1 1\n", "Name: stop_duration, dtype: int64" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# mark bad data as missing\n", "ri.stop_duration.value_counts()" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "# what four things are wrong with this code?\n", "# ri[ri.stop_duration == 1 | ri.stop_duration == 2].stop_duration = 'NaN'" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\justm\\AppData\\Local\\conda\\conda\\envs\\pd22.0\\lib\\site-packages\\pandas\\core\\generic.py:3643: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " self[name] = value\n" ] } ], "source": [ "# what two things are still wrong with this code?\n", "ri[(ri.stop_duration == '1') | (ri.stop_duration == '2')].stop_duration = 'NaN'" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0-15 Min 69543\n", "16-30 Min 13635\n", "30+ Min 3228\n", "2 1\n", "1 1\n", "Name: stop_duration, dtype: int64" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# assignment statement did not work\n", "ri.stop_duration.value_counts()" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "# solves SettingWithCopyWarning\n", "ri.loc[(ri.stop_duration == '1') | (ri.stop_duration == '2'), 'stop_duration'] = 'NaN'" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0-15 Min 69543\n", "16-30 Min 13635\n", "NaN 5333\n", "30+ Min 3228\n", "NaN 2\n", "Name: stop_duration, dtype: int64" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# confusing!\n", "ri.stop_duration.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "# replace 'NaN' string with actual NaN value\n", "import numpy as np\n", "ri.loc[ri.stop_duration == 'NaN', 'stop_duration'] = np.nan" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0-15 Min 69543\n", "16-30 Min 13635\n", "NaN 5335\n", "30+ Min 3228\n", "Name: stop_duration, dtype: int64" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.stop_duration.value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "# alternative method\n", "ri.stop_duration.replace(['1', '2'], value=np.nan, inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Ambiguous data should be marked as missing\n", "- Don't ignore the SettingWithCopyWarning\n", "- NaN is not a string" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 10. What is the mean stop_duration for each violation_raw?" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "# make sure you create this column\n", "mapping = {'0-15 Min':8, '16-30 Min':23, '30+ Min':45}\n", "ri['stop_minutes'] = ri.stop_duration.map(mapping)" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8.0 69543\n", "23.0 13635\n", "45.0 3228\n", "Name: stop_minutes, dtype: int64" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# matches value_counts for stop_duration\n", "ri.stop_minutes.value_counts()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "violation_raw\n", "APB 20.987342\n", "Call for Service 22.034669\n", "Equipment/Inspection Violation 11.460345\n", "Motorist Assist/Courtesy 16.916256\n", "Other Traffic Violation 13.900265\n", "Registration Violation 13.745629\n", "Seatbelt Violation 9.741531\n", "Special Detail/Directed Patrol 15.061100\n", "Speeding 10.577690\n", "Suspicious Person 18.750000\n", "Violation of City/Town Ordinance 13.388626\n", "Warrant 21.400000\n", "Name: stop_minutes, dtype: float64" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.groupby('violation_raw').stop_minutes.mean()" ] }, { "cell_type": "code", "execution_count": 65, "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", "
meancount
violation_raw
APB20.98734279
Call for Service22.0346691298
Equipment/Inspection Violation11.46034511020
Motorist Assist/Courtesy16.916256203
Other Traffic Violation13.90026516223
Registration Violation13.7456293432
Seatbelt Violation9.7415312952
Special Detail/Directed Patrol15.0611002455
Speeding10.57769048462
Suspicious Person18.75000056
Violation of City/Town Ordinance13.388626211
Warrant21.40000015
\n", "
" ], "text/plain": [ " mean count\n", "violation_raw \n", "APB 20.987342 79\n", "Call for Service 22.034669 1298\n", "Equipment/Inspection Violation 11.460345 11020\n", "Motorist Assist/Courtesy 16.916256 203\n", "Other Traffic Violation 13.900265 16223\n", "Registration Violation 13.745629 3432\n", "Seatbelt Violation 9.741531 2952\n", "Special Detail/Directed Patrol 15.061100 2455\n", "Speeding 10.577690 48462\n", "Suspicious Person 18.750000 56\n", "Violation of City/Town Ordinance 13.388626 211\n", "Warrant 21.400000 15" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.groupby('violation_raw').stop_minutes.agg(['mean', 'count'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Convert strings to numbers for analysis\n", "- Approximate when necessary\n", "- Use count with mean to looking for meaningless means" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 11. Plot the results of the first groupby from the previous exercise" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# what's wrong with this?\n", "ri.groupby('violation_raw').stop_minutes.mean().plot()" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# how could this be made better?\n", "ri.groupby('violation_raw').stop_minutes.mean().plot(kind='bar')" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ri.groupby('violation_raw').stop_minutes.mean().sort_values().plot(kind='barh')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Don't use a line plot to compare categories\n", "- Be conscious of sorting and orientation when plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 12. Compare the age distributions for each violation" ] }, { "cell_type": "code", "execution_count": 69, "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", "
countmeanstdmin25%50%75%max
violation
Equipment11007.031.78150311.40090016.023.028.038.089.0
Moving violation16164.036.12002013.18580515.025.033.046.099.0
Other4204.039.53687013.03463916.028.039.049.087.0
Registration/plates3427.032.80303511.03367516.024.030.040.074.0
Seat belt2952.032.20630111.21312217.024.029.038.077.0
Speeding48361.033.53009712.82184715.023.030.042.090.0
\n", "
" ], "text/plain": [ " count mean std min 25% 50% 75% \\\n", "violation \n", "Equipment 11007.0 31.781503 11.400900 16.0 23.0 28.0 38.0 \n", "Moving violation 16164.0 36.120020 13.185805 15.0 25.0 33.0 46.0 \n", "Other 4204.0 39.536870 13.034639 16.0 28.0 39.0 49.0 \n", "Registration/plates 3427.0 32.803035 11.033675 16.0 24.0 30.0 40.0 \n", "Seat belt 2952.0 32.206301 11.213122 17.0 24.0 29.0 38.0 \n", "Speeding 48361.0 33.530097 12.821847 15.0 23.0 30.0 42.0 \n", "\n", " max \n", "violation \n", "Equipment 89.0 \n", "Moving violation 99.0 \n", "Other 87.0 \n", "Registration/plates 74.0 \n", "Seat belt 77.0 \n", "Speeding 90.0 " ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# good first step\n", "ri.groupby('violation').driver_age.describe()" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# histograms are excellent for displaying distributions\n", "ri.driver_age.plot(kind='hist')" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# similar to a histogram\n", "ri.driver_age.value_counts().sort_index().plot()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ],\n", " [,\n", " ],\n", " [,\n", " ]],\n", " dtype=object)" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XmYXFW97vHvSxhkCAkhEAghNCocEQfUSHC6oIIE0It6ZXIgoBhQOHgcLoM4IDiEc51APXJAI5PAAQWJzCgGDyJKwgEEwhAxSICQQEIggAPwu3+s1clOp7p39VC1d3Xez/PU01VrT6t2r1W/vdbagyICMzOzvqxVdQbMzKz+HCzMzKyUg4WZmZVysDAzs1IOFmZmVsrBwszMSjlY1JykiZKWSxpRdV7MhoKkt0m6t4Ltni7pi03OG5JePsDtfEjStQNZts7k6yyGjqT5wDjghULyWRFxVDU5ah1JhwCHRcRbq86LDa1cjscD4yPi8UL6bcBrgW0jYn41uWsPSQFsFxHzSubrAv4CrBMRz7cha5Vxy2LovSciNiq8hl2gsDXCX4CDuj9IejWwfnXZsao5WLSBpBGSvinpcUkPSDoyN3PXztPnS9q9MP+Jks7L77t6zDtL0jck/VHSMkmXSRrTY95DJT0kaamkIyS9UdIdkp6U9P0eefuopLl53mskbVOYFnn5+/P0HyjZATgdeFPuInuy9XvR2uxc4ODC56nAOcUZJI2SdI6kxZIelPQFSWtJWi+XtVcV5t1M0nOSNpe0m6QFhWnzJX0ul9Flkv5L0ksK04+R9KikRyQd1lsXkaQDJc3ukfZpSTPz+7MkfbUw7eOS5klaImmmpPGNdoSkfST9j6Sncr06sTD5t/nvk7kuvEnSIZJuLCz/Zkm35O92i6Q3F6bNknSypN9JelrStZLGNspH1Rws2uPjwLuB1wGTgA8Mcn0HAx8ldRU8D5zWY/pkYDvgAOC7wAnA7sCOwP6SdgWQ9F7g88D7gc2A/wYu6LGudwNvJHU/7A/sGRFzgSOA3+fW0+hBfh+rn5uBjSXtkMfLDgDO6zHP94BRwEuBXUnl8tCI+DtwCYWWCans3BARi3rZ3v7AFGBb4DXAIQCSpgCfIZXfl+ft9GYm8C+StiukfRA4v+eMkt4BfCNvd0vgQeDCXtb7TP5uo4F9gE/kugPwv/Lf0bku/L7HdsYAV5Dq6KbAt4ErJG3aI4+HApsD6wKf6+M7VsbBYuj9Ih9Vdb8+TiqQ342IhyJiCamQDsa5EXFnRDwDfJEUAIoD4CdHxN8i4lpSQb8gIhZFxMOkgPC6PN/hwDciYm7ub/06sFOxdQFMj4gnI+KvwG+AnQaZd+sc3a2LPYB7gIe7JxQCyPER8XQew/gW8JE8y/msGiwa/mgXnBYRj+T68UtWlrP9gZ9ExF0R8Szwld5WkKdf1r3dHDReQQoiPX0ImBERt+bgdjyppdzVYL2zIuJPEfFiRNxBOqDqK2gV7QPcHxHnRsTzEXEBaV++pzDPTyLivoh4DriImtYxB4uh996IGF14nUlqATxUmOfBQW6j57rWAYpN18cK759r8Hmj/H4b4NTuwAYsAQRsVZh/YeH9s4Vlbfg7l/Qjfwg9uqBI5W1dVi3LD7Ky7FwPrC9pcj742Am4tI9t9VbOetad4vtGikHqg8AvchDpaXwx7xGxHHiCVcs+APk7/CZ3ty0jtaqb7SpaZTtZcT9Bh9QxB4v2eBTYuvB5Yo/pzwAbFD5vUbK+nuv6J/B4L/P25SHg8B7Bbf2IuKmJZX0a3TAXEQ+SBrr3JnUrFT1OKnfFVuhEcusjIl4kHSUfRPrRvjwinh5ANh4FJhQ+b93bjNm1wFhJO+Vt99aaeYRC3iVtSOomerjBvOeTWidbR8Qo0nid8rSyerDKdrIV+6mTOFi0x0XA0ZImSNoEOK7H9NuAAyWtI6mZMY0PS3qlpA2Ak4CfRcQLJcs0cjpwvKQdYcWA5X5NLvsYMEHSugPYrnWOjwHvyF2eK+TydhHwNUkjc+vhM6w6rnE+qavqQ/TdBdWXi4BD89jJBsCX+po5d6f+DPh/wBjgul5mPT+vdydJ65G6YP/QyynBI4ElEfE3STuTgl+3xcCLpHGbRq4Etpf0QUlrSzoAeCVweV/fo44cLIbeL/NZEd2vS4EzgWuA24FbWf0o7YvAy4ClpD7Zsop1LnAWqfn6EuDogWQ0Ii4FTgEulPQUcCewV5OLXw/cBSyUNJBWjXWAiPhzRMzuZfK/klrFDwA3ksrtjMKyf8jTxwNXDXD7V5EGh38DzAO6B5D/3sdi55MGxC/u7dqHiPg1qd79nNR6eRlwYC/r+yRwkqSnScHqosJ6ngW+Bvwud+fu0mM7T5BOEvksqZvrGODdxetXOoUvyquABnEhj6RZwHkR8aOhz5lZveXTtu8E1hvuF8HVjVsWZlZrkt4nad3chXsK8EsHivZzsDCzujucNDbwZ9KtdD5RbXbWTO6GMjOzUm5ZmJlZKQcLMzMrtXbVGejL2LFjo6urq+ps2DA0Z86cxyNis6rz0R+uD9YKzdaFWgeLrq4uZs/u7RRvs4GTNNhbrrSd64O1QrN1wd1QZmZWqtYti750HXdF27Y1f/o+bduWWbsMtA65PqyZ3LIwM7NSDhZmZlbKwcLMzEo5WJiZWSkHCzMzK+VgYWZmpRwszMyslIOFmZmVcrAwM7NSHXsFt5kl7bybga25HCzMrF8GEpx8i5DO524oMzMr5WBhZmalHCzMzKxUabCQtLWk30iaK+kuSZ/K6WMkXSfp/vx3k5wuSadJmifpDkmvL6xrap7/fklTW/e1zIZeH3XhREkPS7otv/YuLHN8rgv3StqzkD4lp82TdFwV38esP5oZ4H4e+GxE3CppJDBH0nXAIcCvI2J6LuzHAccCewHb5ddk4IfAZEljgC8Dk4DI65kZEUuH+kuZtUhvdQHgOxHxzeLMkl4JHAjsCIwHfiVp+zz5B8AewALgllwX7m7LtzAbgNKWRUQ8GhG35vdPA3OBrYB9gbPzbGcD783v9wXOieRmYLSkLYE9gesiYkkOENcBU4b025i1UB91oTf7AhdGxN8j4i/APGDn/JoXEQ9ExD+AC/O8ZrXVrzELSV3A64A/AOMi4lFIlQjYPM+2FfBQYbEFOa239J7bmCZptqTZixcv7k/2zNqmR10AOCp3u87o7pJlkHXBrE6avs5C0kbAz4F/i4inJPU6a4O06CN91YSIM4AzACZNmrTadLOqNagLPwROJpXnk4FvAR+l9zLf6CCtYVmXNA2YBjBx4sTBZ74ifoRr52uqZSFpHVLl+GlEXJKTH8vdS+S/i3L6AmDrwuITgEf6SDfrGI3qQkQ8FhEvRMSLwJmkbiYYgroQEWdExKSImLTZZpsN7Zcx64dmzoYS8GNgbkR8uzBpJtB9RtNU4LJC+sH5rKhdgGW5m+oa4F2SNsnN9HflNLOO0Ftd6D5oyt4H3JnfzwQOlLSepG1JJ338EbgF2E7StpLWJQ2Cz2zHdzAbqGa6od4CfAT4k6TbctrngenARZI+BvwV2C9PuxLYmzSY9yxwKEBELJF0MqmiAJwUEUuG5Fu0mJvQlvVWFw6StBOpK2k+cDhARNwl6SLgbtKZVEdGxAsAko4iHSyNAGZExF3t/CJm/VUaLCLiRhr3vQK8s8H8ARzZy7pmADP6k0GzuuijLlzZxzJfA77WIP3KvpYzqxtfwW1mZqUcLMzMrJSDhZmZlfLzLMystnxySX24ZWFmZqXcsmghHxWZ2XDhloWZmZVysDAzs1IOFmZmVsrBwszMSjlYmJlZKQcLMzMr5WBhZmalfJ1FDQ3k+gxfm2FmreRgYWbDjg+4hp67oczMrJSDhZmZlXKwMDOzUg4WZmZWygPcw4TvcGtmreSWhZmZlXKwMDOzUg4WZmZWqu3BQtIUSfdKmifpuHZv36wuXBesk7R1gFvSCOAHwB7AAuAWSTMj4u525sNW8sB4NVwX6sd1oW/tblnsDMyLiAci4h/AhcC+bc6DWR24LlhHafeps1sBDxU+LwAmtzkPZnXgujBMrCktknYHCzVIi1VmkKYB0/LH5ZLuHeC2xgKPD3DZVhk2edIpLcjJqlq9r7Zp4bqbUVoXYFjVh6q3X4c8rLL9NtSh0jxkTdWFdgeLBcDWhc8TgEeKM0TEGcAZg92QpNkRMWmw6xlKzlPz6pqvIVRaF2D41Ieqt1+HPFS9/cHmod1jFrcA20naVtK6wIHAzDbnwawOXBeso7S1ZRERz0s6CrgGGAHMiIi72pkHszpwXbBO0/Z7Q0XElcCVbdjUoJvuLeA8Na+u+RoybawLUP3+rHr7UH0eqt4+DCIPilhtTM3MzGwVvt2HmZmVcrAwM7NSDhZmZlbKwcLMzEp1fLCQNErSdEn3SHoiv+bmtNEV5mttSYdLulrSHZJul3SVpCMkrVNRnryvhrk6/I+r/n96H6yWl3GSXi/pdZLGDXg9nX42lKRrgOuBsyNiYU7bApgK7B4Re1SUrwuAJ4GzSVfrQrpKdyowJiIOGKLtzALOi4gfNTHvGr2v1gRV/48lnQ68GfgdFfw/Jd0FPAP8nDbuA0kBbBcR8/Lnysu0pJ2A04FRwMOFPDwJfDIibu3XCiOio1/AvQOZVnG+7utj2iHAn4BngYXAD4HRedqJpMBQnH8WcNiauK/8Gvj/GJgPPAcsz+XsLGCjdv0/8/Z3H+R2zgK+OtB90OQ27gO2b2K+AF5eth2gK8+7dhvKwm3A5AbpuwC393d9Hd8NBTwo6Zhi8yo3u45l1bt6tttSSftJWrGPJa0l6QBgaaMFJH0WOAX4v6SjgV1IN/m6Lt8SYrD63FfFvLZZv/eV9ao/9eE9EbERsBPwOuD4IcrDoP+fkgZzwfCQ/CZIehmwVkTcN4A8NNwHwLsHsK6B2jAi/tAzMSJuBjbs99paHd3aED03If3A3kMqiEuAuTltTIX56gL+C1hMOjq5H1iU07ZtMP/GpKO8/Xukb5SX+yTwD+Cfeb7b8/RZwMmkZv/TwLXA2B5HETeRmp53AucX9tU/SXegXEA6ynx5q/ZHk/tqUd5X9/W1r/zqc182VR/ocWQP/DtwRX6/HvBN4K/AY6SujPUL8x4DPEq68eFhFI6qSUf738v/u8dzWX0BeDHXhZcC5+bP3S2bY1h5xP2xvN3f5vVdTGr5LAN+C+yY06fl8vuPvI5fFr7Xe/P3vRf4W97WP0n349oiz7dbLvefzWXtUeDQHvvyaOC0wvc6Hbgu17MbgG0K8xb3wT7AXXmbLwBPFMr0M3ne5fn1przMR/P/aSnpFjDb5HQB38nLLgPuAF7VZFk4DbgCOIDUNfjm/P4K4Pv9LltVF+4hqiCvAHanRzMamFJ13nI+NiXdGvi8PuaZAjxPg+Ypqd/zAnrvhvozsD2wfv48PU/bKhfUvUknM/wr6cdjM2ADVnZF/AgYA6xT0f5Zl9SXu0feVx8G/gM4sqo8dfKrmfpAIViQ+rH/BJyaP3+XdFPDMcBI4JfANwrldCGwYy5D57J6sPhqfv8N4CfAFsBPgbexcpx0xfbz5668nnNIR73r5/SP5jysl/N1W2GZFdvq8b2OIrXMTwL+SAp815L67f89z7dbrm8nAevkOvIssElhXVcDexa29TTwv3JeTgVuLMxb3Ae7kVpqh5CC2iLSD/5/AF+kRzcUKbjNA3Yg3YLpC8BNedqewBxgNClw7ABs2Y+ysBcpyP0SuDy/33tA5arqgj0EFeNo0hHEL3JB2bcw7dYK8zWzwWt59/sG838YWNjLuqaTjmhOpHGw+ELh8yeBq/P7Y4FzC9PuypVmKukeMQ+RKvOXgUsq3Fc/JR2JziT9+FwCfCRX0LOrLmOd9Gq2PuRpy/MPYAC/LvwgPQO8rDDvm4C/5PczyIEjf345qweL+/L/8l7SEfuvepZ9eg8WL+3ju43O84wqbKtRsJhP+tH9M3AV6Yf6raRA9EyebzfSgVLxR3sRsEt+vwHpQOslhW1dWJh3I1KrYev8ueeYRbFMzyX1LHwE+BmrB4urgI8VPq9FClzbAO/I+3MXUpdYZWWr7TcSbIGPA2+IiOWSuoCfSeqKiFNp/ICZdpkA3E06ao+clzcC3+pl/seBsZLWjojne0zbkr4f2rKw8P5ZUkGGVNj2k/Se/HkkqVJeD0wiVaabIuJMSbc186Va5NUR8ZrcT/0wMD4iXpB0HnB7hfnqRP2pD++NiF9J2pXUPTmW1MrbAJgjrZhdpDvjAowHZhfW0WgMYCTwFPBvpKPrtwEvIQWO80vyv2J9Ss8p/xqwH6k1/GKeNJbUJdMbRbqr73jg7xGxV17f46SDsm5P9KhrxbrzTlLd+FujvOX9u4S0P1bZB5Imkx6R+xxpf24M/DQizpX038D/6ZHfbYBTJRV/GwRsFRHXS/o+6XntEyVdCnwuIp7q4/t352MUaRxqX2DznLwIuIzU+/Bk2TqKhsMA94iIWA4QEfNJRwx7Sfo21QaLSaTm4wnAsoiYBTwXETdExA0N5v898Hfg/cVESRuSmpK/psGT1Eo8RGpZjI6I0aQj9qMiYjrpR3gkEJK2J/WvVmWtPIA/kvRDNSqnr0fqIrDm9bs+5PJ4Fqm75nHSj9yO3eUmIkZFGgiH9IM/obD41qzux6Sy/xlSK2R8Xu59rLzTdW9luZj+QdIP3e6kMtGV09Vg3qL5kg4ljak8LKn7YT9vovlyvjepb79oxXeVtBGpm261B1aRAuLTpPGZrrzN7hNUGp2o8hBweGF/j46I9SPiJoCIOC0i3kDq+tuedAJMMy4ijYG8PSI2jYhNgbeTxi8vbnIdKwyHYLEwn08MpIhPOuNgLPDqqjIVES9GxHeAQ4ET8tFBry25iFgGfAX4nqQpktbJR4YXkwbiziUNNnb146yl84D3SNozH6UdCRwgaT7wSlK/6jeAM0kDlVX5MWlA9jZScL1Y0pmkAckLK8xXJxpoffguaczoNaTy8B1JmwNI2krSnnm+i4BDJe0gaQPgS41Wlsv+ecDXc9lfi9Rt80Ke5THSj2lfRpIOoJ4gHUR8vcf03tbxbWBX0o/5LsDvc5n/Lmn8rxl7sfrt4/eW9NZ8YHMy8IeI6K1l9RvSAdnd+Tu8LZfpS8jdbYX5TweOl7QjrLiocL/8/o2SJucL+Z4hDdi/QHO6IuKUyNeaAETEwnywOLHJdaxUZR/YULxIRzlb9DLtLVXnr5CXfYCvNzHfx0hnLT1Hqgz/SR50Iw3+3kg6Wrg1p82icJ0FqdlfHHibTDpzYwnpbJQrSINkryV1J3ym6n2T8zme1P0EqW/6A8DOVeer017N1gcaXOdAuqbn56Quo68DD5C6k+YCRxfmO57U9fkI8AnSj1933/1ZrBzg/nTezt/yer5YWMe+pLOengQ+R4PrD0hdQpeRjtIfBA5m1fGR7UgHGE8Cv+j5vUgB8vxc7h8jnR3UPQaxG7Cgx/efT2rFvAq4s8e0s1h5NtRy0plZ2xamF/P1gZzf5Xn+75PGLz4A7EwaVF+c8909RvIR0kkGT5FaGjNy+jtJZ0AtJ7X6fkqT18OQxiePAcYV0saRxjJ/1d+y1fFXcJtZdSTtQDq4WS9WH2vrSJKOIZ1+fkwh7SxScPlCZRnrJ0mbAMex6pjFY6RB9+kR0a9rmIZDN5SZtZGk90laN/8YnUK6xmFYBIpsPukswY4WEUsj4tiIeEVEjMmvHSLiWNLpuv3iYGFm/XU4qRvlz6T+809Um52hFREXRcTcqvPRYl/p7wLuhjIzG4Yk3dHbJNL9rtbrz/rcsjDrB0kzJC2SdGchbYyk6yTdn/9uktMl6TRJ85RuU/36wjJT8/z3S5paxXexYW8c6aSA9zR4PdHflTlYmPXPWaRbXhQdB/w6IrYjXQ9zXE7fi3TGznak2z78EFJwIV01P5l0dsyXuwOM2RC6nHTm1IM9XvNJZ1H2S627ocaOHRtdXV1VZ8OGoTlz5jweEZsNZNl8/cvlEfGq/PleYLeIeFTSlsCsiPgXSf+Z319QnK/7FRGH5/RV5uuN64O1QrN1oda3++jq6mL27NnlM5r1k6QHh3B14yLiUYAcMLpPU9yKVW8FsSCn9ZbeJ9cHa4Vm64K7ocxap9HtNaKP9NVXIE2TNFvS7MWLFw9p5sz6o9Yti1boOq7n7V7KzZ++TwtyYsPIY5K2LHRDLcrpC1j13kkTSFc9LyB1RRXTZzVacUScQbpDMJMmTRrSPuOB1AVwfVhTrXHBohM4oHWcmaTbvk/Pfy8rpB8l6ULSYPayHFCuId0zqXtQ+10M3VPqzFrCwcKsHyRdQGoVjJW0gHRW03TgIkndT3nbL89+JenupfNIt78+FCAilkg6mXSjRICTImJJ276E2QA4WLTQQJv5Vl8RcVAvk97ZYN4g3em30XpmkB4kZNYRPMBtZmalHCzMzKyUu6Ga4O4kM1vTuWVhZmalHCzMzKyUg4WZmZVysDAzs1IOFmZmVsrBwszMSg0qWEiaL+lPkm6TNDun9fupYWZmVm9D0bJ4e0TsFBGT8ud+PTXMzMzqrxUX5e3Lytsvn0269fKxOf2cfL+cmyWN7r6t80A24gvlzMzaZ7AtiwCulTRH0rSctspTw4Cyp4aZmVnNDbZl8ZaIeCQ/RvI6Sff0MW9TTwfLQWcawMSJEweZvTWHH2RjZq00qJZFRDyS/y4CLgV2Jj81DKDJp4b1XOcZETEpIiZttlnpM8TNzKwNBhwsJG0oaWT3e9LTvu5k5VPDYPWnhh2cz4rahfzUsAHn3MzM2mYw3VDjgEslda/n/Ii4WtIt9OOpYWbWWfzY3zXTgINFRDwAvLZB+hP086lhZmZWb76C28zMSjlYmJlZKQcLMzMr5WBhZmal/AxuM2s5XzTa+dyyMDOzUm5ZmHU431TT2sEtCzMzK+VgYWZmpRwszMyslIOFmZmVcrAwM7NSPhtqDefz382sGQ4WZlZbPpipDwcLMxt2/MyNoecxCzMzK+VgYWZmpRwszMyslIOFmZmV8gC3mRk+86qMWxZmZlbKwcLMzEo5WJiZWSkHCzMzK+UBbhsQXyFrtmZpe7CQNAU4FRgB/Cgiprc7D2Z14LowPKwpZ1G1tRtK0gjgB8BewCuBgyS9sp15MKsD1wXrNO0es9gZmBcRD0TEP4ALgX3bnAezOnBdsI7S7m6orYCHCp8XAJPbnAeryJrSXG+S68IartPG/dodLNQgLVaZQZoGTMsfl0u6d4DbGgs8PsBlW6mu+YKa5k2ntCRf2wzx+vqrtC7AkNYHqOn/t0nOO6BThmItq2mqLrQ7WCwAti58ngA8UpwhIs4AzhjshiTNjohJg13PUKtrvqC+eatrvgaptC7A0NUH6Oz96LxXr91jFrcA20naVtK6wIHAzDbnwawOXBeso7S1ZRERz0s6CriGdLrgjIi4q515MKsD1wXrNG2/ziIirgSubMOmhqTp3gJ1zRfUN291zdegtLEudOvk/ei8V0wRq42pmZmZrcL3hjIzs1IOFmZmVsrBwszMSjlYmJlZqWERLCSNkjRd0j2SnsivuTltdIX5WlvS4ZKulnSHpNslXSXpCEnrVJWvnDfvs2Gsrv/fMp3+/+/U/d6MYREsgIuApcBuEbFpRGwKvD2nXVxhvs4FdgJOBPYG9gG+ArwWOK/VG5c0X9LuvUzuc5+VLNtKle6zYaSudaJMS///kmZJOiy//5Ckawe7zh46db+Xi4iOfwH3DmRaO/IFvBW4CVgGLAF+B7wRuG+Q6z4ROK9knvnA7gPZZ8Vlm9lWm/6Xg9pna9KrjnWit7rQzv8/MAs4bE3a70P1Gi4tiwclHSNpXHeCpHGSjmXVO3u221OkK3S/D4wh3Wn0JGA30pFGleq6z5ZK2k/SirIpaS1JB1D9Pusktfr/StoYuBz4HivrwleAv/eYtdP//7Xa70Oq6mg1RNF8E+AU4B5SgVoCzM1pYyrM13uAfwCLgfuA+4FFwH8B2+Z5PprzupQUWLYpLH8qqYA9BcwB3pbTp+T1/hNYDtzey/bnA8cDd+f1/wR4SWGf/Qz4G/BiXtcD3fssL7t7s9sawn3WlffPorzP7uu5z/xqaj/Wqk4Ak4Ane5l2CKmV8b1c1p8CnizUmcW5bC4CHga+CowoLN9XHdoj74NlpIO2G8gti7zdGwvzBnBE3uZS0sOpui9cHgF8i3T32L8AR+X5167zfh/S/2HVGRjCwviK/OO2UY/0KRXmaWPgCeBsYH/gZRS6c4D3AvOAHUi3XvkCcFNh+oeBTfO0zwILCz/2J9JcN9SdpLubjskV8qt52sG5Ek4GNgJ+ATwLfBMYRXXdUOsCU3Ml3zTvg/8AjgTWqbqcddKrTnWiR13YC9ikMO0Q4Hng08A6wAH5x/1lpNt7PwT8J7AhsDnwR+DwvGyvdSgv+xTwgbzeT+ft9BUsLgdGAxNz/ZiSpx1BOuiaQAoIv6JxsJgMjMrvNyD1JFxOChajqi4Tg/ofVp2BISqIR5P62X+Rf+T2LUy7tcJ8zQSuB/4KPEc6gn+edPQzE7gK+Fhh/rXyD/Y2vaxvKfDa/L70BzzviyMKn/cG/pzfL2Fl4DgD+E7O5wzgEqoLFj8ltSJmkgY7LwE+ApwFnF11WeuUVx3rRP5BP4t0e/bn8/94XP7RfoT0jI+Z+bUUuDXXle4f8Zl5PQcBv8nve61DpAOimwvTlLfdV7B4a+HzRcBx+f315ACVP+9O42BxV3daoV69FfgycEnV5WIwr7bfSLBFPg68ISKWS+oCfiapKyJOpfFDZtplAulo5CRSwdoG+BErm7Q/BE6V9K3CMiL15z4o6bPAYcD4vPzGpKOl/ij2kz6Y1wXpCP4z+c6nG5G6mNYFrgOO7ec2htKrI+I1ktYmdTmMj4gXJJ0H3F5hvjpN7epERMwl/UAj6RWks5u+SwoID0dESOquM7eTunJuA94F7JqXe5IUELrL9Tb0XofGF+Yjr79s3GBh4f2zpLpBz3XR+/jDWhHxfH4/KSJen9/fKOm2km3X2nAZ4B4REcsBImI+aQB5L0nfptpgMYk01nACsCwiziE1i8dFxA2kAnd4RIyabtNrAAALO0lEQVQuvNaPiJskvY30o70/qck+mtQ07/4+zd4BsviAnYmsfMDOY8BVeb3nkloRG+T8/rPHOtp5t8m18vMdRpKa8aNy+nqkrgRrTl3rBAARcQ+plfGqnLSVJLGyzryOVD8uI5W/TSJiZK4jG0fEjnm5XusQ8CiF8p/XX6wP/fEo6eCvW2/ruVPSofn97ZIm5W1vz+r1qqMMl2CxUNJO3R9yJXk36Sj81ZXlCrYn7ePjgRMknUX6Ebw5Tz8dOF7SjrDigp798rSRpKb6YmBtSV8itSy6PQZ0Fc8a6cWRkiZIGgN8ntTFA2lQcIqkBcArgd9LepTUDXVYj3U0u62h8GNWHlGeQLrm40zSw4IubMP2h4ta1QlJr5D02dxyQNLWpO6k7rqwOanrbASpq2gtYGdSGfgb8C1JG+czo14made8XF916ApgR0nvzy3Vo4EtBvgVLgI+JWmrfHFdb63vw4BdJf2ZlfXqAeBMVq9XnaXqfrCheJEi/ha9THtLhfnailTIHgaeIZ1JcSuwcWGejwB/IrU4HiI9BAdSpflxTn8UOIZVxxE2BW4k9+32sv35rDwb6knS4OIGhelTSEdxT5GC0kxgZGHZprc1xPttPKn7CdJg4weAnasuZ530qludaFAXHiYNWm/MyrOhvk9qPd8HvCsvtw8ru2wX5On/AxxYWHfDOpSnTcnra/ZsqJcXPp/FynG9tUnjD0+Qzob6NKmloF6+70jShYRvIPUkVF4mBvvy8yzMrFKSDiH9gL+16rw0S9JewOkRsU3VeWmX4dINZWbWMpLWl7R3vnfVVqSzmy6tOl/t5GBhZlZOpCvOl5K6weYCX6o0R23mbigzMyvlloWZmZVysDAzs1K1voJ77Nix0dXVVXU2bBiaM2fO4xGxWdX56A/XB2uFZutCrYNFV1cXs2fPrjobNgxJerDqPPSX64O1QrN1wd1QZmZWqtYti1boOu6Kfi8zf/o+LciJWbUGUhfA9WFN5ZaFmZmVcrAwM7NSDhZmZlbKwcLMzEo5WJiZWSkHCzMzK7XGnTprVkbSDNJT5RZFxKty2hjSUwa7SA+G2j8iluZHdZ4K7E16ZvMhEXFrXmYq8IW82q9GxNk5/Q2kB+usD1wJfCoGcUfPgZ4Ca9YfblmYre4s0hPWio4Dfh0R2wG/zp8B9gK2y69ppCe6dQeXLwOTSY8H/bKkTfIyP8zzdi/Xc1tmteNgYdZDRPwWWNIjeV/SY2nJf99bSD8nkpuB0ZK2BPYErouIJRGxFLiO9MzzLUmP1f19bk2cU1iXWW05WJg1Z1xEPAqQ/26e07ciPfe524Kc1lf6ggbpZrXmYGE2OGqQFgNIb7xyaZqk2ZJmL168eIBZNBs8Bwuz5jyWu5DIfxfl9AXA1oX5JgCPlKRPaJDeUEScERGTImLSZpt11B3VbZhxsDBrzkxgan4/FbiskH6wkl2AZbmb6hrgXZI2yQPb7wKuydOelrRLPpPq4MK6zGrLp86a9SDpAmA3YKykBaSzmqYDF0n6GPBXYL88+5Wk02bnkU6dPRQgIpZIOhm4Jc93UkR0D5p/gpWnzl6VX2a15mBh1kNEHNTLpHc2mDeAI3tZzwxgRoP02cCrBpNHs3ZzN5SZmZVyy8LM+sUPEFszuWVhZmalHCzMzKzUoIKFpPmS/iTpNkmzc9oYSddJuj//3SSnS9JpkuZJukPS64fiC5iZWesNxZjF2yPi8cLn7huuTZd0XP58LKvecG0y6WZqk4dg+y3nB9ub2ZquFQPc+5LOUYd0w7VZpGCx4oZrwM2SRkvasvt+O/3l2zKbmbXPYMcsArhW0hxJ03Jaf2+4ZmZmNTfYlsVbIuIRSZsD10m6p495m7qBWg460wAmTpw4yOyZmdlQGFTLIiIeyX8XAZeSHvLS3xuu9Vynb5xmZlYzAw4WkjaUNLL7PelGaXfS/xuumZlZzQ2mG2occGm6cSZrA+dHxNWSbqEfN1wzM7P6G3CwiIgHgNc2SH+Cft5wzcyGN59+3vl8BbeZmZXyjQTNrLbcIqkPtyzMzKyUg4WZmZVysDAzs1IOFmZmVsoD3C3kwTkzGy7csjAzs1JuWdSQn3FsZnXjloWZmZVyy8LMhh23zoeeWxZmZlbKwcLMzEq5G2qY8Gm6ZtZKblmYmVkptyzWcG6RmFkzHCzMzPCBUxl3Q5mZWam2BwtJUyTdK2mepOPavX2zunBdsE7S1m4oSSOAHwB7AAuAWyTNjIi725kPGzxf9DQ4rgvWadrdstgZmBcRD0TEP4ALgX3bnAezOnBdsI7S7gHurYCHCp8XAJPbnAeriAcQV+G6MEysKeW63cFCDdJilRmkacC0/HG5pHsHsJ2xwOMDWK5qnZjvludZp7Rktf/SkrU2r7QuwJDVh251K19rdH6aLNftyNM2zczU7mCxANi68HkC8Ehxhog4AzhjMBuRNDsiJg1mHVXoxHx3Yp4h5bviLJTWBRia+tCtbv8r56dcnfLU7jGLW4DtJG0raV3gQGBmm/NgVgeuC9ZR2tqyiIjnJR0FXAOMAGZExF3tzINZHbguWKdp+xXcEXElcGWLNzMkzfYKdGK+OzHPUIN8t6kuFFX+nXtwfsrVJk+KWG1MzczMbBW+3YeZmZVysDAzs1IOFmZmVsrBwszMSnV8sJA0StJ0SfdIeiK/5ua00VXnrxFJa0s6XNLVku6QdLukqyQdIWmdqvPXG+/rzlC3/1Md/wd120c5T7XbT6vkr9PPhpJ0DXA9cHZELMxpWwBTgd0jYo8q89eIpAuAJ4GzSVfyQrqCdyowJiIOqCpvffG+7gx1+z/V8X9Qt32Ut1+7/VQ0HILFvRHR8D4/fU2rUkme74uI7dudp2Z4X3eGuv2f6vg/qNs+aiJPlZfVju+GAh6UdIykcd0JksZJOpZV7+pZJ0sl7Sdpxf6XtJakA4ClFearjPd1Z6jb/6mO/4O67SOo535aYTgEiwOATYEbJC2VtASYBYwB9q8yY304EPgA8Jik+yTdDywE3p+n1VUn7+uFeV/fR2fs68Go2/+pjuW9bvsIal5WO74bCkDSK0h9ezdHxPJC+pSIuLq6nJWTtCnpdtXfjYgPV52fvkiaDNwTEcskbQAcB7weuAv4ekQsqzSDDSjdpO8g0h1dbwX2At5MyvMZEfHPCrPXMnWtE3Up73Usy3Uvqx0fLCQdDRwJzAV2Aj4VEZflabdGxOurzF8jkhrdXfQdpAE3IuJ/tzdHzZF0F/DafBO8M4BngJ8D78zp7680gw1I+inpHmjrA8uADYFLSXlWREytMHstUbc6UcfyXseyXPey2vYbCbbAx4E3RMRySV3AzyR1RcSpNH7ATB1MAO4GfkR64I2ANwLfqjJTTVgrIp7P7ycVfnRulHRbVZkq8eqIeI2ktYGHgfER8YKk84DbK85bq9StTtSxvNexLNe6rA6HMYsR3c3siJgP7AbsJenb1DdYTALmACcAyyJiFvBcRNwQETdUmrO+3Snp0Pz+dkmTACRtD9S1O2et3LwfCWwAjMrp6wGVn7veInWrE3Us73Usy7Uuq8OhZbFQ0k4RcRtAPpp6NzADeHW1WWssIl4EviPp4vz3MTrjf3EYcKqkL5Ae9fh7SQ+Rzh45rNKc9e7HwD2kZ0acAFws6QFgF+DCKjPWQrWqEzUt73Usy7Uuq8NhzGIC8Hz3hTU9pr0lIn5XQbb6RdI+wFsi4vNV56UZkkYCLyVV+AUR8VjFWeqTpPEAEfGI0tW5uwN/jYg/Vpuz1qh7nahTea9bWa5zWe34YGFmZq03HMYszMysxRwszMyslIOFmZmVcrAwM7NSDhZmZlbq/wOs6i2vdw5tgwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# can't use the plot method\n", "ri.hist('driver_age', by='violation')" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ],\n", " [,\n", " ],\n", " [,\n", " ]],\n", " dtype=object)" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# what changed? how is this better or worse?\n", "ri.hist('driver_age', by='violation', sharex=True)" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ],\n", " [,\n", " ],\n", " [,\n", " ]],\n", " dtype=object)" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# what changed? how is this better or worse?\n", "ri.hist('driver_age', by='violation', sharex=True, sharey=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Use histograms to show distributions\n", "- Be conscious of axes when using grouped plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 13. Pretend you don't have the driver_age column, and create it from driver_age_raw (and call it new_age)" ] }, { "cell_type": "code", "execution_count": 75, "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", "
stop_datestop_timedriver_genderdriver_age_rawdriver_agedriver_raceviolation_rawviolationsearch_conductedsearch_typestop_outcomeis_arrestedstop_durationdrugs_related_stopfriskstop_datetimestop_minutes
02005-01-0201:55M1985.020.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2005-01-02 01:55:008.0
12005-01-1808:15M1965.040.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2005-01-18 08:15:008.0
22005-01-2323:15M1972.033.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2005-01-23 23:15:008.0
32005-02-2017:15M1986.019.0WhiteCall for ServiceOtherFalseNaNArrest DriverTrue16-30 MinFalseNaN2005-02-20 17:15:0023.0
42005-03-1410:00F1984.021.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2005-03-14 10:00:008.0
\n", "
" ], "text/plain": [ " stop_date stop_time driver_gender driver_age_raw driver_age driver_race \\\n", "0 2005-01-02 01:55 M 1985.0 20.0 White \n", "1 2005-01-18 08:15 M 1965.0 40.0 White \n", "2 2005-01-23 23:15 M 1972.0 33.0 White \n", "3 2005-02-20 17:15 M 1986.0 19.0 White \n", "4 2005-03-14 10:00 F 1984.0 21.0 White \n", "\n", " violation_raw violation search_conducted search_type stop_outcome \\\n", "0 Speeding Speeding False NaN Citation \n", "1 Speeding Speeding False NaN Citation \n", "2 Speeding Speeding False NaN Citation \n", "3 Call for Service Other False NaN Arrest Driver \n", "4 Speeding Speeding False NaN Citation \n", "\n", " is_arrested stop_duration drugs_related_stop frisk stop_datetime \\\n", "0 False 0-15 Min False NaN 2005-01-02 01:55:00 \n", "1 False 0-15 Min False NaN 2005-01-18 08:15:00 \n", "2 False 0-15 Min False NaN 2005-01-23 23:15:00 \n", "3 True 16-30 Min False NaN 2005-02-20 17:15:00 \n", "4 False 0-15 Min False NaN 2005-03-14 10:00:00 \n", "\n", " stop_minutes \n", "0 8.0 \n", "1 8.0 \n", "2 8.0 \n", "3 23.0 \n", "4 8.0 " ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.head()" ] }, { "cell_type": "code", "execution_count": 76, "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", "
stop_datestop_timedriver_genderdriver_age_rawdriver_agedriver_raceviolation_rawviolationsearch_conductedsearch_typestop_outcomeis_arrestedstop_durationdrugs_related_stopfriskstop_datetimestop_minutes
917362015-12-3120:27M1986.029.0WhiteSpeedingSpeedingFalseNaNWarningFalse0-15 MinFalseNaN2015-12-31 20:27:008.0
917372015-12-3120:35F1982.033.0WhiteEquipment/Inspection ViolationEquipmentFalseNaNWarningFalse0-15 MinFalseNaN2015-12-31 20:35:008.0
917382015-12-3120:45M1992.023.0WhiteOther Traffic ViolationMoving violationFalseNaNWarningFalse0-15 MinFalseNaN2015-12-31 20:45:008.0
917392015-12-3121:42M1993.022.0WhiteSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2015-12-31 21:42:008.0
917402015-12-3122:46M1959.056.0HispanicSpeedingSpeedingFalseNaNCitationFalse0-15 MinFalseNaN2015-12-31 22:46:008.0
\n", "
" ], "text/plain": [ " stop_date stop_time driver_gender driver_age_raw driver_age \\\n", "91736 2015-12-31 20:27 M 1986.0 29.0 \n", "91737 2015-12-31 20:35 F 1982.0 33.0 \n", "91738 2015-12-31 20:45 M 1992.0 23.0 \n", "91739 2015-12-31 21:42 M 1993.0 22.0 \n", "91740 2015-12-31 22:46 M 1959.0 56.0 \n", "\n", " driver_race violation_raw violation \\\n", "91736 White Speeding Speeding \n", "91737 White Equipment/Inspection Violation Equipment \n", "91738 White Other Traffic Violation Moving violation \n", "91739 White Speeding Speeding \n", "91740 Hispanic Speeding Speeding \n", "\n", " search_conducted search_type stop_outcome is_arrested stop_duration \\\n", "91736 False NaN Warning False 0-15 Min \n", "91737 False NaN Warning False 0-15 Min \n", "91738 False NaN Warning False 0-15 Min \n", "91739 False NaN Citation False 0-15 Min \n", "91740 False NaN Citation False 0-15 Min \n", "\n", " drugs_related_stop frisk stop_datetime stop_minutes \n", "91736 False NaN 2015-12-31 20:27:00 8.0 \n", "91737 False NaN 2015-12-31 20:35:00 8.0 \n", "91738 False NaN 2015-12-31 20:45:00 8.0 \n", "91739 False NaN 2015-12-31 21:42:00 8.0 \n", "91740 False NaN 2015-12-31 22:46:00 8.0 " ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# appears to be year of stop_date minus driver_age_raw\n", "ri.tail()" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "ri['new_age'] = ri.stop_datetime.dt.year - ri.driver_age_raw" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ]],\n", " dtype=object)" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# compare the distributions\n", "ri[['driver_age', 'new_age']].hist()" ] }, { "cell_type": "code", "execution_count": 79, "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", "
driver_agenew_age
count86120.00000086414.000000
mean34.01133339.784294
std12.738564110.822145
min15.000000-6794.000000
25%23.00000024.000000
50%31.00000031.000000
75%43.00000043.000000
max99.0000002015.000000
\n", "
" ], "text/plain": [ " driver_age new_age\n", "count 86120.000000 86414.000000\n", "mean 34.011333 39.784294\n", "std 12.738564 110.822145\n", "min 15.000000 -6794.000000\n", "25% 23.000000 24.000000\n", "50% 31.000000 31.000000\n", "75% 43.000000 43.000000\n", "max 99.000000 2015.000000" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# compare the summary statistics (focus on min and max)\n", "ri[['driver_age', 'new_age']].describe()" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(294, 18)" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# calculate how many ages are outside that range\n", "ri[(ri.new_age < 15) | (ri.new_age > 99)].shape" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "5327" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# raw data given to the researchers\n", "ri.driver_age_raw.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5621" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# age computed by the researchers (has more missing values)\n", "ri.driver_age.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "294" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what does this tell us? researchers set driver_age as missing if less than 15 or more than 99\n", "5621-5327" ] }, { "cell_type": "code", "execution_count": 84, "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", "
stop_datestop_timedriver_genderdriver_age_rawdriver_agedriver_raceviolation_rawviolationsearch_conductedsearch_typestop_outcomeis_arrestedstop_durationdrugs_related_stopfriskstop_datetimestop_minutesnew_age
1462005-10-0508:50M0.0NaNWhiteOther Traffic ViolationMoving violationFalseNaNCitationFalse0-15 MinFalseNaN2005-10-05 08:50:008.02005.0
2812005-10-1012:05F0.0NaNWhiteOther Traffic ViolationMoving violationFalseNaNWarningFalse0-15 MinFalseNaN2005-10-10 12:05:008.02005.0
3312005-10-1207:50M0.0NaNWhiteMotorist Assist/CourtesyOtherFalseNaNNo ActionFalse0-15 MinFalseNaN2005-10-12 07:50:008.02005.0
4142005-10-1708:32M2005.0NaNWhiteOther Traffic ViolationMoving violationFalseNaNCitationFalse0-15 MinFalseNaN2005-10-17 08:32:008.00.0
4552005-10-1818:30F0.0NaNWhiteSpeedingSpeedingFalseNaNWarningFalse0-15 MinFalseNaN2005-10-18 18:30:008.02005.0
\n", "
" ], "text/plain": [ " stop_date stop_time driver_gender driver_age_raw driver_age \\\n", "146 2005-10-05 08:50 M 0.0 NaN \n", "281 2005-10-10 12:05 F 0.0 NaN \n", "331 2005-10-12 07:50 M 0.0 NaN \n", "414 2005-10-17 08:32 M 2005.0 NaN \n", "455 2005-10-18 18:30 F 0.0 NaN \n", "\n", " driver_race violation_raw violation search_conducted \\\n", "146 White Other Traffic Violation Moving violation False \n", "281 White Other Traffic Violation Moving violation False \n", "331 White Motorist Assist/Courtesy Other False \n", "414 White Other Traffic Violation Moving violation False \n", "455 White Speeding Speeding False \n", "\n", " search_type stop_outcome is_arrested stop_duration drugs_related_stop \\\n", "146 NaN Citation False 0-15 Min False \n", "281 NaN Warning False 0-15 Min False \n", "331 NaN No Action False 0-15 Min False \n", "414 NaN Citation False 0-15 Min False \n", "455 NaN Warning False 0-15 Min False \n", "\n", " frisk stop_datetime stop_minutes new_age \n", "146 NaN 2005-10-05 08:50:00 8.0 2005.0 \n", "281 NaN 2005-10-10 12:05:00 8.0 2005.0 \n", "331 NaN 2005-10-12 07:50:00 8.0 2005.0 \n", "414 NaN 2005-10-17 08:32:00 8.0 0.0 \n", "455 NaN 2005-10-18 18:30:00 8.0 2005.0 " ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# driver_age_raw NOT MISSING, driver_age MISSING\n", "ri[(ri.driver_age_raw.notnull()) & (ri.driver_age.isnull())].head()" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "# set the ages outside that range as missing\n", "ri.loc[(ri.new_age < 15) | (ri.new_age > 99), 'new_age'] = np.nan" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.new_age.equals(ri.driver_age)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lessons:\n", "\n", "- Don't assume that the head and tail are representative of the data\n", "- Columns with missing values may still have bad data (driver_age_raw)\n", "- Data cleaning sometimes involves guessing (driver_age)\n", "- Use histograms for a sanity check" ] } ], "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.5.4" } }, "nbformat": 4, "nbformat_minor": 2 }