ium_487197/ium_lab2.ipynb
2023-03-21 11:45:41 +01:00

2257 lines
152 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 100,
"id": "78e785f1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: kaggle in ./jupyter_env/lib/python3.10/site-packages (1.5.13)\n",
"Requirement already satisfied: requests in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (2.28.2)\n",
"Requirement already satisfied: six>=1.10 in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (1.16.0)\n",
"Requirement already satisfied: tqdm in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (4.65.0)\n",
"Requirement already satisfied: urllib3 in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (1.26.15)\n",
"Requirement already satisfied: certifi in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (2022.12.7)\n",
"Requirement already satisfied: python-slugify in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (8.0.1)\n",
"Requirement already satisfied: python-dateutil in ./jupyter_env/lib/python3.10/site-packages (from kaggle) (2.8.2)\n",
"Requirement already satisfied: text-unidecode>=1.3 in ./jupyter_env/lib/python3.10/site-packages (from python-slugify->kaggle) (1.3)\n",
"Requirement already satisfied: idna<4,>=2.5 in ./jupyter_env/lib/python3.10/site-packages (from requests->kaggle) (3.4)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in ./jupyter_env/lib/python3.10/site-packages (from requests->kaggle) (3.1.0)\n",
"Requirement already satisfied: pandas in ./jupyter_env/lib/python3.10/site-packages (1.5.3)\n",
"Requirement already satisfied: numpy>=1.21.0 in ./jupyter_env/lib/python3.10/site-packages (from pandas) (1.24.2)\n",
"Requirement already satisfied: python-dateutil>=2.8.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas) (2022.7.1)\n",
"Requirement already satisfied: six>=1.5 in ./jupyter_env/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)\n",
"Requirement already satisfied: unzip in ./jupyter_env/lib/python3.10/site-packages (1.0.0)\n",
"Requirement already satisfied: scikit-learn in ./jupyter_env/lib/python3.10/site-packages (1.2.2)\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in ./jupyter_env/lib/python3.10/site-packages (from scikit-learn) (3.1.0)\n",
"Requirement already satisfied: numpy>=1.17.3 in ./jupyter_env/lib/python3.10/site-packages (from scikit-learn) (1.24.2)\n",
"Requirement already satisfied: joblib>=1.1.1 in ./jupyter_env/lib/python3.10/site-packages (from scikit-learn) (1.2.0)\n",
"Requirement already satisfied: scipy>=1.3.2 in ./jupyter_env/lib/python3.10/site-packages (from scikit-learn) (1.10.1)\n",
"Requirement already satisfied: seaborn in ./jupyter_env/lib/python3.10/site-packages (0.12.2)\n",
"Requirement already satisfied: numpy!=1.24.0,>=1.17 in ./jupyter_env/lib/python3.10/site-packages (from seaborn) (1.24.2)\n",
"Requirement already satisfied: pandas>=0.25 in ./jupyter_env/lib/python3.10/site-packages (from seaborn) (1.5.3)\n",
"Requirement already satisfied: matplotlib!=3.6.1,>=3.1 in ./jupyter_env/lib/python3.10/site-packages (from seaborn) (3.7.1)\n",
"Requirement already satisfied: pillow>=6.2.0 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (9.4.0)\n",
"Requirement already satisfied: fonttools>=4.22.0 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (4.39.2)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (3.0.9)\n",
"Requirement already satisfied: contourpy>=1.0.1 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (1.0.7)\n",
"Requirement already satisfied: cycler>=0.10 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (0.11.0)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (1.4.4)\n",
"Requirement already satisfied: packaging>=20.0 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (23.0)\n",
"Requirement already satisfied: python-dateutil>=2.7 in ./jupyter_env/lib/python3.10/site-packages (from matplotlib!=3.6.1,>=3.1->seaborn) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas>=0.25->seaborn) (2022.7.1)\n",
"Requirement already satisfied: six>=1.5 in ./jupyter_env/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.1->seaborn) (1.16.0)\n"
]
}
],
"source": [
"#instalacja pakietow\n",
"!pip install kaggle\n",
"!pip install pandas\n",
"!pip install unzip\n",
"!pip install scikit-learn\n",
"!pip install seaborn"
]
},
{
"cell_type": "code",
"execution_count": 101,
"id": "d8fffef2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warning: Your Kaggle API key is readable by other users on this system! To fix this, you can run 'chmod 600 /home/user/.kaggle/kaggle.json'\n",
"crime-in-baltimore.zip: Skipping, found more recently modified local copy (use --force to force download)\n"
]
}
],
"source": [
"#Pobranie zbioru\n",
"!kaggle datasets download -d sohier/crime-in-baltimore"
]
},
{
"cell_type": "code",
"execution_count": 102,
"id": "febfcbd4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Archive: crime-in-baltimore.zip\n",
" inflating: BPD_Part_1_Victim_Based_Crime_Data.csv \n"
]
}
],
"source": [
"!unzip -o crime-in-baltimore.zip"
]
},
{
"cell_type": "code",
"execution_count": 103,
"id": "11bc16fe",
"metadata": {},
"outputs": [],
"source": [
"! grep -P \"^$\" -n BPD_Part_1_Victim_Based_Crime_Data.csv"
]
},
{
"cell_type": "code",
"execution_count": 104,
"id": "cb85e933",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 105,
"id": "20e6099e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>09/02/2017</td>\n",
" <td>23:30:00</td>\n",
" <td>3JK</td>\n",
" <td>4200 AUDREY AVE</td>\n",
" <td>ROBBERY - RESIDENCE</td>\n",
" <td>I</td>\n",
" <td>KNIFE</td>\n",
" <td>913.0</td>\n",
" <td>SOUTHERN</td>\n",
" <td>Brooklyn</td>\n",
" <td>-76.60541</td>\n",
" <td>39.22951</td>\n",
" <td>(39.2295100000, -76.6054100000)</td>\n",
" <td>ROW/TOWNHO</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>09/02/2017</td>\n",
" <td>23:00:00</td>\n",
" <td>7A</td>\n",
" <td>800 NEWINGTON AVE</td>\n",
" <td>AUTO THEFT</td>\n",
" <td>O</td>\n",
" <td>NaN</td>\n",
" <td>133.0</td>\n",
" <td>CENTRAL</td>\n",
" <td>Reservoir Hill</td>\n",
" <td>-76.63217</td>\n",
" <td>39.31360</td>\n",
" <td>(39.3136000000, -76.6321700000)</td>\n",
" <td>STREET</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>09/02/2017</td>\n",
" <td>22:53:00</td>\n",
" <td>9S</td>\n",
" <td>600 RADNOR AV</td>\n",
" <td>SHOOTING</td>\n",
" <td>Outside</td>\n",
" <td>FIREARM</td>\n",
" <td>524.0</td>\n",
" <td>NORTHERN</td>\n",
" <td>Winston-Govans</td>\n",
" <td>-76.60697</td>\n",
" <td>39.34768</td>\n",
" <td>(39.3476800000, -76.6069700000)</td>\n",
" <td>Street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>09/02/2017</td>\n",
" <td>22:50:00</td>\n",
" <td>4C</td>\n",
" <td>1800 RAMSAY ST</td>\n",
" <td>AGG. ASSAULT</td>\n",
" <td>I</td>\n",
" <td>OTHER</td>\n",
" <td>934.0</td>\n",
" <td>SOUTHERN</td>\n",
" <td>Carrollton Ridge</td>\n",
" <td>-76.64526</td>\n",
" <td>39.28315</td>\n",
" <td>(39.2831500000, -76.6452600000)</td>\n",
" <td>ROW/TOWNHO</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>09/02/2017</td>\n",
" <td>22:31:00</td>\n",
" <td>4E</td>\n",
" <td>100 LIGHT ST</td>\n",
" <td>COMMON ASSAULT</td>\n",
" <td>O</td>\n",
" <td>HANDS</td>\n",
" <td>113.0</td>\n",
" <td>CENTRAL</td>\n",
" <td>Downtown West</td>\n",
" <td>-76.61365</td>\n",
" <td>39.28756</td>\n",
" <td>(39.2875600000, -76.6136500000)</td>\n",
" <td>STREET</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276524</th>\n",
" <td>01/01/2012</td>\n",
" <td>00:00:00</td>\n",
" <td>6J</td>\n",
" <td>1400 JOH AVE</td>\n",
" <td>LARCENY</td>\n",
" <td>I</td>\n",
" <td>NaN</td>\n",
" <td>832.0</td>\n",
" <td>SOUTHWESTERN</td>\n",
" <td>Violetville</td>\n",
" <td>-76.67195</td>\n",
" <td>39.26132</td>\n",
" <td>(39.2613200000, -76.6719500000)</td>\n",
" <td>OTHER - IN</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276525</th>\n",
" <td>01/01/2012</td>\n",
" <td>00:00:00</td>\n",
" <td>6J</td>\n",
" <td>5500 SINCLAIR LN</td>\n",
" <td>LARCENY</td>\n",
" <td>O</td>\n",
" <td>NaN</td>\n",
" <td>444.0</td>\n",
" <td>NORTHEASTERN</td>\n",
" <td>Frankford</td>\n",
" <td>-76.53829</td>\n",
" <td>39.32493</td>\n",
" <td>(39.3249300000, -76.5382900000)</td>\n",
" <td>OTHER - OU</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276526</th>\n",
" <td>01/01/2012</td>\n",
" <td>00:00:00</td>\n",
" <td>6E</td>\n",
" <td>400 N PATTERSON PK AV</td>\n",
" <td>LARCENY</td>\n",
" <td>O</td>\n",
" <td>NaN</td>\n",
" <td>321.0</td>\n",
" <td>EASTERN</td>\n",
" <td>CARE</td>\n",
" <td>-76.58497</td>\n",
" <td>39.29573</td>\n",
" <td>(39.2957300000, -76.5849700000)</td>\n",
" <td>STREET</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276527</th>\n",
" <td>01/01/2012</td>\n",
" <td>00:00:00</td>\n",
" <td>5A</td>\n",
" <td>5800 LILLYAN AV</td>\n",
" <td>BURGLARY</td>\n",
" <td>I</td>\n",
" <td>NaN</td>\n",
" <td>425.0</td>\n",
" <td>NORTHEASTERN</td>\n",
" <td>Glenham-Belhar</td>\n",
" <td>-76.54578</td>\n",
" <td>39.34701</td>\n",
" <td>(39.3470100000, -76.5457800000)</td>\n",
" <td>APT. LOCKE</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276528</th>\n",
" <td>01/01/2012</td>\n",
" <td>00:00:00</td>\n",
" <td>5A</td>\n",
" <td>1900 GRINNALDS AV</td>\n",
" <td>BURGLARY</td>\n",
" <td>I</td>\n",
" <td>NaN</td>\n",
" <td>831.0</td>\n",
" <td>SOUTHWESTERN</td>\n",
" <td>Morrell Park</td>\n",
" <td>-76.65094</td>\n",
" <td>39.26698</td>\n",
" <td>(39.2669800000, -76.6509400000)</td>\n",
" <td>ROW/TOWNHO</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>276529 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location \\\n",
"0 09/02/2017 23:30:00 3JK 4200 AUDREY AVE \n",
"1 09/02/2017 23:00:00 7A 800 NEWINGTON AVE \n",
"2 09/02/2017 22:53:00 9S 600 RADNOR AV \n",
"3 09/02/2017 22:50:00 4C 1800 RAMSAY ST \n",
"4 09/02/2017 22:31:00 4E 100 LIGHT ST \n",
"... ... ... ... ... \n",
"276524 01/01/2012 00:00:00 6J 1400 JOH AVE \n",
"276525 01/01/2012 00:00:00 6J 5500 SINCLAIR LN \n",
"276526 01/01/2012 00:00:00 6E 400 N PATTERSON PK AV \n",
"276527 01/01/2012 00:00:00 5A 5800 LILLYAN AV \n",
"276528 01/01/2012 00:00:00 5A 1900 GRINNALDS AV \n",
"\n",
" Description Inside/Outside Weapon Post District \\\n",
"0 ROBBERY - RESIDENCE I KNIFE 913.0 SOUTHERN \n",
"1 AUTO THEFT O NaN 133.0 CENTRAL \n",
"2 SHOOTING Outside FIREARM 524.0 NORTHERN \n",
"3 AGG. ASSAULT I OTHER 934.0 SOUTHERN \n",
"4 COMMON ASSAULT O HANDS 113.0 CENTRAL \n",
"... ... ... ... ... ... \n",
"276524 LARCENY I NaN 832.0 SOUTHWESTERN \n",
"276525 LARCENY O NaN 444.0 NORTHEASTERN \n",
"276526 LARCENY O NaN 321.0 EASTERN \n",
"276527 BURGLARY I NaN 425.0 NORTHEASTERN \n",
"276528 BURGLARY I NaN 831.0 SOUTHWESTERN \n",
"\n",
" Neighborhood Longitude Latitude \\\n",
"0 Brooklyn -76.60541 39.22951 \n",
"1 Reservoir Hill -76.63217 39.31360 \n",
"2 Winston-Govans -76.60697 39.34768 \n",
"3 Carrollton Ridge -76.64526 39.28315 \n",
"4 Downtown West -76.61365 39.28756 \n",
"... ... ... ... \n",
"276524 Violetville -76.67195 39.26132 \n",
"276525 Frankford -76.53829 39.32493 \n",
"276526 CARE -76.58497 39.29573 \n",
"276527 Glenham-Belhar -76.54578 39.34701 \n",
"276528 Morrell Park -76.65094 39.26698 \n",
"\n",
" Location 1 Premise Total Incidents \n",
"0 (39.2295100000, -76.6054100000) ROW/TOWNHO 1 \n",
"1 (39.3136000000, -76.6321700000) STREET 1 \n",
"2 (39.3476800000, -76.6069700000) Street 1 \n",
"3 (39.2831500000, -76.6452600000) ROW/TOWNHO 1 \n",
"4 (39.2875600000, -76.6136500000) STREET 1 \n",
"... ... ... ... \n",
"276524 (39.2613200000, -76.6719500000) OTHER - IN 1 \n",
"276525 (39.3249300000, -76.5382900000) OTHER - OU 1 \n",
"276526 (39.2957300000, -76.5849700000) STREET 1 \n",
"276527 (39.3470100000, -76.5457800000) APT. LOCKE 1 \n",
"276528 (39.2669800000, -76.6509400000) ROW/TOWNHO 1 \n",
"\n",
"[276529 rows x 15 columns]"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore=pd.read_csv('BPD_Part_1_Victim_Based_Crime_Data.csv')\n",
"baltimore"
]
},
{
"cell_type": "code",
"execution_count": 106,
"id": "89b1028c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CrimeDate 0\n",
"CrimeTime 0\n",
"CrimeCode 0\n",
"Location 2207\n",
"Description 0\n",
"Inside/Outside 10279\n",
"Weapon 180952\n",
"Post 224\n",
"District 80\n",
"Neighborhood 2740\n",
"Longitude 2204\n",
"Latitude 2204\n",
"Location 1 2204\n",
"Premise 10757\n",
"Total Incidents 0\n",
"dtype: int64"
]
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 107,
"id": "7109d8f7",
"metadata": {},
"outputs": [],
"source": [
"# W wiekszosci przestepstw nie uzywa sie broni, zastepujemy\n",
"# puste pola przez None\n",
"baltimore[\"Weapon\"].fillna(\"None\", inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 108,
"id": "1c67e681",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CrimeDate 0\n",
"CrimeTime 0\n",
"CrimeCode 0\n",
"Location 2207\n",
"Description 0\n",
"Inside/Outside 10279\n",
"Weapon 0\n",
"Post 224\n",
"District 80\n",
"Neighborhood 2740\n",
"Longitude 2204\n",
"Latitude 2204\n",
"Location 1 2204\n",
"Premise 10757\n",
"Total Incidents 0\n",
"dtype: int64"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 109,
"id": "31966b62",
"metadata": {},
"outputs": [],
"source": [
"#Wyczyszczenie zbioru z artefaktow\n",
"baltimore.dropna(inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 110,
"id": "75f39653",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CrimeDate 0\n",
"CrimeTime 0\n",
"CrimeCode 0\n",
"Location 0\n",
"Description 0\n",
"Inside/Outside 0\n",
"Weapon 0\n",
"Post 0\n",
"District 0\n",
"Neighborhood 0\n",
"Longitude 0\n",
"Latitude 0\n",
"Location 1 0\n",
"Premise 0\n",
"Total Incidents 0\n",
"dtype: int64"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 111,
"id": "6cd411df",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "code",
"execution_count": 112,
"id": "8b8b4732",
"metadata": {},
"outputs": [],
"source": [
"#Normalizacja\n",
"baltimore['Post'] = baltimore['Post'] /baltimore['Post'].abs().max()\n",
"baltimore['Location']=baltimore['Location'].str.lower()\n",
"baltimore['Description']=baltimore['Description'].str.lower()\n",
"baltimore['Weapon']=baltimore['Weapon'].str.lower()\n",
"baltimore['Premise']=baltimore['Premise'].str.lower()\n",
"baltimore['District']=baltimore['District'].str.lower()\n",
"baltimore['CrimeCode']=baltimore['CrimeCode'].str.lower()\n",
"baltimore['Neighborhood']=baltimore['Neighborhood'].str.lower()\n",
"baltimore['Inside/Outside']=baltimore['Inside/Outside'].str.lower()"
]
},
{
"cell_type": "code",
"execution_count": 113,
"id": "d9adbe06",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: >"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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DPj4449x4cIFxMfHC+t55plnMHToUCxfvhxqtRoNGjTApk2b4OLighEjRgjjRowYgQ8//BBTp05FVFQUbt++jeXLl2PEiBHCPYIAYPr06YiJiUGzZs3QuXNnJCcn4/z589i+fXsl/IiIiIhIjmwKQQEBAUhOTkZiYiLMZjMaN26MYcOGITIyEhqNBnXr1kW9evWwYcMG/Pbbb3ByckK7du2QlJSE559/3mJd8+bNQ926dbFy5Urcv38fwcHB2Lp1q8VVY66urti2bRveeecdTJ06FXXr1sXQoUMxc+ZMi3UNGDAABQUFSEpKQmJiIry8vJCQkICgoKAK/GiIiIhIzlRms9ksdhE1VUlJKe7evW/Tcxwd1XB3r4voVV/j2g37L89/Uj6NXRH3xgu4d+9+lZ9sJufe7FX2M6nJNdqLvUmXnPtjb9JUnb15eNR94qvDatZdi4iIiIiqCUMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESkSQxAREREpEkMQERERKRJDEBERESmSTSHo6NGjeO2119ClSxe0a9cOPXv2xJIlS5Cbm2sx7quvvsKgQYPg7++PPn36YM+ePVbrMplMWLZsGUJDQxEYGIhx48ZBr9dbjbt27RrGjRuHwMBAhIaGYvny5TCZTFbjdu3ahT59+sDf3x+DBg3CkSNHbGmNiIiIFMamEJSTk4OAgAAsXLgQOp0O48aNw969e/H6668LY06dOoVp06YhMDAQSUlJ6NevH/7+978jJSXFYl3vvvsudu3ahZkzZyI+Ph4mkwljx461CFQGgwFjxoxBUVER4uPjMXPmTOzcuRNLly61WNe+ffswf/589OvXD0lJSQgMDMS0adNw9uxZO34kREREpASOtgwePHiwxfedO3eGRqPB/Pnzcfv2bTRo0AAbNmxAQEAA/vGPfwAAunTpgszMTKxduxZ9+/YFAGRlZWH37t14++23MXToUACAv78/unfvjk8++QQTJkwAAHzyySe4f/8+EhIS4ObmBgAoKSnBwoULERUVhQYNGgAA1q5di/79+yM6OlrY5uXLl7Fu3TokJSXZ95MhxVGrVVCrVTY9x8FBbfHVFqWlZpSWmm1+HhERVY4KnxNUFk6KiopgMpnwn//8Rwg7ZSIiInDt2jX88ssvAIBjx46htLTUYpybmxtCQ0ORmpoqPJaamoqQkBBhGwDQr18/lJaW4vjx4wCAzMxM/PTTT+jXr5/VNtPS0sqdOiP6PbVaBTe3OnB3r2vTP622NgBAq61t83Pd3OrYHLoq2qOjo/qJ/z0a8Gx5nqOjulr7kntvRFR1bDoSVKakpATFxcW4evUq1q1bhx49eqBJkya4evUqioqK4O3tbTHex8cHAKDX69GkSRPo9XrUr18frq6uVuN2794tfK/X6zFkyBCLMVqtFp6ensL5Q2Vfvby8rNZVVFSEzMxMYfv2cHS0LSfac0SgMlTHduXem4ODGit2nMYvt3P//AkV1KSBC2JebQ8nJweUlJRW+fZUKhVcXGrZ9bMsC3q2KCkpRW7uA5jNVX+kS8692asiRyhrOvYmTTW1N7tCUPfu3XH79m0AwPPPP4+VK1cCeHgOD/AwqDyq7Puy5UajES4uLlbr1Wq1wpiycb9fFwC4uroK4550m/ZQq1Vwd69r9/Orkz0v5lJRnb39cjsX127Y/ztjq+r+/1YdIa8s4Lm51anS7fyenHuzF18XpIm9VR+7QlBiYiIKCgpw9epVbNiwAZMmTcLWrVsruzbRlZaaYTTm2/QcBwe1KP+TjcaCKj+iwN4qX3X0Bvyvv+oMeexNPGU/k5pepz3YmzRVZ29abe0nPuJkVwhq3bo1ACAoKAj+/v4YPHgw/v3vf6Nly5YAYHXJvNFoBABh+kur1SIvL89qvUaj0WKKTKvVWq0LeHh0p2xc2dfc3Fx4eno+dpv2Ki6Wxi9iSUmpZGq1FXuTJvYmPqnUaQ/2Jk01rbcKT875+vrCyckJP//8M5o1awYnJyer+/2UfV92rpC3tzd+/fVXq6kqvV5vcT6Rt7e31bpyc3Nx584di3U9uo1H1+Xk5ISmTZtWtEUiIiKSoQqHoHPnzqGoqAhNmjSBRqNB586dceDAAYsxycnJ8PHxQZMmTQAAYWFhUKvVOHjwoDDGYDDg2LFjCA8PFx4LDw/Ht99+KxzVAYCUlBSo1WqEhoYCAJo2bYoWLVpY3YcoOTkZISEh0Gg0FW2RiIiIZMim6bBp06ahXbt28PX1Ra1atfDf//4XOp0Ovr6+6NWrFwBg8uTJGD16NGJjY9GvXz/85z//wZdffonVq1cL63nmmWcwdOhQLF++HGq1Gg0aNMCmTZvg4uKCESNGCONGjBiBDz/8EFOnTkVUVBRu376N5cuXY8SIEcI9ggBg+vTpiImJQbNmzdC5c2ckJyfj/Pnz2L59e0V/PkRERCRTNoWggIAAJCcnIzExEWazGY0bN8awYcMQGRkpHHHp0KED4uPjERcXh927d6NRo0Z49913re7jM2/ePNStWxcrV67E/fv3ERwcjK1bt1pcNebq6opt27bhnXfewdSpU1G3bl0MHToUM2fOtFjXgAEDUFBQgKSkJCQmJsLLywsJCQkICgqy9+dCREREMmdTCJo4cSImTpz4p+N69uyJnj17/uEYjUaD2bNnY/bs2X84zsfHB++///6fbnPYsGEYNmzYn44jIiIiAvgp8kRERKRQDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEiOYhdARESPp1aroFarbHqOg4Pa4uuTKi01o7TUbNNziKSMIYiIqIZSq1Vwc6tjc5gpo9XWtml8SUkpcnLyGYRIMRiCiIhqKLVaBQcHNVbsOI1fbudW6baaNHBBzKvtoVarGIJIMRiCiIhquF9u5+LaDYPYZRDJDk+MJiIiIkViCCIiIiJFYggiIiIiRWIIIiIiIkViCCIiIiJFYggiIiIiRWIIIiIiIkViCCIiIiJFsikE7d+/H5MnT0Z4eDgCAwMxePBg7N69G2bz/+4uOmrUKPj6+lr9u3btmsW6cnNzMXfuXHTq1AlBQUGYMWMGsrOzrbZ55swZvPLKKwgICED37t2RmJhosT0AMJvNSExMxAsvvICAgAC88sorOHv2rC2tERERkcLYdMfo999/H40bN8acOXPg7u6Ob7/9FvPnz0dWVhamTZsmjAsODsbs2bMtntukSROL76Ojo3H16lXExsbC2dkZcXFxmDBhAvbs2QNHx4dlXb9+HZGRkQgNDUV0dDQu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ry969+4tjIuMjMQXX3yBWbNmYeTIkbh8+TJ0Oh1mzpwpXDbv7OyMqKgoxMfHw8PDA61atcLHH3+MnJwcixsqEhEREZWxOQT99ttveP311y0eK/v+gw8+wDPPPIOioiKsXr0aOTk5qF27NoKCgrBw4UIEBARYPC8uLg5LlizBggULUFxcjLCwMMybN0+4WzQANG/eHDqdDkuXLsXEiRPh4eGBGTNmYPz48RbrmjBhAsxmM7Zs2YK7d+/Cz88POp2Od4smIiKictkcgpo0aYJLly794RidTvdE63JxccHixYuxePHiPxwXHByMnTt3/uEYlUqFqKgoREVFPdG2iYiISNn4KfJERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRIDEFERESkSAxBREREpEgMQURERKRINoeg69evY8GCBRg8eDDatGmDAQMGlDtu165d6NOnD/z9/TFo0CAcOXLEakxubi7mzp2LTp06ISgoCDNmzEB2drbVuDNnzuCVV15BQEAAunfvjsTERJjNZosxZrMZiYmJeOGFFxAQEIBXXnkFZ8+etbU9IiIiUgibQ9CVK1dw9OhRNG/eHD4+PuWO2bdvH+bPn49+/fohKSkJgYGBmDZtmlUoiY6OxvHjxxEbG4sVK1YgIyMDEyZMQHFxsTDm+vXriIyMhKenJzZt2oQxY8Zg7dq12LJli8W6kpKSsHbtWowdOxabNm2Cp6cnxo8fj8zMTFtbJCIiIgVwtPUJPXr0QK9evQAAc+bMwYULF6zGrF27Fv3790d0dDQAoEuXLrh8+TLWrVuHpKQkAEB6ejqOHTsGnU6HsLAwAICXlxciIiJw8OBBREREAAB0Oh3c3d2xatUqaDQahISE4O7du9i4cSNGjRoFjUaDwsJCbNq0CePHj8fYsWMBAO3bt0ffvn2h0+kQGxtra5tEREQkczYfCVKr//gpmZmZ+Omnn9CvXz+LxyMiIpCWlgaTyQQASE1N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bdu2YdKkSVWxySpRWmqG0Zhv03McHNSi/CIajQUoKSmt0m2wt8pXHb0B4vTH3iqOvVUuOfcG8LWyjFZb+4mPHFXpdNij+vXrhy1btuDHH3+Eq6srgIdHcTw9PYUxRqMRAITlWq0WWVlZVusyGAzCmLIjRWVHhMqYTCYUFBQI4+xVXFz1O0xlKCkplUyttmJv0sTepIm9SZec+6uq3kSZ3Cs7f6fsvJ4yer0eTk5OaNq0qTAuIyPD6n4/GRkZwjrq1KmDhg0bWq2r7Hm/P1eIiIiICKjGEJScnAwHBwe0adMGTZs2RYsWLZCSkmI1JiQkRLjKKzw8HAaDAWlpacKYjIwM/PDDDwgPDxceCw8Px+HDh1FUVGSxLq1Wi6CgoCrujIiIiKSoSqbDIiMj0blzZ/j6+gIADh8+jJ07d2L06NHC9Nf06dMRExODZs2aoXPnzkhOTsb58+exfft2YT1BQUEICwvD3LlzMXv2bDg7O2P16tXw9fVF7969Lbb3xRdfYNasWRg5ciQuX74MnU6HmTNn8h5BREREVK4qCUFeXl7Ys2cPsrKyUFpaihYtWmDu3LkYNWqUMGbAgAEoKChAUlISEhMT4eXlhYSEBKsjN3FxcViyZAkWLFiA4uJihIWFYd68ecLdogGgefPm0Ol0WLp0KSZOnAgPDw/MmDED48ePr4r2iIiISAaqJATNmzfvicYNGzYMw4YN+8MxLi4uWLx4MRYvXvyH44KDg7Fz584nrpGIiIiUjZ8iT0RERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREisQQRERERIrEEERERESKxBBEREREiiSrEHTt2jWMGzcOgYGBCA0NxfLly2EymcQui4iIiGogR7ELqCwGgwFjxoxBixYtEB8fj9u3b2Pp0qV48OABFixYIHZ5REREVMPIJgR98sknuH//PhISEuDm5gYAKCkpwcKFCxEVFYUGDRqIWyARERHVKLKZDktNTUVI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nntO0u+409PTMXr0aLRo0QIvv/wyPD09kZ2djb179+Knn37Chx9+iMDAQLHLtNuRI0eQkJCAH3/8EWazGSqVCn5+fpgxYwbfdNRQBw4cQMeOHWV5x+u7d+9iypQpOHfuHBo2bIhbt25h9+7daNu2LebMmYPatWvj7bffFrtMu7zxxhs4deoUsrOzUbt2bQQGBqJ9+/bo2LEjgoKChM/JFBtDUA0gx3cBn376KRISEnDnzh2oVCphx546dSo6deqEMWPGiF0iPcbp06fx3nvv4fz58ygtLYVarUZgYCBmzZqF9u3bi12e3Q4dOoTp06fjueeeQ0REBJ566incuXMHKSkpOHfuHNauXWtxV3Apkcq7bnu0a9cOJSUlaNGihdBjhw4dJH2yd5lZs2bhwoULWL9+PZo3b4527doJH1Pz2WefYcOGDUhJSRG7zAq5fv06Tp48idOnT+PkyZO4ceMGHB0d4e/vj48++kjs8nhitJjKexcwYsQINGrUCHv27JHsu4D3338fK1aswLhx4xASEoLx48cLyzp16oSUlBRZhKArV67g9OnTMBgMcHV1Rfv27fHss8+KXVaFtW/fHp988gkePHgAg8EArVaL2rVri11WhSUkJKB///5YsWKFxeNjxoxBTEwMEhISJBuC6tSpg23btuG9996r0e+67XHixAmcOXMGp06dwqlTp7B3714UFRWhYcOG6NChAzp27CjJD2UGHn5G5DvvvAMfHx+reyA1bNgQt2/fFqmyytO8eXM0b94cnTp1QnBwML744gucOHGixpxbyBAkokWLFuHevXv48ssvhXcBZUJCQrBhwwYRq7Pf9u3bMWXKFEyZMsVqx/by8kJGRoZIlVUOk8mEN998EwcPHoTZbIZGo4HJZIJKpUKfPn2wfPlySf/RKVOrVi1ZnS+j1+sRExNT7rLBgwdj6tSp1VxR5Sm7a/Kj77r37t2LdevW1ah33faoU6cOwsLCEBYWBuDh/vef//wHiYmJ+Pzzz/HFF19INgSVlJQ89jQBo9EIJyenaq6o8ly7dg0nT54U/v36669o2bIlOnbsiJEjR6Jjx45ilwiAIUhUcn0XcPv2bQQFBZW7zMnJSbiHkFStWrUKR48excKFCxEREYF69eohLy8PycnJWLJkCVavXi3pGybKlaurKzIyMoQ/po/KyMiAq6urCFVVrpr+rtte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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"baltimore['District'].value_counts().plot(kind=\"bar\")"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "24b7582f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.FacetGrid at 0x7f9756fab6a0>"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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J/C6v+W/02TGp0EbcnK0UrcUH4UjERFxazk5Br6RN+LbqJ3rDosHoXc8Q5a54LNKIldDt/KLiIjbS83xpkqvhwnqlkTWb4cx+1TBM6w+mSZ/cuyajC3FS+FIRETKhQy7F3iGYqkfhs0wyLIbFx9lIlLMFI5ERKRcsdk0v0hKluYciYiIiDhROBIRERFxonAkIiIi4kThSERERMSJwpGIiIiIE4UjEREREScKRyIiIiJOFI5EREREnCgciYiIiDhROBIRERFxonAkIiIi4kThSERERMSJwpGIiIiIE4UjEREREScKRyIiIiJOFI5EREREnCgciYiIiDhROBIRERFxonAkIiIi4kThSERERMSJwpGIiIiIE4UjEREREScKRyIiIiJOFI5EREREnCgciYiIiDhROBIRERFxonAkIiIi4kThSERERMSJwpGIiIiIE4+yHoCzL774goULF3LkyBFSU1MJCwujV69exMTEUKVKFQAMw2DRokWsWLGCs2fPUq9ePR555BH69et3yb5TUlJ47rnn2L9/P+fOncPPz4/IyEgee+wxWrVq5Wi3Y8cO1qxZw969ezl//jy1atXi9ttvZ8SIEXh6epZo/SIiIlL23CocXbhwgVatWjF8+HCCgoI4fPgws2fP5vDhw8TGxgKwaNEiZs6cyejRo4mKimLr1q2MHTsWHx8foqOjC+w7OzsbLy8vRo8eTXh4OKmpqSxbtowRI0bw/vvvU79+fQBWrlxJZmYmjz32GNdeey179+5l9uzZHD16lClTppTK10FERETKjskwDKOsB3Epq1evZsKECXz55ZcEBwfTsWNH7rrrLsaNG+doM2rUKM6cOcNHH31UqL7T0tLo0KEDMTExjBo1CoCEhASqVavm0m7+/PnMnDmTHTt25NlXGDabnYSEtKt+f3Hy8DATHOxPYmIaOTn2sh5OiakMdarGiqMy1FmRagwNrVLWQ5AS4vZzjoKCggCwWq2cOnWKtLQ0unTp4tKma9eu/PLLL5w5c6ZQffv5+eHt7Y3VanVsyy/8NGvWDMMw+OOPPwpfgIiIiJQrbhmObDYbWVlZ7N+/n7lz5xIdHU14eDhZWVkAeHl5ubTPfX306NHL9m2328nJyeHs2bNMnToVs9nMwIEDL/mePXv24OXlRXh4+NUVJCIiIuWGW805ytWjRw/i4+MB6NatGzNmzACg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3xaLheHDh7u87/7778cwDL788kuX7Z07d3YJS02bNiUgIIBTp05d1desuLjVmaOYmBgiIyOJiIjAx8eHgwcPsnjxYiIiIujVqxcAH330EVlZWdSpU4ezZ8+yatUq4uLimD59uktfvXv3pmbNmixbtgyAVatWsW/fPjp37kxoaCjnzp1j5cqVHD9+nIkTJzred9NNN/HGG28wZswYxo4dS0ZGBi+99BI33nij1jgSEZFSYzKZaNOmDd999x12u509e/YQEhJC3bp1gYvh6O233wZwhKR27dqxePFiDMOgT58++fbr4fHnr/4zZ87w2muvsXXr1jw3Hf11ionZbHY5mQA4FlA+ffq0488aNWrkOVnRsGFDl3a58puuUrVqVZKTk/Mde2kplnCUnZ3N/v37OX/+PG3btqVatWpX1U+rVq3YsGEDCxYswDAMatWqxZ133skDDzzguF3fMAxiY2OJi4vDz8+P7t27M336dGrUqOHSl81mw27/85Rto0aN2LRpE5MnTyY5OZnQ0FBatmzJu+++67heC+Dp6cmiRYuYNGkSY8eOxcPDg969e+e5TioiIlLS2rVrx7Zt2zh06JBjvlGuNm3aOOby7N69mxo1alC7dm3sdjsmk4mFCxdisVjy9Onn5wdc/D3597//naSkJB588EEaNGiAn58f8fHxjBs3zuV3aEnJb3xAmS87UuRw9OabbzJnzhxSUlIAiI2NpVOnTiQkJHDzzTfz9NNPM2jQoCvqa+TIkY6J1gUZMGBAnpW087N161aX17lp+kqEhYUxe/bsK2orIiJSUpznHe3Zs4cRI0Y49kVGRuLl5cWuXbvYt2+f4w6vOnXqYBgG4eHhjjM7+Tl06BAnTpxg2rRpLuv9bd++Pd/2drudU6dOufR5/PhxAGrVquX4c+fOnaSmprqcPcpdJzC3nbsr0pyj9957j//+979069aNyZMnuyS9atWq0bFjRzZs2FDkQYqIiFRGkZGReHt7s27dOuLj413OHHl5edGiRQveeecd0tPTHUGqT58+WCwW5syZk+cMjGEYJCYmAjiWAHBuYxgGb775ZoHjyb2Ml9v27bffxtPTk06dOgEX5+3abDaXdgBLly7FZDKV+S36V6pIZ46WLFlCz549mTFjhuOL7axFixa89dZbRTmEiIhIpeXl5UXLli357rvv8PLyIjIy0mV/mzZt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jAymTp3KP/7xDwICAoqhGlceHu6RRy0Ws8ufFVVlqFM1VhyVoc7KUKOUf24ZjhYsWEBGRgZHjhxh3rx5jBo1iiVLlhAQEMCtt97KokWLaNKkCVFRUWzbto3169cD5LlsdikTJ04kLi6OlStXurxv3rx5hISEcMcddxR7XWazieBg/2LvtygCA33LegilojLUqRorjspQZ2WoUcovtwxHTZs2BaBNmza0bNmSAQMGsHnzZvr27cv48eM5d+4cI0eOBC7OJXr88ceZNm0aoaGhV9T/q6++yrp165g/fz5NmjRxbD99+jSxsbHMnTvXsXxAenq648+0tDT8/a8+3NjtBsnJ6Vf9/uJksZgJDPQlOTkDm81e1sMpMZWhTtVYcVSGOitSje72j10pPm4ZjpxFRETg6enJyZMngYthKDY2lvj4eJKSkqhXrx5btmzB09PTMcH6Ut566y3eeOMNpk6dSrdu3Vz2xcXFYbVaHcHL2b333kvr1q1ZvXp1kerJyXGvHwY2m93txlQSKkOdqrHiqAx1VoYapfxy+3C0d+9erFYr4eHhLtvDwsIICwvDZrOxYsUK+vXrd9k5Qh9//DGTJ09m7NixDBw4MM/+Zs2a8eabb7psO3DgAFOmTOHFF1+kZcuWRa5HRERE3JtbhaOYmBgiIyOJiIjAx8eHgwcPsnjxYiIiIujVqxcAH330EVlZWdSpU4ezZ8+yatUq4uLimD59uktfvXv3pmbNmixbtgyAb775hnHjxtGxY0euv/56xyRugGuuuYZrrrmGwMBAl4nezlq0aEGLFi1KpnARERFxG24Vjlq1asWGDRtYsGABhmFQq1Yt7rzzTh544AHH7fqGYRAbG0tcXBx+fn50796d6dOnU6NGDZe+bDYbdvufp2x37dqF1Wpl586d7Ny506VtTEwMY8aMKfkCRURExO2ZDMMwynoQlYXNZichIa2shwFcXFIgONifxMS0Cn3dvzLUqRorjspQZ0WqMTS0SlkPQUqIFpoQERERcaJwJCIiIuJE4UhERETEicKRiIiIiBOFIxEREREnCkciIiIiThSORERERJwoHImIiIg4UTgSERERcaJwJCIiIuJE4UhERETEicKRiIiIiBOFIxEREREnCkciIiIiThSORERERJwoHImIiIg4UTgSERERcaJwJCIiIuJE4UhERETEicKRiIiIiBOF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Bg0acO7cOZKSklzqHDNmDBcuXOCtt966bB/uUOevv/7KQw89RJs2bZg0aVKBfZbHz7JOnTp4enpy7NgxlzMTuXNPcuci5X6Wffr0canxSj/LkqqxsDZv3kxmZiZ/+9vfLtku97M0DIO2bdsydOjQS34f53KXOi+lQYMG7Ny5E8MwXOYdHT9+nCZNmpTKGKR805yjcmrdunX4+fnleydKVFQUQUFB7Nixw2X7jh07qFmzJtWqVSuw3x49enDhwgUOHDjg2JaYmMj+/ftp0aJFocaRnwMHDnD8+HFatmx52bbuUmMuu93Oxo0bady4sWNxwa5du2I2m9m0aZOjXVJSEv/73//yvUThjnWePXuW+++/n2uvvZbXXnvtsmsX5Sovn6WXlxcdOnRwObMAf54RyV0fp6ifZUnVmJ8NGzZgsVho3rx5nn0ff/wxderUoXXr1lfU17Zt20hPT7+izxHcp85c6enpfP755y7jv+GGG0hKSmLnzp2ObcePH+fnn3++4u9LqeTKYPkAKSKr1Wp06NDBeOqppwps89ZbbxnNmzc3Zs+ebWzfvt2YOnWqERERYaxevdrRZteuXUazZs2MDz74wLHNZrMZd9xxh9GrVy9j/fr1xmeffWbcddddxvXXX2+cPXu2UONYtGiR8cILLxjr1683du7cabz55ptG586djR49ehhJSUluXWNcXJxxzz33GCtWrDB27NhhfPLJJ8a9995rREREGJs2bXIZx4QJE4z27dsb7777rvHVV18Z99xzj9GtWzcjOTn5kjW6Q50ZGRnGrbfearRp08bYsmWL8f333zv+279/v6Ov8vxZGoZhfPvtt0azZs2MiRMnGl9//bUxa9YsIyIiwmUNIMO4+s+yJGu8//77jTfeeMP4/PPPjc8//9yYMGGCERERYUyePDnPMc6fP280b97cePXVV/Mdw5QpU4ypU6caGzduNHbs2GHMnz/faNOmjXH77bcbVqv1kjW6Q53ffvut8fDDDxvvvvuusXPnTmPt2rXGwIEDjRYtWhh79+51Gcf9999vdO/e3diwYYOxZcsWo3///satt956RXWK6LJaOfS///2PxMTES64pdM8992AYBsuWLWP+/PnUqlWL//znPy6XCwzDwGazOSZRwsV5NQsWLGDKlCm88MILWK1W2rdvz9tvv01oaGihxlG/fn02bdrEJ598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",
"text/plain": [
"<Figure size 610.5x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import seaborn as sns\n",
"sns.set_theme()\n",
"sns.relplot(data=baltimore[:20], x='Longitude', y='Latitude', hue='Weapon')"
]
},
{
"cell_type": "code",
"execution_count": 115,
"id": "c9cf1067",
"metadata": {},
"outputs": [],
"source": [
"#Podzial na zbiory\n",
"baltimore_train, baltimore_test = train_test_split(baltimore, test_size=0.1, random_state=1)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"id": "350e7098",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>20700</th>\n",
" <td>04/10/2017</td>\n",
" <td>22:26:00</td>\n",
" <td>4e</td>\n",
" <td>4900 eastern av</td>\n",
" <td>common assault</td>\n",
" <td>o</td>\n",
" <td>hands</td>\n",
" <td>0.256628</td>\n",
" <td>southeastern</td>\n",
" <td>greektown</td>\n",
" <td>-76.55422</td>\n",
" <td>39.28706</td>\n",
" <td>(39.2870600000, -76.5542200000)</td>\n",
" <td>alley</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63746</th>\n",
" <td>06/05/2016</td>\n",
" <td>20:44:00</td>\n",
" <td>4e</td>\n",
" <td>3000 s hanover st</td>\n",
" <td>common assault</td>\n",
" <td>o</td>\n",
" <td>hands</td>\n",
" <td>0.977731</td>\n",
" <td>southern</td>\n",
" <td>middle branch/reedbird pa</td>\n",
" <td>-76.61504</td>\n",
" <td>39.25134</td>\n",
" <td>(39.2513400000, -76.6150400000)</td>\n",
" <td>street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>169854</th>\n",
" <td>03/10/2014</td>\n",
" <td>20:00:00</td>\n",
" <td>4e</td>\n",
" <td>4100 parkside dr</td>\n",
" <td>common assault</td>\n",
" <td>o</td>\n",
" <td>hands</td>\n",
" <td>0.447508</td>\n",
" <td>northeastern</td>\n",
" <td>belair-parkside</td>\n",
" <td>-76.56605</td>\n",
" <td>39.32783</td>\n",
" <td>(39.3278300000, -76.5660500000)</td>\n",
" <td>street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42473</th>\n",
" <td>10/31/2016</td>\n",
" <td>09:30:00</td>\n",
" <td>4e</td>\n",
" <td>5600 loch raven blvd</td>\n",
" <td>common assault</td>\n",
" <td>i</td>\n",
" <td>hands</td>\n",
" <td>0.440085</td>\n",
" <td>northeastern</td>\n",
" <td>loch raven</td>\n",
" <td>-76.58856</td>\n",
" <td>39.35952</td>\n",
" <td>(39.3595200000, -76.5885600000)</td>\n",
" <td>hotel/mote</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86103</th>\n",
" <td>12/05/2015</td>\n",
" <td>08:15:00</td>\n",
" <td>4e</td>\n",
" <td>1100 guilford ave</td>\n",
" <td>common assault</td>\n",
" <td>i</td>\n",
" <td>hands</td>\n",
" <td>0.149523</td>\n",
" <td>central</td>\n",
" <td>mid-town belvedere</td>\n",
" <td>-76.61194</td>\n",
" <td>39.30319</td>\n",
" <td>(39.3031900000, -76.6119400000)</td>\n",
" <td>apt/condo</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>182763</th>\n",
" <td>11/20/2013</td>\n",
" <td>20:00:00</td>\n",
" <td>6d</td>\n",
" <td>3800 dolfield av</td>\n",
" <td>larceny from auto</td>\n",
" <td>o</td>\n",
" <td>none</td>\n",
" <td>0.681866</td>\n",
" <td>northwestern</td>\n",
" <td>dolfield</td>\n",
" <td>-76.68090</td>\n",
" <td>39.33938</td>\n",
" <td>(39.3393800000, -76.6809000000)</td>\n",
" <td>street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14972</th>\n",
" <td>05/22/2017</td>\n",
" <td>03:30:00</td>\n",
" <td>4c</td>\n",
" <td>3000 w garrison ave</td>\n",
" <td>agg. assault</td>\n",
" <td>i</td>\n",
" <td>other</td>\n",
" <td>0.651113</td>\n",
" <td>northwestern</td>\n",
" <td>central park heights</td>\n",
" <td>-76.67146</td>\n",
" <td>39.34863</td>\n",
" <td>(39.3486300000, -76.6714600000)</td>\n",
" <td>row/townho</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44956</th>\n",
" <td>10/15/2016</td>\n",
" <td>23:30:00</td>\n",
" <td>7a</td>\n",
" <td>500 jack st</td>\n",
" <td>auto theft</td>\n",
" <td>o</td>\n",
" <td>none</td>\n",
" <td>0.968187</td>\n",
" <td>southern</td>\n",
" <td>brooklyn</td>\n",
" <td>-76.60582</td>\n",
" <td>39.23265</td>\n",
" <td>(39.2326500000, -76.6058200000)</td>\n",
" <td>street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36873</th>\n",
" <td>12/08/2016</td>\n",
" <td>18:30:00</td>\n",
" <td>4e</td>\n",
" <td>3800 cedarhurst rd</td>\n",
" <td>common assault</td>\n",
" <td>o</td>\n",
" <td>hands</td>\n",
" <td>0.451750</td>\n",
" <td>northeastern</td>\n",
" <td>waltherson</td>\n",
" <td>-76.56315</td>\n",
" <td>39.33720</td>\n",
" <td>(39.3372000000, -76.5631500000)</td>\n",
" <td>street</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>230084</th>\n",
" <td>12/06/2012</td>\n",
" <td>14:00:00</td>\n",
" <td>4e</td>\n",
" <td>800 s highland av</td>\n",
" <td>common assault</td>\n",
" <td>i</td>\n",
" <td>hands</td>\n",
" <td>0.246023</td>\n",
" <td>southeastern</td>\n",
" <td>canton</td>\n",
" <td>-76.56878</td>\n",
" <td>39.28342</td>\n",
" <td>(39.2834200000, -76.5687800000)</td>\n",
" <td>school</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26312 rows × 15 columns</p>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location \\\n",
"20700 04/10/2017 22:26:00 4e 4900 eastern av \n",
"63746 06/05/2016 20:44:00 4e 3000 s hanover st \n",
"169854 03/10/2014 20:00:00 4e 4100 parkside dr \n",
"42473 10/31/2016 09:30:00 4e 5600 loch raven blvd \n",
"86103 12/05/2015 08:15:00 4e 1100 guilford ave \n",
"... ... ... ... ... \n",
"182763 11/20/2013 20:00:00 6d 3800 dolfield av \n",
"14972 05/22/2017 03:30:00 4c 3000 w garrison ave \n",
"44956 10/15/2016 23:30:00 7a 500 jack st \n",
"36873 12/08/2016 18:30:00 4e 3800 cedarhurst rd \n",
"230084 12/06/2012 14:00:00 4e 800 s highland av \n",
"\n",
" Description Inside/Outside Weapon Post District \\\n",
"20700 common assault o hands 0.256628 southeastern \n",
"63746 common assault o hands 0.977731 southern \n",
"169854 common assault o hands 0.447508 northeastern \n",
"42473 common assault i hands 0.440085 northeastern \n",
"86103 common assault i hands 0.149523 central \n",
"... ... ... ... ... ... \n",
"182763 larceny from auto o none 0.681866 northwestern \n",
"14972 agg. assault i other 0.651113 northwestern \n",
"44956 auto theft o none 0.968187 southern \n",
"36873 common assault o hands 0.451750 northeastern \n",
"230084 common assault i hands 0.246023 southeastern \n",
"\n",
" Neighborhood Longitude Latitude \\\n",
"20700 greektown -76.55422 39.28706 \n",
"63746 middle branch/reedbird pa -76.61504 39.25134 \n",
"169854 belair-parkside -76.56605 39.32783 \n",
"42473 loch raven -76.58856 39.35952 \n",
"86103 mid-town belvedere -76.61194 39.30319 \n",
"... ... ... ... \n",
"182763 dolfield -76.68090 39.33938 \n",
"14972 central park heights -76.67146 39.34863 \n",
"44956 brooklyn -76.60582 39.23265 \n",
"36873 waltherson -76.56315 39.33720 \n",
"230084 canton -76.56878 39.28342 \n",
"\n",
" Location 1 Premise Total Incidents \n",
"20700 (39.2870600000, -76.5542200000) alley 1 \n",
"63746 (39.2513400000, -76.6150400000) street 1 \n",
"169854 (39.3278300000, -76.5660500000) street 1 \n",
"42473 (39.3595200000, -76.5885600000) hotel/mote 1 \n",
"86103 (39.3031900000, -76.6119400000) apt/condo 1 \n",
"... ... ... ... \n",
"182763 (39.3393800000, -76.6809000000) street 1 \n",
"14972 (39.3486300000, -76.6714600000) row/townho 1 \n",
"44956 (39.2326500000, -76.6058200000) street 1 \n",
"36873 (39.3372000000, -76.5631500000) street 1 \n",
"230084 (39.2834200000, -76.5687800000) school 1 \n",
"\n",
"[26312 rows x 15 columns]"
]
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore_test"
]
},
{
"cell_type": "code",
"execution_count": 117,
"id": "ed66b750",
"metadata": {},
"outputs": [],
"source": [
"baltimore_train, baltimore_val= train_test_split(baltimore_train, test_size=0.25, random_state=1)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"id": "3840c547",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118.000000</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118.000000</td>\n",
" <td>263118.000000</td>\n",
" <td>263118</td>\n",
" <td>263118</td>\n",
" <td>263118.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>unique</th>\n",
" <td>2072</td>\n",
" <td>2935</td>\n",
" <td>80</td>\n",
" <td>25276</td>\n",
" <td>15</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>NaN</td>\n",
" <td>9</td>\n",
" <td>278</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>93543</td>\n",
" <td>118</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>top</th>\n",
" <td>04/27/2015</td>\n",
" <td>18:00:00</td>\n",
" <td>4e</td>\n",
" <td>200 e pratt st</td>\n",
" <td>larceny</td>\n",
" <td>i</td>\n",
" <td>none</td>\n",
" <td>NaN</td>\n",
" <td>northeastern</td>\n",
" <td>downtown</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>(39.3180000000, -76.6582100000)</td>\n",
" <td>street</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>freq</th>\n",
" <td>407</td>\n",
" <td>6483</td>\n",
" <td>43093</td>\n",
" <td>632</td>\n",
" <td>58246</td>\n",
" <td>131015</td>\n",
" <td>173175</td>\n",
" <td>NaN</td>\n",
" <td>40842</td>\n",
" <td>8701</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>503</td>\n",
" <td>102544</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.536416</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.617469</td>\n",
" <td>39.307456</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.276554</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.042220</td>\n",
" <td>0.029537</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.117709</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.711280</td>\n",
" <td>39.200410</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.256628</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.648420</td>\n",
" <td>39.288340</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.541888</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.614010</td>\n",
" <td>39.303680</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.775186</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.587490</td>\n",
" <td>39.327890</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.529770</td>\n",
" <td>39.371980</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location Description \\\n",
"count 263118 263118 263118 263118 263118 \n",
"unique 2072 2935 80 25276 15 \n",
"top 04/27/2015 18:00:00 4e 200 e pratt st larceny \n",
"freq 407 6483 43093 632 58246 \n",
"mean NaN NaN NaN NaN NaN \n",
"std NaN NaN NaN NaN NaN \n",
"min NaN NaN NaN NaN NaN \n",
"25% NaN NaN NaN NaN NaN \n",
"50% NaN NaN NaN NaN NaN \n",
"75% NaN NaN NaN NaN NaN \n",
"max NaN NaN NaN NaN NaN \n",
"\n",
" Inside/Outside Weapon Post District Neighborhood \\\n",
"count 263118 263118 263118.000000 263118 263118 \n",
"unique 4 5 NaN 9 278 \n",
"top i none NaN northeastern downtown \n",
"freq 131015 173175 NaN 40842 8701 \n",
"mean NaN NaN 0.536416 NaN NaN \n",
"std NaN NaN 0.276554 NaN NaN \n",
"min NaN NaN 0.117709 NaN NaN \n",
"25% NaN NaN 0.256628 NaN NaN \n",
"50% NaN NaN 0.541888 NaN NaN \n",
"75% NaN NaN 0.775186 NaN NaN \n",
"max NaN NaN 1.000000 NaN NaN \n",
"\n",
" Longitude Latitude Location 1 Premise \\\n",
"count 263118.000000 263118.000000 263118 263118 \n",
"unique NaN NaN 93543 118 \n",
"top NaN NaN (39.3180000000, -76.6582100000) street \n",
"freq NaN NaN 503 102544 \n",
"mean -76.617469 39.307456 NaN NaN \n",
"std 0.042220 0.029537 NaN NaN \n",
"min -76.711280 39.200410 NaN NaN \n",
"25% -76.648420 39.288340 NaN NaN \n",
"50% -76.614010 39.303680 NaN NaN \n",
"75% -76.587490 39.327890 NaN NaN \n",
"max -76.529770 39.371980 NaN NaN \n",
"\n",
" Total Incidents \n",
"count 263118.0 \n",
"unique NaN \n",
"top NaN \n",
"freq NaN \n",
"mean 1.0 \n",
"std 0.0 \n",
"min 1.0 \n",
"25% 1.0 \n",
"50% 1.0 \n",
"75% 1.0 \n",
"max 1.0 "
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore.describe(include='all')"
]
},
{
"cell_type": "code",
"execution_count": 119,
"id": "06e5c943",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312.000000</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312.000000</td>\n",
" <td>26312.000000</td>\n",
" <td>26312</td>\n",
" <td>26312</td>\n",
" <td>26312.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>unique</th>\n",
" <td>2071</td>\n",
" <td>1513</td>\n",
" <td>71</td>\n",
" <td>11180</td>\n",
" <td>15</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>NaN</td>\n",
" <td>9</td>\n",
" <td>276</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>18843</td>\n",
" <td>104</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>top</th>\n",
" <td>04/27/2015</td>\n",
" <td>18:00:00</td>\n",
" <td>4e</td>\n",
" <td>1500 russell st</td>\n",
" <td>larceny</td>\n",
" <td>i</td>\n",
" <td>none</td>\n",
" <td>NaN</td>\n",
" <td>northeastern</td>\n",
" <td>downtown</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>(39.3180000000, -76.6582100000)</td>\n",
" <td>street</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>freq</th>\n",
" <td>28</td>\n",
" <td>650</td>\n",
" <td>4357</td>\n",
" <td>56</td>\n",
" <td>5740</td>\n",
" <td>13248</td>\n",
" <td>17358</td>\n",
" <td>NaN</td>\n",
" <td>4137</td>\n",
" <td>853</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>49</td>\n",
" <td>10075</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.535663</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.617518</td>\n",
" <td>39.307771</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.275572</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.042479</td>\n",
" <td>0.029477</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.117709</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.711220</td>\n",
" <td>39.200470</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.257688</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.648905</td>\n",
" <td>39.288490</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.541888</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.614170</td>\n",
" <td>39.303850</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.766702</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.587170</td>\n",
" <td>39.328290</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.529770</td>\n",
" <td>39.371970</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location Description \\\n",
"count 26312 26312 26312 26312 26312 \n",
"unique 2071 1513 71 11180 15 \n",
"top 04/27/2015 18:00:00 4e 1500 russell st larceny \n",
"freq 28 650 4357 56 5740 \n",
"mean NaN NaN NaN NaN NaN \n",
"std NaN NaN NaN NaN NaN \n",
"min NaN NaN NaN NaN NaN \n",
"25% NaN NaN NaN NaN NaN \n",
"50% NaN NaN NaN NaN NaN \n",
"75% NaN NaN NaN NaN NaN \n",
"max NaN NaN NaN NaN NaN \n",
"\n",
" Inside/Outside Weapon Post District Neighborhood \\\n",
"count 26312 26312 26312.000000 26312 26312 \n",
"unique 4 5 NaN 9 276 \n",
"top i none NaN northeastern downtown \n",
"freq 13248 17358 NaN 4137 853 \n",
"mean NaN NaN 0.535663 NaN NaN \n",
"std NaN NaN 0.275572 NaN NaN \n",
"min NaN NaN 0.117709 NaN NaN \n",
"25% NaN NaN 0.257688 NaN NaN \n",
"50% NaN NaN 0.541888 NaN NaN \n",
"75% NaN NaN 0.766702 NaN NaN \n",
"max NaN NaN 1.000000 NaN NaN \n",
"\n",
" Longitude Latitude Location 1 Premise \\\n",
"count 26312.000000 26312.000000 26312 26312 \n",
"unique NaN NaN 18843 104 \n",
"top NaN NaN (39.3180000000, -76.6582100000) street \n",
"freq NaN NaN 49 10075 \n",
"mean -76.617518 39.307771 NaN NaN \n",
"std 0.042479 0.029477 NaN NaN \n",
"min -76.711220 39.200470 NaN NaN \n",
"25% -76.648905 39.288490 NaN NaN \n",
"50% -76.614170 39.303850 NaN NaN \n",
"75% -76.587170 39.328290 NaN NaN \n",
"max -76.529770 39.371970 NaN NaN \n",
"\n",
" Total Incidents \n",
"count 26312.0 \n",
"unique NaN \n",
"top NaN \n",
"freq NaN \n",
"mean 1.0 \n",
"std 0.0 \n",
"min 1.0 \n",
"25% 1.0 \n",
"50% 1.0 \n",
"75% 1.0 \n",
"max 1.0 "
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore_test.describe(include='all')"
]
},
{
"cell_type": "code",
"execution_count": 120,
"id": "1566d1b1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604.000000</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604.000000</td>\n",
" <td>177604.000000</td>\n",
" <td>177604</td>\n",
" <td>177604</td>\n",
" <td>177604.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>unique</th>\n",
" <td>2072</td>\n",
" <td>2435</td>\n",
" <td>79</td>\n",
" <td>22781</td>\n",
" <td>15</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>NaN</td>\n",
" <td>9</td>\n",
" <td>278</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>74417</td>\n",
" <td>116</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>top</th>\n",
" <td>04/27/2015</td>\n",
" <td>18:00:00</td>\n",
" <td>4e</td>\n",
" <td>200 e pratt st</td>\n",
" <td>larceny</td>\n",
" <td>i</td>\n",
" <td>none</td>\n",
" <td>NaN</td>\n",
" <td>northeastern</td>\n",
" <td>downtown</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>(39.3180000000, -76.6582100000)</td>\n",
" <td>street</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>freq</th>\n",
" <td>298</td>\n",
" <td>4340</td>\n",
" <td>29065</td>\n",
" <td>440</td>\n",
" <td>39287</td>\n",
" <td>88319</td>\n",
" <td>116884</td>\n",
" <td>NaN</td>\n",
" <td>27451</td>\n",
" <td>5877</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>337</td>\n",
" <td>69325</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.536132</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.617452</td>\n",
" <td>39.307395</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.276695</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.042192</td>\n",
" <td>0.029526</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.117709</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.711280</td>\n",
" <td>39.200410</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.256628</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.648290</td>\n",
" <td>39.288330</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.541888</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.613990</td>\n",
" <td>39.303580</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.775186</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.587500</td>\n",
" <td>39.327742</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.529770</td>\n",
" <td>39.371970</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location Description \\\n",
"count 177604 177604 177604 177604 177604 \n",
"unique 2072 2435 79 22781 15 \n",
"top 04/27/2015 18:00:00 4e 200 e pratt st larceny \n",
"freq 298 4340 29065 440 39287 \n",
"mean NaN NaN NaN NaN NaN \n",
"std NaN NaN NaN NaN NaN \n",
"min NaN NaN NaN NaN NaN \n",
"25% NaN NaN NaN NaN NaN \n",
"50% NaN NaN NaN NaN NaN \n",
"75% NaN NaN NaN NaN NaN \n",
"max NaN NaN NaN NaN NaN \n",
"\n",
" Inside/Outside Weapon Post District Neighborhood \\\n",
"count 177604 177604 177604.000000 177604 177604 \n",
"unique 4 5 NaN 9 278 \n",
"top i none NaN northeastern downtown \n",
"freq 88319 116884 NaN 27451 5877 \n",
"mean NaN NaN 0.536132 NaN NaN \n",
"std NaN NaN 0.276695 NaN NaN \n",
"min NaN NaN 0.117709 NaN NaN \n",
"25% NaN NaN 0.256628 NaN NaN \n",
"50% NaN NaN 0.541888 NaN NaN \n",
"75% NaN NaN 0.775186 NaN NaN \n",
"max NaN NaN 1.000000 NaN NaN \n",
"\n",
" Longitude Latitude Location 1 Premise \\\n",
"count 177604.000000 177604.000000 177604 177604 \n",
"unique NaN NaN 74417 116 \n",
"top NaN NaN (39.3180000000, -76.6582100000) street \n",
"freq NaN NaN 337 69325 \n",
"mean -76.617452 39.307395 NaN NaN \n",
"std 0.042192 0.029526 NaN NaN \n",
"min -76.711280 39.200410 NaN NaN \n",
"25% -76.648290 39.288330 NaN NaN \n",
"50% -76.613990 39.303580 NaN NaN \n",
"75% -76.587500 39.327742 NaN NaN \n",
"max -76.529770 39.371970 NaN NaN \n",
"\n",
" Total Incidents \n",
"count 177604.0 \n",
"unique NaN \n",
"top NaN \n",
"freq NaN \n",
"mean 1.0 \n",
"std 0.0 \n",
"min 1.0 \n",
"25% 1.0 \n",
"50% 1.0 \n",
"75% 1.0 \n",
"max 1.0 "
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore_train.describe(include='all')"
]
},
{
"cell_type": "code",
"execution_count": 121,
"id": "02e5bf0c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CrimeDate</th>\n",
" <th>CrimeTime</th>\n",
" <th>CrimeCode</th>\n",
" <th>Location</th>\n",
" <th>Description</th>\n",
" <th>Inside/Outside</th>\n",
" <th>Weapon</th>\n",
" <th>Post</th>\n",
" <th>District</th>\n",
" <th>Neighborhood</th>\n",
" <th>Longitude</th>\n",
" <th>Latitude</th>\n",
" <th>Location 1</th>\n",
" <th>Premise</th>\n",
" <th>Total Incidents</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202.000000</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202.000000</td>\n",
" <td>59202.000000</td>\n",
" <td>59202</td>\n",
" <td>59202</td>\n",
" <td>59202.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>unique</th>\n",
" <td>2070</td>\n",
" <td>1804</td>\n",
" <td>77</td>\n",
" <td>16050</td>\n",
" <td>15</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>NaN</td>\n",
" <td>9</td>\n",
" <td>276</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>35435</td>\n",
" <td>112</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>top</th>\n",
" <td>04/27/2015</td>\n",
" <td>18:00:00</td>\n",
" <td>4e</td>\n",
" <td>200 e pratt st</td>\n",
" <td>larceny</td>\n",
" <td>i</td>\n",
" <td>none</td>\n",
" <td>NaN</td>\n",
" <td>northeastern</td>\n",
" <td>downtown</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>(39.3180000000, -76.6582100000)</td>\n",
" <td>street</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>freq</th>\n",
" <td>81</td>\n",
" <td>1493</td>\n",
" <td>9671</td>\n",
" <td>140</td>\n",
" <td>13219</td>\n",
" <td>29448</td>\n",
" <td>38933</td>\n",
" <td>NaN</td>\n",
" <td>9254</td>\n",
" <td>1971</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>117</td>\n",
" <td>23144</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.537601</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.617499</td>\n",
" <td>39.307502</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.276567</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.042191</td>\n",
" <td>0.029595</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.117709</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.711270</td>\n",
" <td>39.202540</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.257688</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.648500</td>\n",
" <td>39.288340</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.541888</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.614020</td>\n",
" <td>39.303930</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.775186</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.587592</td>\n",
" <td>39.328030</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>-76.529770</td>\n",
" <td>39.371980</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" CrimeDate CrimeTime CrimeCode Location Description \\\n",
"count 59202 59202 59202 59202 59202 \n",
"unique 2070 1804 77 16050 15 \n",
"top 04/27/2015 18:00:00 4e 200 e pratt st larceny \n",
"freq 81 1493 9671 140 13219 \n",
"mean NaN NaN NaN NaN NaN \n",
"std NaN NaN NaN NaN NaN \n",
"min NaN NaN NaN NaN NaN \n",
"25% NaN NaN NaN NaN NaN \n",
"50% NaN NaN NaN NaN NaN \n",
"75% NaN NaN NaN NaN NaN \n",
"max NaN NaN NaN NaN NaN \n",
"\n",
" Inside/Outside Weapon Post District Neighborhood \\\n",
"count 59202 59202 59202.000000 59202 59202 \n",
"unique 4 5 NaN 9 276 \n",
"top i none NaN northeastern downtown \n",
"freq 29448 38933 NaN 9254 1971 \n",
"mean NaN NaN 0.537601 NaN NaN \n",
"std NaN NaN 0.276567 NaN NaN \n",
"min NaN NaN 0.117709 NaN NaN \n",
"25% NaN NaN 0.257688 NaN NaN \n",
"50% NaN NaN 0.541888 NaN NaN \n",
"75% NaN NaN 0.775186 NaN NaN \n",
"max NaN NaN 1.000000 NaN NaN \n",
"\n",
" Longitude Latitude Location 1 Premise \\\n",
"count 59202.000000 59202.000000 59202 59202 \n",
"unique NaN NaN 35435 112 \n",
"top NaN NaN (39.3180000000, -76.6582100000) street \n",
"freq NaN NaN 117 23144 \n",
"mean -76.617499 39.307502 NaN NaN \n",
"std 0.042191 0.029595 NaN NaN \n",
"min -76.711270 39.202540 NaN NaN \n",
"25% -76.648500 39.288340 NaN NaN \n",
"50% -76.614020 39.303930 NaN NaN \n",
"75% -76.587592 39.328030 NaN NaN \n",
"max -76.529770 39.371980 NaN NaN \n",
"\n",
" Total Incidents \n",
"count 59202.0 \n",
"unique NaN \n",
"top NaN \n",
"freq NaN \n",
"mean 1.0 \n",
"std 0.0 \n",
"min 1.0 \n",
"25% 1.0 \n",
"50% 1.0 \n",
"75% 1.0 \n",
"max 1.0 "
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"baltimore_val.describe(include='all')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}