From b796479467d934750cfbefaab01d31a979197a44 Mon Sep 17 00:00:00 2001 From: gyoza1 Date: Mon, 25 Jul 2022 22:20:35 -0400 Subject: [PATCH] initial commit --- python_project_2.ipynb | 477 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 477 insertions(+) create mode 100644 python_project_2.ipynb diff --git a/python_project_2.ipynb b/python_project_2.ipynb new file mode 100644 index 0000000..2e58175 --- /dev/null +++ b/python_project_2.ipynb @@ -0,0 +1,477 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "a8d466b1", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "pd.set_option('display.max_columns', None)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "1feb2733", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_18634/2268714868.py:1: DtypeWarning: Columns (18,20) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv('~/Downloads/NYPD_Complaint_Data_Historic.csv')\n" + ] + } + ], + "source": [ + "df = pd.read_csv('~/Downloads/NYPD_Complaint_Data_Historic.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5b1cdbba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['CMPLNT_NUM', 'CMPLNT_FR_DT', 'CMPLNT_FR_TM', 'CMPLNT_TO_DT',\n", + " 'CMPLNT_TO_TM', 'ADDR_PCT_CD', 'RPT_DT', 'KY_CD', 'OFNS_DESC', 'PD_CD',\n", + " 'PD_DESC', 'CRM_ATPT_CPTD_CD', 'LAW_CAT_CD', 'BORO_NM',\n", + " 'LOC_OF_OCCUR_DESC', 'PREM_TYP_DESC', 'JURIS_DESC', 'JURISDICTION_CODE',\n", + " 'PARKS_NM', 'HADEVELOPT', 'HOUSING_PSA', 'X_COORD_CD', 'Y_COORD_CD',\n", + " 'SUSP_AGE_GROUP', 'SUSP_RACE', 'SUSP_SEX', 'TRANSIT_DISTRICT',\n", + " 'Latitude', 'Longitude', 'Lat_Lon', 'PATROL_BORO', 'STATION_NAME',\n", + " 'VIC_AGE_GROUP', 'VIC_RACE', 'VIC_SEX'],\n", + " dtype='object')" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns\n", + "# df.dtypes\n", + "# df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1ac30b35", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# According to the data dictionary, CMPLNT_NUM (Complaint Number) is randomly generated and persistent.\n", + "# Is it unique?\n", + "\n", + "df['CMPLNT_NUM'].is_unique" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f0c76e18", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False 7821537\n", + "True 3962\n", + "dtype: int64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# It's not unique. That's unexpected.\n", + "\n", + "df.duplicated(subset = 'CMPLNT_NUM').value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "253ab2f0", + "metadata": {}, + "outputs": [], + "source": [ + "# Since CMPLNT_NUM is not unique, we can't use it as an index.\n", + "# Let's drop it.\n", + "\n", + "df.drop('CMPLNT_NUM', axis = 1, inplace = True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "7859f04c", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CMPLNT_FR_DTCMPLNT_FR_TMCMPLNT_TO_DTCMPLNT_TO_TMADDR_PCT_CDRPT_DTKY_CDOFNS_DESCPD_CDPD_DESCCRM_ATPT_CPTD_CDLAW_CAT_CDBORO_NMLOC_OF_OCCUR_DESCPREM_TYP_DESCJURIS_DESCJURISDICTION_CODEPARKS_NMHADEVELOPTHOUSING_PSAX_COORD_CDY_COORD_CDSUSP_AGE_GROUPSUSP_RACESUSP_SEXTRANSIT_DISTRICTLatitudeLongitudeLat_LonPATROL_BOROSTATION_NAMEVIC_AGE_GROUPVIC_RACEVIC_SEX
012/31/201917:30:00NaNNaN32.012/31/2019118DANGEROUS WEAPONS793.0WEAPONS POSSESSION 3COMPLETEDFELONYMANHATTANNaNSTREETN.Y. POLICE DEPT0.0NaNNaNNaN999937.0238365.0NaNNaNNaNNaN40.820927-73.943324(40.82092679700002, -73.94332421899996)PATROL BORO MAN NORTHNaNUNKNOWNUNKNOWNE
112/29/201916:31:0012/29/201916:54:0047.012/29/2019113FORGERY729.0FORGERY,ETC.,UNCLASSIFIED-FELOCOMPLETEDFELONYBRONXNaNSTREETN.Y. POLICE DEPT0.0NaNNaNNaN1022508.0261990.0NaNNaNNaNNaN40.885701-73.861640(40.885701406000074, -73.86164032499995)PATROL BORO BRONXNaNUNKNOWNUNKNOWNE
212/15/201918:45:00NaNNaN109.012/29/2019578HARRASSMENT 2638.0HARASSMENT,SUBD 3,4,5COMPLETEDVIOLATIONQUEENSFRONT OFSTREETN.Y. POLICE DEPT0.0NaNNaNNaN1034178.0209758.025-44UNKNOWNMNaN40.742281-73.819824(40.74228115600005, -73.81982408)PATROL BORO QUEENS NORTHNaN25-44WHITE HISPANICF
\n", + "
" + ], + "text/plain": [ + " CMPLNT_FR_DT CMPLNT_FR_TM CMPLNT_TO_DT CMPLNT_TO_TM ADDR_PCT_CD \\\n", + "0 12/31/2019 17:30:00 NaN NaN 32.0 \n", + "1 12/29/2019 16:31:00 12/29/2019 16:54:00 47.0 \n", + "2 12/15/2019 18:45:00 NaN NaN 109.0 \n", + "\n", + " RPT_DT KY_CD OFNS_DESC PD_CD \\\n", + "0 12/31/2019 118 DANGEROUS WEAPONS 793.0 \n", + "1 12/29/2019 113 FORGERY 729.0 \n", + "2 12/29/2019 578 HARRASSMENT 2 638.0 \n", + "\n", + " PD_DESC CRM_ATPT_CPTD_CD LAW_CAT_CD BORO_NM \\\n", + "0 WEAPONS POSSESSION 3 COMPLETED FELONY MANHATTAN \n", + "1 FORGERY,ETC.,UNCLASSIFIED-FELO COMPLETED FELONY BRONX \n", + "2 HARASSMENT,SUBD 3,4,5 COMPLETED VIOLATION QUEENS \n", + "\n", + " LOC_OF_OCCUR_DESC PREM_TYP_DESC JURIS_DESC JURISDICTION_CODE \\\n", + "0 NaN STREET N.Y. POLICE DEPT 0.0 \n", + "1 NaN STREET N.Y. POLICE DEPT 0.0 \n", + "2 FRONT OF STREET N.Y. POLICE DEPT 0.0 \n", + "\n", + " PARKS_NM HADEVELOPT HOUSING_PSA X_COORD_CD Y_COORD_CD SUSP_AGE_GROUP \\\n", + "0 NaN NaN NaN 999937.0 238365.0 NaN \n", + "1 NaN NaN NaN 1022508.0 261990.0 NaN \n", + "2 NaN NaN NaN 1034178.0 209758.0 25-44 \n", + "\n", + " SUSP_RACE SUSP_SEX TRANSIT_DISTRICT Latitude Longitude \\\n", + "0 NaN NaN NaN 40.820927 -73.943324 \n", + "1 NaN NaN NaN 40.885701 -73.861640 \n", + "2 UNKNOWN M NaN 40.742281 -73.819824 \n", + "\n", + " Lat_Lon PATROL_BORO \\\n", + "0 (40.82092679700002, -73.94332421899996) PATROL BORO MAN NORTH \n", + "1 (40.885701406000074, -73.86164032499995) PATROL BORO BRONX \n", + "2 (40.74228115600005, -73.81982408) PATROL BORO QUEENS NORTH \n", + "\n", + " STATION_NAME VIC_AGE_GROUP VIC_RACE VIC_SEX \n", + "0 NaN UNKNOWN UNKNOWN E \n", + "1 NaN UNKNOWN UNKNOWN E \n", + "2 NaN 25-44 WHITE HISPANIC F " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(3)\n", + "# df.columns\n", + "# df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "5fd666ad", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "BORO CRIME_CLASS\n", + "BRONX MISDEMEANOR 1000078\n", + " FELONY 466248\n", + " VIOLATION 227655\n", + "BROOKLYN MISDEMEANOR 1249836\n", + " FELONY 754414\n", + " VIOLATION 308893\n", + "MANHATTAN MISDEMEANOR 1075687\n", + " FELONY 597184\n", + " VIOLATION 209421\n", + "QUEENS MISDEMEANOR 826883\n", + " FELONY 516528\n", + " VIOLATION 218301\n", + "STATEN ISLAND MISDEMEANOR 210270\n", + " FELONY 81032\n", + " VIOLATION 70589\n", + "Name: CRIME_CLASS, dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Question 1\n", + "\n", + "# How does each borough compare according to the class of crime committed?\n", + "# But first, rename some columns to make the table more readable.\n", + "\n", + "df.rename(columns = {'LAW_CAT_CD': 'CRIME_CLASS', 'BORO_NM': 'BORO'}, inplace = True)\n", + "df.groupby(['BORO'])['CRIME_CLASS'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "3cbcbd7c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# A quick visualization of the above\n", + "\n", + "df.groupby(['BORO'])['CRIME_CLASS'].value_counts().plot(kind = 'bar')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1ef4d375", + "metadata": {}, + "outputs": [], + "source": [ + "# Question 2\n", + "\n", + "# Some incidents occurred in NYC parks, playgrounds or greenspaces.\n", + "# What crimes were reported most often and where?\n", + "\n", + "# Again, let's begin by renaming columns.\n", + "\n", + "# df.rename(columns = {'PARKS_NM': 'PUBLIC_SPACE', '', inplace = True}" + ] + } + ], + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}