├── crime.csv
├── data-exploration-exercise.ipynb
└── data-exploration-with-solution.ipynb
/crime.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mochen862/explore-data-python/25e0ead56adf9aacf9517bd554320b04cbae82c7/crime.csv
--------------------------------------------------------------------------------
/data-exploration-exercise.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "attachments": {},
5 | "cell_type": "markdown",
6 | "id": "96009edc",
7 | "metadata": {},
8 | "source": [
9 | "### Import all the necessary libraries"
10 | ]
11 | },
12 | {
13 | "cell_type": "code",
14 | "execution_count": 1,
15 | "id": "eb61f6f6",
16 | "metadata": {},
17 | "outputs": [],
18 | "source": [
19 | "import numpy as np\n",
20 | "import pandas as pd\n",
21 | "import matplotlib.pyplot as plt\n",
22 | "import seaborn as sns\n",
23 | "from encodings.aliases import aliases # Python has a file containing a dictionary of encoding names and associated aliases\n",
24 | "\n",
25 | "# the matplotlib plots will appear directly below the cell in which the plot function was called.\n",
26 | "%matplotlib inline"
27 | ]
28 | },
29 | {
30 | "attachments": {},
31 | "cell_type": "markdown",
32 | "id": "a1013c3a",
33 | "metadata": {},
34 | "source": [
35 | "### Read in the csv files and remove duplicates"
36 | ]
37 | },
38 | {
39 | "cell_type": "code",
40 | "execution_count": 2,
41 | "id": "a454bb34",
42 | "metadata": {},
43 | "outputs": [
44 | {
45 | "name": "stdout",
46 | "output_type": "stream",
47 | "text": [
48 | "successful iso8859_15\n",
49 | "successful cp864\n",
50 | "successful big5hkscs\n",
51 | "successful mac_latin2\n",
52 | "successful cp1252\n",
53 | "successful cp500\n",
54 | "successful iso8859_13\n",
55 | "successful iso8859_10\n",
56 | "successful koi8_r\n",
57 | "successful cp1251\n",
58 | "successful iso8859_11\n",
59 | "successful mac_turkish\n",
60 | "successful utf_16_be\n",
61 | "successful mac_iceland\n",
62 | "successful utf_16_le\n",
63 | "successful cp1254\n",
64 | "successful cp860\n",
65 | "successful cp1256\n",
66 | "successful cp1140\n",
67 | "successful mac_roman\n",
68 | "successful mac_cyrillic\n",
69 | "successful iso8859_6\n",
70 | "successful cp850\n",
71 | "successful iso8859_9\n",
72 | "successful cp949\n",
73 | "successful cp862\n",
74 | "successful latin_1\n",
75 | "successful cp866\n",
76 | "successful iso8859_5\n",
77 | "successful cp1125\n",
78 | "successful cp1258\n",
79 | "successful cp1253\n",
80 | "successful cp1257\n",
81 | "successful cp869\n",
82 | "successful kz1048\n",
83 | "successful iso8859_3\n",
84 | "successful cp932\n",
85 | "successful hp_roman8\n",
86 | "successful cp865\n",
87 | "successful cp1250\n",
88 | "successful iso8859_8\n",
89 | "successful cp037\n",
90 | "successful cp855\n",
91 | "successful cp273\n",
92 | "successful cp861\n",
93 | "successful cp858\n",
94 | "successful iso8859_14\n",
95 | "successful mac_greek\n",
96 | "successful cp775\n",
97 | "successful iso8859_16\n",
98 | "successful mbcs\n",
99 | "successful iso8859_7\n",
100 | "successful gbk\n",
101 | "successful ptcp154\n",
102 | "successful cp863\n",
103 | "successful iso8859_4\n",
104 | "successful iso8859_2\n",
105 | "successful cp1255\n",
106 | "successful gb18030\n",
107 | "successful cp437\n",
108 | "successful cp1026\n",
109 | "successful cp852\n",
110 | "successful cp857\n"
111 | ]
112 | }
113 | ],
114 | "source": [
115 | "# To find encodings that work\n",
116 | "\n",
117 | "# Below line creates a set of all available encodings\n",
118 | "alias_values = set(aliases.values())\n",
119 | "\n",
120 | "for encoding in set(aliases.values()):\n",
121 | " try:\n",
122 | " df=pd.read_csv(\"crime.csv\", nrows=10, encoding=encoding) # read in only 10 lines for faster read\n",
123 | " print('successful', encoding)\n",
124 | " except:\n",
125 | " pass"
126 | ]
127 | },
128 | {
129 | "cell_type": "code",
130 | "execution_count": 3,
131 | "id": "20ee872c",
132 | "metadata": {},
133 | "outputs": [],
134 | "source": [
135 | "# Read in the crime.csv file and use the timestamp as a datetime index\n",
136 | "crime = pd.read_csv(\"crime.csv\", encoding=\"ISO-8859-11\")"
137 | ]
138 | },
139 | {
140 | "cell_type": "code",
141 | "execution_count": 4,
142 | "id": "6b786b8c",
143 | "metadata": {},
144 | "outputs": [
145 | {
146 | "data": {
147 | "text/html": [
148 | "
\n",
149 | "\n",
162 | "
\n",
163 | " \n",
164 | " \n",
165 | " | \n",
166 | " INCIDENT_NUMBER | \n",
167 | " OFFENSE_CODE | \n",
168 | " OFFENSE_CODE_GROUP | \n",
169 | " OFFENSE_DESCRIPTION | \n",
170 | " DISTRICT | \n",
171 | " REPORTING_AREA | \n",
172 | " SHOOTING | \n",
173 | " OCCURRED_ON_DATE | \n",
174 | " YEAR | \n",
175 | " MONTH | \n",
176 | " DAY_OF_WEEK | \n",
177 | " HOUR | \n",
178 | " UCR_PART | \n",
179 | " STREET | \n",
180 | " Lat | \n",
181 | " Long | \n",
182 | " Location | \n",
183 | "
\n",
184 | " \n",
185 | " \n",
186 | " \n",
187 | " 0 | \n",
188 | " I182070945 | \n",
189 | " 619 | \n",
190 | " Larceny | \n",
191 | " LARCENY ALL OTHERS | \n",
192 | " D14 | \n",
193 | " 808 | \n",
194 | " NaN | \n",
195 | " 2018-09-02 13:00:00 | \n",
196 | " 2018 | \n",
197 | " 9 | \n",
198 | " Sunday | \n",
199 | " 13 | \n",
200 | " Part One | \n",
201 | " LINCOLN ST | \n",
202 | " 42.357791 | \n",
203 | " -71.139371 | \n",
204 | " (42.35779134, -71.13937053) | \n",
205 | "
\n",
206 | " \n",
207 | " 1 | \n",
208 | " I182070943 | \n",
209 | " 1402 | \n",
210 | " Vandalism | \n",
211 | " VANDALISM | \n",
212 | " C11 | \n",
213 | " 347 | \n",
214 | " NaN | \n",
215 | " 2018-08-21 00:00:00 | \n",
216 | " 2018 | \n",
217 | " 8 | \n",
218 | " Tuesday | \n",
219 | " 0 | \n",
220 | " Part Two | \n",
221 | " HECLA ST | \n",
222 | " 42.306821 | \n",
223 | " -71.060300 | \n",
224 | " (42.30682138, -71.06030035) | \n",
225 | "
\n",
226 | " \n",
227 | " 2 | \n",
228 | " I182070941 | \n",
229 | " 3410 | \n",
230 | " Towed | \n",
231 | " TOWED MOTOR VEHICLE | \n",
232 | " D4 | \n",
233 | " 151 | \n",
234 | " NaN | \n",
235 | " 2018-09-03 19:27:00 | \n",
236 | " 2018 | \n",
237 | " 9 | \n",
238 | " Monday | \n",
239 | " 19 | \n",
240 | " Part Three | \n",
241 | " CAZENOVE ST | \n",
242 | " 42.346589 | \n",
243 | " -71.072429 | \n",
244 | " (42.34658879, -71.07242943) | \n",
245 | "
\n",
246 | " \n",
247 | " 3 | \n",
248 | " I182070940 | \n",
249 | " 3114 | \n",
250 | " Investigate Property | \n",
251 | " INVESTIGATE PROPERTY | \n",
252 | " D4 | \n",
253 | " 272 | \n",
254 | " NaN | \n",
255 | " 2018-09-03 21:16:00 | \n",
256 | " 2018 | \n",
257 | " 9 | \n",
258 | " Monday | \n",
259 | " 21 | \n",
260 | " Part Three | \n",
261 | " NEWCOMB ST | \n",
262 | " 42.334182 | \n",
263 | " -71.078664 | \n",
264 | " (42.33418175, -71.07866441) | \n",
265 | "
\n",
266 | " \n",
267 | " 4 | \n",
268 | " I182070938 | \n",
269 | " 3114 | \n",
270 | " Investigate Property | \n",
271 | " INVESTIGATE PROPERTY | \n",
272 | " B3 | \n",
273 | " 421 | \n",
274 | " NaN | \n",
275 | " 2018-09-03 21:05:00 | \n",
276 | " 2018 | \n",
277 | " 9 | \n",
278 | " Monday | \n",
279 | " 21 | \n",
280 | " Part Three | \n",
281 | " DELHI ST | \n",
282 | " 42.275365 | \n",
283 | " -71.090361 | \n",
284 | " (42.27536542, -71.09036101) | \n",
285 | "
\n",
286 | " \n",
287 | "
\n",
288 | "
"
289 | ],
290 | "text/plain": [
291 | " INCIDENT_NUMBER OFFENSE_CODE OFFENSE_CODE_GROUP OFFENSE_DESCRIPTION \\\n",
292 | "0 I182070945 619 Larceny LARCENY ALL OTHERS \n",
293 | "1 I182070943 1402 Vandalism VANDALISM \n",
294 | "2 I182070941 3410 Towed TOWED MOTOR VEHICLE \n",
295 | "3 I182070940 3114 Investigate Property INVESTIGATE PROPERTY \n",
296 | "4 I182070938 3114 Investigate Property INVESTIGATE PROPERTY \n",
297 | "\n",
298 | " DISTRICT REPORTING_AREA SHOOTING OCCURRED_ON_DATE YEAR MONTH \\\n",
299 | "0 D14 808 NaN 2018-09-02 13:00:00 2018 9 \n",
300 | "1 C11 347 NaN 2018-08-21 00:00:00 2018 8 \n",
301 | "2 D4 151 NaN 2018-09-03 19:27:00 2018 9 \n",
302 | "3 D4 272 NaN 2018-09-03 21:16:00 2018 9 \n",
303 | "4 B3 421 NaN 2018-09-03 21:05:00 2018 9 \n",
304 | "\n",
305 | " DAY_OF_WEEK HOUR UCR_PART STREET Lat Long \\\n",
306 | "0 Sunday 13 Part One LINCOLN ST 42.357791 -71.139371 \n",
307 | "1 Tuesday 0 Part Two HECLA ST 42.306821 -71.060300 \n",
308 | "2 Monday 19 Part Three CAZENOVE ST 42.346589 -71.072429 \n",
309 | "3 Monday 21 Part Three NEWCOMB ST 42.334182 -71.078664 \n",
310 | "4 Monday 21 Part Three DELHI ST 42.275365 -71.090361 \n",
311 | "\n",
312 | " Location \n",
313 | "0 (42.35779134, -71.13937053) \n",
314 | "1 (42.30682138, -71.06030035) \n",
315 | "2 (42.34658879, -71.07242943) \n",
316 | "3 (42.33418175, -71.07866441) \n",
317 | "4 (42.27536542, -71.09036101) "
318 | ]
319 | },
320 | "execution_count": 4,
321 | "metadata": {},
322 | "output_type": "execute_result"
323 | }
324 | ],
325 | "source": [
326 | "crime.head() # Quick check on how the dataset looks like"
327 | ]
328 | },
329 | {
330 | "cell_type": "code",
331 | "execution_count": 5,
332 | "id": "78dac45e",
333 | "metadata": {},
334 | "outputs": [
335 | {
336 | "data": {
337 | "text/plain": [
338 | "(319073, 17)"
339 | ]
340 | },
341 | "execution_count": 5,
342 | "metadata": {},
343 | "output_type": "execute_result"
344 | }
345 | ],
346 | "source": [
347 | "crime.shape # Checking the shape of the data. It has 319,073 rows and 17 columns"
348 | ]
349 | },
350 | {
351 | "cell_type": "code",
352 | "execution_count": 6,
353 | "id": "93f474f9",
354 | "metadata": {},
355 | "outputs": [
356 | {
357 | "data": {
358 | "text/plain": [
359 | "23"
360 | ]
361 | },
362 | "execution_count": 6,
363 | "metadata": {},
364 | "output_type": "execute_result"
365 | }
366 | ],
367 | "source": [
368 | "crime.duplicated().sum() # Counting the duplicate rows"
369 | ]
370 | },
371 | {
372 | "cell_type": "code",
373 | "execution_count": 7,
374 | "id": "148a2f42",
375 | "metadata": {},
376 | "outputs": [],
377 | "source": [
378 | "crime.drop_duplicates(inplace=True) # Dropping the duplicate rows"
379 | ]
380 | },
381 | {
382 | "cell_type": "code",
383 | "execution_count": 8,
384 | "id": "1c0279ac",
385 | "metadata": {},
386 | "outputs": [
387 | {
388 | "data": {
389 | "text/plain": [
390 | "(319050, 17)"
391 | ]
392 | },
393 | "execution_count": 8,
394 | "metadata": {},
395 | "output_type": "execute_result"
396 | }
397 | ],
398 | "source": [
399 | "crime.shape # Checking the shape again to see if dropping the duplicate rows worked"
400 | ]
401 | },
402 | {
403 | "attachments": {},
404 | "cell_type": "markdown",
405 | "id": "f0823dc0",
406 | "metadata": {},
407 | "source": [
408 | "### Explore the dataset"
409 | ]
410 | },
411 | {
412 | "cell_type": "code",
413 | "execution_count": 9,
414 | "id": "5ad86c4d",
415 | "metadata": {},
416 | "outputs": [
417 | {
418 | "data": {
419 | "text/html": [
420 | "\n",
421 | "\n",
434 | "
\n",
435 | " \n",
436 | " \n",
437 | " | \n",
438 | " INCIDENT_NUMBER | \n",
439 | " OFFENSE_CODE | \n",
440 | " OFFENSE_CODE_GROUP | \n",
441 | " OFFENSE_DESCRIPTION | \n",
442 | " DISTRICT | \n",
443 | " REPORTING_AREA | \n",
444 | " SHOOTING | \n",
445 | " OCCURRED_ON_DATE | \n",
446 | " YEAR | \n",
447 | " MONTH | \n",
448 | " DAY_OF_WEEK | \n",
449 | " HOUR | \n",
450 | " UCR_PART | \n",
451 | " STREET | \n",
452 | " Lat | \n",
453 | " Long | \n",
454 | " Location | \n",
455 | "
\n",
456 | " \n",
457 | " \n",
458 | " \n",
459 | " 0 | \n",
460 | " I182070945 | \n",
461 | " 619 | \n",
462 | " Larceny | \n",
463 | " LARCENY ALL OTHERS | \n",
464 | " D14 | \n",
465 | " 808 | \n",
466 | " NaN | \n",
467 | " 2018-09-02 13:00:00 | \n",
468 | " 2018 | \n",
469 | " 9 | \n",
470 | " Sunday | \n",
471 | " 13 | \n",
472 | " Part One | \n",
473 | " LINCOLN ST | \n",
474 | " 42.357791 | \n",
475 | " -71.139371 | \n",
476 | " (42.35779134, -71.13937053) | \n",
477 | "
\n",
478 | " \n",
479 | " 1 | \n",
480 | " I182070943 | \n",
481 | " 1402 | \n",
482 | " Vandalism | \n",
483 | " VANDALISM | \n",
484 | " C11 | \n",
485 | " 347 | \n",
486 | " NaN | \n",
487 | " 2018-08-21 00:00:00 | \n",
488 | " 2018 | \n",
489 | " 8 | \n",
490 | " Tuesday | \n",
491 | " 0 | \n",
492 | " Part Two | \n",
493 | " HECLA ST | \n",
494 | " 42.306821 | \n",
495 | " -71.060300 | \n",
496 | " (42.30682138, -71.06030035) | \n",
497 | "
\n",
498 | " \n",
499 | " 2 | \n",
500 | " I182070941 | \n",
501 | " 3410 | \n",
502 | " Towed | \n",
503 | " TOWED MOTOR VEHICLE | \n",
504 | " D4 | \n",
505 | " 151 | \n",
506 | " NaN | \n",
507 | " 2018-09-03 19:27:00 | \n",
508 | " 2018 | \n",
509 | " 9 | \n",
510 | " Monday | \n",
511 | " 19 | \n",
512 | " Part Three | \n",
513 | " CAZENOVE ST | \n",
514 | " 42.346589 | \n",
515 | " -71.072429 | \n",
516 | " (42.34658879, -71.07242943) | \n",
517 | "
\n",
518 | " \n",
519 | " 3 | \n",
520 | " I182070940 | \n",
521 | " 3114 | \n",
522 | " Investigate Property | \n",
523 | " INVESTIGATE PROPERTY | \n",
524 | " D4 | \n",
525 | " 272 | \n",
526 | " NaN | \n",
527 | " 2018-09-03 21:16:00 | \n",
528 | " 2018 | \n",
529 | " 9 | \n",
530 | " Monday | \n",
531 | " 21 | \n",
532 | " Part Three | \n",
533 | " NEWCOMB ST | \n",
534 | " 42.334182 | \n",
535 | " -71.078664 | \n",
536 | " (42.33418175, -71.07866441) | \n",
537 | "
\n",
538 | " \n",
539 | " 4 | \n",
540 | " I182070938 | \n",
541 | " 3114 | \n",
542 | " Investigate Property | \n",
543 | " INVESTIGATE PROPERTY | \n",
544 | " B3 | \n",
545 | " 421 | \n",
546 | " NaN | \n",
547 | " 2018-09-03 21:05:00 | \n",
548 | " 2018 | \n",
549 | " 9 | \n",
550 | " Monday | \n",
551 | " 21 | \n",
552 | " Part Three | \n",
553 | " DELHI ST | \n",
554 | " 42.275365 | \n",
555 | " -71.090361 | \n",
556 | " (42.27536542, -71.09036101) | \n",
557 | "
\n",
558 | " \n",
559 | "
\n",
560 | "
"
561 | ],
562 | "text/plain": [
563 | " INCIDENT_NUMBER OFFENSE_CODE OFFENSE_CODE_GROUP OFFENSE_DESCRIPTION \\\n",
564 | "0 I182070945 619 Larceny LARCENY ALL OTHERS \n",
565 | "1 I182070943 1402 Vandalism VANDALISM \n",
566 | "2 I182070941 3410 Towed TOWED MOTOR VEHICLE \n",
567 | "3 I182070940 3114 Investigate Property INVESTIGATE PROPERTY \n",
568 | "4 I182070938 3114 Investigate Property INVESTIGATE PROPERTY \n",
569 | "\n",
570 | " DISTRICT REPORTING_AREA SHOOTING OCCURRED_ON_DATE YEAR MONTH \\\n",
571 | "0 D14 808 NaN 2018-09-02 13:00:00 2018 9 \n",
572 | "1 C11 347 NaN 2018-08-21 00:00:00 2018 8 \n",
573 | "2 D4 151 NaN 2018-09-03 19:27:00 2018 9 \n",
574 | "3 D4 272 NaN 2018-09-03 21:16:00 2018 9 \n",
575 | "4 B3 421 NaN 2018-09-03 21:05:00 2018 9 \n",
576 | "\n",
577 | " DAY_OF_WEEK HOUR UCR_PART STREET Lat Long \\\n",
578 | "0 Sunday 13 Part One LINCOLN ST 42.357791 -71.139371 \n",
579 | "1 Tuesday 0 Part Two HECLA ST 42.306821 -71.060300 \n",
580 | "2 Monday 19 Part Three CAZENOVE ST 42.346589 -71.072429 \n",
581 | "3 Monday 21 Part Three NEWCOMB ST 42.334182 -71.078664 \n",
582 | "4 Monday 21 Part Three DELHI ST 42.275365 -71.090361 \n",
583 | "\n",
584 | " Location \n",
585 | "0 (42.35779134, -71.13937053) \n",
586 | "1 (42.30682138, -71.06030035) \n",
587 | "2 (42.34658879, -71.07242943) \n",
588 | "3 (42.33418175, -71.07866441) \n",
589 | "4 (42.27536542, -71.09036101) "
590 | ]
591 | },
592 | "execution_count": 9,
593 | "metadata": {},
594 | "output_type": "execute_result"
595 | }
596 | ],
597 | "source": [
598 | "crime.head() # Quick check of the beginning of the dataframe"
599 | ]
600 | },
601 | {
602 | "cell_type": "code",
603 | "execution_count": 10,
604 | "id": "9f2eca52",
605 | "metadata": {},
606 | "outputs": [
607 | {
608 | "data": {
609 | "text/html": [
610 | "\n",
611 | "\n",
624 | "
\n",
625 | " \n",
626 | " \n",
627 | " | \n",
628 | " INCIDENT_NUMBER | \n",
629 | " OFFENSE_CODE | \n",
630 | " OFFENSE_CODE_GROUP | \n",
631 | " OFFENSE_DESCRIPTION | \n",
632 | " DISTRICT | \n",
633 | " REPORTING_AREA | \n",
634 | " SHOOTING | \n",
635 | " OCCURRED_ON_DATE | \n",
636 | " YEAR | \n",
637 | " MONTH | \n",
638 | " DAY_OF_WEEK | \n",
639 | " HOUR | \n",
640 | " UCR_PART | \n",
641 | " STREET | \n",
642 | " Lat | \n",
643 | " Long | \n",
644 | " Location | \n",
645 | "
\n",
646 | " \n",
647 | " \n",
648 | " \n",
649 | " 319068 | \n",
650 | " I050310906-00 | \n",
651 | " 3125 | \n",
652 | " Warrant Arrests | \n",
653 | " WARRANT ARREST | \n",
654 | " D4 | \n",
655 | " 285 | \n",
656 | " NaN | \n",
657 | " 2016-06-05 17:25:00 | \n",
658 | " 2016 | \n",
659 | " 6 | \n",
660 | " Sunday | \n",
661 | " 17 | \n",
662 | " Part Three | \n",
663 | " COVENTRY ST | \n",
664 | " 42.336951 | \n",
665 | " -71.085748 | \n",
666 | " (42.33695098, -71.08574813) | \n",
667 | "
\n",
668 | " \n",
669 | " 319069 | \n",
670 | " I030217815-08 | \n",
671 | " 111 | \n",
672 | " Homicide | \n",
673 | " MURDER, NON-NEGLIGIENT MANSLAUGHTER | \n",
674 | " E18 | \n",
675 | " 520 | \n",
676 | " NaN | \n",
677 | " 2015-07-09 13:38:00 | \n",
678 | " 2015 | \n",
679 | " 7 | \n",
680 | " Thursday | \n",
681 | " 13 | \n",
682 | " Part One | \n",
683 | " RIVER ST | \n",
684 | " 42.255926 | \n",
685 | " -71.123172 | \n",
686 | " (42.25592648, -71.12317207) | \n",
687 | "
\n",
688 | " \n",
689 | " 319070 | \n",
690 | " I030217815-08 | \n",
691 | " 3125 | \n",
692 | " Warrant Arrests | \n",
693 | " WARRANT ARREST | \n",
694 | " E18 | \n",
695 | " 520 | \n",
696 | " NaN | \n",
697 | " 2015-07-09 13:38:00 | \n",
698 | " 2015 | \n",
699 | " 7 | \n",
700 | " Thursday | \n",
701 | " 13 | \n",
702 | " Part Three | \n",
703 | " RIVER ST | \n",
704 | " 42.255926 | \n",
705 | " -71.123172 | \n",
706 | " (42.25592648, -71.12317207) | \n",
707 | "
\n",
708 | " \n",
709 | " 319071 | \n",
710 | " I010370257-00 | \n",
711 | " 3125 | \n",
712 | " Warrant Arrests | \n",
713 | " WARRANT ARREST | \n",
714 | " E13 | \n",
715 | " 569 | \n",
716 | " NaN | \n",
717 | " 2016-05-31 19:35:00 | \n",
718 | " 2016 | \n",
719 | " 5 | \n",
720 | " Tuesday | \n",
721 | " 19 | \n",
722 | " Part Three | \n",
723 | " NEW WASHINGTON ST | \n",
724 | " 42.302333 | \n",
725 | " -71.111565 | \n",
726 | " (42.30233307, -71.11156487) | \n",
727 | "
\n",
728 | " \n",
729 | " 319072 | \n",
730 | " 142052550 | \n",
731 | " 3125 | \n",
732 | " Warrant Arrests | \n",
733 | " WARRANT ARREST | \n",
734 | " D4 | \n",
735 | " 903 | \n",
736 | " NaN | \n",
737 | " 2015-06-22 00:12:00 | \n",
738 | " 2015 | \n",
739 | " 6 | \n",
740 | " Monday | \n",
741 | " 0 | \n",
742 | " Part Three | \n",
743 | " WASHINGTON ST | \n",
744 | " 42.333839 | \n",
745 | " -71.080290 | \n",
746 | " (42.33383935, -71.08029038) | \n",
747 | "
\n",
748 | " \n",
749 | "
\n",
750 | "
"
751 | ],
752 | "text/plain": [
753 | " INCIDENT_NUMBER OFFENSE_CODE OFFENSE_CODE_GROUP \\\n",
754 | "319068 I050310906-00 3125 Warrant Arrests \n",
755 | "319069 I030217815-08 111 Homicide \n",
756 | "319070 I030217815-08 3125 Warrant Arrests \n",
757 | "319071 I010370257-00 3125 Warrant Arrests \n",
758 | "319072 142052550 3125 Warrant Arrests \n",
759 | "\n",
760 | " OFFENSE_DESCRIPTION DISTRICT REPORTING_AREA SHOOTING \\\n",
761 | "319068 WARRANT ARREST D4 285 NaN \n",
762 | "319069 MURDER, NON-NEGLIGIENT MANSLAUGHTER E18 520 NaN \n",
763 | "319070 WARRANT ARREST E18 520 NaN \n",
764 | "319071 WARRANT ARREST E13 569 NaN \n",
765 | "319072 WARRANT ARREST D4 903 NaN \n",
766 | "\n",
767 | " OCCURRED_ON_DATE YEAR MONTH DAY_OF_WEEK HOUR UCR_PART \\\n",
768 | "319068 2016-06-05 17:25:00 2016 6 Sunday 17 Part Three \n",
769 | "319069 2015-07-09 13:38:00 2015 7 Thursday 13 Part One \n",
770 | "319070 2015-07-09 13:38:00 2015 7 Thursday 13 Part Three \n",
771 | "319071 2016-05-31 19:35:00 2016 5 Tuesday 19 Part Three \n",
772 | "319072 2015-06-22 00:12:00 2015 6 Monday 0 Part Three \n",
773 | "\n",
774 | " STREET Lat Long Location \n",
775 | "319068 COVENTRY ST 42.336951 -71.085748 (42.33695098, -71.08574813) \n",
776 | "319069 RIVER ST 42.255926 -71.123172 (42.25592648, -71.12317207) \n",
777 | "319070 RIVER ST 42.255926 -71.123172 (42.25592648, -71.12317207) \n",
778 | "319071 NEW WASHINGTON ST 42.302333 -71.111565 (42.30233307, -71.11156487) \n",
779 | "319072 WASHINGTON ST 42.333839 -71.080290 (42.33383935, -71.08029038) "
780 | ]
781 | },
782 | "execution_count": 10,
783 | "metadata": {},
784 | "output_type": "execute_result"
785 | }
786 | ],
787 | "source": [
788 | "crime.tail() # Quick check of the end of the dataframe"
789 | ]
790 | },
791 | {
792 | "cell_type": "code",
793 | "execution_count": 11,
794 | "id": "33f581e1",
795 | "metadata": {},
796 | "outputs": [],
797 | "source": [
798 | "pd.options.display.max_rows = 10"
799 | ]
800 | },
801 | {
802 | "cell_type": "code",
803 | "execution_count": 12,
804 | "id": "9ba67772",
805 | "metadata": {},
806 | "outputs": [
807 | {
808 | "data": {
809 | "text/html": [
810 | "\n",
811 | "\n",
824 | "
\n",
825 | " \n",
826 | " \n",
827 | " | \n",
828 | " INCIDENT_NUMBER | \n",
829 | " OFFENSE_CODE | \n",
830 | " OFFENSE_CODE_GROUP | \n",
831 | " OFFENSE_DESCRIPTION | \n",
832 | " DISTRICT | \n",
833 | " REPORTING_AREA | \n",
834 | " SHOOTING | \n",
835 | " OCCURRED_ON_DATE | \n",
836 | " YEAR | \n",
837 | " MONTH | \n",
838 | " DAY_OF_WEEK | \n",
839 | " HOUR | \n",
840 | " UCR_PART | \n",
841 | " STREET | \n",
842 | " Lat | \n",
843 | " Long | \n",
844 | " Location | \n",
845 | "
\n",
846 | " \n",
847 | " \n",
848 | " \n",
849 | " 0 | \n",
850 | " I182070945 | \n",
851 | " 619 | \n",
852 | " Larceny | \n",
853 | " LARCENY ALL OTHERS | \n",
854 | " D14 | \n",
855 | " 808 | \n",
856 | " NaN | \n",
857 | " 2018-09-02 13:00:00 | \n",
858 | " 2018 | \n",
859 | " 9 | \n",
860 | " Sunday | \n",
861 | " 13 | \n",
862 | " Part One | \n",
863 | " LINCOLN ST | \n",
864 | " 42.357791 | \n",
865 | " -71.139371 | \n",
866 | " (42.35779134, -71.13937053) | \n",
867 | "
\n",
868 | " \n",
869 | " 1 | \n",
870 | " I182070943 | \n",
871 | " 1402 | \n",
872 | " Vandalism | \n",
873 | " VANDALISM | \n",
874 | " C11 | \n",
875 | " 347 | \n",
876 | " NaN | \n",
877 | " 2018-08-21 00:00:00 | \n",
878 | " 2018 | \n",
879 | " 8 | \n",
880 | " Tuesday | \n",
881 | " 0 | \n",
882 | " Part Two | \n",
883 | " HECLA ST | \n",
884 | " 42.306821 | \n",
885 | " -71.060300 | \n",
886 | " (42.30682138, -71.06030035) | \n",
887 | "
\n",
888 | " \n",
889 | " 2 | \n",
890 | " I182070941 | \n",
891 | " 3410 | \n",
892 | " Towed | \n",
893 | " TOWED MOTOR VEHICLE | \n",
894 | " D4 | \n",
895 | " 151 | \n",
896 | " NaN | \n",
897 | " 2018-09-03 19:27:00 | \n",
898 | " 2018 | \n",
899 | " 9 | \n",
900 | " Monday | \n",
901 | " 19 | \n",
902 | " Part Three | \n",
903 | " CAZENOVE ST | \n",
904 | " 42.346589 | \n",
905 | " -71.072429 | \n",
906 | " (42.34658879, -71.07242943) | \n",
907 | "
\n",
908 | " \n",
909 | " 3 | \n",
910 | " I182070940 | \n",
911 | " 3114 | \n",
912 | " Investigate Property | \n",
913 | " INVESTIGATE PROPERTY | \n",
914 | " D4 | \n",
915 | " 272 | \n",
916 | " NaN | \n",
917 | " 2018-09-03 21:16:00 | \n",
918 | " 2018 | \n",
919 | " 9 | \n",
920 | " Monday | \n",
921 | " 21 | \n",
922 | " Part Three | \n",
923 | " NEWCOMB ST | \n",
924 | " 42.334182 | \n",
925 | " -71.078664 | \n",
926 | " (42.33418175, -71.07866441) | \n",
927 | "
\n",
928 | " \n",
929 | " 4 | \n",
930 | " I182070938 | \n",
931 | " 3114 | \n",
932 | " Investigate Property | \n",
933 | " INVESTIGATE PROPERTY | \n",
934 | " B3 | \n",
935 | " 421 | \n",
936 | " NaN | \n",
937 | " 2018-09-03 21:05:00 | \n",
938 | " 2018 | \n",
939 | " 9 | \n",
940 | " Monday | \n",
941 | " 21 | \n",
942 | " Part Three | \n",
943 | " DELHI ST | \n",
944 | " 42.275365 | \n",
945 | " -71.090361 | \n",
946 | " (42.27536542, -71.09036101) | \n",
947 | "
\n",
948 | " \n",
949 | " ... | \n",
950 | " ... | \n",
951 | " ... | \n",
952 | " ... | \n",
953 | " ... | \n",
954 | " ... | \n",
955 | " ... | \n",
956 | " ... | \n",
957 | " ... | \n",
958 | " ... | \n",
959 | " ... | \n",
960 | " ... | \n",
961 | " ... | \n",
962 | " ... | \n",
963 | " ... | \n",
964 | " ... | \n",
965 | " ... | \n",
966 | " ... | \n",
967 | "
\n",
968 | " \n",
969 | " 319068 | \n",
970 | " I050310906-00 | \n",
971 | " 3125 | \n",
972 | " Warrant Arrests | \n",
973 | " WARRANT ARREST | \n",
974 | " D4 | \n",
975 | " 285 | \n",
976 | " NaN | \n",
977 | " 2016-06-05 17:25:00 | \n",
978 | " 2016 | \n",
979 | " 6 | \n",
980 | " Sunday | \n",
981 | " 17 | \n",
982 | " Part Three | \n",
983 | " COVENTRY ST | \n",
984 | " 42.336951 | \n",
985 | " -71.085748 | \n",
986 | " (42.33695098, -71.08574813) | \n",
987 | "
\n",
988 | " \n",
989 | " 319069 | \n",
990 | " I030217815-08 | \n",
991 | " 111 | \n",
992 | " Homicide | \n",
993 | " MURDER, NON-NEGLIGIENT MANSLAUGHTER | \n",
994 | " E18 | \n",
995 | " 520 | \n",
996 | " NaN | \n",
997 | " 2015-07-09 13:38:00 | \n",
998 | " 2015 | \n",
999 | " 7 | \n",
1000 | " Thursday | \n",
1001 | " 13 | \n",
1002 | " Part One | \n",
1003 | " RIVER ST | \n",
1004 | " 42.255926 | \n",
1005 | " -71.123172 | \n",
1006 | " (42.25592648, -71.12317207) | \n",
1007 | "
\n",
1008 | " \n",
1009 | " 319070 | \n",
1010 | " I030217815-08 | \n",
1011 | " 3125 | \n",
1012 | " Warrant Arrests | \n",
1013 | " WARRANT ARREST | \n",
1014 | " E18 | \n",
1015 | " 520 | \n",
1016 | " NaN | \n",
1017 | " 2015-07-09 13:38:00 | \n",
1018 | " 2015 | \n",
1019 | " 7 | \n",
1020 | " Thursday | \n",
1021 | " 13 | \n",
1022 | " Part Three | \n",
1023 | " RIVER ST | \n",
1024 | " 42.255926 | \n",
1025 | " -71.123172 | \n",
1026 | " (42.25592648, -71.12317207) | \n",
1027 | "
\n",
1028 | " \n",
1029 | " 319071 | \n",
1030 | " I010370257-00 | \n",
1031 | " 3125 | \n",
1032 | " Warrant Arrests | \n",
1033 | " WARRANT ARREST | \n",
1034 | " E13 | \n",
1035 | " 569 | \n",
1036 | " NaN | \n",
1037 | " 2016-05-31 19:35:00 | \n",
1038 | " 2016 | \n",
1039 | " 5 | \n",
1040 | " Tuesday | \n",
1041 | " 19 | \n",
1042 | " Part Three | \n",
1043 | " NEW WASHINGTON ST | \n",
1044 | " 42.302333 | \n",
1045 | " -71.111565 | \n",
1046 | " (42.30233307, -71.11156487) | \n",
1047 | "
\n",
1048 | " \n",
1049 | " 319072 | \n",
1050 | " 142052550 | \n",
1051 | " 3125 | \n",
1052 | " Warrant Arrests | \n",
1053 | " WARRANT ARREST | \n",
1054 | " D4 | \n",
1055 | " 903 | \n",
1056 | " NaN | \n",
1057 | " 2015-06-22 00:12:00 | \n",
1058 | " 2015 | \n",
1059 | " 6 | \n",
1060 | " Monday | \n",
1061 | " 0 | \n",
1062 | " Part Three | \n",
1063 | " WASHINGTON ST | \n",
1064 | " 42.333839 | \n",
1065 | " -71.080290 | \n",
1066 | " (42.33383935, -71.08029038) | \n",
1067 | "
\n",
1068 | " \n",
1069 | "
\n",
1070 | "
319050 rows × 17 columns
\n",
1071 | "
"
1072 | ],
1073 | "text/plain": [
1074 | " INCIDENT_NUMBER OFFENSE_CODE OFFENSE_CODE_GROUP \\\n",
1075 | "0 I182070945 619 Larceny \n",
1076 | "1 I182070943 1402 Vandalism \n",
1077 | "2 I182070941 3410 Towed \n",
1078 | "3 I182070940 3114 Investigate Property \n",
1079 | "4 I182070938 3114 Investigate Property \n",
1080 | "... ... ... ... \n",
1081 | "319068 I050310906-00 3125 Warrant Arrests \n",
1082 | "319069 I030217815-08 111 Homicide \n",
1083 | "319070 I030217815-08 3125 Warrant Arrests \n",
1084 | "319071 I010370257-00 3125 Warrant Arrests \n",
1085 | "319072 142052550 3125 Warrant Arrests \n",
1086 | "\n",
1087 | " OFFENSE_DESCRIPTION DISTRICT REPORTING_AREA SHOOTING \\\n",
1088 | "0 LARCENY ALL OTHERS D14 808 NaN \n",
1089 | "1 VANDALISM C11 347 NaN \n",
1090 | "2 TOWED MOTOR VEHICLE D4 151 NaN \n",
1091 | "3 INVESTIGATE PROPERTY D4 272 NaN \n",
1092 | "4 INVESTIGATE PROPERTY B3 421 NaN \n",
1093 | "... ... ... ... ... \n",
1094 | "319068 WARRANT ARREST D4 285 NaN \n",
1095 | "319069 MURDER, NON-NEGLIGIENT MANSLAUGHTER E18 520 NaN \n",
1096 | "319070 WARRANT ARREST E18 520 NaN \n",
1097 | "319071 WARRANT ARREST E13 569 NaN \n",
1098 | "319072 WARRANT ARREST D4 903 NaN \n",
1099 | "\n",
1100 | " OCCURRED_ON_DATE YEAR MONTH DAY_OF_WEEK HOUR UCR_PART \\\n",
1101 | "0 2018-09-02 13:00:00 2018 9 Sunday 13 Part One \n",
1102 | "1 2018-08-21 00:00:00 2018 8 Tuesday 0 Part Two \n",
1103 | "2 2018-09-03 19:27:00 2018 9 Monday 19 Part Three \n",
1104 | "3 2018-09-03 21:16:00 2018 9 Monday 21 Part Three \n",
1105 | "4 2018-09-03 21:05:00 2018 9 Monday 21 Part Three \n",
1106 | "... ... ... ... ... ... ... \n",
1107 | "319068 2016-06-05 17:25:00 2016 6 Sunday 17 Part Three \n",
1108 | "319069 2015-07-09 13:38:00 2015 7 Thursday 13 Part One \n",
1109 | "319070 2015-07-09 13:38:00 2015 7 Thursday 13 Part Three \n",
1110 | "319071 2016-05-31 19:35:00 2016 5 Tuesday 19 Part Three \n",
1111 | "319072 2015-06-22 00:12:00 2015 6 Monday 0 Part Three \n",
1112 | "\n",
1113 | " STREET Lat Long Location \n",
1114 | "0 LINCOLN ST 42.357791 -71.139371 (42.35779134, -71.13937053) \n",
1115 | "1 HECLA ST 42.306821 -71.060300 (42.30682138, -71.06030035) \n",
1116 | "2 CAZENOVE ST 42.346589 -71.072429 (42.34658879, -71.07242943) \n",
1117 | "3 NEWCOMB ST 42.334182 -71.078664 (42.33418175, -71.07866441) \n",
1118 | "4 DELHI ST 42.275365 -71.090361 (42.27536542, -71.09036101) \n",
1119 | "... ... ... ... ... \n",
1120 | "319068 COVENTRY ST 42.336951 -71.085748 (42.33695098, -71.08574813) \n",
1121 | "319069 RIVER ST 42.255926 -71.123172 (42.25592648, -71.12317207) \n",
1122 | "319070 RIVER ST 42.255926 -71.123172 (42.25592648, -71.12317207) \n",
1123 | "319071 NEW WASHINGTON ST 42.302333 -71.111565 (42.30233307, -71.11156487) \n",
1124 | "319072 WASHINGTON ST 42.333839 -71.080290 (42.33383935, -71.08029038) \n",
1125 | "\n",
1126 | "[319050 rows x 17 columns]"
1127 | ]
1128 | },
1129 | "execution_count": 12,
1130 | "metadata": {},
1131 | "output_type": "execute_result"
1132 | }
1133 | ],
1134 | "source": [
1135 | "crime"
1136 | ]
1137 | },
1138 | {
1139 | "cell_type": "code",
1140 | "execution_count": 13,
1141 | "id": "4413e055",
1142 | "metadata": {
1143 | "scrolled": true
1144 | },
1145 | "outputs": [
1146 | {
1147 | "name": "stdout",
1148 | "output_type": "stream",
1149 | "text": [
1150 | "\n",
1151 | "Int64Index: 319050 entries, 0 to 319072\n",
1152 | "Data columns (total 17 columns):\n",
1153 | " # Column Non-Null Count Dtype \n",
1154 | "--- ------ -------------- ----- \n",
1155 | " 0 INCIDENT_NUMBER 319050 non-null object \n",
1156 | " 1 OFFENSE_CODE 319050 non-null int64 \n",
1157 | " 2 OFFENSE_CODE_GROUP 319050 non-null object \n",
1158 | " 3 OFFENSE_DESCRIPTION 319050 non-null object \n",
1159 | " 4 DISTRICT 317285 non-null object \n",
1160 | " 5 REPORTING_AREA 319050 non-null object \n",
1161 | " 6 SHOOTING 1019 non-null object \n",
1162 | " 7 OCCURRED_ON_DATE 319050 non-null object \n",
1163 | " 8 YEAR 319050 non-null int64 \n",
1164 | " 9 MONTH 319050 non-null int64 \n",
1165 | " 10 DAY_OF_WEEK 319050 non-null object \n",
1166 | " 11 HOUR 319050 non-null int64 \n",
1167 | " 12 UCR_PART 318960 non-null object \n",
1168 | " 13 STREET 308179 non-null object \n",
1169 | " 14 Lat 299052 non-null float64\n",
1170 | " 15 Long 299052 non-null float64\n",
1171 | " 16 Location 319050 non-null object \n",
1172 | "dtypes: float64(2), int64(4), object(11)\n",
1173 | "memory usage: 43.8+ MB\n"
1174 | ]
1175 | }
1176 | ],
1177 | "source": [
1178 | "crime.info() # Summary information about the dataframe"
1179 | ]
1180 | },
1181 | {
1182 | "cell_type": "code",
1183 | "execution_count": 14,
1184 | "id": "b73455f0",
1185 | "metadata": {},
1186 | "outputs": [],
1187 | "source": [
1188 | "# Changing the data type from object to datetime for the OCCURRED_ON_DATE column\n",
1189 | "crime.OCCURRED_ON_DATE = pd.to_datetime(crime.OCCURRED_ON_DATE)"
1190 | ]
1191 | },
1192 | {
1193 | "cell_type": "code",
1194 | "execution_count": 15,
1195 | "id": "f36de48b",
1196 | "metadata": {},
1197 | "outputs": [
1198 | {
1199 | "name": "stdout",
1200 | "output_type": "stream",
1201 | "text": [
1202 | "\n",
1203 | "Int64Index: 319050 entries, 0 to 319072\n",
1204 | "Data columns (total 17 columns):\n",
1205 | " # Column Non-Null Count Dtype \n",
1206 | "--- ------ -------------- ----- \n",
1207 | " 0 INCIDENT_NUMBER 319050 non-null object \n",
1208 | " 1 OFFENSE_CODE 319050 non-null int64 \n",
1209 | " 2 OFFENSE_CODE_GROUP 319050 non-null object \n",
1210 | " 3 OFFENSE_DESCRIPTION 319050 non-null object \n",
1211 | " 4 DISTRICT 317285 non-null object \n",
1212 | " 5 REPORTING_AREA 319050 non-null object \n",
1213 | " 6 SHOOTING 1019 non-null object \n",
1214 | " 7 OCCURRED_ON_DATE 319050 non-null datetime64[ns]\n",
1215 | " 8 YEAR 319050 non-null int64 \n",
1216 | " 9 MONTH 319050 non-null int64 \n",
1217 | " 10 DAY_OF_WEEK 319050 non-null object \n",
1218 | " 11 HOUR 319050 non-null int64 \n",
1219 | " 12 UCR_PART 318960 non-null object \n",
1220 | " 13 STREET 308179 non-null object \n",
1221 | " 14 Lat 299052 non-null float64 \n",
1222 | " 15 Long 299052 non-null float64 \n",
1223 | " 16 Location 319050 non-null object \n",
1224 | "dtypes: datetime64[ns](1), float64(2), int64(4), object(10)\n",
1225 | "memory usage: 43.8+ MB\n"
1226 | ]
1227 | }
1228 | ],
1229 | "source": [
1230 | "# Check if it worked\n",
1231 | "crime.info()"
1232 | ]
1233 | },
1234 | {
1235 | "cell_type": "code",
1236 | "execution_count": 16,
1237 | "id": "8e6d7208",
1238 | "metadata": {},
1239 | "outputs": [
1240 | {
1241 | "data": {
1242 | "text/plain": [
1243 | "0 2018\n",
1244 | "1 2018\n",
1245 | "2 2018\n",
1246 | "3 2018\n",
1247 | "4 2018\n",
1248 | " ... \n",
1249 | "319068 2016\n",
1250 | "319069 2015\n",
1251 | "319070 2015\n",
1252 | "319071 2016\n",
1253 | "319072 2015\n",
1254 | "Name: OCCURRED_ON_DATE, Length: 319050, dtype: int64"
1255 | ]
1256 | },
1257 | "execution_count": 16,
1258 | "metadata": {},
1259 | "output_type": "execute_result"
1260 | }
1261 | ],
1262 | "source": [
1263 | "# easily extract datetime information frome the OCCURRED_ON_DATE column\n",
1264 | "crime.OCCURRED_ON_DATE.dt.year"
1265 | ]
1266 | },
1267 | {
1268 | "cell_type": "code",
1269 | "execution_count": 17,
1270 | "id": "a16d5dd8",
1271 | "metadata": {},
1272 | "outputs": [
1273 | {
1274 | "data": {
1275 | "text/plain": [
1276 | "0 9\n",
1277 | "1 8\n",
1278 | "2 9\n",
1279 | "3 9\n",
1280 | "4 9\n",
1281 | " ..\n",
1282 | "319068 6\n",
1283 | "319069 7\n",
1284 | "319070 7\n",
1285 | "319071 5\n",
1286 | "319072 6\n",
1287 | "Name: OCCURRED_ON_DATE, Length: 319050, dtype: int64"
1288 | ]
1289 | },
1290 | "execution_count": 17,
1291 | "metadata": {},
1292 | "output_type": "execute_result"
1293 | }
1294 | ],
1295 | "source": [
1296 | "crime.OCCURRED_ON_DATE.dt.month"
1297 | ]
1298 | },
1299 | {
1300 | "cell_type": "code",
1301 | "execution_count": 18,
1302 | "id": "260527b7",
1303 | "metadata": {},
1304 | "outputs": [
1305 | {
1306 | "name": "stderr",
1307 | "output_type": "stream",
1308 | "text": [
1309 | "C:\\Users\\moche\\AppData\\Local\\Temp\\ipykernel_124320\\2588699237.py:1: FutureWarning: Series.dt.weekofyear and Series.dt.week have been deprecated. Please use Series.dt.isocalendar().week instead.\n",
1310 | " crime.OCCURRED_ON_DATE.dt.week\n"
1311 | ]
1312 | },
1313 | {
1314 | "data": {
1315 | "text/plain": [
1316 | "0 35\n",
1317 | "1 34\n",
1318 | "2 36\n",
1319 | "3 36\n",
1320 | "4 36\n",
1321 | " ..\n",
1322 | "319068 22\n",
1323 | "319069 28\n",
1324 | "319070 28\n",
1325 | "319071 22\n",
1326 | "319072 26\n",
1327 | "Name: OCCURRED_ON_DATE, Length: 319050, dtype: int64"
1328 | ]
1329 | },
1330 | "execution_count": 18,
1331 | "metadata": {},
1332 | "output_type": "execute_result"
1333 | }
1334 | ],
1335 | "source": [
1336 | "crime.OCCURRED_ON_DATE.dt.week"
1337 | ]
1338 | },
1339 | {
1340 | "cell_type": "code",
1341 | "execution_count": 19,
1342 | "id": "5e6502e9",
1343 | "metadata": {},
1344 | "outputs": [
1345 | {
1346 | "data": {
1347 | "text/plain": [
1348 | "0 13\n",
1349 | "1 0\n",
1350 | "2 19\n",
1351 | "3 21\n",
1352 | "4 21\n",
1353 | " ..\n",
1354 | "319068 17\n",
1355 | "319069 13\n",
1356 | "319070 13\n",
1357 | "319071 19\n",
1358 | "319072 0\n",
1359 | "Name: OCCURRED_ON_DATE, Length: 319050, dtype: int64"
1360 | ]
1361 | },
1362 | "execution_count": 19,
1363 | "metadata": {},
1364 | "output_type": "execute_result"
1365 | }
1366 | ],
1367 | "source": [
1368 | "crime.OCCURRED_ON_DATE.dt.hour"
1369 | ]
1370 | },
1371 | {
1372 | "cell_type": "code",
1373 | "execution_count": 20,
1374 | "id": "0ef6d738",
1375 | "metadata": {},
1376 | "outputs": [
1377 | {
1378 | "data": {
1379 | "text/plain": [
1380 | "0 0\n",
1381 | "1 0\n",
1382 | "2 27\n",
1383 | "3 16\n",
1384 | "4 5\n",
1385 | " ..\n",
1386 | "319068 25\n",
1387 | "319069 38\n",
1388 | "319070 38\n",
1389 | "319071 35\n",
1390 | "319072 12\n",
1391 | "Name: OCCURRED_ON_DATE, Length: 319050, dtype: int64"
1392 | ]
1393 | },
1394 | "execution_count": 20,
1395 | "metadata": {},
1396 | "output_type": "execute_result"
1397 | }
1398 | ],
1399 | "source": [
1400 | "crime.OCCURRED_ON_DATE.dt.minute"
1401 | ]
1402 | },
1403 | {
1404 | "cell_type": "code",
1405 | "execution_count": 21,
1406 | "id": "c03863c6",
1407 | "metadata": {
1408 | "scrolled": true
1409 | },
1410 | "outputs": [
1411 | {
1412 | "data": {
1413 | "text/html": [
1414 | "\n",
1415 | "\n",
1428 | "
\n",
1429 | " \n",
1430 | " \n",
1431 | " | \n",
1432 | " OFFENSE_CODE | \n",
1433 | " YEAR | \n",
1434 | " MONTH | \n",
1435 | " HOUR | \n",
1436 | " Lat | \n",
1437 | " Long | \n",
1438 | "
\n",
1439 | " \n",
1440 | " \n",
1441 | " \n",
1442 | " count | \n",
1443 | " 319050.000000 | \n",
1444 | " 319050.000000 | \n",
1445 | " 319050.000000 | \n",
1446 | " 319050.000000 | \n",
1447 | " 299052.000000 | \n",
1448 | " 299052.000000 | \n",
1449 | "
\n",
1450 | " \n",
1451 | " mean | \n",
1452 | " 2317.516957 | \n",
1453 | " 2016.560674 | \n",
1454 | " 6.609622 | \n",
1455 | " 13.118176 | \n",
1456 | " 42.214373 | \n",
1457 | " -70.908260 | \n",
1458 | "
\n",
1459 | " \n",
1460 | " std | \n",
1461 | " 1185.308921 | \n",
1462 | " 0.996312 | \n",
1463 | " 3.273677 | \n",
1464 | " 6.294258 | \n",
1465 | " 2.159845 | \n",
1466 | " 3.493746 | \n",
1467 | "
\n",
1468 | " \n",
1469 | " min | \n",
1470 | " 111.000000 | \n",
1471 | " 2015.000000 | \n",
1472 | " 1.000000 | \n",
1473 | " 0.000000 | \n",
1474 | " -1.000000 | \n",
1475 | " -71.178674 | \n",
1476 | "
\n",
1477 | " \n",
1478 | " 25% | \n",
1479 | " 1001.000000 | \n",
1480 | " 2016.000000 | \n",
1481 | " 4.000000 | \n",
1482 | " 9.000000 | \n",
1483 | " 42.297438 | \n",
1484 | " -71.097135 | \n",
1485 | "
\n",
1486 | " \n",
1487 | " 50% | \n",
1488 | " 2907.000000 | \n",
1489 | " 2017.000000 | \n",
1490 | " 7.000000 | \n",
1491 | " 14.000000 | \n",
1492 | " 42.325538 | \n",
1493 | " -71.077524 | \n",
1494 | "
\n",
1495 | " \n",
1496 | " 75% | \n",
1497 | " 3201.000000 | \n",
1498 | " 2017.000000 | \n",
1499 | " 9.000000 | \n",
1500 | " 18.000000 | \n",
1501 | " 42.348624 | \n",
1502 | " -71.062467 | \n",
1503 | "
\n",
1504 | " \n",
1505 | " max | \n",
1506 | " 3831.000000 | \n",
1507 | " 2018.000000 | \n",
1508 | " 12.000000 | \n",
1509 | " 23.000000 | \n",
1510 | " 42.395042 | \n",
1511 | " -1.000000 | \n",
1512 | "
\n",
1513 | " \n",
1514 | "
\n",
1515 | "
"
1516 | ],
1517 | "text/plain": [
1518 | " OFFENSE_CODE YEAR MONTH HOUR \\\n",
1519 | "count 319050.000000 319050.000000 319050.000000 319050.000000 \n",
1520 | "mean 2317.516957 2016.560674 6.609622 13.118176 \n",
1521 | "std 1185.308921 0.996312 3.273677 6.294258 \n",
1522 | "min 111.000000 2015.000000 1.000000 0.000000 \n",
1523 | "25% 1001.000000 2016.000000 4.000000 9.000000 \n",
1524 | "50% 2907.000000 2017.000000 7.000000 14.000000 \n",
1525 | "75% 3201.000000 2017.000000 9.000000 18.000000 \n",
1526 | "max 3831.000000 2018.000000 12.000000 23.000000 \n",
1527 | "\n",
1528 | " Lat Long \n",
1529 | "count 299052.000000 299052.000000 \n",
1530 | "mean 42.214373 -70.908260 \n",
1531 | "std 2.159845 3.493746 \n",
1532 | "min -1.000000 -71.178674 \n",
1533 | "25% 42.297438 -71.097135 \n",
1534 | "50% 42.325538 -71.077524 \n",
1535 | "75% 42.348624 -71.062467 \n",
1536 | "max 42.395042 -1.000000 "
1537 | ]
1538 | },
1539 | "execution_count": 21,
1540 | "metadata": {},
1541 | "output_type": "execute_result"
1542 | }
1543 | ],
1544 | "source": [
1545 | "crime.describe() # summary information on the numeric columns"
1546 | ]
1547 | },
1548 | {
1549 | "cell_type": "code",
1550 | "execution_count": 22,
1551 | "id": "6dc94fdd",
1552 | "metadata": {},
1553 | "outputs": [
1554 | {
1555 | "data": {
1556 | "text/html": [
1557 | "\n",
1558 | "\n",
1571 | "
\n",
1572 | " \n",
1573 | " \n",
1574 | " | \n",
1575 | " INCIDENT_NUMBER | \n",
1576 | " OFFENSE_CODE_GROUP | \n",
1577 | " OFFENSE_DESCRIPTION | \n",
1578 | " DISTRICT | \n",
1579 | " REPORTING_AREA | \n",
1580 | " SHOOTING | \n",
1581 | " DAY_OF_WEEK | \n",
1582 | " UCR_PART | \n",
1583 | " STREET | \n",
1584 | " Location | \n",
1585 | "
\n",
1586 | " \n",
1587 | " \n",
1588 | " \n",
1589 | " count | \n",
1590 | " 319050 | \n",
1591 | " 319050 | \n",
1592 | " 319050 | \n",
1593 | " 317285 | \n",
1594 | " 319050 | \n",
1595 | " 1019 | \n",
1596 | " 319050 | \n",
1597 | " 318960 | \n",
1598 | " 308179 | \n",
1599 | " 319050 | \n",
1600 | "
\n",
1601 | " \n",
1602 | " unique | \n",
1603 | " 282517 | \n",
1604 | " 67 | \n",
1605 | " 244 | \n",
1606 | " 12 | \n",
1607 | " 879 | \n",
1608 | " 1 | \n",
1609 | " 7 | \n",
1610 | " 4 | \n",
1611 | " 4657 | \n",
1612 | " 18194 | \n",
1613 | "
\n",
1614 | " \n",
1615 | " top | \n",
1616 | " I162030584 | \n",
1617 | " Motor Vehicle Accident Response | \n",
1618 | " SICK/INJURED/MEDICAL - PERSON | \n",
1619 | " B2 | \n",
1620 | " | \n",
1621 | " Y | \n",
1622 | " Friday | \n",
1623 | " Part Three | \n",
1624 | " WASHINGTON ST | \n",
1625 | " (0.00000000, 0.00000000) | \n",
1626 | "
\n",
1627 | " \n",
1628 | " freq | \n",
1629 | " 13 | \n",
1630 | " 37132 | \n",
1631 | " 18783 | \n",
1632 | " 49940 | \n",
1633 | " 20250 | \n",
1634 | " 1019 | \n",
1635 | " 48489 | \n",
1636 | " 158537 | \n",
1637 | " 14192 | \n",
1638 | " 19998 | \n",
1639 | "
\n",
1640 | " \n",
1641 | "
\n",
1642 | "
"
1643 | ],
1644 | "text/plain": [
1645 | " INCIDENT_NUMBER OFFENSE_CODE_GROUP \\\n",
1646 | "count 319050 319050 \n",
1647 | "unique 282517 67 \n",
1648 | "top I162030584 Motor Vehicle Accident Response \n",
1649 | "freq 13 37132 \n",
1650 | "\n",
1651 | " OFFENSE_DESCRIPTION DISTRICT REPORTING_AREA SHOOTING \\\n",
1652 | "count 319050 317285 319050 1019 \n",
1653 | "unique 244 12 879 1 \n",
1654 | "top SICK/INJURED/MEDICAL - PERSON B2 Y \n",
1655 | "freq 18783 49940 20250 1019 \n",
1656 | "\n",
1657 | " DAY_OF_WEEK UCR_PART STREET Location \n",
1658 | "count 319050 318960 308179 319050 \n",
1659 | "unique 7 4 4657 18194 \n",
1660 | "top Friday Part Three WASHINGTON ST (0.00000000, 0.00000000) \n",
1661 | "freq 48489 158537 14192 19998 "
1662 | ]
1663 | },
1664 | "execution_count": 22,
1665 | "metadata": {},
1666 | "output_type": "execute_result"
1667 | }
1668 | ],
1669 | "source": [
1670 | "crime.describe(include='object') # summary information on the non-numeric columns"
1671 | ]
1672 | },
1673 | {
1674 | "cell_type": "code",
1675 | "execution_count": 23,
1676 | "id": "0e30db63",
1677 | "metadata": {},
1678 | "outputs": [
1679 | {
1680 | "data": {
1681 | "text/plain": [
1682 | "Index(['INCIDENT_NUMBER', 'OFFENSE_CODE', 'OFFENSE_CODE_GROUP',\n",
1683 | " 'OFFENSE_DESCRIPTION', 'DISTRICT', 'REPORTING_AREA', 'SHOOTING',\n",
1684 | " 'OCCURRED_ON_DATE', 'YEAR', 'MONTH', 'DAY_OF_WEEK', 'HOUR', 'UCR_PART',\n",
1685 | " 'STREET', 'Lat', 'Long', 'Location'],\n",
1686 | " dtype='object')"
1687 | ]
1688 | },
1689 | "execution_count": 23,
1690 | "metadata": {},
1691 | "output_type": "execute_result"
1692 | }
1693 | ],
1694 | "source": [
1695 | "crime.columns"
1696 | ]
1697 | },
1698 | {
1699 | "cell_type": "code",
1700 | "execution_count": 24,
1701 | "id": "9772d819",
1702 | "metadata": {},
1703 | "outputs": [
1704 | {
1705 | "data": {
1706 | "text/plain": [
1707 | "Index(['DISTRICT', 'SHOOTING', 'UCR_PART', 'STREET', 'Lat', 'Long'], dtype='object')"
1708 | ]
1709 | },
1710 | "execution_count": 24,
1711 | "metadata": {},
1712 | "output_type": "execute_result"
1713 | }
1714 | ],
1715 | "source": [
1716 | "crime.columns[np.sum(crime.isnull()) != 0]"
1717 | ]
1718 | },
1719 | {
1720 | "cell_type": "code",
1721 | "execution_count": 25,
1722 | "id": "58e96c07",
1723 | "metadata": {},
1724 | "outputs": [
1725 | {
1726 | "data": {
1727 | "text/plain": [
1728 | "Index(['DISTRICT', 'SHOOTING', 'UCR_PART', 'STREET', 'Lat', 'Long'], dtype='object')"
1729 | ]
1730 | },
1731 | "execution_count": 25,
1732 | "metadata": {},
1733 | "output_type": "execute_result"
1734 | }
1735 | ],
1736 | "source": [
1737 | "# Checking for columns with missing values\n",
1738 | "crime.columns[np.sum(crime.isnull()) != 0]"
1739 | ]
1740 | },
1741 | {
1742 | "cell_type": "code",
1743 | "execution_count": 26,
1744 | "id": "906c0994",
1745 | "metadata": {},
1746 | "outputs": [
1747 | {
1748 | "data": {
1749 | "text/plain": [
1750 | "Index(['INCIDENT_NUMBER', 'OFFENSE_CODE', 'OFFENSE_CODE_GROUP',\n",
1751 | " 'OFFENSE_DESCRIPTION', 'REPORTING_AREA', 'OCCURRED_ON_DATE', 'YEAR',\n",
1752 | " 'MONTH', 'DAY_OF_WEEK', 'HOUR', 'Location'],\n",
1753 | " dtype='object')"
1754 | ]
1755 | },
1756 | "execution_count": 26,
1757 | "metadata": {},
1758 | "output_type": "execute_result"
1759 | }
1760 | ],
1761 | "source": [
1762 | "# Checking for columns with no missing values\n",
1763 | "crime.columns[np.sum(crime.isnull()) == 0]"
1764 | ]
1765 | },
1766 | {
1767 | "cell_type": "code",
1768 | "execution_count": 27,
1769 | "id": "887b29bf",
1770 | "metadata": {},
1771 | "outputs": [
1772 | {
1773 | "name": "stdout",
1774 | "output_type": "stream",
1775 | "text": [
1776 | "INCIDENT_NUMBER has 282517 unique values\n",
1777 | "OFFENSE_CODE has 222 unique values\n",
1778 | "OFFENSE_CODE_GROUP has 67 unique values\n",
1779 | "OFFENSE_DESCRIPTION has 244 unique values\n",
1780 | "DISTRICT has 12 unique values\n",
1781 | "REPORTING_AREA has 879 unique values\n",
1782 | "SHOOTING has 1 unique values\n",
1783 | "OCCURRED_ON_DATE has 233229 unique values\n",
1784 | "YEAR has 4 unique values\n",
1785 | "MONTH has 12 unique values\n",
1786 | "DAY_OF_WEEK has 7 unique values\n",
1787 | "HOUR has 24 unique values\n",
1788 | "UCR_PART has 4 unique values\n",
1789 | "STREET has 4657 unique values\n",
1790 | "Lat has 18178 unique values\n",
1791 | "Long has 18178 unique values\n",
1792 | "Location has 18194 unique values\n"
1793 | ]
1794 | }
1795 | ],
1796 | "source": [
1797 | "# Checking for the number of unique values in each column\n",
1798 | "for col in crime.columns:\n",
1799 | " unique_count = crime[col].nunique()\n",
1800 | " print(col + \" has \" + str(unique_count) + \" unique values\")"
1801 | ]
1802 | },
1803 | {
1804 | "attachments": {},
1805 | "cell_type": "markdown",
1806 | "id": "7e12d2c7",
1807 | "metadata": {},
1808 | "source": [
1809 | "### Let's answer some questions"
1810 | ]
1811 | },
1812 | {
1813 | "cell_type": "code",
1814 | "execution_count": 28,
1815 | "id": "5ce85da1",
1816 | "metadata": {},
1817 | "outputs": [
1818 | {
1819 | "data": {
1820 | "text/plain": [
1821 | "Motor Vehicle Accident Response 37132\n",
1822 | "Larceny 25935\n",
1823 | "Medical Assistance 23540\n",
1824 | "Investigate Person 18749\n",
1825 | "Other 18073\n",
1826 | " ... \n",
1827 | "HUMAN TRAFFICKING 7\n",
1828 | "INVESTIGATE PERSON 4\n",
1829 | "Biological Threat 2\n",
1830 | "HUMAN TRAFFICKING - INVOLUNTARY SERVITUDE 2\n",
1831 | "Burglary - No Property Taken 2\n",
1832 | "Name: OFFENSE_CODE_GROUP, Length: 67, dtype: int64"
1833 | ]
1834 | },
1835 | "execution_count": 28,
1836 | "metadata": {},
1837 | "output_type": "execute_result"
1838 | }
1839 | ],
1840 | "source": [
1841 | "# What are the most common crimes in terms of offense group?\n",
1842 | "crime.OFFENSE_CODE_GROUP.value_counts()"
1843 | ]
1844 | },
1845 | {
1846 | "cell_type": "code",
1847 | "execution_count": 29,
1848 | "id": "da8409f8",
1849 | "metadata": {},
1850 | "outputs": [
1851 | {
1852 | "data": {
1853 | "text/plain": [
1854 | "Motor Vehicle Accident Response 37132\n",
1855 | "Larceny 25935\n",
1856 | "Medical Assistance 23540\n",
1857 | "Investigate Person 18749\n",
1858 | "Other 18073\n",
1859 | "Drug Violation 16545\n",
1860 | "Simple Assault 15826\n",
1861 | "Vandalism 15414\n",
1862 | "Verbal Disputes 13099\n",
1863 | "Towed 11287\n",
1864 | "Name: OFFENSE_CODE_GROUP, dtype: int64"
1865 | ]
1866 | },
1867 | "execution_count": 29,
1868 | "metadata": {},
1869 | "output_type": "execute_result"
1870 | }
1871 | ],
1872 | "source": [
1873 | "crime.OFFENSE_CODE_GROUP.value_counts()[:10]"
1874 | ]
1875 | },
1876 | {
1877 | "cell_type": "code",
1878 | "execution_count": 30,
1879 | "id": "dfdc9687",
1880 | "metadata": {},
1881 | "outputs": [
1882 | {
1883 | "data": {
1884 | "text/plain": [
1885 | "319050"
1886 | ]
1887 | },
1888 | "execution_count": 30,
1889 | "metadata": {},
1890 | "output_type": "execute_result"
1891 | }
1892 | ],
1893 | "source": [
1894 | "crime.shape[0]"
1895 | ]
1896 | },
1897 | {
1898 | "cell_type": "code",
1899 | "execution_count": 31,
1900 | "id": "0ba23067",
1901 | "metadata": {
1902 | "scrolled": true
1903 | },
1904 | "outputs": [
1905 | {
1906 | "data": {
1907 | "text/plain": [
1908 | "Motor Vehicle Accident Response 0.116383\n",
1909 | "Larceny 0.081288\n",
1910 | "Medical Assistance 0.073782\n",
1911 | "Investigate Person 0.058765\n",
1912 | "Other 0.056646\n",
1913 | "Drug Violation 0.051857\n",
1914 | "Simple Assault 0.049604\n",
1915 | "Vandalism 0.048312\n",
1916 | "Verbal Disputes 0.041056\n",
1917 | "Towed 0.035377\n",
1918 | "Name: OFFENSE_CODE_GROUP, dtype: float64"
1919 | ]
1920 | },
1921 | "metadata": {},
1922 | "output_type": "display_data"
1923 | },
1924 | {
1925 | "data": {
1926 | "image/png": "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2VauXDl06NABs2fP1njfhg0bokqVKhp3IAWAjIwMFC5cGIsXL0afPn20ypWcnAxra2s8f/6cIyxERER6QtvPb51GWN6+fYuzZ8/Cx8dHpd3HxwfHjx/PXdJspKSkIC0tDUWKFPlkj0lERET6S6c5LI8ePUJGRgZsbW1V2m1tbZGUlPTJQo0dOxaOjo5o2rRpjn1SU1ORmpqq/D45OfmTPT8RERHJS64WjvtwYowQ4pOtfTJnzhxs2LABW7duhZmZWY79Zs+eDWtra+UXL2kmIiLKu3QqWIoVKwZDQ0O10ZQHDx6ojbrkxty5czFr1izs27cPlSpV0th33LhxeP78ufIrISHhPz8/ERERyZNOBYuJiQm8vLwQHh6u0h4eHo7atWv/pyC//PILpk+fjj179sDb2/uj/U1NTZWXMPNSZiIiorxN53VYAgIC0Lt3b3h7e6NWrVr4448/EB8fj8GDBwN4N/Jx9+5drF69Wnmfc+fOAQBevnyJhw8f4ty5czAxMYGnpyeAd6eBJk2ahPXr18PV1VU5gmNpaQlLS8v/eoxERESk53S+rBl4t3DcnDlzkJiYiAoVKmDBggWoX78+AKBfv364ffs2Dh8+/H9Pks38FhcXF9y+fRsA4Orqijt37qj1mTx5MqZMmaJVJl7WTEREpH+0/fzOVcEiRyxYiIiI9M9nWYeFiIiISAosWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyp/M6LHmJ69hdn/05bv/U+rM/BxERUV7HERYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2WLAQERGR7OWqYFm6dCnc3Nxg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1UPLli0RHx+fbf+4uDi0atUK9erVQ3R0NMaPH4/hw4cjNDRUre+dO3cwevRo1KtXT/cjISIiojzLSNc7zJ8/H35+fvD39wcALFy4EHv37sWyZcswe/Zstf6BgYFwdnbGwoULAQDlypXDmTNnMHfuXHTu3FnZLyMjA7169cLUqVNx5MgRPHv2LHdHRERE9Bm4jt312Z/j9k+tP/tz6CudRljevn2Ls2fPwsfHR6Xdx8cHx48fz/Y+kZGRav2bN2+OM2fOIC0tTdk2bdo0FC9eHH5+frpEIiIionxApxGWR48eISMjA7a2tirttra2SEpKyvY+SUlJ2fZPT0/Ho0ePYG9vj2PHjmHlypU4d+6c1llSU1ORmpqq/D45OVn7AyEiIiK9kqtJtwqFQuV7IYRa28f6Z7W/ePECX3/9NZYvX45ixYppnWH27NmwtrZWfjk5OelwBERERKRPdBphKVasGAwNDdVGUx48eKA2ipLFzs4u2/5GRkYoWrQoLl++jNu3b6Nt27bK2zMzM9+FMzLCtWvXULJkSbXHHTduHAICApTfJycns2ghIiLKo3QqWExMTODl5YXw8HB07NhR2R4eHo727dtne59atWrh77//Vmnbt28fvL29YWxsjLJly+LixYsqt0+cOBEvXrzAr7/+mmMRYmpqClNTU13iExERkZ7S+SqhgIAA9O7dG97e3qhVqxb++OMPxMfHY/DgwQDejXzcvXsXq1evBgAMHjwYixcvRkBAAAYMGIDIyEisXLkSGzZsAACYmZmhQoUKKs9RqFAhAFBrJyIiovxJ54KlW7duePz4MaZNm4bExERUqFABYWFhcHFxAQAkJiaqrMni5uaGsLAwjBo1CkuWLIGDgwMWLVqkckkzERERkSY6FywAMHToUAwdOjTb20JCQtTaGjRogKioKK0fP7vHICIiovyLewkRERGR7LFgISIiItljwUJERESyx4KFiIiIZI8FCxEREckeCxYiIiKSPRYsREREJHssWIiIiEj2crVwHBEREekn17G7Puvj3/6p9Wd5XI6wEBERkeyxYCEiIiLZY8FCREREsseChYiIiGSPBQsRERHJHgsWIiIikj0WLERERCR7LFiIiIhI9liwEBERkeyxYCEiIiLZY8FCREREsseChYiIiGSPBQsRERHJHgsWIiIikj0WLERERCR7LFiIiIhI9liw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",
1927 | "text/plain": [
1928 | ""
1929 | ]
1930 | },
1931 | "metadata": {},
1932 | "output_type": "display_data"
1933 | }
1934 | ],
1935 | "source": [
1936 | "offense_group_vals = crime.OFFENSE_CODE_GROUP.value_counts()[:10]\n",
1937 | "\n",
1938 | "display(offense_group_vals / crime.shape[0])\n",
1939 | "\n",
1940 | "# Creating a bar chart of the Top 10 offense groups\n",
1941 | "(offense_group_vals / crime.shape[0]).plot(kind='bar');\n",
1942 | "plt.title('Top 10 Offense Groups (as % of all crimes)');"
1943 | ]
1944 | },
1945 | {
1946 | "cell_type": "code",
1947 | "execution_count": 32,
1948 | "id": "e15c0db4",
1949 | "metadata": {},
1950 | "outputs": [
1951 | {
1952 | "data": {
1953 | "text/plain": [
1954 | "Burglary - No Property Taken 2\n",
1955 | "HUMAN TRAFFICKING - INVOLUNTARY SERVITUDE 2\n",
1956 | "Biological Threat 2\n",
1957 | "INVESTIGATE PERSON 4\n",
1958 | "HUMAN TRAFFICKING 7\n",
1959 | "Gambling 8\n",
1960 | "Manslaughter 8\n",
1961 | "Explosives 27\n",
1962 | "Phone Call Complaints 31\n",
1963 | "Aircraft 36\n",
1964 | "Name: OFFENSE_CODE_GROUP, dtype: int64"
1965 | ]
1966 | },
1967 | "execution_count": 32,
1968 | "metadata": {},
1969 | "output_type": "execute_result"
1970 | }
1971 | ],
1972 | "source": [
1973 | "# What are the least common offense groups?\n",
1974 | "crime.OFFENSE_CODE_GROUP.value_counts().sort_values(ascending=True)[:10]"
1975 | ]
1976 | },
1977 | {
1978 | "cell_type": "code",
1979 | "execution_count": 33,
1980 | "id": "d269207d",
1981 | "metadata": {},
1982 | "outputs": [],
1983 | "source": [
1984 | "# Question 1 - What are the most common offense descriptions?\n",
1985 | "# Hint - Use value_counts() to print out the values"
1986 | ]
1987 | },
1988 | {
1989 | "cell_type": "code",
1990 | "execution_count": 34,
1991 | "id": "da299784",
1992 | "metadata": {
1993 | "scrolled": true
1994 | },
1995 | "outputs": [],
1996 | "source": [
1997 | "# Question 2 - Now try and create a bar chart of the Top 10 Offense Descriptions as a % of total crimes"
1998 | ]
1999 | },
2000 | {
2001 | "cell_type": "code",
2002 | "execution_count": 35,
2003 | "id": "f79b9fbf",
2004 | "metadata": {},
2005 | "outputs": [
2006 | {
2007 | "data": {
2008 | "text/plain": [
2009 | "YEAR\n",
2010 | "2015 53371\n",
2011 | "2016 99110\n",
2012 | "2017 100884\n",
2013 | "2018 65685\n",
2014 | "Name: INCIDENT_NUMBER, dtype: int64"
2015 | ]
2016 | },
2017 | "execution_count": 35,
2018 | "metadata": {},
2019 | "output_type": "execute_result"
2020 | }
2021 | ],
2022 | "source": [
2023 | "crime.groupby('YEAR').count()['INCIDENT_NUMBER']"
2024 | ]
2025 | },
2026 | {
2027 | "cell_type": "code",
2028 | "execution_count": 36,
2029 | "id": "004ed113",
2030 | "metadata": {},
2031 | "outputs": [
2032 | {
2033 | "data": {
2034 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHaCAYAAADseiazAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2yUlEQVR4nO3df1yV9f3/8ecJ5IgMjgjBkcX8kX5Mwpli4Y9t6lR0gc5ss0WxaA5dmoyUjz/SprmF+dtNZzNnoqnRp8zWRxfDytz4+BvFRhqtzR84QVziwR8IhNf3j928vh0xywae8P24327ndtt5X69zXa/rvGc+fV/XOcdhWZYlAAAAA93i6wYAAAB8hSAEAACMRRACAADGIggBAABjEYQAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIATcpLKzs+VwONS8eXMdPXq03vZ+/fopNjbWB51J7777rhwOh1599VWfHP96HTlyRImJiWrVqpUcDocyMjIa7Vht27ZVampqo+0fgDd/XzcAoHFVV1dr+vTpevHFF33dSpP1xBNPaNeuXXrhhRfkdrvVunXrRjvWxo0bFRIS0mj7B+CNFSHgJjdkyBCtX79eBw4c8HUrN1xVVZUa4ucUi4qKdM8992j48OHq2bOn2rRp0wDdeauqqpIkdevWTbfffnuD7x/A1RGEgJvcpEmTFBYWpsmTJ1+z7siRI3I4HMrOzq63zeFwaObMmfbzmTNnyuFw6L333tMPf/hDuVwutWrVShMmTNAnn3yi4uJiDRkyRMHBwWrbtq3mzp171WNevHhREyZMkNvtVmBgoPr27av9+/fXq9u7d6+GDRumVq1aqXnz5urWrZv+53/+x6vm8qXAvLw8/eQnP9Gtt96qFi1aqLq6+jPP+dixY3r44YcVEREhp9Opzp07a8GCBbp06ZKk/38J76OPPtKbb74ph8Mhh8OhI0eOfOY+L126pCVLluiuu+5SYGCgWrZsqZ49e+qNN96wa9q2baukpCS99tpr6tatm5o3b66nn37a3vbpS2OXe1i/fr0mT56s1q1b62tf+5qGDh2qkydP6uzZsxo9erTCw8MVHh6uRx99VOfOnfPqybIsLVu2zO4pNDRUP/jBD/SPf/zDq27//v1KSkqy34+oqCglJibq+PHjn3m+QFPHpTHgJhccHKzp06fr5z//ud555x1997vfbbB9jxw5Ug8//LDGjBmjLVu2aO7cuaqtrdVbb72lsWPHKjMz0/4LvEOHDhoxYoTX65988kl1795dv//97+XxeDRz5kz169dP+/fvV/v27SVJW7du1ZAhQxQfH6/f/e53crlcysnJ0QMPPKALFy7Uu5/mJz/5iRITE/Xiiy/q/Pnzatas2VV7P3XqlHr37q2amhr98pe/VNu2bbVp0yZlZmbq73//u5YtW6bu3btrx44duu+++3T77bdr/vz5knTNS2Opqalau3atRo0apVmzZikgIED79u2rF5727dunQ4cOafr06WrXrp2CgoKu+V4/+eST6t+/v7Kzs3XkyBFlZmbqwQcflL+/v7p27aqXXnpJ+/fv15NPPqng4GD95je/sV87ZswYZWdnKz09XXPmzNHp06c1a9Ys9e7dWwcOHFBkZKTOnz+vQYMGqV27dvrtb3+ryMhIlZWVaevWrTp79uw1ewOaNAvATWnVqlWWJGvPnj1WdXW11b59e6tHjx7WpUuXLMuyrL59+1p33nmnXX/48GFLkrVq1ap6+5JkzZgxw34+Y8YMS5K1YMECr7q77rrLkmS99tpr9lhtba116623WiNGjLDHtm7dakmyunfvbvdjWZZ15MgRq1mzZtZPf/pTe+yOO+6wunXrZtXW1nodKykpyWrdurVVV1fndb4//vGPv9D7M2XKFEuStWvXLq/xxx57zHI4HFZxcbE91qZNGysxMfFz9/nnP//ZkmRNmzbtmnVt2rSx/Pz8vI7x6W2PPPKI/fzyezV06FCvuoyMDEuSlZ6e7jU+fPhwq1WrVvbzHTt2XHWuSkpKrMDAQGvSpEmWZVnW3r17LUnW66+//rnnCdxMuDQGGCAgIEC/+tWvtHfv3nqXlP4TSUlJXs87d+4sh8Oh733ve/aYv7+/OnTocNVPriUnJ8vhcNjP27Rpo969e2vr1q2SpI8++kgffPCBHnroIUnSJ598Yj/uvfdelZaWqri42Guf999//xfq/Z133lFMTIzuuecer/HU1FRZlqV33nnnC+3n0958801J0rhx4z639pvf/Kb+67/+6wvv+2rvtSQlJibWGz99+rR9eWzTpk1yOBx6+OGHvd4/t9utrl276t1335UkdejQQaGhoZo8ebJ+97vf6eDBg1+4N6ApIwgBhvjRj36k7t27a9q0aaqtrW2QfbZq1crreUBAgFq0aKHmzZvXG7948WK917vd7quOffzxx5KkkydPSpIyMzPVrFkzr8fYsWMlSf/617+8Xv9FP9H18ccfX7U2KirK3n69Tp06JT8/v6ue15Wu95NnV3uvrzV++f0+efKkLMtSZGRkvfdw586d9vvncrm0bds23XXXXXryySd15513KioqSjNmzGiw/78AX0XcIwQYwuFwaM6cORo0aJCef/75etsvh5crby7+MoHgiyorK7vqWFhYmCQpPDxckjR16tR69xdd1qlTJ6/nn15hupawsDCVlpbWGz9x4oTXsa/Hrbfeqrq6OpWVlX1u0Pmiff6nwsPD5XA49Je//EVOp7Pe9k+PdenSRTk5ObIsS++9956ys7M1a9YsBQYGasqUKTekX+BGY0UIMMjAgQM1aNAgzZo1q94niyIjI9W8eXO99957XuN/+MMfGq2fl156yevj7UePHtX27dvVr18/Sf8OOR07dtSBAwfUo0ePqz6Cg4O/1LEHDBiggwcPat++fV7ja9askcPhUP/+/a97n5cvCT733HNfqqfGkJSUJMuy9M9//vOq71+XLl3qvcbhcKhr165atGiRWrZsWe89Am4mrAgBhpkzZ47i4uJUXl6uO++80x6/fB/JCy+8oNtvv11du3bV7t27tX79+kbrpby8XPfdd5/S0tLk8Xg0Y8YMNW/eXFOnTrVrli9fru9973saPHiwUlNT9fWvf12nT5/WoUOHtG/fPr3yyitf6thPPPGE1qxZo8TERM2aNUtt2rTR5s2btWzZMj322GPXdf/OZd/+9reVkpKiX/3qVzp58qSSkpLkdDq1f/9+tWjRQuPHj/9Svf4n+vTpo9GjR+vRRx/V3r179Z3vfEdBQUEqLS1Vfn6+unTposcee0ybNm3SsmXLNHz4cLVv316WZem1117TmTNnNGjQoBveN3CjEIQAw3Tr1k0PPvjgVQPOggULJElz587VuXPn9N3vflebNm1S27ZtG6WXrKws7dmzR48++qgqKyt1zz33KCcnx+sLBfv376/du3frmWeeUUZGhioqKhQWFqaYmBiNHDnySx/71ltv1fbt2zV16lRNnTpVlZWVat++vebOnasJEyZ86f1mZ2ere/fuWrlypbKzsxUYGKiYmBg9+eSTX3qf/6nly5erZ8+eWr58uZYtW6ZLly4pKipKffr0sW8W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+ut699131b9/f1VUVKhly5afuQ/LstShQwctW7ZMW7duVXl5uV544QWvGofDoY0bN2r48OH2WFhYmFJTU7VgwYJGOjsAjY2f2ADQpD3yyCPauHGjHn30Ud1///0qKipSUVHRde1j69atunDhggYOHKjbbrtN8fHx+vWvf63g4OCr1tfV1WnDhg06ffq0mjVr1hCnAcBHWBEC0OSVl5crNjZWH3/8sV599VXdd999kmSvCAUFBXnVf/3rX1dxcbH9/KGHHlJERIQWLVokSbrrrrv0+OOP66c//ald43A41Lx5c/n5+enixYuqq6tTq1attGvXLnXo0OEGnCWAxsCKEIAmLyIiQqNHj9brr79uh6BP+8tf/uK1uvPpX+c+c+aMXnvtNeXn59tjDz/8sF544QWvICRJixYt0sCBA1VSUqIJEyboiSeeIAQBTRxBCMBNwd/f3yvgfFq7du0+8x6h9evX6+LFi4qPj7fHLMvSpUuXdPDgQcXExNjjbrdbHTp0UIcOHfTKK6+oW7du6tGjh1cNgKaFT40BMNrKlSs1ceJEFRYW2o8DBw6of//+9W6Y/rQOHTro/vvv19SpU29gtwAaGitCAG565eXlunjxotdYWFiY3n//fe3bt0/r1q2r9/1BDz74oKZNm6bZs2d/5g3REydOVNeuXbV371716NGj0foH0HhYEQJw0+vUqZNat27t9SgoKNDKlSsVExNz1S9RHD58uE6fPq3//d///cz9dunSRQMHDtQvfvGLxmwfQCPiU2MAAMBYrAgBAABjEYQAAICxCEIAAMBYBCEAAGAsghAAADAWQQgAABiLIAQAAIxFEAIAAMYiCAEAAGMRhAAAgLEIQgAAwFj/D1qZSrnQqr/nAAAAAElFTkSuQmCC",
2035 | "text/plain": [
2036 | ""
2037 | ]
2038 | },
2039 | "metadata": {},
2040 | "output_type": "display_data"
2041 | }
2042 | ],
2043 | "source": [
2044 | "# In which year were the most crimes committed?\n",
2045 | "crime.groupby('YEAR').count()['INCIDENT_NUMBER'].plot(kind='bar');\n",
2046 | "plt.title('Number of crimes');"
2047 | ]
2048 | },
2049 | {
2050 | "cell_type": "code",
2051 | "execution_count": 37,
2052 | "id": "88ba7a14",
2053 | "metadata": {},
2054 | "outputs": [],
2055 | "source": [
2056 | "# Question 3 - Are there more crimes committed on specific days?"
2057 | ]
2058 | },
2059 | {
2060 | "cell_type": "code",
2061 | "execution_count": 38,
2062 | "id": "880134ba",
2063 | "metadata": {},
2064 | "outputs": [
2065 | {
2066 | "data": {
2067 | "image/png": "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VqxQTEyMOnTooKKiIu3du9caKysrU319vbKysqx9CQkJSklJ0Zo1ayRJa9euldPptEKOJHXv3l1Op9OjJiUlxQo5kpSdnS23262ysrJG5+V2u1VbW+uxAQAA+2rxoJOTk6O5c+dq+fLlmjx5sjZu3KjrrrtObrdbklRdXa3AwEBFRER43C82NlbV1dVWTUxMTIPeMTExHjWxsbEe4xEREQoMDLRqTjdhwgTrnB+n06nExMTzPl4AAPDD5fVLV+dy6623Wv9OSUlRt27d1K5dOy1evFgDBgw44/2MMXI4HNbtU/99PjWnGjt2rEaPHm3drq2tJewAAGBjrX55eXx8vNq1a6ft27dLkuLi4lRXV6eamhqPur1791orNHFxcdqzZ0+DXvv27fOoOX3lpqamRvX19Q1Wek4KCgpSeHi4xwYAAOyr1YPO/v37VVFRofj4eElSWlqaAgICtHTpUqumqqpKmzdvVo8ePSRJGRkZcrlc2rBhg1Wzfv16uVwuj5rNmzerqqrKqlmyZImCgoKUlpbW2ocFAAB8gNcvXR0+fFiff/65dXvHjh0qLy9XZGSkIiMjNW7cON18882Kj4/Xzp079fDDDys6Olo33XSTJMnpdGrIkCEqLi5WVFSUIiMjNWbMGKWmplpXYXXu3Fl9+vRRUVGRZsyYIUkaNmyYcnNz1bFjR0lSVlaWunTpooKCAk2aNEkHDhzQmDFjVFRUxEoN0ARcXQjgx8DroLNp0yb16tXLun3ynJfBgwdr+vTp+uSTT/Tyyy/r4MGDio+PV69evTR//nyFhYVZ95kyZYr8/f01cOBAHT16VNdff71efPFF+fn5WTVz587VyJEjrauz8vLyPN67x8/PT4sXL9a9996rnj17KiQkRPn5+XrmmWe8/yoAAABb8jroZGZmyhhzxvH33nvvnD2Cg4M1depUTZ069Yw1kZGRKikpOWuftm3batGiRed8PAAA8OPEZ10BAADbIugAAADbIugAAADbIugAAADbIugAAADbIugAAADbIugAAADbIugAAADbavFPLwcAABcWH/Hy/7GiAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbIugAwAAbMv/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cX//PTnu778nx/3997T7cZ+8bYw5952Nj/rPf/5jJJl//vOfHvufeuop06FDh0bv89hjjxlJbGxsbGxsbDbYKioqzpkXfHZF5ySHw+Fx2xjTYN9JY8eO1ejRo63bx48f14EDBxQVFXXG+0gnkmNiYqIqKioUHh7eIvP2hZ6+MMfW6OkLc2yNnr4wx9bo6QtzbI2evjDH1ujpC3NsjZ6+MEdvehpjdOjQISUkJJyzp88GnejoaPn5+am6utpj/969exUbG9vofYKCghQUFOSx75JLLmnyY4aHh7fYf6Yv9fSFObZGT1+YY2v09IU5tkZPX5hja/T0hTm2Rk9fmGNr9PSFOTa1p9PpbFIvnz0ZOTAwUGlpaVq6dKnH/qVLl6pHjx4XaFYAAOCHxGdXdCRp9OjRKigoULdu3ZSRkaHnn39eu3bt0j333HOhpwYAAH4AfDro3Hrrrdq/f7+eeOIJVVVVKSUlRe+8847atWvXoo8TFBSkxx57rMHLXnbv6QtzbI2evjDH1ujpC3NsjZ6+MMfW6OkLc2yNnr4wx9bo6QtzbK2eDmOacm0WAACA7/HZc3QAAADOhaADAABsi6ADAABsi6ADAABsi6CD7x3nvwMAvi8+fXl5a6msrNT06dO1Zs0aVVdXy+FwKDY2Vj169NA999yjxMTECz1FnxYUFKSPPvpInTt3vtBT+VGrqqrS9OnTtXr1alVVVcnPz09JSUnq37+/CgsL5efnd6GnCADnjcvLT7N69Wrl5OQoMTFRWVlZio2NlTFGe/fu1dKlS1VRUaF3331XPXv2bNHHraio0GOPPaYXXnihyfc5evSoysrKFBkZqS5duniMffvtt3rttdd05513Nrnf1q1btW7dOmVkZKhTp07697//rT/96U9yu9264447dN111zW5lySPzxU71Z/+9CfdcccdioqKkiQ9++yzXvU9VU1NjV566SVt375d8fHxGjx4sFdB9F//+pcuueQSJSUlSZJKSko0ffp07dq1S+3atdN9992nQYMGeTWnESNGaODAgfr1r3/t1f3OZerUqdq0aZP69u2rgQMHas6cOZowYYKOHz+uAQMG6IknnpC/f9P+dtm0aZN69+6tpKQkhYSEaP369br99ttVV1en9957T507d9Z7772nsLCwFj0GAI07cuSIXnnllQZ/YPfs2VO33XabQkNDW+yx9uzZoxkzZujRRx/1+r6VlZW65JJLdPHFF3vsr6+v19q1a3XNNdd41W///v36+OOPdcUVVygyMlJff/21Zs2aJbfbrVtuuaVl/iA+r48Qt6Fu3bqZUaNGnXF81KhRplu3bi3+uOXl5aZNmzZNrt+2bZtp166dcTgcpk2bNubaa681u3fvtsarq6u96vfuu++awMBAExkZaYKDg827775rLr30UtO7d29z/fXXG39/f/P+++97dUwOh8NceeWVJjMz02NzOBzm6quvNpmZmaZXr15e9YyPjzdff/21McaYL7/80sTFxZm4uDhzww03mMsuu8w4nU6zdevWJvfr2rWrWb58uTHGmJkzZ5qQkBAzcuRIM336dDNq1Chz8cUXm1mzZnk1x5P/J8nJyWbixImmqqrKq/s35oknnjBhYWHm5ptvNnFxcWbixIkmKirKPPnkk2b8+PHm0ksvNY8++miT+/Xs2dOMGzfOuj1nzhyTnp5ujDHmwIED5sorrzQjR45s1lwPHz5snn/+eVNYWGj69OljcnJyTGFhoZk5c6Y5fPhws3qeSXV1tXn88cebdd+Kigpz6NChBvvr6urMypUrve739ddfm+XLl5v9+/cbY4zZt2+fmThxonn88cfNli1bmjXH0yUlJZnPPvusRXrV1dWZBQsWmKefftrMmTOnWf83FRUVZt++fdbtVatWmfz8fPOrX/3K3H777WbNmjVe9XvmmWfMzp07vZ7Hubz11lvm0Ucftebz/vvvm5ycHJOdnW1mzJjRrJ7ffPONmTVrlvmv//ov06dPH9O3b19z3333mWXLlnnd69NPPzUJCQnmkksuMTfeeKMZNmyYKSoqMjfeeKO55JJLzE9+8hPz6aefNmuejfH2940xxuzevdtcffXVpk2bNsbPz8/ceeedHj8/3v7OMcaY9evXG6fTaRwOh4mIiDCbNm0ySUlJJjk52fz85z83ISEhpqyszKuejSHonCY4ONj8+9//PuP41q1bTXBwsNd933zzzbNuU6ZM8eqbpH///iY3N9fs27fPbN++3fTr188kJSWZr776yhjj/TddRkaGeeSRR4wxxrz66qsmIiLCPPzww9b4ww8/bG644YYm9zPGmPHjx5ukpKQGAcnf37/ZP7QOh8Ps2bPHGGPMoEGDTGZmpjly5Igxxphvv/3W5Obmmt/+9rdN7nfRRRdZX7OuXbs2eNKbO3eu6dKli9dzXLZsmbn//vtNdHS0CQgIMHl5eebtt982x44d86rXST/96U/N66+/bow58STl5+dnSkpKrPE33njD/PznP29yv5CQEPPFF19Yt48dO2YCAgJMdXW1McaYJUuWmISEBK/nyRN2yzxh/+lPf2p08/PzM2PHjrVueyMjI8PU1NQYY4zZu3evSU1NNYGBgSY5OdkEBwebtm3bmsrKSq97vvPOO8YYYxYuXGjatGlj8vLyzIMPPmhuuukmExAQYN5+++0m93M4HMbPz8/07t3bzJs3z7jdbq/m05jp06cbf39/k5aWZsLDw01JSYkJCwszQ4cONXfffbcJCQkxzz33nFc9t2/fbtq1a2eioqJMfHy8cTgcpm/fviY9Pd34+fmZW265xdTX1ze5X2Zmphk0aFCjx+t2u81tt91mMjMzm9zvo48+Ous2f/58r7/H77zzTtO9e3ezceNGs3TpUtOtWzeTlpZmDhw4YIw58XPjcDi86tm7d28zdOhQU1tbayZNmmQuu+wyM3ToUGt8yJAhpn///l71bAxB5zRJSUnmhRdeOOP4Cy+8YJKSkrzue/KvfIfDccbNm2+8mJgY8/HHH3vsu/fee03btm3NF1984fWTdXh4uNm+fbsx5sQvPX9/f48n5k8++cTExsY2ud9JGzZsMB06dDDFxcWmrq7OGNNyQaexELVu3Tpz2WWXNblfVFSU2bRpkzHmxNe0vLzcY/zzzz83ISEhzZ5jXV2dmT9/vsnOzjZ+fn4mISHBPPzww9bXuqlCQkKsQGaMMQEBAWbz5s3W7Z07d5qLLrqoyf3atWtnVq9ebd3evXu3cTgc5ptvvjHGGLNjx45mBXqesFvmCdvhcJjLLrvMtG/f3mNzOBzmJz/5iWnfvr3Xz0Onfl8WFRWZK6+80lpt/Prrr02PHj3MXXfd5VXPsLAws2PHDmOMMenp6WbixIke41OnTjVdu3b1ao6zZ882N954owkICDBRUVHm/vvvN5988olX8zpV586dzfPPP2+MMWb58uUmODjY/PnPf7bGZ8+ebTp37uxVz5ycHHP33Xdbf7hMmDDB5OTkGGOM+eyzz0z79u3NY4891uR+ISEhZ31O/OSTT7x6Hjrb75uT+739uUlISDDr16+3bn/77bfmxhtvNFdeeaXZv39/s/5AiIiIsFY76+rqTJs2bTwe48MPPzQ/+clPvOrZGILOaf785z+bwMBAM3z4cLNw4UKzdu1as27dOrNw4UIzfPhwExQUZKZPn+5134SEBLNgwYIzjv/rX//y6pskLCys0eXw++67z1x22WVm1apVzQ46xhhz8cUXe/zFv3Pnzmb94jPGmEOHDpk777zTpKammo8//tgEBAScV9DZu3evMebE1/TUX/bGnPgFHRQU1OR+d9xxhxkyZIgxxphbbrnF/J//8388xsePH29SU1O9nuPJXyin+uqrr8xjjz1m2rVr5/UTQlJSknn33XeNMSeeSNu0aWNee+01a3zx4sWmffv2Te53//33m5SUFPPuu++a5cuXm169enkEkNLSUvOzn/3MqzkawxO2MS3zhD1s2DBz5ZVXNvgZb6k/Ejp06GAWLVrkMf7BBx949T1kjDFOp9N89NFHxpgTfyic/PdJn3/+uVcB/NQ57tmzx/zxj380nTp1Mm3atDFXX321ef75501tba1Xc2zsj4RTg9OOHTu8mqMxJ1aCT30J0e12m4CAAOtl9YULF3r1tUxISDALFy484/iCBQu8WmGNjo42s2bNMjt37mx0W7x4sdff46GhoQ1eNq2vrzf9+/c3l19+ufn444+b1fNkUDam4e+dr776qtm/d05F0GnEvHnzTHp6uvH397eeVP39/U16erqZP39+s3r269fP/P73vz/jeHl5uVd/RV599dXm5ZdfbnRs+PDh5pJLLvHqm+7yyy+3fpEac+IX0qlLr//4xz+atZJ1qldffdXExsaaNm3anNeTdWpqqunatau5+OKLzRtvvOExvnLlSq9+ofznP/8x7du3N9dcc40ZPXq0CQkJMb/61a9MUVGRueaaa0xgYKBZvHix13NsLOicdPz4cbNkyRKvej7yyCPm0ksvNUOHDjVJSUlm7Nixpm3btmb69Onmr3/9q0lMTDT//d//3eR+hw4dMgMHDrS+x3v06GG+/PJLa/y9997zCFJNxRP2CS3xhL1gwQKTmJhopk6dau0736Bz8o+EmJiYBn127tzp1R8JxhiTl5dnHnroIWOMMdnZ2Q1eTps5c6ZJTk72ao6N/eysWrXKDB482ISGhprQ0FCv5njyDz9jTvy8OxwOj5/pFStWeLUKbMyJ7/NTV7xramqMw+GwQtiXX37p1dfyscceM06n00yaNMmUl5ebqqoqU11dbcrLy82kSZNMRESEV+eiZWdnmz/84Q9nHPf2940xxqSmppq///3vDfaf/Nlp27at1z83nTp18liVX7RokbWqbIz3K/RnQtA5i7q6OrN7926ze/du62WX5lq1apVHkDjd4cOHzYoVK5rcb/z48dZSaWN+97vfefWNPH369AZ/4Z3q4YcftlY+zkdFRYVZuHBhs09KHTdunMdWWlrqMT5mzBgzaNAgr3rW1NSYBx980HTp0sUEBwebwMBA065dO5Ofn282btzo9Rzbt29v/WXXUr777jvz5JNPmtzcXOvlgVdffdUkJiaaqKgoU1hY2Kyv6dGjRxs9Ibe5eMI+oaWesCsrK811111n+vTpY6qqqs476PzmN78xN910k4mIiLDOrTlp7dq1Xr88vWXLFhMVFWXuvPNO84c//MFcfPHF5o477jBPPfWUufPOO01QUJCZPXt2k/u1adPmrH8kuFwu62Wopho+fLhJTk42Tz75pPnlL39pBg8ebDp16mTeffddU1paalJTU71+yW7w4MHm2muvNVu3bjVffvmlufXWWz1eoluxYoVJTEz0qufEiROt833atGljrVjGx8ebP/7xj171euONN8ycOXPOOH7gwAHz4osvetXzgQceMFlZWY2O1dfXm7y8PK9/bsaNG2deffXVM44//PDDZsCAAV71bAxBB0CLssMTtrfhqTWfsI8fP27Gjx9v4uLijJ+fX7ODTmFhocd2+ordmDFjTHZ2ttd9P//8czNo0CATFhZmrYAHBASYHj16nPXl+sacazW0OQ4fPmyGDh1qUlJSzD333GPq6urMpEmTTGBgoHE4HCYzM9Prx9yzZ4/p3r279T3evn178+GHH1rjf/vb38z//M//NGu+X375pVmzZo1Zs2aNxyrrhVZfX29cLtcZx7/77rsWv2LuyJEj5ttvvz3vPryPDoBWsWPHDlVXV0uS4uLirPcqutC+++47ffPNNwoPD290/NixY6qsrFS7du1a7DG/+eYb+fn5KSgoqNk9ysrKtHr1at15552KiIhosbmddOTIEfn5+Sk4OLhZ9zf/7/3Gjh8/rujoaAUEBLTwDFvWt99+q/r6+vN6r6jt27fL7XarU6dOTX4PK3z/+AgIAK0iKSlJGRkZysjIsEJORUWF7rrrrhZ7jOb08/f3P2PIkaTdu3fr8ccfP9+pedi/f79+97vfnVePtLQ03X///YqIiGjxr6MkHThwQPfee2+z73/yDe7i4+OtkPND+P8+k+DgYIWFhZ1Xz+TkZKWkpDQIOc3pefToUa1evVpbtmxpMPbtt9/q5ZdfvqD9fKlnA+e9JgQATdSc9735Pvv5Sk9fmGNr9PSFOTanZ0u/AWxL9/Olno1hrQ1Ai3nrrbfOOv7ll19e0H6+0tMX5tgaPX1hjq3R88EHH1Rqaqo2bdqkgwcPavTo0erZs6dWrFihtm3bej2/lu7nSz0bwzk6AFpMmzZt5HA4zvoJ9Q6HQ8eOHbsg/Xylpy/MsTV6+sIcW6NnbGysli1bptTUVGvf8OHDtWjRIn3wwQcKDQ1VQkLCBevnSz0bwzk6AFpMfHy8Xn/9dR0/frzR7cMPP7yg/Xylpy/MsTV6+sIcW6Pn0aNHG5zn8+c//1l5eXm69tpr9dlnn13Qfr7UszEEHQAtJi0t7axP8uf6K7i1+/lKT1+YY2v09IU5tkbPTp06adOmTQ32T506VTfeeKPy8vK8ml9L9/Olno0677N8AOD/aek3xmzpfr7S0xfm2Bo9fWGOrdGzpd8AtqX7+VLPxnCODgAAsC1eugIAALZF0AEAALZF0AEAALZF0AEAALZF0AEAALZF0AHwg1JYWKj+/fs32L9ixQo5HA4dPHhQ0olPGZ8yZYouv/xyBQcH65JLLlFOTo7++c9/etxv3LhxuvLKKxv0O3jwoBwOh1asWCFJ2rlzpxwOh7U5nU51795db7/9dgsfIYDvE0EHgM8xxmjQoEF64oknNHLkSG3dulUrV65UYmKiMjMztXDhwmb3XrZsmaqqqrR+/Xr98pe/1M0336zNmze33OQBfK8IOgB8zmuvvaa///3vevnllzV06FAlJSXpiiuu0PPPP6+8vDwNHTpUR44caVbvqKgoxcXFqVOnTnrqqadUX1+vDz74oIWPAMD3haADwOe88sor6tChg/r169dgrLi4WPv379fSpUvP6zHq6+s1c+ZMSVJAQMB59QJw4fifuwQAvl+LFi3SxRdf7LHv1E8w/uyzz9S5c+dG73tyf3M/ELBHjx5q06aNjh49quPHj6t9+/YaOHBgs3oBuPAIOgB+cHr16qXp06d77Fu/fr3uuOOOJvdwOBzNeuz58+erU6dO+uyzzzRq1Cj99a9/VWRkZLN6AbjwCDoAfnBCQ0P185//3GNfZWWl9e8OHTpoy5Ytjd5369atkqTk5GRJUnh4uFwuV4O6k1dvOZ1Oj/2JiYlKTk5WcnKyLr74Yt18883asmWLYmJimn08AC4cztEB4HMGDRqk7du3N3rp9+TJkxUVFaUbbrhBktSpUydVVlaqurrao27jxo1q06ZNg0B1qmuvvVYpKSl66qmnWvYAAHxvCDoAfM6gQYN00003afDgwZo1a5Z27typjz/+WHfffbfeeust/e///q9CQ0MlSVlZWercubMGDRqkf/7zn9qxY4fefPNNjRkzRvfcc4/CwsLO+ljFxcWaMWOG/vOf/3wfhwaghRF0APgch8Oh1157TY888oimTJmiTp066de//rW++uorffDBBx5vOOjv768lS5bopz/9qW6//Xb94he/0EMPPaShQ4fq2WefPedj5ebmqn379qzqAD7KYYwxF3oSAAAArYEVHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFsEHQAAYFv/FwEisk6vfSr5AAAAAElFTkSuQmCC",
2068 | "text/plain": [
2069 | ""
2070 | ]
2071 | },
2072 | "metadata": {},
2073 | "output_type": "display_data"
2074 | }
2075 | ],
2076 | "source": [
2077 | "# Are there more crimes during specific hours?\n",
2078 | "crime.groupby('HOUR').count()['INCIDENT_NUMBER'].plot(kind='bar');"
2079 | ]
2080 | },
2081 | {
2082 | "cell_type": "code",
2083 | "execution_count": 39,
2084 | "id": "8731c724",
2085 | "metadata": {},
2086 | "outputs": [],
2087 | "source": [
2088 | "# On what days and during which hours are the most crimes committed?"
2089 | ]
2090 | },
2091 | {
2092 | "cell_type": "code",
2093 | "execution_count": 40,
2094 | "id": "6b1da8af",
2095 | "metadata": {},
2096 | "outputs": [
2097 | {
2098 | "data": {
2099 | "text/html": [
2100 | "\n",
2101 | "\n",
2114 | "
\n",
2115 | " \n",
2116 | " \n",
2117 | " DAY_OF_WEEK | \n",
2118 | " Friday | \n",
2119 | " Monday | \n",
2120 | " Saturday | \n",
2121 | " Sunday | \n",
2122 | " Thursday | \n",
2123 | " Tuesday | \n",
2124 | " Wednesday | \n",
2125 | "
\n",
2126 | " \n",
2127 | " HOUR | \n",
2128 | " | \n",
2129 | " | \n",
2130 | " | \n",
2131 | " | \n",
2132 | " | \n",
2133 | " | \n",
2134 | " | \n",
2135 | "
\n",
2136 | " \n",
2137 | " \n",
2138 | " \n",
2139 | " 0 | \n",
2140 | " 2161 | \n",
2141 | " 2000 | \n",
2142 | " 2612 | \n",
2143 | " 2400 | \n",
2144 | " 2039 | \n",
2145 | " 1897 | \n",
2146 | " 1997 | \n",
2147 | "
\n",
2148 | " \n",
2149 | " 1 | \n",
2150 | " 1275 | \n",
2151 | " 1058 | \n",
2152 | " 1855 | \n",
2153 | " 2043 | \n",
2154 | " 1077 | \n",
2155 | " 1017 | \n",
2156 | " 942 | \n",
2157 | "
\n",
2158 | " \n",
2159 | " 2 | \n",
2160 | " 952 | \n",
2161 | " 846 | \n",
2162 | " 1827 | \n",
2163 | " 1855 | \n",
2164 | " 774 | \n",
2165 | " 641 | \n",
2166 | " 798 | \n",
2167 | "
\n",
2168 | " \n",
2169 | " 3 | \n",
2170 | " 532 | \n",
2171 | " 583 | \n",
2172 | " 957 | \n",
2173 | " 1119 | \n",
2174 | " 526 | \n",
2175 | " 460 | \n",
2176 | " 412 | \n",
2177 | "
\n",
2178 | " \n",
2179 | " 4 | \n",
2180 | " 441 | \n",
2181 | " 386 | \n",
2182 | " 672 | \n",
2183 | " 704 | \n",
2184 | " 436 | \n",
2185 | " 399 | \n",
2186 | " 370 | \n",
2187 | "
\n",
2188 | " \n",
2189 | " ... | \n",
2190 | " ... | \n",
2191 | " ... | \n",
2192 | " ... | \n",
2193 | " ... | \n",
2194 | " ... | \n",
2195 | " ... | \n",
2196 | " ... | \n",
2197 | "
\n",
2198 | " \n",
2199 | " 19 | \n",
2200 | " 2564 | \n",
2201 | " 2606 | \n",
2202 | " 2301 | \n",
2203 | " 2114 | \n",
2204 | " 2510 | \n",
2205 | " 2768 | \n",
2206 | " 2724 | \n",
2207 | "
\n",
2208 | " \n",
2209 | " 20 | \n",
2210 | " 2307 | \n",
2211 | " 2319 | \n",
2212 | " 2131 | \n",
2213 | " 2109 | \n",
2214 | " 2349 | \n",
2215 | " 2369 | \n",
2216 | " 2265 | \n",
2217 | "
\n",
2218 | " \n",
2219 | " 21 | \n",
2220 | " 2089 | \n",
2221 | " 2003 | \n",
2222 | " 2077 | \n",
2223 | " 1902 | \n",
2224 | " 2070 | \n",
2225 | " 1925 | \n",
2226 | " 2043 | \n",
2227 | "
\n",
2228 | " \n",
2229 | " 22 | \n",
2230 | " 2160 | \n",
2231 | " 1634 | \n",
2232 | " 2113 | \n",
2233 | " 1728 | \n",
2234 | " 1795 | \n",
2235 | " 1757 | \n",
2236 | " 1738 | \n",
2237 | "
\n",
2238 | " \n",
2239 | " 23 | \n",
2240 | " 1936 | \n",
2241 | " 1243 | \n",
2242 | " 1951 | \n",
2243 | " 1380 | \n",
2244 | " 1492 | \n",
2245 | " 1296 | \n",
2246 | " 1298 | \n",
2247 | "
\n",
2248 | " \n",
2249 | "
\n",
2250 | "
24 rows × 7 columns
\n",
2251 | "
"
2252 | ],
2253 | "text/plain": [
2254 | "DAY_OF_WEEK Friday Monday Saturday Sunday Thursday Tuesday Wednesday\n",
2255 | "HOUR \n",
2256 | "0 2161 2000 2612 2400 2039 1897 1997\n",
2257 | "1 1275 1058 1855 2043 1077 1017 942\n",
2258 | "2 952 846 1827 1855 774 641 798\n",
2259 | "3 532 583 957 1119 526 460 412\n",
2260 | "4 441 386 672 704 436 399 370\n",
2261 | "... ... ... ... ... ... ... ...\n",
2262 | "19 2564 2606 2301 2114 2510 2768 2724\n",
2263 | "20 2307 2319 2131 2109 2349 2369 2265\n",
2264 | "21 2089 2003 2077 1902 2070 1925 2043\n",
2265 | "22 2160 1634 2113 1728 1795 1757 1738\n",
2266 | "23 1936 1243 1951 1380 1492 1296 1298\n",
2267 | "\n",
2268 | "[24 rows x 7 columns]"
2269 | ]
2270 | },
2271 | "execution_count": 40,
2272 | "metadata": {},
2273 | "output_type": "execute_result"
2274 | }
2275 | ],
2276 | "source": [
2277 | "crime.groupby(['HOUR','DAY_OF_WEEK']).count()['INCIDENT_NUMBER'].unstack()"
2278 | ]
2279 | },
2280 | {
2281 | "cell_type": "code",
2282 | "execution_count": 41,
2283 | "id": "a968bcce",
2284 | "metadata": {},
2285 | "outputs": [],
2286 | "source": [
2287 | "week_and_hour = crime.groupby(['HOUR','DAY_OF_WEEK']).count()['INCIDENT_NUMBER'].unstack()"
2288 | ]
2289 | },
2290 | {
2291 | "cell_type": "code",
2292 | "execution_count": 42,
2293 | "id": "1470a2a8",
2294 | "metadata": {},
2295 | "outputs": [],
2296 | "source": [
2297 | "week_and_hour = week_and_hour[['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']]"
2298 | ]
2299 | },
2300 | {
2301 | "cell_type": "code",
2302 | "execution_count": 43,
2303 | "id": "7053f34d",
2304 | "metadata": {
2305 | "scrolled": false
2306 | },
2307 | "outputs": [
2308 | {
2309 | "data": {
2310 | "image/png": "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",
2311 | "text/plain": [
2312 | ""
2313 | ]
2314 | },
2315 | "metadata": {},
2316 | "output_type": "display_data"
2317 | }
2318 | ],
2319 | "source": [
2320 | "sns.heatmap(week_and_hour, cmap=sns.cubehelix_palette(as_cmap=True));"
2321 | ]
2322 | },
2323 | {
2324 | "cell_type": "code",
2325 | "execution_count": 44,
2326 | "id": "bb5d8f47",
2327 | "metadata": {},
2328 | "outputs": [],
2329 | "source": [
2330 | "# In which months were the number of crimes below average? \n",
2331 | "# In which months on average did the most crimes occur?"
2332 | ]
2333 | },
2334 | {
2335 | "cell_type": "code",
2336 | "execution_count": 45,
2337 | "id": "e43ec5b7",
2338 | "metadata": {},
2339 | "outputs": [
2340 | {
2341 | "name": "stdout",
2342 | "output_type": "stream",
2343 | "text": [
2344 | "The average number of crimes is 7976.25\n"
2345 | ]
2346 | },
2347 | {
2348 | "data": {
2349 | "text/html": [
2350 | "\n",
2355 | "\n",
2356 | " \n",
2357 | " \n",
2358 | " YEAR | \n",
2359 | " 2015 | \n",
2360 | " 2016 | \n",
2361 | " 2017 | \n",
2362 | " 2018 | \n",
2363 | "
\n",
2364 | " \n",
2365 | " MONTH | \n",
2366 | " | \n",
2367 | " | \n",
2368 | " | \n",
2369 | " | \n",
2370 | "
\n",
2371 | " \n",
2372 | " \n",
2373 | " \n",
2374 | " 1 | \n",
2375 | " nan | \n",
2376 | " 7835.000000 | \n",
2377 | " 7991.000000 | \n",
2378 | " 7782.000000 | \n",
2379 | "
\n",
2380 | " \n",
2381 | " 2 | \n",
2382 | " nan | \n",
2383 | " 7307.000000 | \n",
2384 | " 7408.000000 | \n",
2385 | " 6937.000000 | \n",
2386 | "
\n",
2387 | " \n",
2388 | " 3 | \n",
2389 | " nan | \n",
2390 | " 8199.000000 | \n",
2391 | " 8179.000000 | \n",
2392 | " 7768.000000 | \n",
2393 | "
\n",
2394 | " \n",
2395 | " 4 | \n",
2396 | " nan | \n",
2397 | " 8101.000000 | \n",
2398 | " 8069.000000 | \n",
2399 | " 7916.000000 | \n",
2400 | "
\n",
2401 | " \n",
2402 | " 5 | \n",
2403 | " nan | \n",
2404 | " 8578.000000 | \n",
2405 | " 8715.000000 | \n",
2406 | " 8906.000000 | \n",
2407 | "
\n",
2408 | " \n",
2409 | " 6 | \n",
2410 | " 4188.000000 | \n",
2411 | " 8558.000000 | \n",
2412 | " 8985.000000 | \n",
2413 | " 8834.000000 | \n",
2414 | "
\n",
2415 | " \n",
2416 | " 7 | \n",
2417 | " 8322.000000 | \n",
2418 | " 8618.000000 | \n",
2419 | " 9075.000000 | \n",
2420 | " 8538.000000 | \n",
2421 | "
\n",
2422 | " \n",
2423 | " 8 | \n",
2424 | " 8340.000000 | \n",
2425 | " 8938.000000 | \n",
2426 | " 9206.000000 | \n",
2427 | " 8337.000000 | \n",
2428 | "
\n",
2429 | " \n",
2430 | " 9 | \n",
2431 | " 8411.000000 | \n",
2432 | " 8521.000000 | \n",
2433 | " 8940.000000 | \n",
2434 | " 667.000000 | \n",
2435 | "
\n",
2436 | " \n",
2437 | " 10 | \n",
2438 | " 8305.000000 | \n",
2439 | " 8582.000000 | \n",
2440 | " 8846.000000 | \n",
2441 | " nan | \n",
2442 | "
\n",
2443 | " \n",
2444 | " 11 | \n",
2445 | " 7818.000000 | \n",
2446 | " 7922.000000 | \n",
2447 | " 7935.000000 | \n",
2448 | " nan | \n",
2449 | "
\n",
2450 | " \n",
2451 | " 12 | \n",
2452 | " 7987.000000 | \n",
2453 | " 7951.000000 | \n",
2454 | " 7535.000000 | \n",
2455 | " nan | \n",
2456 | "
\n",
2457 | " \n",
2458 | "
\n"
2459 | ],
2460 | "text/plain": [
2461 | ""
2462 | ]
2463 | },
2464 | "execution_count": 45,
2465 | "metadata": {},
2466 | "output_type": "execute_result"
2467 | }
2468 | ],
2469 | "source": [
2470 | "# if the value is less than the average crime per month, highlight the value in blue\n",
2471 | "\n",
2472 | "avg_crime = crime.groupby(['YEAR', 'MONTH']).count()['INCIDENT_NUMBER'].mean()\n",
2473 | "print(\"The average number of crimes is \" + str(avg_crime))\n",
2474 | "\n",
2475 | "year_and_month = crime.groupby(['MONTH', 'YEAR']).count()['INCIDENT_NUMBER'].unstack()\n",
2476 | "\n",
2477 | "def style_negative(v, props=''):\n",
2478 | " return props if v < avg_crime else None\n",
2479 | "s2 = year_and_month.style.applymap(style_negative, props='color:blue;')\\\n",
2480 | " .applymap(lambda v: 'opacity: 20%;' if (v < 0.3) and (v > -0.3) else None)\n",
2481 | "s2"
2482 | ]
2483 | },
2484 | {
2485 | "cell_type": "code",
2486 | "execution_count": 46,
2487 | "id": "4e9cfcfc",
2488 | "metadata": {
2489 | "scrolled": true
2490 | },
2491 | "outputs": [
2492 | {
2493 | "data": {
2494 | "text/html": [
2495 | "\n",
2504 | "\n",
2505 | " \n",
2506 | " \n",
2507 | " YEAR | \n",
2508 | " 2015 | \n",
2509 | " 2016 | \n",
2510 | " 2017 | \n",
2511 | " 2018 | \n",
2512 | "
\n",
2513 | " \n",
2514 | " MONTH | \n",
2515 | " | \n",
2516 | " | \n",
2517 | " | \n",
2518 | " | \n",
2519 | "
\n",
2520 | " \n",
2521 | " \n",
2522 | " \n",
2523 | " 1 | \n",
2524 | " nan | \n",
2525 | " 7835.000000 | \n",
2526 | " 7991.000000 | \n",
2527 | " 7782.000000 | \n",
2528 | "
\n",
2529 | " \n",
2530 | " 2 | \n",
2531 | " nan | \n",
2532 | " 7307.000000 | \n",
2533 | " 7408.000000 | \n",
2534 | " 6937.000000 | \n",
2535 | "
\n",
2536 | " \n",
2537 | " 3 | \n",
2538 | " nan | \n",
2539 | " 8199.000000 | \n",
2540 | " 8179.000000 | \n",
2541 | " 7768.000000 | \n",
2542 | "
\n",
2543 | " \n",
2544 | " 4 | \n",
2545 | " nan | \n",
2546 | " 8101.000000 | \n",
2547 | " 8069.000000 | \n",
2548 | " 7916.000000 | \n",
2549 | "
\n",
2550 | " \n",
2551 | " 5 | \n",
2552 | " nan | \n",
2553 | " 8578.000000 | \n",
2554 | " 8715.000000 | \n",
2555 | " 8906.000000 | \n",
2556 | "
\n",
2557 | " \n",
2558 | " 6 | \n",
2559 | " 4188.000000 | \n",
2560 | " 8558.000000 | \n",
2561 | " 8985.000000 | \n",
2562 | " 8834.000000 | \n",
2563 | "
\n",
2564 | " \n",
2565 | " 7 | \n",
2566 | " 8322.000000 | \n",
2567 | " 8618.000000 | \n",
2568 | " 9075.000000 | \n",
2569 | " 8538.000000 | \n",
2570 | "
\n",
2571 | " \n",
2572 | " 8 | \n",
2573 | " 8340.000000 | \n",
2574 | " 8938.000000 | \n",
2575 | " 9206.000000 | \n",
2576 | " 8337.000000 | \n",
2577 | "
\n",
2578 | " \n",
2579 | " 9 | \n",
2580 | " 8411.000000 | \n",
2581 | " 8521.000000 | \n",
2582 | " 8940.000000 | \n",
2583 | " 667.000000 | \n",
2584 | "
\n",
2585 | " \n",
2586 | " 10 | \n",
2587 | " 8305.000000 | \n",
2588 | " 8582.000000 | \n",
2589 | " 8846.000000 | \n",
2590 | " nan | \n",
2591 | "
\n",
2592 | " \n",
2593 | " 11 | \n",
2594 | " 7818.000000 | \n",
2595 | " 7922.000000 | \n",
2596 | " 7935.000000 | \n",
2597 | " nan | \n",
2598 | "
\n",
2599 | " \n",
2600 | " 12 | \n",
2601 | " 7987.000000 | \n",
2602 | " 7951.000000 | \n",
2603 | " 7535.000000 | \n",
2604 | " nan | \n",
2605 | "
\n",
2606 | " \n",
2607 | "
\n"
2608 | ],
2609 | "text/plain": [
2610 | ""
2611 | ]
2612 | },
2613 | "execution_count": 46,
2614 | "metadata": {},
2615 | "output_type": "execute_result"
2616 | }
2617 | ],
2618 | "source": [
2619 | "# Use apply to highlight the maximum in a column in darkgreen\n",
2620 | "\n",
2621 | "def highlight_max(s, props=''):\n",
2622 | " return np.where(s == np.nanmax(s.values), props, '')\n",
2623 | "s2.apply(highlight_max, props='color:white;background-color:darkgreen', axis=0)"
2624 | ]
2625 | },
2626 | {
2627 | "cell_type": "code",
2628 | "execution_count": 47,
2629 | "id": "3d7bb38f",
2630 | "metadata": {
2631 | "scrolled": false
2632 | },
2633 | "outputs": [],
2634 | "source": [
2635 | "# Question 4 - In which districts were the most crimes commmitted on yearly basis? \n",
2636 | "# Try and use everything you've learned in this video to answer this question.\n",
2637 | "# Feel free to use functions, tables and other visuals."
2638 | ]
2639 | }
2640 | ],
2641 | "metadata": {
2642 | "kernelspec": {
2643 | "display_name": "Python 3 (ipykernel)",
2644 | "language": "python",
2645 | "name": "python3"
2646 | },
2647 | "language_info": {
2648 | "codemirror_mode": {
2649 | "name": "ipython",
2650 | "version": 3
2651 | },
2652 | "file_extension": ".py",
2653 | "mimetype": "text/x-python",
2654 | "name": "python",
2655 | "nbconvert_exporter": "python",
2656 | "pygments_lexer": "ipython3",
2657 | "version": "3.10.6"
2658 | }
2659 | },
2660 | "nbformat": 4,
2661 | "nbformat_minor": 5
2662 | }
2663 |
--------------------------------------------------------------------------------