{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# A Simple Data Analysis Example"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The example shows how to do basic data analysis of the datasets. The example uses 2021 Fairfax County Virginia traffic stop data to analyze race/ethnicity values."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" import openpolicedata as opd\n",
"except:\n",
" import sys\n",
" sys.path.append('../openpolicedata')\n",
" import openpolicedata as opd\n",
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
race_eth
\n",
"
AMERICAN INDIAN
\n",
"
ASIAN/PACIFIC ISLANDER
\n",
"
BLACK OR AFRICAN AMERICAN
\n",
"
HISPANIC
\n",
"
UNKNOWN
\n",
"
WHITE
\n",
"
\n",
"
\n",
"
person_searched
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
NO
\n",
"
88
\n",
"
1557
\n",
"
3574
\n",
"
4001
\n",
"
3291
\n",
"
8157
\n",
"
\n",
"
\n",
"
YES
\n",
"
1
\n",
"
57
\n",
"
338
\n",
"
513
\n",
"
12
\n",
"
346
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
"race_eth AMERICAN INDIAN ASIAN/PACIFIC ISLANDER \\\n",
"person_searched \n",
"NO 88 1557 \n",
"YES 1 57 \n",
"\n",
"race_eth BLACK OR AFRICAN AMERICAN HISPANIC UNKNOWN WHITE \n",
"person_searched \n",
"NO 3574 4001 3291 8157 \n",
"YES 338 513 12 346 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"agency_comp = \"Fairfax County Police Department\"\n",
"year = 2021\n",
"src = opd.Source(source_name=\"Virginia\")\n",
"t_ffx = src.load_from_url(year=year, table_type='STOPS', agency=agency_comp)\n",
"\n",
"# Make a copy of the table so that we can make changes without changing the original table.\n",
"df_ffx = t_ffx.table.copy()\n",
"\n",
"# Race and ethnicity are saved in different columns in Virginia's data but analysis is typically done on a combined race/ethnicity column\n",
"# containing Hispanic of all races, White Non-Hispanic, Black Non-Hispanic, Asian Non-Hispanic, etc. groups.\n",
"# Create combined race/ethnicity category\n",
"df_ffx[\"race_eth\"] = df_ffx[\"race\"] # Default the value of the race/ethnicity to the race\n",
"\n",
"# For all rows where the ethnicity is HISPANIC, set \"race_eth\" column to HISPANIC\n",
"df_ffx.loc[df_ffx[\"ethnicity\"] == \"HISPANIC\", \"race_eth\"] = \"HISPANIC\"\n",
"# For all rows where the ethnicity is UNKNOWN, set \"race_eth\" column to UNKNOWN\n",
"df_ffx.loc[df_ffx[\"ethnicity\"] == \"UNKNOWN\", \"race_eth\"] = \"UNKNOWN\"\n",
"\n",
"# Find the number of searches of persons by race and ethnicity\n",
"# groupby groups the rows of the table based on [\"person_searched\",\"race_eth\"]\n",
"# size() finds the number of rows in each group (i.e. the number of searches for each race/ethnicity group)\n",
"# unstack just makes the resulting table more presentable\n",
"searches = df_ffx.groupby([\"person_searched\",\"race_eth\"]).size().unstack(\"race_eth\")\n",
"\n",
"searches"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's find the percent of stops that end in the person being searched for each race/ethnicity group"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
# of Stops
\n",
"
# of Searches
\n",
"
% of Stops With Search
\n",
"
\n",
"
\n",
"
race_eth
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
AMERICAN INDIAN
\n",
"
89
\n",
"
1
\n",
"
1.1
\n",
"
\n",
"
\n",
"
ASIAN/PACIFIC ISLANDER
\n",
"
1614
\n",
"
57
\n",
"
3.5
\n",
"
\n",
"
\n",
"
BLACK OR AFRICAN AMERICAN
\n",
"
3912
\n",
"
338
\n",
"
8.6
\n",
"
\n",
"
\n",
"
HISPANIC
\n",
"
4514
\n",
"
513
\n",
"
11.4
\n",
"
\n",
"
\n",
"
UNKNOWN
\n",
"
3303
\n",
"
12
\n",
"
0.4
\n",
"
\n",
"
\n",
"
WHITE
\n",
"
8503
\n",
"
346
\n",
"
4.1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # of Stops # of Searches % of Stops With Search\n",
"race_eth \n",
"AMERICAN INDIAN 89 1 1.1\n",
"ASIAN/PACIFIC ISLANDER 1614 57 3.5\n",
"BLACK OR AFRICAN AMERICAN 3912 338 8.6\n",
"HISPANIC 4514 513 11.4\n",
"UNKNOWN 3303 12 0.4\n",
"WHITE 8503 346 4.1"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# The total number of searches for each group is the sum of each column\n",
"number_of_stops = searches.sum()\n",
"# The number of searches for each group is the number of Yes's for each group\n",
"number_of_searches = searches.loc[\"YES\"]\n",
"\n",
"# Calculate the search rate (% of people search over total people stopped)\n",
"percent_stops_with_search = np.round(number_of_searches/number_of_stops*100,1)\n",
"\n",
"# Create a DataFrame out of the 3 metrics calculated above\n",
"searches_df = pd.DataFrame([number_of_stops, number_of_searches, percent_stops_with_search], \n",
" index=[\"# of Stops\", \"# of Searches\", \"% of Stops With Search\"])\n",
"searches_df = searches_df.transpose()\n",
"searches_df[\"# of Stops\"] = searches_df[\"# of Stops\"].astype(int)\n",
"searches_df[\"# of Searches\"] = searches_df[\"# of Searches\"].astype(int)\n",
"# searches.dropna(inplace=True)\n",
"searches_df"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Percentage of Stops Where the Person is Searched')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAf0AAAEWCAYAAABsT07JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAt60lEQVR4nO3de5xVVf3/8ddbREVRUUHyBojkJcHQrLz2HS+ZpmaaqYQmXdRuVqSVlRldVL59NS9f/VX2LckyL3lJzTJNPYWGNxAFVFKDvCt4ZRRN8PP7Y63R7eGcYQbmcGZmv5+Pxzxm77XXWvuzzuyZz95r7zlHEYGZmZn1fis1OwAzMzNbMZz0zczMSsJJ38zMrCSc9M3MzErCSd/MzKwknPTNzMxKwknfzJYg6UBJj0pqlbRts+NpBEkVSZ9tdhxtJIWkEc2OoxkkzZLU0uw4loWkSZJ+1EV9jZN0S1f0VY+TvvVakuZKWpgT19OSzpfUv9lxtZE0QdJvmx1HHacBX4qI/hFxd/VGSQdImi7pJUnzJd0oaVjetsLHJWnHHEufQtkv6pT9bEXGVksjTzgkDcsnEK35a66kExqxr64SEVtHRKWz7SR9W9KcPM7HJF3SgPB6FSd96+32j4j+wHbAe4ETO9NYSRl/T4YCs2ptyFejFwDHAWsDmwL/D3hjhUW3pLuAPqSfc5tdgSeqyj4A/L0rd9yNj5EB+dgfA5wkae/ONJa0cmPC6hqSjgSOAPbM49weuLEB++nWr0NndccD1azLRcTjwJ+BkQCSdpD0D0kvSLqnOLWYr8JOlnQr8AowXNLWkm6Q9FyeNfh2rruSpBMkPSzpWUmXSlo3b2u74jpS0iP5ivg7edvewLeBQ/NVyj25/FOS7pe0QNK/JB1THIekb0h6UtITkj5bnBKWtKqk0/K+npb0M0n9ar0eOe4TJf1b0jOSLpC0du6jlZRA75H0cI3mo4E5EXFjJAsi4vKIeKSdcW0o6er8+j0k6ahCLBMkXSbpkjzuaZLeXdj+TUmP522zJe1R4+f7OnAbKakjaX1gFeCSqrLNeXvSHyrp1tz39ZIGFvbb2WNky8IxMlvSIXVe+5NJJyTn5NfonMLmPSU9KOl5SedKUqHdp/Ox8bykv0gaWqv/Gq/NFNIJXNuxX7effDx9UdKDwIP5hOaMfIy8KOleSW39rJ2Pm3n5ODpR+eRHeZo6H4/PK12N71MvRqXZiD3z8vsk3aU0S/O0pJ/UafZe4C8R8XAe51MRcV6hz7Ul/TL/vjwu6UfKsz6SNpN0k9Lv7HxJF0oaUBXPNyXdC7wsaWVJuxSOh0cljSvEso6ka/NxdLukzQp91T0uJK2Xfy9eknQHsBmNFhH+8lev/ALmkq4CADYh/eH7IbAR8CzwYdKJ7wfz+qBctwI8AmwNrAysCTxJurJdLa+/P9f9KinZbAysCvwcuChvGwYE8AugH/Bu4DVgq7x9AvDbqpj3Jf3iC/gvUkLZLm/bG3gqx7U68Jvc/4i8/UzgamDdHOM1wKl1XptPAw8Bw4H+wBXAbwrb3+y3RtvhwKvAGcBuQP+q7bXG9TfSbMBqpJOGecAehfqvAwcDfYHjgTl5eQvgUWDDwmu6WZ24vgdclZcPJs1GfLCq7F+F+hXgYdKJQL+8PjFv6+wxsnaO81N5fTtgPrB1nVgrwGerygL4IzAAGJJfo73zto/mn9dWuf8TgX/U6XtY7mtl0nG0M+k42mNp/eR2N+RjqB/wIWBqjkm53Qa57gXAVaRjbRjwT+Azedu4/DM9inQC+XnSrIs68Ls6BTgiL/cHdqjT5nDgOeDrpKv8PlXb/0D6fVwDWB+4AzgmbxuRf6arAoNIJ4JnVsUznfR3o1/+eSwgzZr0BdYDRue6k3Ic78uv6YXAxXnbGu0dF8DFwKW53kjgceCWhv5dXBF/fP3lr2Z85V/cVuAF4N+kpNMP+CaFBJfr/gU4Mi9XgB8Uto0B7q6zj/vJySuvb5D/2K3MW398Ny5svwM4LC9PoCo51uj/D8BX8vKvKCTx/Icr8ncBL1NIiMCOpCvyWv3eCHyhsL5FW9x5vW7Sz9t3yH+s5pFOACaRk3/1uPIfzsXAmoWyU4FJhfq3FbatRDrJ2jWP7RlgT6DvUl6rFlJiFnAWKeH0B54ulJ1fqF8BTiysfwG4Li939hg5FJhcVf/nwPfqxFqhdtLfpbB+KXBCXv4zOaEWXqNXgKE1+m477l4Anicdo1/uSD+53e6F7buTkvkOwEqF8j6kE9h3FcqOASp5eRzwUGHb6rnvd7Tzu9qW9P8OfB8Y2IHf8bHAX0nH/rOF12twjq9f1e/xzXX6+SiF3/Ecz6cL698CrqzTdhLwf4X1DwMPLO24yK/h68CWhW2n0OCk7+l96+0+GhEDImJoRHwhIhaS7ld/PE/TvSDpBWAXUsJu82hheRPSFWEtQ4ErC/3cT0pwgwt1niosv0JKRDVJ2kfSbXkq8AXSH5C2KecNq+IqLg8i/WGdWojlulxey4akE6E2/yadqAyuXf3tIuK2iDgkIgaRkvMHgO+0s6/nImJB1f42qjWWiHgDeIx0df8QaTZlAvCMpIslbVhnP7eRXtuROZ7JEdGa+24rq76fX+9n09ljZCjw/qr6Y4F31Im1nvbiOavQ93OkE5mNqG9gRKwTEVtFxNmd6Kf4s7gJOAc4F3ha0nmS1iIdk6uw5DFU7OepQj+v5MWOPEj7GdLsywOS7pS0X72KEXFhROxJmon4HPADSR/K4+wLPFkY689JV/xIWj8fS49Legn4LW/9ni3xOtD+3wBo/+dW77gYRPqdK+6n+Ho2hJO+ldGjpKu4AYWvNSJiYqFOVNWvd6/tUWCfqr5Wi/QMwdIU94GkVYHLSU/OD46IAcCfSH+UIV39blxosklheT6wkDRt2BbH2pEecKrlCdIfpDZDgEWkq+JOiYg7SbcHRtYaV97XupLWrNpf8TV6cyz5vvDGuR0R8buI2CXHG8B/14njVeBOYD/SFPQDedPkXLYNHX+Ib1mOkb9V1e8fEZ+v03/1a9SReI6p6r9fRPyjAf28LbaIODsi3kO6lbE5aTp9PukqtfoY6shx366IeDAixpAS9H8Dl0laYyltXo+I3wP3ko7DR0lX+gML41wrIrbOTU7N49wmItYi3SpQdbeF5fb+BrSnveNiHul3rvh7PGQZ9tEpTvpWRr8F9pf0IUl9JK0mqUXSxnXq/xF4h6SvKj3otqak9+dtPwNObnsYStIgSQd0MI6ngWF668nvVUj3GOcBi/KDT3sV6l8KfErSVpJWB05q25Cvjn8BnKH0wBqSNspXPbVcBIyXtKnSvzGeAlwSEYuWFnR+oOmown62BD5CutJeYlwR8SjwD+DU/FpvQ7qau7DQ7XskHaT0pPRXSX+wb5O0haTd8wnRq6QTm8XthPf33L6YxG7JZU9FfuirA5blGNlc0hGS+uav90raqk79p0nPRnTUz4BvSdoa3nxI7eOdaL9M/eQxvF9SX9IU+qvA4ohYTDoeT86/D0OBr5Fet+Ui6XBJg/Ix/UIuXuJnrvSw4L55/yvl35etgdsj4kngeuB0SWvl7ZtJ+q/cfE3yrT9JG5FOZNpzIekhy0OUHupbT9LoDgyn7nGRX8MrgAmSVpf0LuDIDvS5XJz0rXRyEjqA9JT5PNLZ+Nep8/uQp6U/COxPmsZ7kPQAG6T7xFcD10taQEp876/VTw2/z9+flTQt7+fLpD+mzwOfyH23xfFn4GzgZtLDWFPyptfy92/m8tvylOVfSffqa/kV6UHAv5MemnsVOLaDcb9ASvIzlJ70vw64EvhxrXHl5TGke81P5Lrfi4gbCn1eRbr/+Tzp37AOivRE/qrARNKV5VOkq79vtxPb33Kd4huc3JLLOvyvest4jOwFHJbH+BTpKnXVOrs4CzhY6cn2s+vUKfZ/Ze7v4vyznQnUfRq+C/tZi3Qy+Txp6vlZ0kwUpOPlZeBfpNf4d6TjanntDczKx9ZZpGdgXq1R7yXSz+cR0jH5Y+DzEdH2s/8k6UT6vhz/Zbx1e+b7pIfqXgSuJSXfuiLiEdKttuNIt0Smkx7MbVcHjosvkW4FPEV6NuD8pfW5vJQfHjCzHiZfRc4EVu3IFXp3JWkC6aHBw5sdi1lv5yt9sx5E6e1xV5G0DumK4ZqenPDNbMVy0jfrWY4hTTc/TLrPWe9BMTOzJXh638zMrCR8pW9mZlYSveqDBKx3GTBgQIwY0Xs/afTll19mjTXa/ffjHs3j69k8vp5r6tSp8/MbZy3BSd+6rcGDB3PXXXc1O4yGqVQqtLS0NDuMhvH4ejaPr+eSVPed/Ty9b2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhL+P33rtha+vphhJ1zb7DAa5rhRixhXkvHNnbhvk6MxM/CVvpmZWWk46ZuZmZWEk76ZmVlJOOmbmZmVhJO+mZlZSfjp/ZKTdAbw74g4M6//BXg0Ij6b108HHgc+HREjC+0mAK0RcZqkScAfgbHApkB/YBAwJ1f/AnAKsAGwMJc9FBEHN3RwZmb2Nr7St38AOwFIWgkYCGxd2L4TcGtHOoqIAyNiNPBZYHJEjM5f/8hVxhbKnPDNzFYwJ327lZz0Scl+JrBA0jqSVgW2Ap5vVnBmZtZ1PL1fchHxhKRFkoaQkv8UYCNgR+BF4F7gP8BmkqYXmr4DOK2Tu7tQUtv0/g0R8fXqCpKOBo4GGDhwECeNWtTJXfQcg/ulN7DprYrjq1QqzQ2mAVpbW3vluNp4fL2Tk77BW1f7OwE/ISX9nUhJv21q/uE8dQ+8eU+/s8ZGxF3tVYiI84DzAIYMHxGnz+i9h+hxoxZRlvHNHdvS3GAaoFKp0NLS0uwwGsbj6508vW/w1n39UaTp/dtIV/odvp9vZmbdn5O+QUrs+wHPRcTiiHgOGEBK/FOaGZiZmXWd3ju3aJ0xg/TU/u+qyvpHxHxJ/btoP8V7+vMjYs8u6tfMzDrASd+IiMXAWlVl4wrLc4GRVdsn1Kqb1ytApaqspStiNTOzZefpfTMzs5Jw0jczMysJJ30zM7OScNI3MzMrCT/IZ91Wv759mD1x32aH0TCVSqVXvmlNm94+PrOeyFf6ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYlsXKzAzCrZ+Hrixl2wrUdrj934r4NjMbMrOfzlb6ZmVlJOOmbmZmVhJO+mZlZSTjpm5mZlYSTvpmZWUk46fcgkoZJmllVNkHS8ZImSXpc0qq5fKCkubXaSTpK0jRJ67TXLq9vLekmSf+U9KCk7+ot8yWtk+ttICkk7VJoO0/SejnGVyStX9jW2phXyczM6nHS710WA59ur4KkI4Bjgb0i4vn22knqB1wNTIyIzYF3AzsBX4iIAG4HdszVdwLuzt+RtAUwPyKezdvnA8ct+9DMzGx5Oen3LmcC4yXVfP8FSYcAJ5AS/vwOtPsEcGtEXA8QEa8AX8p9ANxKTvL5+094+0nAPwp9/Qo4VNK6nR+WmZl1Bb85T+/yCHALcARwTdW2ocA5wLYR8VQH220NTC1WjIiHJfWXtBYpqZ+UN70P+B7w1by+E+mkoE0rKfF/JderSdLRwNEAAwcO4qRRi+pVXUKlUulw3e6gtbW1x8XcGR5fz+bx9U5O+j1LdKD8FNKUfPVb2c0DngMOAc6o0UetdlrKPu8AtpW0BtA3Ilol/UvSCFLSP72qzdnAdEnV5W91GnEecB7AkOEj4vQZHT9E545t6XDd7qBSqdDS0tLsMBrG4+vZPL7eydP7PcuzwDpVZeuS7pcDEBEPAdNJyb3oFWAf4HOSxlZ3XKfdLGD7Yj1Jw4HWiFiQp/sfIj0PMC1XuQ34MLA+MLtqHy8AvwO+0O4ozcysIZz0e5CIaAWelLQHQL4/vjdpar7oZOD4Gu3n5fqnSPpQjV1Ut7sQ2EXSnnl//UhX6z8u1LmVNKU/Ja9PIU3h35Yf9qv2E+AYPMtkZrbCOen3PJ8ETpQ0HbgJ+H5EPFysEBGzeOvKm6ptc4CPAL+S9P722kXEQuCAvL/ZwAzgTtKzAW1uBYbzVtKfBmzM2x/iK+5jPnAlsGoHxmpmZl3IV1s9TETcB+xWo3xc1fpBheW5wMjC+j3ARnn19nrt8voMoKWdeH5Puvfftv4aVQk9IiZUrX8N+Fq9Ps3MrDF8pW9mZlYSTvpmZmYl4aRvZmZWEr6nb91Wv759mD1x32aHYWbWa/hK38zMrCSc9M3MzErCSd/MzKwknPTNzMxKwknfzMysJJz0zczMSsJJ38zMrCSc9M3MzErCSd/MzKwknPTNzMxKwknfzMysJJz0zczMSsJJ38zMrCSc9M3MzErCSd/MzKwknPTNzMxKwknfzMysJBQRzY7BrKYhw0fESoec1ewwGua4UYs4fcbKzQ6jYTy+ns3ja565E/ddrvaSpkbE9rW2+UrfzMysJJz0zczMSsJJ38zMrCSc9M3MzErCSd/MzKwknPR7EUmtVevjJJ2TlydIOj4v7yDpdknTJd0vaUKh/rxcfp+kowp9HSgpJG1ZKBuWy44tlJ0jaVxeniTp4LzcV9JESQ9KminpDkn7NO7VMDOzak765fRr4OiIGA2MBC4tbLskl7cAp0ganMvHALcAh1X19QzwFUmrLGWfPwQ2AEZGxEhgf2DN5RiDmZl1kpN+Oa0PPAkQEYsj4r7qChHxDPAwMFRSf2Bn4DMsmfTnATcCR9bbmaTVgaOAYyPitdz/0xFxab02ZmbW9brnOxPYsuonaXphfV3g6hr1zgBmS6oA1wG/johXixUkDQeGAw8BHwWui4h/SnpO0nYRMa1QfSLwZ0m/qhPXCOCRiHhpaQOQdDRwNMDAgYM4adSipTXpsQb3S28Q0lt5fD2bx9c8lUqlYX076fcuC/PUPJDu0QNLvCtTRPxA0oXAXsAnSFP3LXnzoZJ2AV4DjomI5ySNAc7M2y/O9acV+psj6Y7c13KJiPOA8yC9I193fcesrtCd3xGsK3h8PZvH1zxzx7Y0rO/uOWJruIh4GPippF8A8yStlzddEhFfaquXy3cHRkoKoA8Qkr5R1eUpwGXA32vs7iFgiKQ1I2JBV4/FzMw6xvf0S0jSvpKUV98JLAZeqFP9YOCCiBgaEcMiYhNgDrBLsVJEPADcB+xX3UFEvAL8Eji77YE/SRtIOrwrxmNmZh3jpF9OR5Du6U8HfgOMjYjFdeqOAa6sKruc2lP5JwMb1+nnRNJDf/dJmgn8Ia+bmdkK4un9XiQi+letTwIm5eUJhfLqJ/CXqF8oa6lR7+zC6shC+T0UTiQjYlxh+T/AN/KXmZk1ga/0zczMSsJJ38zMrCSc9M3MzErC9/St2+rXtw+zJ+7b7DAaplKpNPT/cZvN4+vZPL7eyVf6ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYlsXKzAzCrZ+Hrixl2wrXNDqNhjhu1iHEeX4/l8S3d3In7dlE01lV8pW9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJLTfqSFkuaLukeSdMk7ZTLh0ma2U67qyRNqVF+vKQHJM3MfX4yl1ckbV/o+0FJH6rRfmtJN0n6Z67zXUnK28ZJmpfjfUDS+KWMbYkYJU2Q9HjuY7qkiYX4ZueY75Q0utBmrqSBefkdki6W9LCk+yT9SdLmhbrjJb0qae1CWYukkLR/oeyPklrqxL2ypPmSTq0qr0h6pO31yGV/kNRaeF0XFsY2vfD6z5U0Q9K9kv4maWihj9bC8uZ5TA9Jul/SpZIGF7aflV+/lQpl4yS9IWmbQtlMScNqjc/MzBqjI1f6CyNidES8G/gWcOrSGkgaAGwHDJC0aaH8c8AHgfdFxEjgA4Cq2m4M/AU4LiL+UrWtH3A1MDEiNgfeDewEfKFQ7ZKIGA3sDHxH0iadiTE7I495dEScUCgfm1+H/wf8T40+BVwJVCJis4h4F/BtYHCh2hjgTuDAquaPAd+pFWsNewGzgUOKCT57gTT2tjFuULX94cLYRkfEBYVtu0XENkAFOLHG+FYDrgV+GhEjImIr4KfAoLx9pTyuR0k/22Udn5mZNUBnp/fXAp7vQL2PAdcAFwOHFcq/DXwhIl4CiIgXI+LXhe3vAK4HToyIq2v0+wng1oi4Prd/BfgScEJ1xYh4FniIJZPe0mLsiCnARjXKdwNej4ifFeKYHhGTASRtBvQnJdQxVW3vAV6U9MEO7H8McBbwCLBD1bbieA4CruhAf9Xqje8TwJSIuKatICJujoi2GZ/dgJmkE4Hq8f0R2FrSFssQj5mZdYGOvDlPP0nTgdVICXT3DrQZA3wfeBq4DDhV0prAmhHxcDvtLiAl/N/X2b41MLVYEBEPS+ovaa1iuaQhOeZ7OxpjYdt4SYfn5W9WzzgAewN/qNHnyOr4auzzImAysIWk9SPimcL2H+WvG+p1kGc79gCOAQbkPou3KG4EfiGpDyn5Hw18t7B9s/zzbHNs20lJwfKO7yrgFEl9I+L1vO0N4MekE78j63Ug6egcMwMHDuKkUYva2V3PNrhfegOU3srj69m6YnyVSqVrgmmA1tbWbh1fo3Qk6S/M0+VI2hG4QNLIepXz/d0RwC0REZIW5fqPALGUff0VOELSpHwVv0T37fTRVn6opN2ALYCjIuLVjsZYuGI9IyJOq7GPCyWtAfQh3RrorMOAAyPiDUlXAB8Hzn1zABGTJSFp13b62A+4OSJekXQ58F1J4yNicd6+GLgFOBToFxFzq+4APNz286zh5vzaPEON6f32SFoF+DAwPiIWSLqddBui+JZevyPdcqm+nfKmiDgPOA9gyPARcfqM3vumkceNWoTH13N5fEs3d2xL1wTTAJVKhZaWlmaHscJ1ano/IqYAA8n3cOs4FFgHmCNpLjAMOCxP6b8saXg7bX8M3A78XlKto20WsH2xIPfXGhELctElEbE1sCtwuqR3dDTGduJqMxbYlJS8zq2xfRbwnloN80Ns7wRuyPs8jCWnwAFOpv1732OAPXMfU4H1SNPqRRcD/wtc2k4/tewGDCWN4wc1ttcdH2l2YG1gRo5tF6rGFxGLgNOBb3YyLjMz6wKdSvqStiRd5T7bTrUxwN4RMSwihpGSRFtCPRU4t20qXtJaeTq3aDzwEvDLGg+pXQjsImnP3L4fcDbpZOFt8gnKb4CvdDLGduXp6hOBHSRtVbX5JmBVSUe1FUh6r6T/yvuc0LbPiNgQ2Kj4lHzu/3rSCcm7q/edX7ddgCGF2L/IkicPk0mv9UUdGVPV/hcCXwU+KWndqs2/A3aS9OYbakvaW9KoHMNnC3FtCuwlafWqPiYBe9L+iaOZmTVAR5J+v7Z/7wIuAY4sTCVvIemxwtfXgSHAbW2NI2IO8JKk95Me8LoZuFPp3/3+BrxtGj8ignTPdwOqknlOSAcAJ0qaDcwgPQl/Tp3Y/xv4VH6eAEj/traUGJcqx3E6cHyN2A8EPqj0L3uzgAnAE6STiiururqS2icbJwMb1yg/CLgpIl4rlF0FfETSqsU4IuK0iJhfo4/Nqv5l78s1xvck6YThizXGvR9wrNK/S94HjCOdpH2IwlR+RLxMus2wf1Uf/yGdqK1fIzYzM2sgpTxl1v0MGT4iVjrkrGaH0TC+J9yzeXxL150/Za8339OXNDUitq+1ze/IZ2ZmVhJO+mZmZiXhpG9mZlYSvfeGlPV4/fr2YXY3vie4vCqVSrf+P+bl5fH1bL19fGXlK30zM7OScNI3MzMrCSd9MzOzknDSNzMzKwknfTMzs5Jw0jczMysJJ30zM7OScNI3MzMrCSd9MzOzknDSNzMzKwknfTMzs5Jw0jczMysJJ30zM7OScNI3MzMrCSd9MzOzknDSNzMzKwknfTMzs5JYudkBmNWz8PXFDDvh2maH0TDHjVrEuB4wvrkT9212CGbWRXylb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEt026Us6UFJI2rJQtpKksyXNlDRD0p2SNs3b5koauJT2w3LZsYWycySNK6zvKOkXklokvSjpbkn3S/peoc62uZ8PVcW8uaQ/SXoot7lU0uDc1x9znXGS5kmanr8uyOWTJB2cl/tKmijpwTzWOyTtU+M1qkjaPi9/Or8m9+Y2B1T3W6N9vXGEpNML68dLmpCXJ0h6PMf+oKQrJL2rKqbZhfFdVqPdfZLG1IrJzMwap9smfWAMcAtwWKHsUGBDYJuIGAUcCLzQifYAzwBfkbRKnXZ7A9fl5ckRsS2wPXC4pPdU9f1m4pK0GnAt8NOIGBERWwE/BQbV2MclETE6f32yxvYfAhsAIyNiJLA/sGadeJG0MfAdYJeI2AbYAbi3Xv2CJcaRvQYcVDyJqnJGjv2dwCXATZKK4xxbGN/B1e2AA4CfS+rbgRjNzKyLdMukL6k/sDPwGd6etDcAnoyINwAi4rGIeL4T7QHmATcCR9bZ/R7AX4sFEfEyMBXYTJKAg4FxwF452QN8ApgSEdcU2t0cETOXOuC3x746cBRwbES8lvt5OiIubafZ+sACoDXXb42IOUvZT71xACwCzgPGLy3eiLgEuJ40/g6JiAeBV4B1OtrGzMyWX3d9c56PAtdFxD8lPSdpu4iYBlwK3CJpV1Li/m1E3N2J9m0mAn+W9Ktio3xl+3pEvJhy4pvl65Gunn9IOpmYExEPS6oAHwauAEaSTgw64lBJu+TlsyLi/MK2EcAjEfFSB/sCuAd4Gpgj6UbgiuLJRx31xtHmXOBeST/uwP6nAVsW1i+UtDAv3xARXy9WlrQd8GBEPFPdkaSjgaMBBg4cxEmjFnVg9z3T4H7pDXq6u0qlskztWltbl7ltT+Dx9Wy9fXz1dNekPwY4My9fnNenRcRjkrYAds9fN0r6eETc2JH2bRsjYo6kO1jy6nQv0lVrm10l3Q28AUyMiFmSzs19tvV9BG9Plh1xSUR8qZNt6oqIxZL2Bt5Lmqk4Q9J7ImJCO83G0M44IuKl/LzBl4GFSzZ/G1Wtj42Iu2rUGy/pKGA46TZKrbGcR5plYMjwEXH6jO56iC6/40YtoieMb+7YlmVqV6lUaGlZtrY9gcfXs/X28dXT7f7i5Kvq3YGRkgLoA4Skb0TyGvBn0pX606Sr+hs70r5qV6cAlwF/L5TtA/yksD45IvYr9N0H+BjwEUnfISW79SStCcwC/mu5XwB4CBgiac2IWNDRRhERwB3AHZJuAM4HJtSq2944qvZ5Julk6fwle3mbbYFaSb7aGRFxmqSDgAskbRYRr3agnZmZdYHueE//YOCCiBgaEcMiYhNgDrCLpO0kbQjpSX5gG+DfHW1frBQRDwD3Afvl/pT7m95ObHsC90TEJrnvocDlpBOP3wE7SXrzjcol7S1pVGcGHxGvAL8Ezm572FDSBpIOr9dG0oZ5yrzNaJZ8XTo6jmIsz5FuqXymnX1/jDRDclF746rq9wrSSUK95yrMzKwBumPSHwNcWVV2OWkqfn3gGkkzSU+nLwLO6UT7aicDG+fl9wB35yvmTscWEQtJJxDH5n9lu4/0kNwS96074ETSA4f35bH+Ia/X0xc4TdIDkqaT/svhK4XtP5f0WP6a0t44avR9OlD9FP/4tn/ZAw4Hdo+IYnwXFv5l76/U9gPga/nkzczMVgC1n+PKQ9KJwEMRcfFSK9sKMWT4iFjpkLOaHUbD9Jh7+sv4KXu9/Z6px9ez9ebxSZoaEdvX2tb9/+KsIBHxo2bHYGZm1kieWjUzMysJJ30zM7OScNI3MzMrCd/Tt26rX98+zF7Gh8h6gkqlssxvfGNmtix8pW9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mZmZiXhpG9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhIrNzsAs3oWvr6YYSdc25R9z524b1P2a2bWSL7SNzMzKwknfTMzs5Jw0jczMysJJ30zM7OScNI3MzMrCSf9dkg6UFJI2rJQNiyX/bBQNlDS65LOyesTJD0uaXrha4CkFkkvSrpb0gOSTiv0Ma6tfV7/pKSZkmZJuk/S8YVtK0uaL+nUqngrku4qrG8vqVJjXMMkzczLLXk8+xe2/1FSS6HP2ZLuzTGfI2lAoW5rVd/jJb0qae1CWbv7MDOzFcNJv31jgFuAw6rK/wXsV1j/ODCrqs4ZETG68PVCLp8cEdsC2wL7Sdq5eqeS9gG+CuwVEVsD2wEvFqrsBcwGDpGkqubr5/ad8RjwnXa2j42IbYBtgNeAq9qpOwa4Eziwk/swM7MGc9KvQ1J/YGfgMyyZ9BcC90vaPq8fClzamf4jYiEwHdioxuZvAcdHxBO57qsR8YvC9jHAWcAjwA5Vbf8HOLEzsQD3AC9K+uBSYv4P8A1giKR3V2+XtBnQP+9/zLLsw8zMGsdvzlPfR4HrIuKfkp6TtF1ETCtsvxg4TNJTwGLgCWDDwvbxkg7Py89HxG7FziWtA7wT+HuNfY8EptYKSlI/YA/gGGAAKblOKVSZAhwoaTdgQUcGmv0of93QXqWIWCzpHmBLUiIvGgNcBEwGtpC0fkQ805l9SDoaOBpg4MBBnDRqUSeG0HUqlUrD99Ha2rpC9tMsHl/P5vH1Tk769Y0BzszLF+f1YtK/Dvgh8DRwSY32Z0TEaTXKd5V0L7AFMDEinupkXPsBN0fEK5IuB74raXxELC7U+RHpavubHe00IiZLQtKuHahefUuhzWHAgRHxhqQrSLc9zu3MPiLiPOA8gCHDR8TpM5pziM4d29LwfVQqFVpaGr+fZvH4ejaPr3fy9H4NktYDdgf+T9Jc4OvAocX753mqeypwHHB5J7qfnO+PjwI+L2l0jTqzgPfUaT8G2DPHNRVYD3jbLEJE3ASsxpJT/0tzMku57y6pDyn2+6vKtyHNXNyQYzuMJaf4O7QPMzNrDCf92g4GLoiIoRExLCI2AeYAu1TVOx34ZkQ829kdRMQ/gVOpfTV+KvBjSe8AkLSqpC9LWivHMCTHNQz4IvWT6zc6GdP1wDrAEvfrcxx9c2yPRsS9VZvHABPa4oqIDYGNJA3tzD7MzKxxnPRrGwNcWVV2OfCJYkFEzIqIX9fpY3zVv+wNq1HnZ8AHJG1a1e+fSNPif5U0i3RFvzJwEHBTRLxWqH4V8BFJq9boY157g6zjZGDjqrIL8y2JmcAawAE12h3Gkq/ZlSz5EGS9fZiZWYP5nn4NEdFSo+zswurIGtsnAZPy8gRgQo2u5wKVQpuFvPX0/py29nnb+cD5NfqYVFyJiOeAQXm1pWpbzVsEETG3bQwRUamK6WoK9+xrvRZVffXP3zetse1rhdW6+zAzsxXDV/pmZmYl4aRvZmZWEk76ZmZmJeF7+tZt9evbh9kT9212GGZmvYav9M3MzErCSd/MzKwknPTNzMxKwknfzMysJJz0zczMSsJJ38zMrCSc9M3MzErCSd/MzKwkFBHNjsGsJkkLgNnNjqOBBgLzmx1EA3l8PZvH13MNjYhBtTb4HfmsO5sdEds3O4hGkXSXx9dzeXw9W28fXz2e3jczMysJJ30zM7OScNK37uy8ZgfQYB5fz+bx9Wy9fXw1+UE+MzOzkvCVvpmZWUk46ZuZmZWEk751S5L2ljRb0kOSTmh2PF1J0iaSbpZ0v6RZkr7S7Ji6mqQ+ku6W9Mdmx9IIkgZIukzSA/nnuGOzY+pKksbnY3OmpIskrdbsmJaHpF9JekbSzELZupJukPRg/r5OM2NcUZz0rduR1Ac4F9gHeBcwRtK7mhtVl1oEHBcRWwE7AF/sZeMD+Apwf7ODaKCzgOsiYkvg3fSisUraCPgysH1EjAT6AIc1N6rlNgnYu6rsBODGiHgncGNe7/Wc9K07eh/wUET8KyL+A1wMHNDkmLpMRDwZEdPy8gJSwtiouVF1HUkbA/sC/9fsWBpB0lrAB4BfAkTEfyLihaYG1fVWBvpJWhlYHXiiyfEsl4j4O/BcVfEBwK/z8q+Bj67ImJrFSd+6o42ARwvrj9GLkmKRpGHAtsDtTQ6lK50JfAN4o8lxNMpwYB5wfr6F8X+S1mh2UF0lIh4HTgMeAZ4EXoyI65sbVUMMjognIZ2IA+s3OZ4VwknfuiPVKOt1/1sqqT9wOfDViHip2fF0BUn7Ac9ExNRmx9JAKwPbAT+NiG2Bl+lFU8P53vYBwKbAhsAakg5vblTWVZz0rTt6DNiksL4xPXx6sZqkvqSEf2FEXNHseLrQzsBHJM0l3ZbZXdJvmxtSl3sMeCwi2mZnLiOdBPQWewJzImJeRLwOXAHs1OSYGuFpSRsA5O/PNDmeFcJJ37qjO4F3StpU0iqkh4iubnJMXUaSSPeD74+InzQ7nq4UEd+KiI0jYhjp53ZTRPSqq8SIeAp4VNIWuWgP4L4mhtTVHgF2kLR6Plb3oBc9qFhwNXBkXj4SuKqJsaww/pQ963YiYpGkLwF/IT05/KuImNXksLrSzsARwAxJ03PZtyPiT80LyTrpWODCfFL6L+BTTY6ny0TE7ZIuA6aR/tPkbnr4W9ZKughoAQZKegz4HjARuFTSZ0gnOh9vXoQrjt+G18zMrCQ8vW9mZlYSTvpmZmYl4aRvZmZWEk76ZmZmJeGkb2ZmVhJO+mbWa0haLGl6/nS430tavQkxtEjqjW9mY72Ak76Z9SYLI2J0/nS4/wCf60ij/MEyXaWF3vkOdtYLOOmbWW81GRghaY38eep35g/IOQBA0rg8G3ANcL2k/pLOlzRD0r2SPpbr7SVpiqRpuX7/XD5X0vdz+QxJW+YPUPocMD7POOwqaX9Jt+d9/1XS4Nx+UP4c92mSfi7p35IG5m2HS7oj9/Hz/HHTZsvNSd/Mep185b4PMAP4DuntgN8L7Ab8T+FT8XYEjoyI3YHvkj5RblREbAPclJPwicCeEbEdcBfwtcKu5ufynwLHR8Rc4GfAGXnGYTJwC7BD/nCei0mfQAjpXeFuyu2vBIbk2LcCDgV2jojRwGJgbNe+QlZWfhteM+tN+hXe2ngy6TMO/kH6EKDjc/lq5AQL3BARbZ+zvifp8wIAiIjn86cGvgu4Nb0NPasAUwr7a/uwpKnAQXVi2hi4JH+oyyrAnFy+C3Bg3td1kp7P5XsA7wHuzPvsR0k+DMYaz0nfzHqThfnq+E35Q2M+FhGzq8rfT/pY3DeLWPIjnEU6MRhTZ3+v5e+Lqf/39H+Bn0TE1ZJagAmFvmsR8OuI+Fad7WbLzNP7Ztbb/QU4Nid/JG1bp971wJfaVvLnyt8G7CxpRC5bXdLmS9nfAmDNwvrawON5+chC+S3AIbnfvYB1cvmNwMGS1s/b1pU0dCn7NOsQJ30z6+1+CPQF7pU0M6/X8iNgnfzvfvcAu0XEPGAccJGke0knAVsuZX/XAAe2PchHurL/vaTJwPxCve8De0maRnr+4ElgQUTcR3qO4Pq8zxuADTo7aLNa/Cl7ZmZNIGlVYHH+KOkdgZ9W35ow62q+p29m1hxDSJ/nvhLpPQWOanI8VgK+0jczMysJ39M3MzMrCSd9MzOzknDSNzMzKwknfTMzs5Jw0jczMyuJ/w9Mx02Drbw6NwAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = searches_df.plot.barh(y=\"% of Stops With Search\", grid=True, legend=False)\n",
"ax.set_ylabel(\"\")\n",
"ax.set_xlabel(\"Percentage\")\n",
"ax.set_title(\"Percentage of Stops Where the Person is Searched\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.12 ('opd')",
"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.8.10"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "a73158d29711b2da05ac73de25b71e5d8cae591f14917bba77a9573b5c85a0ce"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}