├── 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 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | "
INCIDENT_NUMBEROFFENSE_CODEOFFENSE_CODE_GROUPOFFENSE_DESCRIPTIONDISTRICTREPORTING_AREASHOOTINGOCCURRED_ON_DATEYEARMONTHDAY_OF_WEEKHOURUCR_PARTSTREETLatLongLocation
0I182070945619LarcenyLARCENY ALL OTHERSD14808NaN2018-09-02 13:00:0020189Sunday13Part OneLINCOLN ST42.357791-71.139371(42.35779134, -71.13937053)
1I1820709431402VandalismVANDALISMC11347NaN2018-08-21 00:00:0020188Tuesday0Part TwoHECLA ST42.306821-71.060300(42.30682138, -71.06030035)
2I1820709413410TowedTOWED MOTOR VEHICLED4151NaN2018-09-03 19:27:0020189Monday19Part ThreeCAZENOVE ST42.346589-71.072429(42.34658879, -71.07242943)
3I1820709403114Investigate PropertyINVESTIGATE PROPERTYD4272NaN2018-09-03 21:16:0020189Monday21Part ThreeNEWCOMB ST42.334182-71.078664(42.33418175, -71.07866441)
4I1820709383114Investigate PropertyINVESTIGATE PROPERTYB3421NaN2018-09-03 21:05:0020189Monday21Part ThreeDELHI ST42.275365-71.090361(42.27536542, -71.09036101)
\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 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | "
INCIDENT_NUMBEROFFENSE_CODEOFFENSE_CODE_GROUPOFFENSE_DESCRIPTIONDISTRICTREPORTING_AREASHOOTINGOCCURRED_ON_DATEYEARMONTHDAY_OF_WEEKHOURUCR_PARTSTREETLatLongLocation
0I182070945619LarcenyLARCENY ALL OTHERSD14808NaN2018-09-02 13:00:0020189Sunday13Part OneLINCOLN ST42.357791-71.139371(42.35779134, -71.13937053)
1I1820709431402VandalismVANDALISMC11347NaN2018-08-21 00:00:0020188Tuesday0Part TwoHECLA ST42.306821-71.060300(42.30682138, -71.06030035)
2I1820709413410TowedTOWED MOTOR VEHICLED4151NaN2018-09-03 19:27:0020189Monday19Part ThreeCAZENOVE ST42.346589-71.072429(42.34658879, -71.07242943)
3I1820709403114Investigate PropertyINVESTIGATE PROPERTYD4272NaN2018-09-03 21:16:0020189Monday21Part ThreeNEWCOMB ST42.334182-71.078664(42.33418175, -71.07866441)
4I1820709383114Investigate PropertyINVESTIGATE PROPERTYB3421NaN2018-09-03 21:05:0020189Monday21Part ThreeDELHI ST42.275365-71.090361(42.27536542, -71.09036101)
\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 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | "
INCIDENT_NUMBEROFFENSE_CODEOFFENSE_CODE_GROUPOFFENSE_DESCRIPTIONDISTRICTREPORTING_AREASHOOTINGOCCURRED_ON_DATEYEARMONTHDAY_OF_WEEKHOURUCR_PARTSTREETLatLongLocation
319068I050310906-003125Warrant ArrestsWARRANT ARRESTD4285NaN2016-06-05 17:25:0020166Sunday17Part ThreeCOVENTRY ST42.336951-71.085748(42.33695098, -71.08574813)
319069I030217815-08111HomicideMURDER, NON-NEGLIGIENT MANSLAUGHTERE18520NaN2015-07-09 13:38:0020157Thursday13Part OneRIVER ST42.255926-71.123172(42.25592648, -71.12317207)
319070I030217815-083125Warrant ArrestsWARRANT ARRESTE18520NaN2015-07-09 13:38:0020157Thursday13Part ThreeRIVER ST42.255926-71.123172(42.25592648, -71.12317207)
319071I010370257-003125Warrant ArrestsWARRANT ARRESTE13569NaN2016-05-31 19:35:0020165Tuesday19Part ThreeNEW WASHINGTON ST42.302333-71.111565(42.30233307, -71.11156487)
3190721420525503125Warrant ArrestsWARRANT ARRESTD4903NaN2015-06-22 00:12:0020156Monday0Part ThreeWASHINGTON ST42.333839-71.080290(42.33383935, -71.08029038)
\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 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \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 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | "
INCIDENT_NUMBEROFFENSE_CODEOFFENSE_CODE_GROUPOFFENSE_DESCRIPTIONDISTRICTREPORTING_AREASHOOTINGOCCURRED_ON_DATEYEARMONTHDAY_OF_WEEKHOURUCR_PARTSTREETLatLongLocation
0I182070945619LarcenyLARCENY ALL OTHERSD14808NaN2018-09-02 13:00:0020189Sunday13Part OneLINCOLN ST42.357791-71.139371(42.35779134, -71.13937053)
1I1820709431402VandalismVANDALISMC11347NaN2018-08-21 00:00:0020188Tuesday0Part TwoHECLA ST42.306821-71.060300(42.30682138, -71.06030035)
2I1820709413410TowedTOWED MOTOR VEHICLED4151NaN2018-09-03 19:27:0020189Monday19Part ThreeCAZENOVE ST42.346589-71.072429(42.34658879, -71.07242943)
3I1820709403114Investigate PropertyINVESTIGATE PROPERTYD4272NaN2018-09-03 21:16:0020189Monday21Part ThreeNEWCOMB ST42.334182-71.078664(42.33418175, -71.07866441)
4I1820709383114Investigate PropertyINVESTIGATE PROPERTYB3421NaN2018-09-03 21:05:0020189Monday21Part ThreeDELHI ST42.275365-71.090361(42.27536542, -71.09036101)
......................................................
319068I050310906-003125Warrant ArrestsWARRANT ARRESTD4285NaN2016-06-05 17:25:0020166Sunday17Part ThreeCOVENTRY ST42.336951-71.085748(42.33695098, -71.08574813)
319069I030217815-08111HomicideMURDER, NON-NEGLIGIENT MANSLAUGHTERE18520NaN2015-07-09 13:38:0020157Thursday13Part OneRIVER ST42.255926-71.123172(42.25592648, -71.12317207)
319070I030217815-083125Warrant ArrestsWARRANT ARRESTE18520NaN2015-07-09 13:38:0020157Thursday13Part ThreeRIVER ST42.255926-71.123172(42.25592648, -71.12317207)
319071I010370257-003125Warrant ArrestsWARRANT ARRESTE13569NaN2016-05-31 19:35:0020165Tuesday19Part ThreeNEW WASHINGTON ST42.302333-71.111565(42.30233307, -71.11156487)
3190721420525503125Warrant ArrestsWARRANT ARRESTD4903NaN2015-06-22 00:12:0020156Monday0Part ThreeWASHINGTON ST42.333839-71.080290(42.33383935, -71.08029038)
\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 | " \n", 1433 | " \n", 1434 | " \n", 1435 | " \n", 1436 | " \n", 1437 | " \n", 1438 | " \n", 1439 | " \n", 1440 | " \n", 1441 | " \n", 1442 | " \n", 1443 | " \n", 1444 | " \n", 1445 | " \n", 1446 | " \n", 1447 | " \n", 1448 | " \n", 1449 | " \n", 1450 | " \n", 1451 | " \n", 1452 | " \n", 1453 | " \n", 1454 | " \n", 1455 | " \n", 1456 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | "
OFFENSE_CODEYEARMONTHHOURLatLong
count319050.000000319050.000000319050.000000319050.000000299052.000000299052.000000
mean2317.5169572016.5606746.60962213.11817642.214373-70.908260
std1185.3089210.9963123.2736776.2942582.1598453.493746
min111.0000002015.0000001.0000000.000000-1.000000-71.178674
25%1001.0000002016.0000004.0000009.00000042.297438-71.097135
50%2907.0000002017.0000007.00000014.00000042.325538-71.077524
75%3201.0000002017.0000009.00000018.00000042.348624-71.062467
max3831.0000002018.00000012.00000023.00000042.395042-1.000000
\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 | " \n", 1576 | " \n", 1577 | " \n", 1578 | " \n", 1579 | " \n", 1580 | " \n", 1581 | " \n", 1582 | " \n", 1583 | " \n", 1584 | " \n", 1585 | " \n", 1586 | " \n", 1587 | " \n", 1588 | " \n", 1589 | " \n", 1590 | " \n", 1591 | " \n", 1592 | " \n", 1593 | " \n", 1594 | " \n", 1595 | " \n", 1596 | " \n", 1597 | " \n", 1598 | " \n", 1599 | " \n", 1600 | " \n", 1601 | " \n", 1602 | " \n", 1603 | " \n", 1604 | " \n", 1605 | " \n", 1606 | " \n", 1607 | " \n", 1608 | " \n", 1609 | " \n", 1610 | " \n", 1611 | " \n", 1612 | " \n", 1613 | " \n", 1614 | " \n", 1615 | " \n", 1616 | " \n", 1617 | " \n", 1618 | " \n", 1619 | " \n", 1620 | " \n", 1621 | " \n", 1622 | " \n", 1623 | " \n", 1624 | " \n", 1625 | " \n", 1626 | " \n", 1627 | " \n", 1628 | " \n", 1629 | " \n", 1630 | " \n", 1631 | " \n", 1632 | " \n", 1633 | " \n", 1634 | " \n", 1635 | " \n", 1636 | " \n", 1637 | " \n", 1638 | " \n", 1639 | " \n", 1640 | " \n", 1641 | "
INCIDENT_NUMBEROFFENSE_CODE_GROUPOFFENSE_DESCRIPTIONDISTRICTREPORTING_AREASHOOTINGDAY_OF_WEEKUCR_PARTSTREETLocation
count3190503190503190503172853190501019319050318960308179319050
unique2825176724412879174465718194
topI162030584Motor Vehicle Accident ResponseSICK/INJURED/MEDICAL - PERSONB2YFridayPart ThreeWASHINGTON ST(0.00000000, 0.00000000)
freq13371321878349940202501019484891585371419219998
\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 | " \n", 2118 | " \n", 2119 | " \n", 2120 | " \n", 2121 | " \n", 2122 | " \n", 2123 | " \n", 2124 | " \n", 2125 | " \n", 2126 | " \n", 2127 | " \n", 2128 | " \n", 2129 | " \n", 2130 | " \n", 2131 | " \n", 2132 | " \n", 2133 | " \n", 2134 | " \n", 2135 | " \n", 2136 | " \n", 2137 | " \n", 2138 | " \n", 2139 | " \n", 2140 | " \n", 2141 | " \n", 2142 | " \n", 2143 | " \n", 2144 | " \n", 2145 | " \n", 2146 | " \n", 2147 | " \n", 2148 | " \n", 2149 | " \n", 2150 | " \n", 2151 | " \n", 2152 | " \n", 2153 | " \n", 2154 | " \n", 2155 | " \n", 2156 | " \n", 2157 | " \n", 2158 | " \n", 2159 | " \n", 2160 | " \n", 2161 | " \n", 2162 | " \n", 2163 | " \n", 2164 | " \n", 2165 | " \n", 2166 | " \n", 2167 | " \n", 2168 | " \n", 2169 | " \n", 2170 | " \n", 2171 | " \n", 2172 | " \n", 2173 | " \n", 2174 | " \n", 2175 | " \n", 2176 | " \n", 2177 | " \n", 2178 | " \n", 2179 | " \n", 2180 | " \n", 2181 | " \n", 2182 | " \n", 2183 | " \n", 2184 | " \n", 2185 | " \n", 2186 | " \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 | " \n", 2200 | " \n", 2201 | " \n", 2202 | " \n", 2203 | " \n", 2204 | " \n", 2205 | " \n", 2206 | " \n", 2207 | " \n", 2208 | " \n", 2209 | " \n", 2210 | " \n", 2211 | " \n", 2212 | " \n", 2213 | " \n", 2214 | " \n", 2215 | " \n", 2216 | " \n", 2217 | " \n", 2218 | " \n", 2219 | " \n", 2220 | " \n", 2221 | " \n", 2222 | " \n", 2223 | " \n", 2224 | " \n", 2225 | " \n", 2226 | " \n", 2227 | " \n", 2228 | " \n", 2229 | " \n", 2230 | " \n", 2231 | " \n", 2232 | " \n", 2233 | " \n", 2234 | " \n", 2235 | " \n", 2236 | " \n", 2237 | " \n", 2238 | " \n", 2239 | " \n", 2240 | " \n", 2241 | " \n", 2242 | " \n", 2243 | " \n", 2244 | " \n", 2245 | " \n", 2246 | " \n", 2247 | " \n", 2248 | " \n", 2249 | "
DAY_OF_WEEKFridayMondaySaturdaySundayThursdayTuesdayWednesday
HOUR
02161200026122400203918971997
1127510581855204310771017942
295284618271855774641798
35325839571119526460412
4441386672704436399370
........................
192564260623012114251027682724
202307231921312109234923692265
212089200320771902207019252043
222160163421131728179517571738
231936124319511380149212961298
\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 | " \n", 2359 | " \n", 2360 | " \n", 2361 | " \n", 2362 | " \n", 2363 | " \n", 2364 | " \n", 2365 | " \n", 2366 | " \n", 2367 | " \n", 2368 | " \n", 2369 | " \n", 2370 | " \n", 2371 | " \n", 2372 | " \n", 2373 | " \n", 2374 | " \n", 2375 | " \n", 2376 | " \n", 2377 | " \n", 2378 | " \n", 2379 | " \n", 2380 | " \n", 2381 | " \n", 2382 | " \n", 2383 | " \n", 2384 | " \n", 2385 | " \n", 2386 | " \n", 2387 | " \n", 2388 | " \n", 2389 | " \n", 2390 | " \n", 2391 | " \n", 2392 | " \n", 2393 | " \n", 2394 | " \n", 2395 | " \n", 2396 | " \n", 2397 | " \n", 2398 | " \n", 2399 | " \n", 2400 | " \n", 2401 | " \n", 2402 | " \n", 2403 | " \n", 2404 | " \n", 2405 | " \n", 2406 | " \n", 2407 | " \n", 2408 | " \n", 2409 | " \n", 2410 | " \n", 2411 | " \n", 2412 | " \n", 2413 | " \n", 2414 | " \n", 2415 | " \n", 2416 | " \n", 2417 | " \n", 2418 | " \n", 2419 | " \n", 2420 | " \n", 2421 | " \n", 2422 | " \n", 2423 | " \n", 2424 | " \n", 2425 | " \n", 2426 | " \n", 2427 | " \n", 2428 | " \n", 2429 | " \n", 2430 | " \n", 2431 | " \n", 2432 | " \n", 2433 | " \n", 2434 | " \n", 2435 | " \n", 2436 | " \n", 2437 | " \n", 2438 | " \n", 2439 | " \n", 2440 | " \n", 2441 | " \n", 2442 | " \n", 2443 | " \n", 2444 | " \n", 2445 | " \n", 2446 | " \n", 2447 | " \n", 2448 | " \n", 2449 | " \n", 2450 | " \n", 2451 | " \n", 2452 | " \n", 2453 | " \n", 2454 | " \n", 2455 | " \n", 2456 | " \n", 2457 | " \n", 2458 | "
YEAR2015201620172018
MONTH    
1nan7835.0000007991.0000007782.000000
2nan7307.0000007408.0000006937.000000
3nan8199.0000008179.0000007768.000000
4nan8101.0000008069.0000007916.000000
5nan8578.0000008715.0000008906.000000
64188.0000008558.0000008985.0000008834.000000
78322.0000008618.0000009075.0000008538.000000
88340.0000008938.0000009206.0000008337.000000
98411.0000008521.0000008940.000000667.000000
108305.0000008582.0000008846.000000nan
117818.0000007922.0000007935.000000nan
127987.0000007951.0000007535.000000nan
\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 | " \n", 2508 | " \n", 2509 | " \n", 2510 | " \n", 2511 | " \n", 2512 | " \n", 2513 | " \n", 2514 | " \n", 2515 | " \n", 2516 | " \n", 2517 | " \n", 2518 | " \n", 2519 | " \n", 2520 | " \n", 2521 | " \n", 2522 | " \n", 2523 | " \n", 2524 | " \n", 2525 | " \n", 2526 | " \n", 2527 | " \n", 2528 | " \n", 2529 | " \n", 2530 | " \n", 2531 | " \n", 2532 | " \n", 2533 | " \n", 2534 | " \n", 2535 | " \n", 2536 | " \n", 2537 | " \n", 2538 | " \n", 2539 | " \n", 2540 | " \n", 2541 | " \n", 2542 | " \n", 2543 | " \n", 2544 | " \n", 2545 | " \n", 2546 | " \n", 2547 | " \n", 2548 | " \n", 2549 | " \n", 2550 | " \n", 2551 | " \n", 2552 | " \n", 2553 | " \n", 2554 | " \n", 2555 | " \n", 2556 | " \n", 2557 | " \n", 2558 | " \n", 2559 | " \n", 2560 | " \n", 2561 | " \n", 2562 | " \n", 2563 | " \n", 2564 | " \n", 2565 | " \n", 2566 | " \n", 2567 | " \n", 2568 | " \n", 2569 | " \n", 2570 | " \n", 2571 | " \n", 2572 | " \n", 2573 | " \n", 2574 | " \n", 2575 | " \n", 2576 | " \n", 2577 | " \n", 2578 | " \n", 2579 | " \n", 2580 | " \n", 2581 | " \n", 2582 | " \n", 2583 | " \n", 2584 | " \n", 2585 | " \n", 2586 | " \n", 2587 | " \n", 2588 | " \n", 2589 | " \n", 2590 | " \n", 2591 | " \n", 2592 | " \n", 2593 | " \n", 2594 | " \n", 2595 | " \n", 2596 | " \n", 2597 | " \n", 2598 | " \n", 2599 | " \n", 2600 | " \n", 2601 | " \n", 2602 | " \n", 2603 | " \n", 2604 | " \n", 2605 | " \n", 2606 | " \n", 2607 | "
YEAR2015201620172018
MONTH    
1nan7835.0000007991.0000007782.000000
2nan7307.0000007408.0000006937.000000
3nan8199.0000008179.0000007768.000000
4nan8101.0000008069.0000007916.000000
5nan8578.0000008715.0000008906.000000
64188.0000008558.0000008985.0000008834.000000
78322.0000008618.0000009075.0000008538.000000
88340.0000008938.0000009206.0000008337.000000
98411.0000008521.0000008940.000000667.000000
108305.0000008582.0000008846.000000nan
117818.0000007922.0000007935.000000nan
127987.0000007951.0000007535.000000nan
\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 | --------------------------------------------------------------------------------