├── DataScrape Notebook.ipynb ├── Final data cleaning and modelling.ipynb ├── Project Report.pdf ├── README.md ├── UnderstandingTheDataSet.ipynb └── merged_final.csv /DataScrape Notebook.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "This is the template for how we collected all the feature data we used. The scraping process is described in detail on the \"Data Scraping\" section in the Introduction tab of the website. \n", 8 | "\n", 9 | "The process below was repeated for various slices of 10000 playlists, and a slice was used every time the requests broke down (from an authentification token timeout, being blocked for too many hits, an internet error, etc.)" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 133, 15 | "metadata": { 16 | "scrolled": false 17 | }, 18 | "outputs": [ 19 | { 20 | "name": "stdout", 21 | "output_type": "stream", 22 | "text": [ 23 | "{\n", 24 | " \"info\": {\n", 25 | " \"generated_on\": \"2017-12-03 08:41:42.057563\", \n", 26 | " \"slice\": \"20000-20999\", \n", 27 | " \"version\": \"v1\"\n", 28 | " }, \n", 29 | " \"playlists\": [\n", 30 | " {\n", 31 | " \"name\": \"Prelude\", \n", 32 | " \"collaborative\": \"false\", \n" 33 | ] 34 | } 35 | ], 36 | "source": [ 37 | "%%bash\n", 38 | "head 'mpd.v1/data/mpd.slice.20000-20999.json'\n", 39 | "\n", 40 | "# preview first few lines" 41 | ] 42 | }, 43 | { 44 | "cell_type": "code", 45 | "execution_count": 135, 46 | "metadata": {}, 47 | "outputs": [], 48 | "source": [ 49 | "import ijson\n", 50 | "\n", 51 | "filename = \"mpd.v1/data/mpd.slice.20000-20999.json\"\n", 52 | "\n", 53 | "# open file with current slice of 1000 playlists\n", 54 | "with open(filename, 'r') as f:\n", 55 | " objects = ijson.items(f, 'playlists.item')\n", 56 | " columns = list(objects)" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": 136, 62 | "metadata": {}, 63 | "outputs": [], 64 | "source": [ 65 | "column_names = [col[\"tracks\"] for col in columns]" 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 137, 71 | "metadata": {}, 72 | "outputs": [], 73 | "source": [ 74 | "# get track URI and names from playlists; we will use these as reference points when we hit the Spotify API\n", 75 | "playlists = column_names\n", 76 | "track_features_uri = []\n", 77 | "track_features_name = []\n", 78 | "for playlist in playlists:\n", 79 | " for tracks in playlist:\n", 80 | " track_features_uri.append(tracks[\"track_uri\"])\n", 81 | " track_features_name.append(tracks[\"track_name\"])" 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": 138, 87 | "metadata": {}, 88 | "outputs": [ 89 | { 90 | "data": { 91 | "text/html": [ 92 | "
\n", 93 | "\n", 106 | "\n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | "
indextrack_nameids
00A Thousand Years4eYaDRhiL5iesFp2EuoODr
11Can't Help Falling In Love - Recorded Live at ...5GBWQszdw6PtAN0Negzut6
22Ho Hey1jdNcAD8Ir58RlsdGjJJdx
33Everything4T6HLdP6OcAtqC6tGnQelG
44She Is Love1q74TesvRCIo5RvJM5B84F
\n", 148 | "
" 149 | ], 150 | "text/plain": [ 151 | " index track_name \\\n", 152 | "0 0 A Thousand Years \n", 153 | "1 1 Can't Help Falling In Love - Recorded Live at ... \n", 154 | "2 2 Ho Hey \n", 155 | "3 3 Everything \n", 156 | "4 4 She Is Love \n", 157 | "\n", 158 | " ids \n", 159 | "0 4eYaDRhiL5iesFp2EuoODr \n", 160 | "1 5GBWQszdw6PtAN0Negzut6 \n", 161 | "2 1jdNcAD8Ir58RlsdGjJJdx \n", 162 | "3 4T6HLdP6OcAtqC6tGnQelG \n", 163 | "4 1q74TesvRCIo5RvJM5B84F " 164 | ] 165 | }, 166 | "execution_count": 138, 167 | "metadata": {}, 168 | "output_type": "execute_result" 169 | } 170 | ], 171 | "source": [ 172 | "track_features = pd.DataFrame(track_features_name, columns=['track_name'])\n", 173 | "track_features[\"ids\"] = track_features_uri\n", 174 | "track_features = track_features.drop_duplicates()\n", 175 | "track_features.ids = track_features.ids.str.slice(14)\n", 176 | "track_features = track_features.reset_index()\n", 177 | "track_features.head()" 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": 139, 183 | "metadata": { 184 | "scrolled": true 185 | }, 186 | "outputs": [ 187 | { 188 | "data": { 189 | "text/plain": [ 190 | "(35247, 3)" 191 | ] 192 | }, 193 | "execution_count": 139, 194 | "metadata": {}, 195 | "output_type": "execute_result" 196 | } 197 | ], 198 | "source": [ 199 | "# how many tracks in the current slice?\n", 200 | "track_features.shape" 201 | ] 202 | }, 203 | { 204 | "cell_type": "code", 205 | "execution_count": 140, 206 | "metadata": {}, 207 | "outputs": [], 208 | "source": [ 209 | "# various arrays to store later dataframe's column data; we manually chose potentially relevant attributes\n", 210 | "\n", 211 | "# from Spotify track object\n", 212 | "album_id = [] \n", 213 | "album_name = [] \n", 214 | "album_release_date = [] \n", 215 | "\n", 216 | "track_artist_ids = [] \n", 217 | "\n", 218 | "track_id = [] \n", 219 | "track_duration_ms = [] \n", 220 | "track_explicit = [] \n", 221 | "track_name = [] \n", 222 | "track_popularity = [] \n", 223 | "\n", 224 | "# from Spotify audio features object\n", 225 | "danceability = []\n", 226 | "energy = []\n", 227 | "key = []\n", 228 | "loudness = []\n", 229 | "mode = []\n", 230 | "speechiness = []\n", 231 | "acousticness = []\n", 232 | "instrumentalness = []\n", 233 | "liveness = []\n", 234 | "valence = []\n", 235 | "tempo = []\n", 236 | "audio_features_id = []\n", 237 | "\n", 238 | "# from Spotify artist object\n", 239 | "artist1_id = []\n", 240 | "followers = []\n", 241 | "artist_popularity = []\n", 242 | "artist_genre1 = []\n", 243 | "artist_genre2 = []\n", 244 | "artist_genre3 = []\n", 245 | "\n", 246 | "# from Spotify album object\n", 247 | "album_label = []\n", 248 | "album_popularity = []" 249 | ] 250 | }, 251 | { 252 | "cell_type": "code", 253 | "execution_count": 141, 254 | "metadata": {}, 255 | "outputs": [ 256 | { 257 | "name": "stdout", 258 | "output_type": "stream", 259 | "text": [ 260 | "0\n", 261 | "1\n", 262 | "2\n", 263 | "3\n", 264 | "4\n", 265 | "5\n", 266 | "6\n", 267 | "7\n", 268 | "8\n", 269 | "9\n", 270 | "10\n", 271 | "11\n", 272 | "12\n", 273 | "13\n", 274 | "14\n", 275 | "15\n", 276 | "16\n", 277 | "17\n", 278 | "18\n", 279 | "19\n", 280 | "20\n", 281 | "21\n", 282 | "22\n", 283 | "23\n", 284 | "24\n", 285 | "25\n", 286 | "26\n", 287 | "27\n", 288 | "28\n", 289 | "29\n", 290 | "30\n", 291 | "31\n", 292 | "32\n", 293 | "33\n", 294 | "34\n", 295 | "35\n", 296 | "36\n", 297 | "37\n", 298 | "38\n", 299 | "39\n", 300 | "40\n", 301 | "41\n", 302 | "42\n", 303 | "43\n", 304 | "44\n", 305 | "45\n", 306 | "46\n", 307 | "47\n", 308 | "48\n", 309 | "49\n", 310 | "50\n", 311 | "51\n", 312 | "52\n", 313 | "53\n", 314 | "54\n", 315 | "55\n", 316 | "56\n", 317 | "57\n", 318 | "58\n", 319 | "59\n", 320 | "60\n", 321 | "61\n", 322 | "62\n", 323 | "63\n", 324 | "64\n", 325 | "65\n", 326 | "66\n", 327 | "67\n", 328 | "68\n", 329 | "69\n", 330 | "70\n", 331 | "71\n", 332 | "72\n", 333 | "73\n", 334 | "74\n", 335 | "75\n", 336 | "76\n", 337 | "77\n", 338 | "78\n", 339 | "79\n", 340 | "80\n", 341 | "81\n", 342 | "82\n", 343 | "83\n", 344 | "84\n", 345 | "85\n", 346 | "86\n", 347 | "87\n", 348 | "88\n", 349 | "89\n", 350 | "90\n", 351 | "91\n", 352 | "92\n", 353 | "93\n", 354 | "94\n", 355 | "95\n", 356 | "96\n", 357 | "97\n", 358 | "98\n", 359 | "99\n", 360 | "100\n", 361 | "101\n", 362 | "102\n", 363 | "103\n", 364 | "104\n", 365 | "105\n", 366 | "106\n", 367 | "107\n", 368 | "108\n", 369 | "109\n", 370 | "110\n", 371 | "111\n", 372 | "112\n", 373 | "113\n", 374 | "114\n", 375 | "115\n", 376 | "116\n", 377 | "117\n", 378 | "118\n", 379 | "119\n", 380 | "120\n", 381 | "121\n", 382 | "122\n", 383 | "123\n", 384 | "124\n", 385 | "125\n", 386 | "126\n", 387 | "127\n", 388 | "128\n", 389 | "129\n", 390 | "130\n", 391 | "131\n", 392 | "132\n", 393 | "133\n", 394 | "134\n", 395 | "135\n", 396 | "136\n", 397 | "137\n", 398 | "138\n", 399 | "139\n", 400 | "140\n", 401 | "141\n", 402 | "142\n", 403 | "143\n", 404 | "144\n", 405 | "145\n", 406 | "146\n", 407 | "147\n", 408 | "148\n", 409 | "149\n", 410 | "150\n", 411 | "151\n", 412 | "152\n", 413 | "153\n", 414 | "154\n", 415 | "155\n", 416 | "156\n", 417 | "157\n", 418 | "158\n", 419 | "159\n", 420 | "160\n", 421 | "161\n", 422 | "162\n", 423 | "163\n", 424 | "164\n", 425 | "165\n", 426 | "166\n", 427 | "167\n", 428 | "168\n", 429 | "169\n", 430 | "170\n", 431 | "171\n", 432 | "172\n", 433 | "173\n", 434 | "174\n", 435 | "175\n", 436 | "176\n", 437 | "177\n", 438 | "178\n", 439 | "179\n", 440 | "180\n", 441 | "181\n", 442 | "182\n", 443 | "183\n", 444 | "184\n", 445 | "185\n", 446 | "186\n", 447 | "187\n", 448 | "188\n", 449 | "189\n", 450 | "190\n", 451 | "191\n", 452 | "192\n", 453 | "193\n", 454 | "194\n", 455 | "195\n", 456 | "196\n", 457 | "197\n", 458 | "198\n", 459 | "199\n", 460 | "200\n", 461 | "201\n", 462 | "202\n", 463 | "203\n", 464 | "204\n", 465 | "205\n", 466 | "206\n", 467 | "207\n", 468 | "208\n", 469 | "209\n", 470 | "210\n", 471 | "211\n", 472 | "212\n", 473 | "213\n", 474 | "214\n", 475 | "215\n", 476 | "216\n", 477 | "217\n", 478 | "218\n", 479 | "219\n", 480 | "220\n", 481 | "221\n", 482 | "222\n", 483 | "223\n", 484 | "224\n", 485 | "225\n", 486 | "226\n", 487 | "227\n", 488 | "228\n", 489 | "229\n", 490 | "230\n", 491 | "231\n", 492 | "232\n", 493 | "233\n", 494 | "234\n", 495 | "235\n", 496 | "236\n", 497 | "237\n", 498 | "238\n", 499 | "239\n", 500 | "240\n", 501 | "241\n", 502 | "242\n", 503 | "243\n", 504 | "244\n", 505 | "245\n", 506 | "246\n", 507 | "247\n", 508 | "248\n", 509 | "249\n", 510 | "250\n", 511 | "251\n", 512 | "252\n", 513 | "253\n", 514 | "254\n", 515 | "255\n", 516 | "256\n", 517 | "257\n", 518 | "258\n", 519 | "259\n", 520 | "260\n", 521 | "261\n", 522 | "262\n", 523 | "263\n", 524 | "264\n", 525 | "265\n", 526 | "266\n", 527 | "267\n", 528 | "268\n", 529 | "269\n", 530 | "270\n", 531 | "271\n", 532 | "272\n", 533 | "273\n", 534 | "274\n", 535 | "275\n", 536 | "276\n", 537 | "277\n", 538 | "278\n", 539 | "279\n", 540 | "280\n", 541 | "281\n", 542 | "282\n", 543 | "283\n", 544 | "284\n", 545 | "285\n", 546 | "286\n", 547 | "287\n", 548 | "288\n", 549 | "289\n", 550 | "290\n", 551 | "291\n", 552 | "292\n", 553 | "293\n", 554 | "294\n", 555 | "295\n", 556 | "296\n", 557 | "297\n", 558 | "298\n", 559 | "299\n", 560 | "300\n", 561 | "301\n", 562 | "302\n", 563 | "303\n", 564 | "304\n", 565 | "305\n", 566 | "306\n", 567 | "307\n", 568 | "308\n", 569 | "309\n", 570 | "310\n", 571 | "311\n", 572 | "312\n", 573 | "313\n", 574 | "314\n", 575 | "315\n", 576 | "316\n", 577 | "317\n", 578 | "318\n", 579 | "319\n", 580 | "320\n", 581 | "321\n", 582 | "322\n", 583 | "323\n", 584 | "324\n", 585 | "325\n", 586 | "326\n", 587 | "327\n", 588 | "328\n", 589 | "329\n", 590 | "330\n", 591 | "331\n", 592 | "332\n", 593 | "333\n", 594 | "334\n", 595 | "335\n", 596 | "336\n", 597 | "337\n", 598 | "338\n", 599 | "339\n", 600 | "340\n", 601 | "341\n", 602 | "342\n", 603 | "343\n", 604 | "344\n", 605 | "345\n", 606 | "346\n", 607 | "347\n", 608 | "348\n", 609 | "349\n", 610 | "350\n", 611 | "351\n", 612 | "352\n", 613 | "353\n", 614 | "354\n", 615 | "355\n", 616 | "356\n", 617 | "357\n", 618 | "358\n", 619 | "359\n", 620 | "360\n", 621 | "361\n", 622 | "362\n", 623 | "363\n", 624 | "364\n", 625 | "365\n", 626 | "366\n", 627 | "367\n", 628 | "368\n", 629 | "369\n", 630 | "370\n", 631 | "371\n", 632 | "372\n", 633 | "373\n", 634 | "374\n", 635 | "375\n", 636 | "376\n", 637 | "377\n", 638 | "378\n", 639 | "379\n", 640 | "380\n", 641 | "381\n", 642 | "382\n", 643 | "383\n", 644 | "384\n", 645 | "385\n", 646 | "386\n", 647 | "387\n", 648 | "388\n", 649 | "389\n", 650 | "390\n", 651 | "391\n", 652 | "392\n", 653 | "393\n", 654 | "394\n", 655 | "395\n", 656 | "396\n", 657 | "397\n", 658 | "398\n", 659 | "399\n", 660 | "400\n", 661 | "401\n", 662 | "402\n", 663 | "403\n", 664 | "404\n", 665 | "405\n", 666 | "406\n", 667 | "407\n", 668 | "408\n", 669 | "409\n", 670 | "410\n", 671 | "411\n", 672 | "412\n", 673 | "413\n", 674 | "414\n", 675 | "415\n", 676 | "416\n", 677 | "417\n", 678 | "418\n", 679 | "419\n", 680 | "420\n", 681 | "421\n", 682 | "422\n", 683 | "423\n", 684 | "424\n", 685 | "425\n", 686 | "426\n", 687 | "427\n", 688 | "428\n", 689 | "429\n", 690 | "430\n", 691 | "431\n", 692 | "432\n", 693 | "433\n", 694 | "434\n", 695 | "435\n", 696 | "436\n", 697 | "437\n", 698 | "438\n", 699 | "439\n", 700 | "440\n", 701 | "441\n", 702 | "442\n", 703 | "443\n", 704 | "444\n", 705 | "445\n", 706 | "446\n", 707 | "447\n", 708 | "448\n", 709 | "449\n", 710 | "450\n", 711 | "451\n", 712 | "452\n", 713 | "453\n", 714 | "454\n", 715 | "455\n", 716 | "456\n", 717 | "457\n", 718 | "458\n", 719 | "459\n", 720 | "460\n", 721 | "461\n", 722 | "462\n", 723 | "463\n", 724 | "464\n", 725 | "465\n", 726 | "466\n", 727 | "467\n", 728 | "468\n", 729 | "469\n", 730 | "470\n", 731 | "471\n", 732 | "472\n", 733 | "473\n", 734 | "474\n", 735 | "475\n", 736 | "476\n", 737 | "477\n", 738 | "478\n", 739 | "479\n", 740 | "480\n", 741 | "481\n", 742 | "482\n", 743 | "483\n", 744 | "484\n", 745 | "485\n", 746 | "486\n", 747 | "487\n", 748 | "488\n", 749 | "489\n", 750 | "490\n", 751 | "491\n", 752 | "492\n", 753 | "493\n", 754 | "494\n", 755 | "495\n", 756 | "496\n", 757 | "497\n", 758 | "498\n", 759 | "499\n", 760 | "500\n", 761 | "501\n", 762 | "502\n", 763 | "503\n", 764 | "504\n", 765 | "505\n", 766 | "506\n", 767 | "507\n", 768 | "508\n", 769 | "509\n", 770 | "510\n", 771 | "511\n", 772 | "512\n", 773 | "513\n", 774 | "514\n", 775 | "515\n", 776 | "516\n", 777 | "517\n", 778 | "518\n", 779 | "519\n", 780 | "520\n", 781 | "521\n", 782 | "522\n", 783 | "523\n", 784 | "524\n", 785 | "525\n", 786 | "526\n", 787 | "527\n", 788 | "528\n", 789 | "529\n", 790 | "530\n", 791 | "531\n", 792 | "532\n", 793 | "533\n", 794 | "534\n", 795 | "535\n", 796 | "536\n", 797 | "537\n", 798 | "538\n", 799 | "539\n", 800 | "540\n", 801 | "541\n", 802 | "542\n", 803 | "543\n", 804 | "544\n", 805 | "545\n", 806 | "546\n", 807 | "547\n", 808 | "548\n", 809 | "549\n", 810 | "550\n", 811 | "551\n", 812 | "552\n", 813 | "553\n", 814 | "554\n", 815 | "555\n", 816 | "556\n", 817 | "557\n", 818 | "558\n", 819 | "559\n", 820 | "560\n", 821 | "561\n", 822 | "562\n", 823 | "563\n", 824 | "564\n", 825 | "565\n", 826 | "566\n", 827 | "567\n", 828 | "568\n", 829 | "569\n", 830 | "570\n", 831 | "571\n", 832 | "572\n", 833 | "573\n", 834 | "574\n", 835 | "575\n", 836 | "576\n", 837 | "577\n", 838 | "578\n", 839 | "579\n", 840 | "580\n", 841 | "581\n", 842 | "582\n", 843 | "583\n", 844 | "584\n", 845 | "585\n", 846 | "586\n", 847 | "587\n", 848 | "588\n", 849 | "589\n", 850 | "590\n", 851 | "591\n", 852 | "592\n", 853 | "593\n", 854 | "594\n", 855 | "595\n", 856 | "596\n", 857 | "597\n", 858 | "598\n", 859 | "599\n", 860 | "600\n", 861 | "601\n", 862 | "602\n", 863 | "603\n", 864 | "604\n", 865 | "605\n", 866 | "606\n", 867 | "607\n", 868 | "608\n", 869 | "609\n", 870 | "610\n", 871 | "611\n", 872 | "612\n", 873 | "613\n", 874 | "614\n", 875 | "615\n", 876 | "616\n", 877 | "617\n", 878 | "618\n", 879 | "619\n", 880 | "620\n", 881 | "621\n", 882 | "622\n", 883 | "623\n", 884 | "624\n", 885 | "625\n", 886 | "626\n", 887 | "627\n", 888 | "628\n", 889 | "629\n", 890 | "630\n", 891 | "631\n", 892 | "632\n", 893 | "633\n", 894 | "634\n", 895 | "635\n", 896 | "636\n", 897 | "637\n", 898 | "638\n", 899 | "639\n", 900 | "640\n", 901 | "641\n", 902 | "642\n", 903 | "643\n", 904 | "644\n", 905 | "645\n", 906 | "646\n", 907 | "647\n", 908 | "648\n", 909 | "649\n", 910 | "650\n", 911 | "651\n", 912 | "652\n", 913 | "653\n", 914 | "654\n", 915 | "655\n", 916 | "656\n", 917 | "657\n", 918 | "658\n", 919 | "659\n", 920 | "660\n", 921 | "661\n", 922 | "662\n", 923 | "663\n", 924 | "664\n", 925 | "665\n", 926 | "666\n", 927 | "667\n", 928 | "668\n", 929 | "669\n", 930 | "670\n", 931 | "671\n", 932 | "672\n", 933 | "673\n", 934 | "674\n", 935 | "675\n", 936 | "676\n", 937 | "677\n", 938 | "678\n", 939 | "679\n", 940 | "680\n", 941 | "681\n", 942 | "682\n", 943 | "683\n", 944 | "684\n", 945 | "685\n", 946 | "686\n", 947 | "687\n", 948 | "688\n", 949 | "689\n", 950 | "690\n", 951 | "691\n", 952 | "692\n", 953 | "693\n", 954 | "694\n", 955 | "695\n", 956 | "696\n", 957 | "697\n", 958 | "698\n", 959 | "699\n", 960 | "700\n", 961 | "701\n", 962 | "702\n", 963 | "703\n", 964 | "704\n", 965 | "705\n", 966 | "706\n", 967 | "707\n", 968 | "708\n", 969 | "709\n", 970 | "710\n", 971 | "711\n", 972 | "712\n", 973 | "713\n", 974 | "714\n", 975 | "715\n", 976 | "716\n", 977 | "717\n", 978 | "718\n", 979 | "719\n", 980 | "720\n", 981 | "721\n", 982 | "722\n", 983 | "723\n", 984 | "724\n", 985 | "725\n", 986 | "726\n", 987 | "727\n", 988 | "728\n", 989 | "729\n", 990 | "730\n", 991 | "731\n", 992 | "732\n", 993 | "733\n", 994 | "734\n", 995 | "735\n", 996 | "736\n", 997 | "737\n", 998 | "738\n", 999 | "739\n", 1000 | "740\n", 1001 | "741\n", 1002 | "742\n", 1003 | "743\n", 1004 | "744\n", 1005 | "745\n", 1006 | "746\n", 1007 | "747\n", 1008 | "748\n", 1009 | "749\n", 1010 | "750\n", 1011 | "751\n", 1012 | "752\n", 1013 | "753\n", 1014 | "754\n", 1015 | "755\n", 1016 | "756\n", 1017 | "757\n", 1018 | "758\n", 1019 | "759\n", 1020 | "760\n", 1021 | "761\n", 1022 | "762\n", 1023 | "763\n", 1024 | "764\n", 1025 | "765\n", 1026 | "766\n", 1027 | "767\n", 1028 | "768\n", 1029 | "769\n", 1030 | "770\n", 1031 | "771\n", 1032 | "772\n", 1033 | "773\n", 1034 | "774\n", 1035 | "775\n", 1036 | "776\n", 1037 | "777\n", 1038 | "778\n", 1039 | "779\n", 1040 | "780\n", 1041 | "781\n", 1042 | "782\n", 1043 | "783\n", 1044 | "784\n", 1045 | "785\n", 1046 | "786\n", 1047 | "787\n", 1048 | "788\n", 1049 | "789\n", 1050 | "790\n", 1051 | "791\n", 1052 | "792\n", 1053 | "793\n", 1054 | "794\n", 1055 | "795\n", 1056 | "796\n", 1057 | "797\n", 1058 | "798\n", 1059 | "799\n", 1060 | "800\n", 1061 | "801\n", 1062 | "802\n", 1063 | "803\n", 1064 | "804\n", 1065 | "805\n", 1066 | "806\n", 1067 | "807\n", 1068 | "808\n", 1069 | "809\n", 1070 | "810\n", 1071 | "811\n", 1072 | "812\n", 1073 | "813\n", 1074 | "814\n", 1075 | "815\n", 1076 | "816\n", 1077 | "817\n", 1078 | "818\n", 1079 | "819\n", 1080 | "820\n", 1081 | "821\n", 1082 | "822\n", 1083 | "823\n", 1084 | "824\n", 1085 | "825\n", 1086 | "826\n", 1087 | "827\n", 1088 | "828\n", 1089 | "829\n", 1090 | "830\n", 1091 | "831\n", 1092 | "832\n", 1093 | "833\n", 1094 | "834\n", 1095 | "835\n", 1096 | "836\n", 1097 | "837\n", 1098 | "838\n", 1099 | "839\n", 1100 | "840\n", 1101 | "841\n", 1102 | "842\n", 1103 | "843\n", 1104 | "844\n", 1105 | "845\n", 1106 | "846\n", 1107 | "847\n", 1108 | "848\n", 1109 | "849\n", 1110 | "850\n", 1111 | "851\n", 1112 | "852\n", 1113 | "853\n", 1114 | "854\n", 1115 | "855\n", 1116 | "856\n", 1117 | "857\n", 1118 | "858\n", 1119 | "859\n", 1120 | "860\n", 1121 | "861\n", 1122 | "862\n", 1123 | "863\n", 1124 | "864\n", 1125 | "865\n", 1126 | "866\n", 1127 | "867\n", 1128 | "868\n", 1129 | "869\n", 1130 | "870\n", 1131 | "871\n", 1132 | "872\n", 1133 | "873\n", 1134 | "874\n", 1135 | "875\n", 1136 | "876\n", 1137 | "877\n", 1138 | "878\n", 1139 | "879\n", 1140 | "880\n", 1141 | "881\n", 1142 | "882\n", 1143 | "883\n", 1144 | "884\n", 1145 | "885\n", 1146 | "886\n", 1147 | "887\n", 1148 | "888\n", 1149 | "889\n", 1150 | "890\n", 1151 | "891\n", 1152 | "892\n", 1153 | "893\n", 1154 | "894\n", 1155 | "895\n", 1156 | "896\n", 1157 | "897\n", 1158 | "898\n", 1159 | "899\n", 1160 | "900\n", 1161 | "901\n", 1162 | "902\n", 1163 | "903\n", 1164 | "904\n", 1165 | "905\n", 1166 | "906\n", 1167 | "907\n", 1168 | "908\n", 1169 | "909\n", 1170 | "910\n", 1171 | "911\n", 1172 | "912\n", 1173 | "913\n", 1174 | "914\n", 1175 | "915\n", 1176 | "916\n", 1177 | "917\n", 1178 | "918\n", 1179 | "919\n", 1180 | "920\n", 1181 | "921\n", 1182 | "922\n", 1183 | "923\n", 1184 | "924\n", 1185 | "925\n", 1186 | "926\n", 1187 | "927\n", 1188 | "928\n", 1189 | "929\n", 1190 | "930\n", 1191 | "931\n", 1192 | "932\n", 1193 | "933\n", 1194 | "934\n", 1195 | "935\n", 1196 | "936\n", 1197 | "937\n", 1198 | "938\n", 1199 | "939\n", 1200 | "940\n", 1201 | "941\n", 1202 | "942\n", 1203 | "943\n", 1204 | "944\n", 1205 | "945\n", 1206 | "946\n", 1207 | "947\n", 1208 | "948\n", 1209 | "949\n", 1210 | "950\n", 1211 | "951\n", 1212 | "952\n", 1213 | "953\n", 1214 | "954\n", 1215 | "955\n", 1216 | "956\n", 1217 | "957\n", 1218 | "958\n", 1219 | "959\n", 1220 | "960\n", 1221 | "961\n", 1222 | "962\n", 1223 | "963\n", 1224 | "964\n", 1225 | "965\n", 1226 | "966\n", 1227 | "967\n", 1228 | "968\n", 1229 | "969\n", 1230 | "970\n", 1231 | "971\n", 1232 | "972\n", 1233 | "973\n", 1234 | "974\n", 1235 | "975\n", 1236 | "976\n", 1237 | "977\n", 1238 | "978\n", 1239 | "979\n", 1240 | "980\n", 1241 | "981\n", 1242 | "982\n", 1243 | "983\n", 1244 | "984\n", 1245 | "985\n", 1246 | "986\n", 1247 | "987\n", 1248 | "988\n", 1249 | "989\n", 1250 | "990\n", 1251 | "991\n", 1252 | "992\n", 1253 | "993\n", 1254 | "994\n", 1255 | "995\n", 1256 | "996\n", 1257 | "997\n", 1258 | "998\n", 1259 | "999\n", 1260 | "1000\n", 1261 | "1001\n", 1262 | "1002\n", 1263 | "1003\n", 1264 | "1004\n", 1265 | "1005\n", 1266 | "1006\n", 1267 | "1007\n", 1268 | "1008\n", 1269 | "1009\n", 1270 | "1010\n", 1271 | "1011\n", 1272 | "1012\n", 1273 | "1013\n", 1274 | "1014\n", 1275 | "1015\n", 1276 | "1016\n", 1277 | "1017\n", 1278 | "1018\n", 1279 | "1019\n", 1280 | "1020\n", 1281 | "1021\n", 1282 | "1022\n", 1283 | "1023\n", 1284 | "1024\n", 1285 | "1025\n", 1286 | "1026\n", 1287 | "1027\n", 1288 | "1028\n", 1289 | "1029\n", 1290 | "1030\n", 1291 | "1031\n", 1292 | "1032\n", 1293 | "1033\n", 1294 | "1034\n", 1295 | "1035\n", 1296 | "1036\n", 1297 | "1037\n", 1298 | "1038\n", 1299 | "1039\n", 1300 | "1040\n", 1301 | "1041\n", 1302 | "1042\n", 1303 | "1043\n", 1304 | "1044\n", 1305 | "1045\n", 1306 | "1046\n", 1307 | "1047\n", 1308 | "1048\n", 1309 | "1049\n", 1310 | "1050\n", 1311 | "1051\n", 1312 | "1052\n", 1313 | "1053\n", 1314 | "1054\n", 1315 | "1055\n", 1316 | "1056\n", 1317 | "1057\n", 1318 | "1058\n", 1319 | "1059\n", 1320 | "1060\n", 1321 | "1061\n", 1322 | "1062\n", 1323 | "1063\n", 1324 | "1064\n", 1325 | "1065\n", 1326 | "1066\n", 1327 | "1067\n", 1328 | "1068\n", 1329 | "1069\n", 1330 | "1070\n", 1331 | "1071\n", 1332 | "1072\n", 1333 | "1073\n", 1334 | "1074\n", 1335 | "1075\n", 1336 | "1076\n", 1337 | "1077\n", 1338 | "1078\n", 1339 | "1079\n", 1340 | "1080\n", 1341 | "1081\n", 1342 | "1082\n", 1343 | "1083\n", 1344 | "1084\n", 1345 | "1085\n", 1346 | "1086\n", 1347 | "1087\n", 1348 | "1088\n", 1349 | "1089\n", 1350 | "1090\n", 1351 | "1091\n", 1352 | "1092\n", 1353 | "1093\n", 1354 | "1094\n", 1355 | "1095\n", 1356 | "1096\n", 1357 | "1097\n", 1358 | "1098\n", 1359 | "1099\n", 1360 | "1100\n", 1361 | "1101\n", 1362 | "1102\n", 1363 | "1103\n", 1364 | "1104\n", 1365 | "1105\n", 1366 | "1106\n", 1367 | "1107\n", 1368 | "1108\n", 1369 | "1109\n", 1370 | "1110\n", 1371 | "1111\n", 1372 | "1112\n", 1373 | "1113\n", 1374 | "1114\n", 1375 | "1115\n", 1376 | "1116\n", 1377 | "1117\n", 1378 | "1118\n", 1379 | "1119\n", 1380 | "1120\n", 1381 | "1121\n", 1382 | "1122\n", 1383 | "1123\n", 1384 | "1124\n", 1385 | "1125\n", 1386 | "1126\n", 1387 | "1127\n", 1388 | "1128\n", 1389 | "1129\n", 1390 | "1130\n", 1391 | "1131\n", 1392 | "1132\n", 1393 | "1133\n", 1394 | "1134\n", 1395 | "1135\n", 1396 | "1136\n", 1397 | "1137\n", 1398 | "1138\n", 1399 | "1139\n", 1400 | "1140\n", 1401 | "1141\n", 1402 | "1142\n", 1403 | "1143\n", 1404 | "1144\n", 1405 | "1145\n", 1406 | "1146\n", 1407 | "1147\n", 1408 | "1148\n", 1409 | "1149\n", 1410 | "1150\n", 1411 | "1151\n", 1412 | "1152\n", 1413 | "1153\n", 1414 | "1154\n", 1415 | "1155\n", 1416 | "1156\n", 1417 | "1157\n", 1418 | "1158\n", 1419 | "1159\n", 1420 | "1160\n", 1421 | "1161\n", 1422 | "1162\n", 1423 | "1163\n", 1424 | "1164\n", 1425 | "1165\n", 1426 | "1166\n", 1427 | "1167\n", 1428 | "1168\n", 1429 | "1169\n", 1430 | "1170\n", 1431 | "1171\n", 1432 | "1172\n", 1433 | "1173\n", 1434 | "1174\n", 1435 | "1175\n", 1436 | "1176\n", 1437 | "1177\n", 1438 | "1178\n", 1439 | "1179\n", 1440 | "1180\n", 1441 | "1181\n", 1442 | "1182\n", 1443 | "1183\n", 1444 | "1184\n", 1445 | "1185\n", 1446 | "1186\n", 1447 | "1187\n", 1448 | "1188\n", 1449 | "1189\n", 1450 | "1190\n", 1451 | "1191\n", 1452 | "1192\n", 1453 | "1193\n", 1454 | "1194\n", 1455 | "1195\n", 1456 | "1196\n", 1457 | "1197\n", 1458 | "1198\n", 1459 | "1199\n", 1460 | "1200\n", 1461 | "1201\n", 1462 | "1202\n", 1463 | "1203\n", 1464 | "1204\n", 1465 | "1205\n", 1466 | "1206\n", 1467 | "1207\n", 1468 | "1208\n", 1469 | "1209\n", 1470 | "1210\n", 1471 | "1211\n", 1472 | "1212\n", 1473 | "1213\n", 1474 | "1214\n", 1475 | "1215\n", 1476 | "1216\n", 1477 | "1217\n", 1478 | "1218\n", 1479 | "1219\n", 1480 | "1220\n", 1481 | "1221\n", 1482 | "1222\n", 1483 | "1223\n", 1484 | "1224\n", 1485 | "1225\n", 1486 | "1226\n", 1487 | "1227\n", 1488 | "1228\n", 1489 | "1229\n", 1490 | "1230\n", 1491 | "1231\n", 1492 | "1232\n", 1493 | "1233\n", 1494 | "1234\n", 1495 | "1235\n", 1496 | "1236\n", 1497 | "1237\n", 1498 | "1238\n", 1499 | "1239\n", 1500 | "1240\n", 1501 | "1241\n", 1502 | "1242\n", 1503 | "1243\n", 1504 | "1244\n", 1505 | "1245\n", 1506 | "1246\n", 1507 | "1247\n", 1508 | "1248\n", 1509 | "1249\n", 1510 | "1250\n", 1511 | "1251\n", 1512 | "1252\n", 1513 | "1253\n", 1514 | "1254\n", 1515 | "1255\n", 1516 | "1256\n", 1517 | "1257\n", 1518 | "1258\n", 1519 | "1259\n", 1520 | "1260\n", 1521 | "1261\n", 1522 | "1262\n", 1523 | "1263\n", 1524 | "1264\n", 1525 | "1265\n", 1526 | "1266\n", 1527 | "1267\n", 1528 | "1268\n", 1529 | "1269\n", 1530 | "1270\n", 1531 | "1271\n", 1532 | "1272\n", 1533 | "1273\n", 1534 | "1274\n", 1535 | "1275\n", 1536 | "1276\n", 1537 | "1277\n", 1538 | "1278\n", 1539 | "1279\n", 1540 | "1280\n", 1541 | "1281\n", 1542 | "1282\n", 1543 | "1283\n", 1544 | "1284\n", 1545 | "1285\n", 1546 | "1286\n", 1547 | "1287\n", 1548 | "1288\n", 1549 | "1289\n", 1550 | "1290\n", 1551 | "1291\n", 1552 | "1292\n", 1553 | "1293\n", 1554 | "1294\n", 1555 | "1295\n", 1556 | "1296\n", 1557 | "1297\n", 1558 | "1298\n", 1559 | "1299\n", 1560 | "1300\n", 1561 | "1301\n", 1562 | "1302\n", 1563 | "1303\n", 1564 | "1304\n", 1565 | "1305\n", 1566 | "1306\n", 1567 | "1307\n", 1568 | "1308\n", 1569 | "1309\n", 1570 | "1310\n", 1571 | "1311\n", 1572 | "1312\n", 1573 | "1313\n", 1574 | "1314\n", 1575 | "1315\n", 1576 | "1316\n", 1577 | "1317\n", 1578 | "1318\n", 1579 | "1319\n", 1580 | "1320\n", 1581 | "1321\n", 1582 | "1322\n", 1583 | "1323\n", 1584 | "1324\n", 1585 | "1325\n", 1586 | "1326\n", 1587 | "1327\n", 1588 | "1328\n", 1589 | "1329\n", 1590 | "1330\n", 1591 | "1331\n", 1592 | "1332\n", 1593 | "1333\n", 1594 | "1334\n", 1595 | "1335\n", 1596 | "1336\n", 1597 | "1337\n", 1598 | "1338\n", 1599 | "1339\n", 1600 | "1340\n", 1601 | "1341\n", 1602 | "1342\n", 1603 | "1343\n", 1604 | "1344\n", 1605 | "1345\n", 1606 | "1346\n", 1607 | "1347\n", 1608 | "1348\n", 1609 | "1349\n", 1610 | "1350\n", 1611 | "1351\n", 1612 | "1352\n", 1613 | "1353\n", 1614 | "1354\n", 1615 | "1355\n", 1616 | "1356\n", 1617 | "1357\n", 1618 | "1358\n", 1619 | "1359\n", 1620 | "1360\n", 1621 | "1361\n", 1622 | "1362\n", 1623 | "1363\n", 1624 | "1364\n", 1625 | "1365\n", 1626 | "1366\n", 1627 | "1367\n", 1628 | "1368\n", 1629 | "1369\n", 1630 | "1370\n", 1631 | "1371\n", 1632 | "1372\n", 1633 | "1373\n", 1634 | "1374\n", 1635 | "1375\n", 1636 | "1376\n", 1637 | "1377\n", 1638 | "1378\n", 1639 | "1379\n", 1640 | "1380\n", 1641 | "1381\n", 1642 | "1382\n", 1643 | "1383\n", 1644 | "1384\n", 1645 | "1385\n", 1646 | "1386\n", 1647 | "1387\n", 1648 | "1388\n", 1649 | "1389\n", 1650 | "1390\n", 1651 | "1391\n", 1652 | "1392\n", 1653 | "1393\n", 1654 | "1394\n", 1655 | "1395\n", 1656 | "1396\n", 1657 | "1397\n", 1658 | "1398\n", 1659 | "1399\n", 1660 | "1400\n", 1661 | "1401\n", 1662 | "1402\n", 1663 | "1403\n", 1664 | "1404\n", 1665 | "1405\n", 1666 | "1406\n", 1667 | "1407\n", 1668 | "1408\n", 1669 | "1409\n", 1670 | "1410\n", 1671 | "1411\n", 1672 | "1412\n", 1673 | "1413\n", 1674 | "1414\n", 1675 | "1415\n", 1676 | "1416\n", 1677 | "1417\n", 1678 | "1418\n", 1679 | "1419\n", 1680 | "1420\n", 1681 | "1421\n", 1682 | "1422\n", 1683 | "1423\n", 1684 | "1424\n", 1685 | "1425\n", 1686 | "1426\n", 1687 | "1427\n", 1688 | "1428\n", 1689 | "1429\n", 1690 | "1430\n", 1691 | "1431\n", 1692 | "1432\n", 1693 | "1433\n", 1694 | "1434\n", 1695 | "1435\n", 1696 | "1436\n", 1697 | "1437\n", 1698 | "1438\n", 1699 | "1439\n", 1700 | "1440\n", 1701 | "1441\n", 1702 | "1442\n", 1703 | "1443\n", 1704 | "1444\n", 1705 | "1445\n", 1706 | "1446\n", 1707 | "1447\n", 1708 | "1448\n", 1709 | "1449\n", 1710 | "1450\n", 1711 | "1451\n", 1712 | "1452\n", 1713 | "1453\n", 1714 | "1454\n", 1715 | "1455\n", 1716 | "1456\n", 1717 | "1457\n", 1718 | "1458\n", 1719 | "1459\n", 1720 | "1460\n", 1721 | "1461\n", 1722 | "1462\n", 1723 | "1463\n", 1724 | "1464\n", 1725 | "1465\n", 1726 | "1466\n", 1727 | "1467\n", 1728 | "1468\n", 1729 | "1469\n", 1730 | "1470\n", 1731 | "1471\n", 1732 | "1472\n", 1733 | "1473\n", 1734 | "1474\n", 1735 | "1475\n", 1736 | "1476\n", 1737 | "1477\n", 1738 | "1478\n", 1739 | "1479\n", 1740 | "1480\n", 1741 | "1481\n", 1742 | "1482\n", 1743 | "1483\n", 1744 | "1484\n", 1745 | "1485\n", 1746 | "1486\n", 1747 | "1487\n", 1748 | "1488\n", 1749 | "1489\n", 1750 | "1490\n", 1751 | "1491\n", 1752 | "1492\n", 1753 | "1493\n", 1754 | "1494\n", 1755 | "1495\n", 1756 | "1496\n", 1757 | "1497\n", 1758 | "1498\n", 1759 | "1499\n", 1760 | "1500\n", 1761 | "1501\n", 1762 | "1502\n", 1763 | "1503\n", 1764 | "1504\n", 1765 | "1505\n", 1766 | "1506\n", 1767 | "1507\n", 1768 | "1508\n", 1769 | "1509\n", 1770 | "1510\n", 1771 | "1511\n", 1772 | "1512\n", 1773 | "1513\n", 1774 | "1514\n", 1775 | "1515\n", 1776 | "1516\n", 1777 | "1517\n", 1778 | "1518\n", 1779 | "1519\n", 1780 | "1520\n", 1781 | "1521\n", 1782 | "1522\n", 1783 | "1523\n", 1784 | "1524\n", 1785 | "1525\n", 1786 | "1526\n", 1787 | "1527\n", 1788 | "1528\n", 1789 | "1529\n", 1790 | "1530\n", 1791 | "1531\n", 1792 | "1532\n", 1793 | "1533\n", 1794 | "1534\n", 1795 | "1535\n", 1796 | "1536\n", 1797 | "1537\n", 1798 | "1538\n", 1799 | "1539\n", 1800 | "1540\n", 1801 | "1541\n", 1802 | "1542\n", 1803 | "1543\n", 1804 | "1544\n", 1805 | "1545\n", 1806 | "1546\n", 1807 | "1547\n", 1808 | "1548\n", 1809 | "1549\n", 1810 | "1550\n", 1811 | "1551\n", 1812 | "1552\n", 1813 | "1553\n", 1814 | "1554\n", 1815 | "1555\n", 1816 | "1556\n", 1817 | "1557\n", 1818 | "1558\n", 1819 | "1559\n", 1820 | "1560\n", 1821 | "1561\n", 1822 | "1562\n", 1823 | "1563\n", 1824 | "1564\n", 1825 | "1565\n", 1826 | "1566\n", 1827 | "1567\n", 1828 | "1568\n", 1829 | "1569\n", 1830 | "1570\n", 1831 | "1571\n", 1832 | "1572\n", 1833 | "1573\n", 1834 | "1574\n", 1835 | "1575\n", 1836 | "1576\n", 1837 | "1577\n", 1838 | "1578\n", 1839 | "1579\n", 1840 | "1580\n", 1841 | "1581\n", 1842 | "1582\n", 1843 | "1583\n", 1844 | "1584\n", 1845 | "1585\n", 1846 | "1586\n", 1847 | "1587\n", 1848 | "1588\n", 1849 | "1589\n", 1850 | "1590\n", 1851 | "1591\n", 1852 | "1592\n", 1853 | "1593\n", 1854 | "1594\n", 1855 | "1595\n", 1856 | "1596\n", 1857 | "1597\n", 1858 | "1598\n", 1859 | "1599\n", 1860 | "1600\n", 1861 | "1601\n", 1862 | "1602\n", 1863 | "1603\n", 1864 | "1604\n", 1865 | "1605\n", 1866 | "1606\n", 1867 | "1607\n", 1868 | "1608\n", 1869 | "1609\n", 1870 | "1610\n", 1871 | "1611\n", 1872 | "1612\n", 1873 | "1613\n", 1874 | "1614\n", 1875 | "1615\n", 1876 | "1616\n", 1877 | "1617\n", 1878 | "1618\n", 1879 | "1619\n", 1880 | "1620\n", 1881 | "1621\n", 1882 | "1622\n", 1883 | "1623\n", 1884 | "1624\n", 1885 | "1625\n", 1886 | "1626\n", 1887 | "1627\n", 1888 | "1628\n", 1889 | "1629\n", 1890 | "1630\n", 1891 | "1631\n", 1892 | "1632\n", 1893 | "1633\n", 1894 | "1634\n", 1895 | "1635\n", 1896 | "1636\n", 1897 | "1637\n", 1898 | "1638\n", 1899 | "1639\n", 1900 | "1640\n", 1901 | "1641\n", 1902 | "1642\n", 1903 | "1643\n", 1904 | "1644\n", 1905 | "1645\n", 1906 | "1646\n", 1907 | "1647\n", 1908 | "1648\n", 1909 | "1649\n", 1910 | "1650\n", 1911 | "1651\n", 1912 | "1652\n", 1913 | "1653\n", 1914 | "1654\n", 1915 | "1655\n", 1916 | "1656\n", 1917 | "1657\n", 1918 | "1658\n", 1919 | "1659\n", 1920 | "1660\n", 1921 | "1661\n", 1922 | "1662\n", 1923 | "1663\n", 1924 | "1664\n", 1925 | "1665\n", 1926 | "1666\n", 1927 | "1667\n", 1928 | "1668\n", 1929 | "1669\n", 1930 | "1670\n", 1931 | "1671\n", 1932 | "1672\n", 1933 | "1673\n", 1934 | "1674\n", 1935 | "1675\n", 1936 | "1676\n", 1937 | "1677\n", 1938 | "1678\n", 1939 | "1679\n", 1940 | "1680\n", 1941 | "1681\n", 1942 | "1682\n", 1943 | "1683\n", 1944 | "1684\n", 1945 | "1685\n", 1946 | "1686\n", 1947 | "1687\n", 1948 | "1688\n", 1949 | "1689\n", 1950 | "1690\n", 1951 | "1691\n", 1952 | "1692\n", 1953 | "1693\n", 1954 | "1694\n", 1955 | "1695\n", 1956 | "1696\n", 1957 | "1697\n", 1958 | "1698\n", 1959 | "1699\n", 1960 | "1700\n", 1961 | "1701\n", 1962 | "1702\n", 1963 | "1703\n", 1964 | "1704\n", 1965 | "1705\n", 1966 | "1706\n", 1967 | "1707\n", 1968 | "1708\n", 1969 | "1709\n", 1970 | "1710\n", 1971 | "1711\n", 1972 | "1712\n", 1973 | "1713\n", 1974 | "1714\n", 1975 | "1715\n", 1976 | "1716\n", 1977 | "1717\n", 1978 | "1718\n", 1979 | "1719\n", 1980 | "1720\n", 1981 | "1721\n", 1982 | "1722\n", 1983 | "1723\n", 1984 | "1724\n", 1985 | "1725\n", 1986 | "1726\n", 1987 | "1727\n", 1988 | "1728\n", 1989 | "1729\n", 1990 | "1730\n", 1991 | "1731\n", 1992 | "1732\n", 1993 | "1733\n", 1994 | "1734\n", 1995 | "1735\n", 1996 | "1736\n", 1997 | "1737\n", 1998 | "1738\n", 1999 | "1739\n", 2000 | "1740\n", 2001 | "1741\n", 2002 | "1742\n", 2003 | "1743\n", 2004 | "1744\n", 2005 | "1745\n", 2006 | "1746\n", 2007 | "1747\n", 2008 | "1748\n", 2009 | "1749\n", 2010 | "1750\n", 2011 | "1751\n", 2012 | "1752\n", 2013 | "1753\n", 2014 | "1754\n", 2015 | "1755\n", 2016 | "1756\n", 2017 | "1757\n", 2018 | "1758\n", 2019 | "1759\n", 2020 | "1760\n", 2021 | "1761\n", 2022 | "1762\n", 2023 | "1763\n", 2024 | "1764\n", 2025 | "1765\n", 2026 | "1766\n", 2027 | "1767\n", 2028 | "1768\n", 2029 | "1769\n", 2030 | "1770\n", 2031 | "1771\n", 2032 | "1772\n", 2033 | "1773\n", 2034 | "1774\n", 2035 | "1775\n", 2036 | "1776\n", 2037 | "1777\n", 2038 | "1778\n", 2039 | "1779\n", 2040 | "1780\n", 2041 | "1781\n", 2042 | "1782\n", 2043 | "1783\n", 2044 | "1784\n", 2045 | "1785\n", 2046 | "1786\n", 2047 | "1787\n", 2048 | "1788\n", 2049 | "1789\n", 2050 | "1790\n", 2051 | "1791\n", 2052 | "1792\n", 2053 | "1793\n", 2054 | "1794\n", 2055 | "1795\n", 2056 | "1796\n", 2057 | "1797\n", 2058 | "1798\n", 2059 | "1799\n", 2060 | "1800\n", 2061 | "1801\n", 2062 | "1802\n", 2063 | "1803\n", 2064 | "1804\n", 2065 | "1805\n", 2066 | "1806\n", 2067 | "1807\n", 2068 | "1808\n", 2069 | "1809\n", 2070 | "1810\n", 2071 | "1811\n", 2072 | "1812\n", 2073 | "1813\n", 2074 | "1814\n", 2075 | "1815\n", 2076 | "1816\n", 2077 | "1817\n", 2078 | "1818\n", 2079 | "1819\n", 2080 | "1820\n", 2081 | "1821\n", 2082 | "1822\n", 2083 | "1823\n", 2084 | "1824\n", 2085 | "1825\n", 2086 | "1826\n", 2087 | "1827\n", 2088 | "1828\n", 2089 | "1829\n", 2090 | "1830\n", 2091 | "1831\n", 2092 | "1832\n", 2093 | "1833\n", 2094 | "1834\n", 2095 | "1835\n", 2096 | "1836\n", 2097 | "1837\n", 2098 | "1838\n", 2099 | "1839\n", 2100 | "1840\n", 2101 | "1841\n", 2102 | "1842\n", 2103 | "1843\n", 2104 | "1844\n", 2105 | "1845\n", 2106 | "1846\n", 2107 | "1847\n", 2108 | "1848\n", 2109 | "1849\n", 2110 | "1850\n", 2111 | "1851\n", 2112 | "1852\n", 2113 | "1853\n", 2114 | "1854\n", 2115 | "1855\n", 2116 | "1856\n", 2117 | "1857\n", 2118 | "1858\n", 2119 | "1859\n", 2120 | "1860\n" 2121 | ] 2122 | }, 2123 | { 2124 | "name": "stdout", 2125 | "output_type": "stream", 2126 | "text": [ 2127 | "1861\n", 2128 | "1862\n", 2129 | "1863\n", 2130 | "1864\n", 2131 | "1865\n", 2132 | "1866\n", 2133 | "1867\n", 2134 | "1868\n", 2135 | "1869\n", 2136 | "1870\n", 2137 | "1871\n", 2138 | "1872\n", 2139 | "1873\n", 2140 | "1874\n", 2141 | "1875\n", 2142 | "1876\n", 2143 | "1877\n", 2144 | "1878\n", 2145 | "1879\n", 2146 | "1880\n", 2147 | "1881\n", 2148 | "1882\n", 2149 | "1883\n", 2150 | "1884\n", 2151 | "1885\n", 2152 | "1886\n", 2153 | "1887\n", 2154 | "1888\n", 2155 | "1889\n", 2156 | "1890\n", 2157 | "1891\n", 2158 | "1892\n", 2159 | "1893\n", 2160 | "1894\n", 2161 | "1895\n", 2162 | "1896\n", 2163 | "1897\n", 2164 | "1898\n", 2165 | "1899\n", 2166 | "1900\n", 2167 | "1901\n", 2168 | "1902\n", 2169 | "1903\n", 2170 | "1904\n", 2171 | "1905\n", 2172 | "1906\n", 2173 | "1907\n", 2174 | "1908\n", 2175 | "1909\n", 2176 | "1910\n", 2177 | "1911\n", 2178 | "1912\n", 2179 | "1913\n", 2180 | "1914\n", 2181 | "1915\n", 2182 | "1916\n", 2183 | "1917\n", 2184 | "1918\n", 2185 | "1919\n", 2186 | "1920\n", 2187 | "1921\n", 2188 | "1922\n", 2189 | "1923\n", 2190 | "1924\n", 2191 | "1925\n", 2192 | "1926\n", 2193 | "1927\n", 2194 | "1928\n", 2195 | "1929\n", 2196 | "1930\n", 2197 | "1931\n", 2198 | "1932\n", 2199 | "1933\n", 2200 | "1934\n", 2201 | "1935\n", 2202 | "1936\n", 2203 | "1937\n", 2204 | "1938\n", 2205 | "1939\n", 2206 | "1940\n", 2207 | "1941\n", 2208 | "1942\n", 2209 | "1943\n", 2210 | "1944\n", 2211 | "1945\n", 2212 | "1946\n", 2213 | "1947\n", 2214 | "1948\n", 2215 | "1949\n", 2216 | "1950\n", 2217 | "1951\n", 2218 | "1952\n", 2219 | "1953\n", 2220 | "1954\n", 2221 | "1955\n", 2222 | "1956\n", 2223 | "1957\n", 2224 | "1958\n", 2225 | "1959\n", 2226 | "1960\n", 2227 | "1961\n", 2228 | "1962\n", 2229 | "1963\n", 2230 | "1964\n", 2231 | "1965\n", 2232 | "1966\n", 2233 | "1967\n", 2234 | "1968\n", 2235 | "1969\n", 2236 | "1970\n", 2237 | "1971\n", 2238 | "1972\n", 2239 | "1973\n", 2240 | "1974\n", 2241 | "1975\n", 2242 | "1976\n", 2243 | "1977\n", 2244 | "1978\n", 2245 | "1979\n", 2246 | "1980\n", 2247 | "1981\n", 2248 | "1982\n", 2249 | "1983\n", 2250 | "1984\n", 2251 | "1985\n", 2252 | "1986\n", 2253 | "1987\n", 2254 | "1988\n" 2255 | ] 2256 | }, 2257 | { 2258 | "ename": "KeyError", 2259 | "evalue": "'album'", 2260 | "output_type": "error", 2261 | "traceback": [ 2262 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 2263 | "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", 2264 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;31m#used for album request\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0malbum_id\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrep\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'album'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'id'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0mcur_album_id\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0malbum_id\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", 2265 | "\u001b[0;31mKeyError\u001b[0m: 'album'" 2266 | ] 2267 | } 2268 | ], 2269 | "source": [ 2270 | "i=0\n", 2271 | "\n", 2272 | "for ids in track_features.ids:\n", 2273 | " \n", 2274 | " # FROM TRACK OBJECT\n", 2275 | " track_features_endpoint = \"https://api.spotify.com/v1/tracks/{}\".format(ids)\n", 2276 | " # the below authorization token must be periodically changed and manually requested from the Spotify API\n", 2277 | " headers = {\"Authorization\":\"Bearer BQCqe5naoZO73MxotOI1nxw9QgiYYkpwv148di3XSYyc8zEF2-lc_2DDWKxi383ZuNZVTSMECpa5Wp5OWyyiaXj_WUH_ZrlQyLLvwNiS-NYOtzr_u2wzkJMA3fZLY46KInkd8H9iRFWuAfAG2nl9rG02PyLtxRhpRIEIjNd1T-J_biHFN5gTfZZpKmXsS83tqoT0LYIQF9-LFVTuOTwbgvWcvVKnV7J0VmfdCd75Mwupgiq1ag--TKTeVkyvPD_NubDH46m_kC0XDe8c\"}\n", 2278 | " rep = requests.get(url=track_features_endpoint, headers=headers).json()\n", 2279 | " \n", 2280 | " album_id.append(rep['album']['id'])\n", 2281 | " cur_album_id = album_id[i]\n", 2282 | " \n", 2283 | " album_name.append(rep[\"album\"][\"name\"])\n", 2284 | " album_release_date.append(rep[\"album\"][\"release_date\"])\n", 2285 | " \n", 2286 | " track_artist_ids.append([artist['id'] for artist in rep['artists']]) #this is multiple but we're only doing 1st\n", 2287 | " track_artist_id1 = track_artist_ids[i][0]\n", 2288 | " \n", 2289 | " track_id.append(rep['id'])\n", 2290 | " track_duration_ms.append(rep[\"duration_ms\"])\n", 2291 | " track_explicit.append(rep[\"explicit\"])\n", 2292 | " track_name.append(rep[\"name\"])\n", 2293 | " track_popularity.append(rep[\"popularity\"])\n", 2294 | " \n", 2295 | " # FROM ARTIST OBJECT\n", 2296 | " artists_endpoint = \"https://api.spotify.com/v1/artists/{}\".format(track_artist_id1)\n", 2297 | " rep = requests.get(url=artists_endpoint,headers=headers).json()\n", 2298 | " artist1_id.append(rep['id'])\n", 2299 | " followers.append(rep[\"followers\"][\"total\"])\n", 2300 | " artist_popularity.append(rep[\"popularity\"])\n", 2301 | " if len(rep['genres']) >= 1:\n", 2302 | " artist_genre1.append(rep['genres'][0])\n", 2303 | " else:\n", 2304 | " artist_genre1.append(None)\n", 2305 | " if len(rep['genres']) >= 2:\n", 2306 | " artist_genre2.append(rep['genres'][1])\n", 2307 | " else:\n", 2308 | " artist_genre2.append(None)\n", 2309 | " if len(rep['genres']) >= 3:\n", 2310 | " artist_genre3.append(rep['genres'][2])\n", 2311 | " else:\n", 2312 | " artist_genre3.append(None)\n", 2313 | " \n", 2314 | " \n", 2315 | " # FROM AUDIO FEATURES OBJECT\n", 2316 | " audio_features_endpoint = \"https://api.spotify.com/v1/audio-features/{}\".format(ids)\n", 2317 | " rep = requests.get(url=audio_features_endpoint, headers=headers).json()\n", 2318 | " danceability.append(rep[\"danceability\"])\n", 2319 | " energy.append(rep[\"energy\"])\n", 2320 | " key.append(rep[\"key\"])\n", 2321 | " loudness.append(rep[\"loudness\"])\n", 2322 | " mode.append(rep[\"mode\"])\n", 2323 | " speechiness.append(rep[\"speechiness\"])\n", 2324 | " acousticness.append(rep[\"acousticness\"])\n", 2325 | " instrumentalness.append(rep[\"instrumentalness\"])\n", 2326 | " liveness.append(rep[\"liveness\"])\n", 2327 | " valence.append(rep[\"valence\"])\n", 2328 | " tempo.append(rep[\"tempo\"])\n", 2329 | " audio_features_id.append(rep['id'])\n", 2330 | " \n", 2331 | " # FROM ALBUM OBJECT\n", 2332 | " albums_endpoint = \"https://api.spotify.com/v1/albums/{}\".format(cur_album_id)\n", 2333 | " rep = requests.get(url=albums_endpoint, headers=headers).json()\n", 2334 | " album_label.append(rep[\"label\"])\n", 2335 | " album_popularity.append(rep[\"popularity\"])\n", 2336 | " \n", 2337 | " if i==10000:\n", 2338 | " break\n", 2339 | " # print all i's so we can figure out when the scraping broke down\n", 2340 | " print(\"{}\".format(i))\n", 2341 | " i = i + 1" 2342 | ] 2343 | }, 2344 | { 2345 | "cell_type": "code", 2346 | "execution_count": 113, 2347 | "metadata": {}, 2348 | "outputs": [], 2349 | "source": [ 2350 | "# SPECIAL CELL: this is for when the scraping breaks down IN THE MIDDLE of the previous cell's running. You can see \n", 2351 | "# on which object request the scraping broke, so append None to all lists after that breakdown\n", 2352 | "\n", 2353 | "# this ensures that when we combine all the lists into one dataframe, it doesn't automatically drop columns with \n", 2354 | "# no data (from the breakdown)\n", 2355 | "\n", 2356 | "\n", 2357 | "# tracks\n", 2358 | "album_id.append(None)\n", 2359 | "album_name.append(None)\n", 2360 | "album_release_date.append(None)\n", 2361 | "\n", 2362 | "track_artist_ids.append(None)\n", 2363 | "\n", 2364 | "track_id.append(None)\n", 2365 | "track_duration_ms.append(None)\n", 2366 | "track_explicit.append(None)\n", 2367 | "track_name.append(None)\n", 2368 | "track_popularity.append(None)\n", 2369 | "\n", 2370 | "#artists \n", 2371 | "artist1_id.append(None)\n", 2372 | "followers.append(None)\n", 2373 | "artist_popularity.append(None)\n", 2374 | "artist_genre1.append(None)\n", 2375 | "artist_genre2.append(None)\n", 2376 | "artist_genre3.append(None)\n", 2377 | "\n", 2378 | "#audio features \n", 2379 | "danceability.append(None)\n", 2380 | "energy.append(None)\n", 2381 | "key.append(None)\n", 2382 | "loudness.append(None)\n", 2383 | "mode.append(None)\n", 2384 | "speechiness.append(None)\n", 2385 | "acousticness.append(None)\n", 2386 | "instrumentalness.append(None)\n", 2387 | "liveness.append(None)\n", 2388 | "valence.append(None)\n", 2389 | "tempo.append(None)\n", 2390 | "audio_features_id.append(None)\n", 2391 | "\n", 2392 | "#albums\n", 2393 | "album_label.append(None)\n", 2394 | "album_popularity.append(None)" 2395 | ] 2396 | }, 2397 | { 2398 | "cell_type": "code", 2399 | "execution_count": 142, 2400 | "metadata": {}, 2401 | "outputs": [], 2402 | "source": [ 2403 | "# combine all lists into one df\n", 2404 | "track_records = pd.DataFrame(album_id, columns=['album_id'])\n", 2405 | "\n", 2406 | "track_records[\"album_name\"] = album_name\n", 2407 | "track_records[\"album_release_date\"] = album_release_date\n", 2408 | "\n", 2409 | "track_records[\"track_artist_ids\"] = track_artist_ids\n", 2410 | "\n", 2411 | "track_records['track_id'] = track_id\n", 2412 | "track_records[\"track_duration_ms\"] = track_duration_ms\n", 2413 | "track_records[\"track_explicit\"] = track_explicit\n", 2414 | "track_records[\"track_name\"] = track_name\n", 2415 | "track_records[\"track_popularity\"] = track_popularity\n", 2416 | "\n", 2417 | "\n", 2418 | "track_records[\"danceability\"] = danceability\n", 2419 | "track_records[\"energy\"] = energy\n", 2420 | "track_records[\"key\"] = key\n", 2421 | "track_records[\"loudness\"] = loudness\n", 2422 | "track_records[\"mode\"] = mode\n", 2423 | "track_records[\"speechiness\"] = speechiness\n", 2424 | "track_records[\"acousticness\"] = acousticness\n", 2425 | "track_records[\"instrumentalness\"] = instrumentalness\n", 2426 | "track_records[\"liveness\"] = liveness\n", 2427 | "track_records[\"valence\"] = valence\n", 2428 | "track_records[\"tempo\"] = tempo\n", 2429 | "track_records[\"audio_features_id\"] = audio_features_id\n", 2430 | "\n", 2431 | "track_records['artist1_id'] = artist1_id\n", 2432 | "track_records['followers'] = followers\n", 2433 | "track_records['artist_popularity'] = artist_popularity\n", 2434 | "track_records['artist_genre1'] = artist_genre1\n", 2435 | "track_records['artist_genre2'] = artist_genre2\n", 2436 | "track_records['artist_genre3'] = artist_genre3\n", 2437 | "\n", 2438 | "track_records['album_label'] = album_label\n", 2439 | "track_records['album_popularity'] = album_popularity\n" 2440 | ] 2441 | }, 2442 | { 2443 | "cell_type": "code", 2444 | "execution_count": 143, 2445 | "metadata": {}, 2446 | "outputs": [ 2447 | { 2448 | "data": { 2449 | "text/plain": [ 2450 | "(1989, 29)" 2451 | ] 2452 | }, 2453 | "execution_count": 143, 2454 | "metadata": {}, 2455 | "output_type": "execute_result" 2456 | } 2457 | ], 2458 | "source": [ 2459 | "track_records.shape" 2460 | ] 2461 | }, 2462 | { 2463 | "cell_type": "code", 2464 | "execution_count": 144, 2465 | "metadata": {}, 2466 | "outputs": [ 2467 | { 2468 | "data": { 2469 | "text/html": [ 2470 | "
\n", 2471 | "\n", 2484 | "\n", 2485 | " \n", 2486 | " \n", 2487 | " \n", 2488 | " \n", 2489 | " \n", 2490 | " \n", 2491 | " \n", 2492 | " \n", 2493 | " \n", 2494 | " \n", 2495 | " \n", 2496 | " \n", 2497 | " \n", 2498 | " \n", 2499 | " \n", 2500 | " \n", 2501 | " \n", 2502 | " \n", 2503 | " \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 | " \n", 2608 | " \n", 2609 | " \n", 2610 | " \n", 2611 | " \n", 2612 | " \n", 2613 | " \n", 2614 | " \n", 2615 | " \n", 2616 | " \n", 2617 | " \n", 2618 | " \n", 2619 | " \n", 2620 | " \n", 2621 | " \n", 2622 | " \n", 2623 | " \n", 2624 | " \n", 2625 | " \n", 2626 | " \n", 2627 | " \n", 2628 | " \n", 2629 | " \n", 2630 | " \n", 2631 | " \n", 2632 | " \n", 2633 | " \n", 2634 | " \n", 2635 | " \n", 2636 | " \n", 2637 | " \n", 2638 | " \n", 2639 | " \n", 2640 | " \n", 2641 | " \n", 2642 | " \n", 2643 | " \n", 2644 | " \n", 2645 | " \n", 2646 | " \n", 2647 | " \n", 2648 | " \n", 2649 | " \n", 2650 | " \n", 2651 | " \n", 2652 | " \n", 2653 | " \n", 2654 | " \n", 2655 | " \n", 2656 | " \n", 2657 | " \n", 2658 | " \n", 2659 | " \n", 2660 | " \n", 2661 | " \n", 2662 | " \n", 2663 | " \n", 2664 | " \n", 2665 | " \n", 2666 | " \n", 2667 | " \n", 2668 | " \n", 2669 | " \n", 2670 | " \n", 2671 | " \n", 2672 | " \n", 2673 | " \n", 2674 | " \n", 2675 | " \n", 2676 | " \n", 2677 | " \n", 2678 | " \n", 2679 | " \n", 2680 | " \n", 2681 | " \n", 2682 | " \n", 2683 | " \n", 2684 | " \n", 2685 | " \n", 2686 | " \n", 2687 | " \n", 2688 | " \n", 2689 | " \n", 2690 | " \n", 2691 | " \n", 2692 | " \n", 2693 | " \n", 2694 | " \n", 2695 | " \n", 2696 | " \n", 2697 | " \n", 2698 | " \n", 2699 | " \n", 2700 | " \n", 2701 | " \n", 2702 | " \n", 2703 | " \n", 2704 | " \n", 2705 | " \n", 2706 | " \n", 2707 | " \n", 2708 | " \n", 2709 | " \n", 2710 | " \n", 2711 | " \n", 2712 | " \n", 2713 | " \n", 2714 | " \n", 2715 | " \n", 2716 | " \n", 2717 | " \n", 2718 | " \n", 2719 | " \n", 2720 | " \n", 2721 | " \n", 2722 | " \n", 2723 | " \n", 2724 | " \n", 2725 | " \n", 2726 | " \n", 2727 | " \n", 2728 | " \n", 2729 | " \n", 2730 | " \n", 2731 | " \n", 2732 | " \n", 2733 | " \n", 2734 | " \n", 2735 | " \n", 2736 | " \n", 2737 | " \n", 2738 | " \n", 2739 | " \n", 2740 | " \n", 2741 | " \n", 2742 | " \n", 2743 | " \n", 2744 | " \n", 2745 | " \n", 2746 | " \n", 2747 | " \n", 2748 | " \n", 2749 | " \n", 2750 | " \n", 2751 | " \n", 2752 | " \n", 2753 | " \n", 2754 | " \n", 2755 | " \n", 2756 | " \n", 2757 | " \n", 2758 | " \n", 2759 | " \n", 2760 | " \n", 2761 | " \n", 2762 | " \n", 2763 | " \n", 2764 | " \n", 2765 | " \n", 2766 | " \n", 2767 | " \n", 2768 | " \n", 2769 | " \n", 2770 | " \n", 2771 | " \n", 2772 | " \n", 2773 | " \n", 2774 | " \n", 2775 | " \n", 2776 | " \n", 2777 | " \n", 2778 | " \n", 2779 | " \n", 2780 | " \n", 2781 | " \n", 2782 | " \n", 2783 | " \n", 2784 | " \n", 2785 | " \n", 2786 | " \n", 2787 | " \n", 2788 | " \n", 2789 | " \n", 2790 | " \n", 2791 | " \n", 2792 | " \n", 2793 | " \n", 2794 | " \n", 2795 | " \n", 2796 | " \n", 2797 | " \n", 2798 | " \n", 2799 | " \n", 2800 | " \n", 2801 | " \n", 2802 | " \n", 2803 | " \n", 2804 | " \n", 2805 | " \n", 2806 | " \n", 2807 | " \n", 2808 | " \n", 2809 | " \n", 2810 | " \n", 2811 | " \n", 2812 | " \n", 2813 | " \n", 2814 | " \n", 2815 | " \n", 2816 | " \n", 2817 | " \n", 2818 | " \n", 2819 | " \n", 2820 | " \n", 2821 | " \n", 2822 | " \n", 2823 | " \n", 2824 | " \n", 2825 | " \n", 2826 | " \n", 2827 | " \n", 2828 | " \n", 2829 | " \n", 2830 | " \n", 2831 | " \n", 2832 | " \n", 2833 | " \n", 2834 | " \n", 2835 | " \n", 2836 | " \n", 2837 | " \n", 2838 | " \n", 2839 | " \n", 2840 | " \n", 2841 | " \n", 2842 | " \n", 2843 | " \n", 2844 | " \n", 2845 | " \n", 2846 | " \n", 2847 | " \n", 2848 | " \n", 2849 | " \n", 2850 | " \n", 2851 | " \n", 2852 | " \n", 2853 | " \n", 2854 | " \n", 2855 | " \n", 2856 | " \n", 2857 | " \n", 2858 | " \n", 2859 | " \n", 2860 | " \n", 2861 | " \n", 2862 | " \n", 2863 | " \n", 2864 | " \n", 2865 | " \n", 2866 | " \n", 2867 | " \n", 2868 | " \n", 2869 | " \n", 2870 | " \n", 2871 | " \n", 2872 | " \n", 2873 | " \n", 2874 | " \n", 2875 | " \n", 2876 | " \n", 2877 | " \n", 2878 | " \n", 2879 | " \n", 2880 | " \n", 2881 | " \n", 2882 | " \n", 2883 | " \n", 2884 | " \n", 2885 | " \n", 2886 | " \n", 2887 | " \n", 2888 | " \n", 2889 | " \n", 2890 | " \n", 2891 | " \n", 2892 | " \n", 2893 | " \n", 2894 | " \n", 2895 | " \n", 2896 | " \n", 2897 | " \n", 2898 | " \n", 2899 | " \n", 2900 | " \n", 2901 | " \n", 2902 | " \n", 2903 | " \n", 2904 | " \n", 2905 | " \n", 2906 | " \n", 2907 | " \n", 2908 | " \n", 2909 | " \n", 2910 | " \n", 2911 | " \n", 2912 | " \n", 2913 | " \n", 2914 | " \n", 2915 | " \n", 2916 | " \n", 2917 | " \n", 2918 | " \n", 2919 | " \n", 2920 | " \n", 2921 | " \n", 2922 | " \n", 2923 | " \n", 2924 | " \n", 2925 | " \n", 2926 | " \n", 2927 | " \n", 2928 | " \n", 2929 | " \n", 2930 | " \n", 2931 | " \n", 2932 | " \n", 2933 | " \n", 2934 | " \n", 2935 | " \n", 2936 | " \n", 2937 | " \n", 2938 | " \n", 2939 | " \n", 2940 | " \n", 2941 | " \n", 2942 | " \n", 2943 | " \n", 2944 | " \n", 2945 | " \n", 2946 | " \n", 2947 | " \n", 2948 | " \n", 2949 | " \n", 2950 | " \n", 2951 | " \n", 2952 | " \n", 2953 | " \n", 2954 | " \n", 2955 | " \n", 2956 | " \n", 2957 | " \n", 2958 | " \n", 2959 | " \n", 2960 | " \n", 2961 | " \n", 2962 | " \n", 2963 | " \n", 2964 | " \n", 2965 | " \n", 2966 | " \n", 2967 | " \n", 2968 | " \n", 2969 | " \n", 2970 | " \n", 2971 | " \n", 2972 | " \n", 2973 | " \n", 2974 | " \n", 2975 | " \n", 2976 | " \n", 2977 | " \n", 2978 | " \n", 2979 | " \n", 2980 | " \n", 2981 | " \n", 2982 | " \n", 2983 | " \n", 2984 | " \n", 2985 | " \n", 2986 | " \n", 2987 | " \n", 2988 | " \n", 2989 | " \n", 2990 | " \n", 2991 | " \n", 2992 | " \n", 2993 | " \n", 2994 | " \n", 2995 | " \n", 2996 | " \n", 2997 | " \n", 2998 | " \n", 2999 | " \n", 3000 | " \n", 3001 | " \n", 3002 | " \n", 3003 | " \n", 3004 | " \n", 3005 | " \n", 3006 | " \n", 3007 | " \n", 3008 | " \n", 3009 | " \n", 3010 | " \n", 3011 | " \n", 3012 | " \n", 3013 | " \n", 3014 | " \n", 3015 | " \n", 3016 | " \n", 3017 | " \n", 3018 | " \n", 3019 | " \n", 3020 | " \n", 3021 | " \n", 3022 | " \n", 3023 | " \n", 3024 | " \n", 3025 | " \n", 3026 | " \n", 3027 | " \n", 3028 | " \n", 3029 | " \n", 3030 | " \n", 3031 | " \n", 3032 | " \n", 3033 | " \n", 3034 | " \n", 3035 | " \n", 3036 | " \n", 3037 | " \n", 3038 | " \n", 3039 | " \n", 3040 | " \n", 3041 | " \n", 3042 | " \n", 3043 | " \n", 3044 | " \n", 3045 | " \n", 3046 | " \n", 3047 | " \n", 3048 | " \n", 3049 | " \n", 3050 | " \n", 3051 | " \n", 3052 | " \n", 3053 | " \n", 3054 | " \n", 3055 | " \n", 3056 | " \n", 3057 | " \n", 3058 | " \n", 3059 | " \n", 3060 | " \n", 3061 | " \n", 3062 | " \n", 3063 | " \n", 3064 | " \n", 3065 | " \n", 3066 | " \n", 3067 | " \n", 3068 | " \n", 3069 | " \n", 3070 | " \n", 3071 | " \n", 3072 | " \n", 3073 | " \n", 3074 | " \n", 3075 | " \n", 3076 | " \n", 3077 | " \n", 3078 | " \n", 3079 | " \n", 3080 | " \n", 3081 | " \n", 3082 | " \n", 3083 | " \n", 3084 | " \n", 3085 | " \n", 3086 | " \n", 3087 | " \n", 3088 | " \n", 3089 | " \n", 3090 | " \n", 3091 | " \n", 3092 | " \n", 3093 | " \n", 3094 | " \n", 3095 | " \n", 3096 | " \n", 3097 | " \n", 3098 | " \n", 3099 | " \n", 3100 | " \n", 3101 | " \n", 3102 | " \n", 3103 | " \n", 3104 | " \n", 3105 | " \n", 3106 | " \n", 3107 | " \n", 3108 | " \n", 3109 | " \n", 3110 | " \n", 3111 | " \n", 3112 | " \n", 3113 | " \n", 3114 | " \n", 3115 | " \n", 3116 | " \n", 3117 | " \n", 3118 | " \n", 3119 | " \n", 3120 | " \n", 3121 | " \n", 3122 | " \n", 3123 | " \n", 3124 | " \n", 3125 | " \n", 3126 | " \n", 3127 | " \n", 3128 | " \n", 3129 | " \n", 3130 | " \n", 3131 | " \n", 3132 | " \n", 3133 | " \n", 3134 | " \n", 3135 | " \n", 3136 | " \n", 3137 | " \n", 3138 | " \n", 3139 | " \n", 3140 | " \n", 3141 | " \n", 3142 | " \n", 3143 | " \n", 3144 | " \n", 3145 | " \n", 3146 | " \n", 3147 | " \n", 3148 | " \n", 3149 | " \n", 3150 | " \n", 3151 | " \n", 3152 | " \n", 3153 | " \n", 3154 | " \n", 3155 | " \n", 3156 | " \n", 3157 | " \n", 3158 | " \n", 3159 | " \n", 3160 | " \n", 3161 | " \n", 3162 | " \n", 3163 | " \n", 3164 | " \n", 3165 | " \n", 3166 | " \n", 3167 | " \n", 3168 | " \n", 3169 | " \n", 3170 | " \n", 3171 | " \n", 3172 | " \n", 3173 | " \n", 3174 | " \n", 3175 | " \n", 3176 | " \n", 3177 | " \n", 3178 | " \n", 3179 | " \n", 3180 | " \n", 3181 | " \n", 3182 | " \n", 3183 | " \n", 3184 | " \n", 3185 | " \n", 3186 | " \n", 3187 | " \n", 3188 | " \n", 3189 | " \n", 3190 | " \n", 3191 | " \n", 3192 | " \n", 3193 | " \n", 3194 | " \n", 3195 | " \n", 3196 | " \n", 3197 | " \n", 3198 | " \n", 3199 | " \n", 3200 | " \n", 3201 | " \n", 3202 | " \n", 3203 | " \n", 3204 | " \n", 3205 | " \n", 3206 | " \n", 3207 | " \n", 3208 | " \n", 3209 | " \n", 3210 | " \n", 3211 | " \n", 3212 | " \n", 3213 | " \n", 3214 | " \n", 3215 | " \n", 3216 | " \n", 3217 | " \n", 3218 | " \n", 3219 | " \n", 3220 | " \n", 3221 | " \n", 3222 | " \n", 3223 | " \n", 3224 | " \n", 3225 | " \n", 3226 | " \n", 3227 | " \n", 3228 | " \n", 3229 | " \n", 3230 | " \n", 3231 | " \n", 3232 | " \n", 3233 | " \n", 3234 | " \n", 3235 | " \n", 3236 | " \n", 3237 | " \n", 3238 | " \n", 3239 | " \n", 3240 | " \n", 3241 | " \n", 3242 | " \n", 3243 | " \n", 3244 | " \n", 3245 | " \n", 3246 | " \n", 3247 | " \n", 3248 | " \n", 3249 | " \n", 3250 | " \n", 3251 | " \n", 3252 | " \n", 3253 | " \n", 3254 | " \n", 3255 | " \n", 3256 | " \n", 3257 | " \n", 3258 | " \n", 3259 | " \n", 3260 | " \n", 3261 | " \n", 3262 | " \n", 3263 | " \n", 3264 | " \n", 3265 | " \n", 3266 | " \n", 3267 | " \n", 3268 | " \n", 3269 | " \n", 3270 | " \n", 3271 | " \n", 3272 | " \n", 3273 | " \n", 3274 | " \n", 3275 | " \n", 3276 | " \n", 3277 | " \n", 3278 | " \n", 3279 | " \n", 3280 | " \n", 3281 | " \n", 3282 | " \n", 3283 | " \n", 3284 | " \n", 3285 | " \n", 3286 | " \n", 3287 | " \n", 3288 | " \n", 3289 | " \n", 3290 | " \n", 3291 | " \n", 3292 | " \n", 3293 | " \n", 3294 | " \n", 3295 | " \n", 3296 | " \n", 3297 | " \n", 3298 | " \n", 3299 | " \n", 3300 | " \n", 3301 | " \n", 3302 | " \n", 3303 | " \n", 3304 | " \n", 3305 | " \n", 3306 | " \n", 3307 | " \n", 3308 | " \n", 3309 | " \n", 3310 | " \n", 3311 | " \n", 3312 | " \n", 3313 | " \n", 3314 | " \n", 3315 | " \n", 3316 | " \n", 3317 | " \n", 3318 | " \n", 3319 | " \n", 3320 | " \n", 3321 | " \n", 3322 | " \n", 3323 | " \n", 3324 | " \n", 3325 | " \n", 3326 | " \n", 3327 | " \n", 3328 | " \n", 3329 | " \n", 3330 | " \n", 3331 | " \n", 3332 | " \n", 3333 | " \n", 3334 | " \n", 3335 | " \n", 3336 | " \n", 3337 | " \n", 3338 | " \n", 3339 | " \n", 3340 | " \n", 3341 | " \n", 3342 | " \n", 3343 | " \n", 3344 | " \n", 3345 | " \n", 3346 | " \n", 3347 | " \n", 3348 | " \n", 3349 | " \n", 3350 | " \n", 3351 | " \n", 3352 | " \n", 3353 | " \n", 3354 | " \n", 3355 | " \n", 3356 | " \n", 3357 | " \n", 3358 | " \n", 3359 | " \n", 3360 | " \n", 3361 | " \n", 3362 | " \n", 3363 | " \n", 3364 | " \n", 3365 | " \n", 3366 | " \n", 3367 | " \n", 3368 | " \n", 3369 | " \n", 3370 | " \n", 3371 | " \n", 3372 | " \n", 3373 | " \n", 3374 | " \n", 3375 | " \n", 3376 | " \n", 3377 | " \n", 3378 | " \n", 3379 | " \n", 3380 | " \n", 3381 | " \n", 3382 | " \n", 3383 | " \n", 3384 | " \n", 3385 | " \n", 3386 | " \n", 3387 | " \n", 3388 | " \n", 3389 | " \n", 3390 | " \n", 3391 | " \n", 3392 | " \n", 3393 | " \n", 3394 | " \n", 3395 | " \n", 3396 | " \n", 3397 | " \n", 3398 | " \n", 3399 | " \n", 3400 | " \n", 3401 | " \n", 3402 | " \n", 3403 | " \n", 3404 | " \n", 3405 | " \n", 3406 | " \n", 3407 | " \n", 3408 | " \n", 3409 | " \n", 3410 | " \n", 3411 | " \n", 3412 | " \n", 3413 | " \n", 3414 | " \n", 3415 | " \n", 3416 | " \n", 3417 | " \n", 3418 | " \n", 3419 | " \n", 3420 | " \n", 3421 | " \n", 3422 | " \n", 3423 | " \n", 3424 | " \n", 3425 | " \n", 3426 | " \n", 3427 | " \n", 3428 | " \n", 3429 | " \n", 3430 | " \n", 3431 | " \n", 3432 | " \n", 3433 | " \n", 3434 | " \n", 3435 | " \n", 3436 | " \n", 3437 | " \n", 3438 | " \n", 3439 | " \n", 3440 | " \n", 3441 | " \n", 3442 | " \n", 3443 | " \n", 3444 | " \n", 3445 | " \n", 3446 | " \n", 3447 | " \n", 3448 | " \n", 3449 | " \n", 3450 | " \n", 3451 | " \n", 3452 | " \n", 3453 | " \n", 3454 | " \n", 3455 | " \n", 3456 | " \n", 3457 | " \n", 3458 | " \n", 3459 | " \n", 3460 | " \n", 3461 | " \n", 3462 | " \n", 3463 | " \n", 3464 | " \n", 3465 | " \n", 3466 | " \n", 3467 | " \n", 3468 | " \n", 3469 | " \n", 3470 | " \n", 3471 | " \n", 3472 | " \n", 3473 | " \n", 3474 | " \n", 3475 | " \n", 3476 | " \n", 3477 | " \n", 3478 | " \n", 3479 | " \n", 3480 | " \n", 3481 | " \n", 3482 | " \n", 3483 | " \n", 3484 | " \n", 3485 | " \n", 3486 | " \n", 3487 | " \n", 3488 | " \n", 3489 | " \n", 3490 | " \n", 3491 | " \n", 3492 | " \n", 3493 | " \n", 3494 | " \n", 3495 | " \n", 3496 | " \n", 3497 | " \n", 3498 | " \n", 3499 | " \n", 3500 | " \n", 3501 | " \n", 3502 | " \n", 3503 | " \n", 3504 | " \n", 3505 | " \n", 3506 | " \n", 3507 | " \n", 3508 | " \n", 3509 | " \n", 3510 | " \n", 3511 | " \n", 3512 | " \n", 3513 | " \n", 3514 | " \n", 3515 | " \n", 3516 | " \n", 3517 | " \n", 3518 | " \n", 3519 | " \n", 3520 | " \n", 3521 | " \n", 3522 | " \n", 3523 | " \n", 3524 | " \n", 3525 | " \n", 3526 | " \n", 3527 | " \n", 3528 | " \n", 3529 | " \n", 3530 | " \n", 3531 | " \n", 3532 | " \n", 3533 | " \n", 3534 | " \n", 3535 | " \n", 3536 | " \n", 3537 | " \n", 3538 | " \n", 3539 | " \n", 3540 | " \n", 3541 | " \n", 3542 | " \n", 3543 | " \n", 3544 | " \n", 3545 | " \n", 3546 | " \n", 3547 | " \n", 3548 | " \n", 3549 | " \n", 3550 | " \n", 3551 | " \n", 3552 | " \n", 3553 | " \n", 3554 | " \n", 3555 | " \n", 3556 | " \n", 3557 | " \n", 3558 | " \n", 3559 | " \n", 3560 | " \n", 3561 | " \n", 3562 | " \n", 3563 | " \n", 3564 | " \n", 3565 | " \n", 3566 | " \n", 3567 | " \n", 3568 | " \n", 3569 | " \n", 3570 | " \n", 3571 | " \n", 3572 | " \n", 3573 | " \n", 3574 | " \n", 3575 | " \n", 3576 | " \n", 3577 | " \n", 3578 | " \n", 3579 | " \n", 3580 | " \n", 3581 | " \n", 3582 | " \n", 3583 | " \n", 3584 | " \n", 3585 | " \n", 3586 | " \n", 3587 | " \n", 3588 | " \n", 3589 | " \n", 3590 | " \n", 3591 | " \n", 3592 | " \n", 3593 | " \n", 3594 | " \n", 3595 | " \n", 3596 | " \n", 3597 | " \n", 3598 | " \n", 3599 | " \n", 3600 | " \n", 3601 | " \n", 3602 | " \n", 3603 | " \n", 3604 | " \n", 3605 | " \n", 3606 | " \n", 3607 | " \n", 3608 | " \n", 3609 | " \n", 3610 | " \n", 3611 | " \n", 3612 | " \n", 3613 | " \n", 3614 | " \n", 3615 | " \n", 3616 | " \n", 3617 | " \n", 3618 | " \n", 3619 | " \n", 3620 | " \n", 3621 | " \n", 3622 | " \n", 3623 | " \n", 3624 | " \n", 3625 | " \n", 3626 | " \n", 3627 | " \n", 3628 | " \n", 3629 | " \n", 3630 | " \n", 3631 | " \n", 3632 | " \n", 3633 | " \n", 3634 | " \n", 3635 | " \n", 3636 | " \n", 3637 | " \n", 3638 | " \n", 3639 | " \n", 3640 | " \n", 3641 | " \n", 3642 | " \n", 3643 | " \n", 3644 | " \n", 3645 | " \n", 3646 | " \n", 3647 | " \n", 3648 | " \n", 3649 | " \n", 3650 | " \n", 3651 | " \n", 3652 | " \n", 3653 | " \n", 3654 | " \n", 3655 | " \n", 3656 | " \n", 3657 | " \n", 3658 | " \n", 3659 | " \n", 3660 | " \n", 3661 | " \n", 3662 | " \n", 3663 | " \n", 3664 | " \n", 3665 | " \n", 3666 | " \n", 3667 | " \n", 3668 | " \n", 3669 | " \n", 3670 | " \n", 3671 | " \n", 3672 | " \n", 3673 | " \n", 3674 | " \n", 3675 | " \n", 3676 | " \n", 3677 | " \n", 3678 | " \n", 3679 | " \n", 3680 | " \n", 3681 | " \n", 3682 | " \n", 3683 | " \n", 3684 | " \n", 3685 | " \n", 3686 | " \n", 3687 | " \n", 3688 | " \n", 3689 | " \n", 3690 | " \n", 3691 | " \n", 3692 | " \n", 3693 | " \n", 3694 | " \n", 3695 | " \n", 3696 | " \n", 3697 | " \n", 3698 | " \n", 3699 | " \n", 3700 | " \n", 3701 | " \n", 3702 | " \n", 3703 | " \n", 3704 | " \n", 3705 | " \n", 3706 | " \n", 3707 | " \n", 3708 | " \n", 3709 | " \n", 3710 | " \n", 3711 | " \n", 3712 | " \n", 3713 | " \n", 3714 | " \n", 3715 | " \n", 3716 | " \n", 3717 | " \n", 3718 | " \n", 3719 | " \n", 3720 | " \n", 3721 | " \n", 3722 | " \n", 3723 | " \n", 3724 | " \n", 3725 | " \n", 3726 | " \n", 3727 | " \n", 3728 | " \n", 3729 | " \n", 3730 | " \n", 3731 | " \n", 3732 | " \n", 3733 | " \n", 3734 | " \n", 3735 | " \n", 3736 | " \n", 3737 | " \n", 3738 | " \n", 3739 | " \n", 3740 | " \n", 3741 | " \n", 3742 | " \n", 3743 | " \n", 3744 | " \n", 3745 | " \n", 3746 | " \n", 3747 | " \n", 3748 | " \n", 3749 | " \n", 3750 | " \n", 3751 | " \n", 3752 | " \n", 3753 | " \n", 3754 | " \n", 3755 | " \n", 3756 | " \n", 3757 | " \n", 3758 | " \n", 3759 | " \n", 3760 | " \n", 3761 | " \n", 3762 | " \n", 3763 | " \n", 3764 | " \n", 3765 | " \n", 3766 | " \n", 3767 | " \n", 3768 | " \n", 3769 | " \n", 3770 | " \n", 3771 | " \n", 3772 | " \n", 3773 | " \n", 3774 | " \n", 3775 | " \n", 3776 | " \n", 3777 | " \n", 3778 | " \n", 3779 | " \n", 3780 | " \n", 3781 | " \n", 3782 | " \n", 3783 | " \n", 3784 | " \n", 3785 | " \n", 3786 | " \n", 3787 | " \n", 3788 | " \n", 3789 | " \n", 3790 | " \n", 3791 | " \n", 3792 | " \n", 3793 | " \n", 3794 | " \n", 3795 | " \n", 3796 | " \n", 3797 | " \n", 3798 | " \n", 3799 | " \n", 3800 | " \n", 3801 | " \n", 3802 | " \n", 3803 | " \n", 3804 | " \n", 3805 | " \n", 3806 | " \n", 3807 | " \n", 3808 | " \n", 3809 | " \n", 3810 | " \n", 3811 | " \n", 3812 | " \n", 3813 | " \n", 3814 | " \n", 3815 | " \n", 3816 | " \n", 3817 | " \n", 3818 | " \n", 3819 | " \n", 3820 | " \n", 3821 | " \n", 3822 | " \n", 3823 | " \n", 3824 | " \n", 3825 | " \n", 3826 | " \n", 3827 | " \n", 3828 | " \n", 3829 | " \n", 3830 | " \n", 3831 | " \n", 3832 | " \n", 3833 | " \n", 3834 | " \n", 3835 | " \n", 3836 | " \n", 3837 | " \n", 3838 | " \n", 3839 | " \n", 3840 | " \n", 3841 | " \n", 3842 | " \n", 3843 | " \n", 3844 | " \n", 3845 | " \n", 3846 | " \n", 3847 | " \n", 3848 | " \n", 3849 | " \n", 3850 | " \n", 3851 | " \n", 3852 | " \n", 3853 | " \n", 3854 | " \n", 3855 | " \n", 3856 | " \n", 3857 | " \n", 3858 | " \n", 3859 | " \n", 3860 | " \n", 3861 | " \n", 3862 | " \n", 3863 | " \n", 3864 | " \n", 3865 | " \n", 3866 | " \n", 3867 | " \n", 3868 | " \n", 3869 | " \n", 3870 | " \n", 3871 | " \n", 3872 | " \n", 3873 | " \n", 3874 | " \n", 3875 | " \n", 3876 | " \n", 3877 | " \n", 3878 | " \n", 3879 | " \n", 3880 | " \n", 3881 | " \n", 3882 | " \n", 3883 | " \n", 3884 | " \n", 3885 | " \n", 3886 | " \n", 3887 | " \n", 3888 | " \n", 3889 | " \n", 3890 | " \n", 3891 | " \n", 3892 | " \n", 3893 | " \n", 3894 | " \n", 3895 | " \n", 3896 | " \n", 3897 | " \n", 3898 | " \n", 3899 | " \n", 3900 | " \n", 3901 | " \n", 3902 | " \n", 3903 | " \n", 3904 | " \n", 3905 | " \n", 3906 | " \n", 3907 | " \n", 3908 | " \n", 3909 | " \n", 3910 | " \n", 3911 | " \n", 3912 | " \n", 3913 | " \n", 3914 | " \n", 3915 | " \n", 3916 | " \n", 3917 | " \n", 3918 | " \n", 3919 | " \n", 3920 | " \n", 3921 | " \n", 3922 | " \n", 3923 | " \n", 3924 | " \n", 3925 | " \n", 3926 | " \n", 3927 | " \n", 3928 | " \n", 3929 | " \n", 3930 | " \n", 3931 | " \n", 3932 | " \n", 3933 | " \n", 3934 | " \n", 3935 | " \n", 3936 | " \n", 3937 | " \n", 3938 | " \n", 3939 | " \n", 3940 | " \n", 3941 | " \n", 3942 | " \n", 3943 | " \n", 3944 | " \n", 3945 | " \n", 3946 | " \n", 3947 | " \n", 3948 | " \n", 3949 | " \n", 3950 | " \n", 3951 | " \n", 3952 | " \n", 3953 | " \n", 3954 | " \n", 3955 | " \n", 3956 | " \n", 3957 | " \n", 3958 | " \n", 3959 | " \n", 3960 | " \n", 3961 | " \n", 3962 | " \n", 3963 | " \n", 3964 | " \n", 3965 | " \n", 3966 | " \n", 3967 | " \n", 3968 | " \n", 3969 | " \n", 3970 | " \n", 3971 | " \n", 3972 | " \n", 3973 | " \n", 3974 | " \n", 3975 | " \n", 3976 | " \n", 3977 | "
album_idalbum_namealbum_release_datetrack_artist_idstrack_idtrack_duration_mstrack_explicittrack_nametrack_popularitydanceability...tempoaudio_features_idartist1_idfollowersartist_popularityartist_genre1artist_genre2artist_genre3album_labelalbum_popularity
01gIuyEXICtt24CEKrYSOw8The Piano Guys2012[0jW6R8CVyVohuUJVcuweDI]4eYaDRhiL5iesFp2EuoODr275973FalseA Thousand Years430.230...157.0844eYaDRhiL5iesFp2EuoODr0jW6R8CVyVohuUJVcuweDI78440965bow popclassifyNonePortrait/Sony Masterworks43
17o2VLivg95UduHjTMTIEIfBe OK2008[2vm8GdHyrJh2O2MfbQFYG0]5GBWQszdw6PtAN0Negzut6193946FalseCan't Help Falling In Love - Recorded Live at ...400.244...72.8685GBWQszdw6PtAN0Negzut62vm8GdHyrJh2O2MfbQFYG050529161acoustic popectofolkfolk-popCabin 24 Records45
25h7fx8ILwOZ3I5yQ4eGBl7The Lumineers2012-01-01[16oZKvXb6WkQlVAjwo2Wbg]1jdNcAD8Ir58RlsdGjJJdx161226FalseHo Hey700.685...79.9911jdNcAD8Ir58RlsdGjJJdx16oZKvXb6WkQlVAjwo2Wbg261929374folk-popindie folkindie popUniversal Music Group66
33h4pyWRJIB9ZyRKXChbX22Call Me Irresponsible (Standard Edition)2007-04-27[1GxkXlMwML1oSg5eLPiAz3]4T6HLdP6OcAtqC6tGnQelG212373FalseEverything700.686...123.1254T6HLdP6OcAtqC6tGnQelG1GxkXlMwML1oSg5eLPiAz3262727372adult standardscanadian poplounge143/Reprise66
46QJw1UxLAFYQfy8XirsXiWLosing Sleep2009-01-01[2PCUhxD40qlMqsKHjTZD2e]1q74TesvRCIo5RvJM5B84F146066FalseShe Is Love530.629...134.2971q74TesvRCIo5RvJM5B84F2PCUhxD40qlMqsKHjTZD2e33953258acoustic popindiecousticaneo mellowUniversal Music Group49
56Pb3K1oPXdhsqFXtzKe3Z1192008-01-28[4dpARuHxo51G3z768sgnrY]7rPLZ8Krm6CZIbraFUlnWZ212040FalseMake You Feel My Love550.325...72.4167rPLZ8Krm6CZIbraFUlnWZ4dpARuHxo51G3z768sgnrY1059248281popNoneNoneXL Recordings/Columbia50
610HuTnFqkhym6gXmIDxBsmFor Emma, Forever Ago2008-02-19[4LEiUm1SRbFMgfqnQTwUbQ]3ZMv9EzGoteNi5Qnx0KpEO232426FalseSkinny Love490.591...76.3963ZMv9EzGoteNi5Qnx0KpEO4LEiUm1SRbFMgfqnQTwUbQ205133471chamber popfolk-popindie folkJagjaguwar45
739xrkt8RILtwa9DMyLkv32Up from Below2009-07-14[7giUHu5pv6YTZgSkxxCcgh]7w5cxTEzp1rfV3KCy0Bd5N303200FalseHome730.542...111.6657w5cxTEzp1rfV3KCy0Bd5N7giUHu5pv6YTZgSkxxCcgh72059465chamber popfolk-popindie folkVagrant Records67
85HHP1ctEzugQvbPCKJiWkcOk Go2002[3hozsZ9hqNq7CoBGYNlFTz]27VCODQk90XyqJB1FdwqyT213906False1000 Miles Per Hour160.524...81.89827VCODQk90XyqJB1FdwqyT3hozsZ9hqNq7CoBGYNlFTz28824555alternative rockchicago indiecomicCapitol Records32
91hyorM32T35U5HAxdh6glIStop Drop And Roll!!!2008-02-05[5tI0Vj2FhioY8AKtEqu9d3]5S1jZIl6Hviwdr7KFTG4kz135586FalseThe Pedestrian310.344...135.1165S1jZIl6Hviwdr7KFTG4kz5tI0Vj2FhioY8AKtEqu9d31613531NoneNoneNoneJingle Town Records39
105fQ4tDLM2FfesO66R9nDF9Scott Pilgrim vs. the World (Original Score Co...2010-01-01[0g7gHEXKEHU4snTwOZSxNO]44RC9eJQrOBYronf3UrsoO244666FalseHillcrest Park210.291...131.62944RC9eJQrOBYronf3UrsoO0g7gHEXKEHU4snTwOZSxNO188222NoneNoneNoneABKCO (US)31
112zLZzOfiwQ4hnPCu2gVtKBTimespace - The Best Of Stevie Nicks1991-08-30[7crPfGd2k81ekOoSqQKWWz, 5dbuFbrHa1SJlQhQX9OUJ2]2npStoMbQxG1LcIeF4PZrj229226FalseLeather And Lace (with Don Henley)560.553...76.0742npStoMbQxG1LcIeF4PZrj7crPfGd2k81ekOoSqQKWWz39213462album rockheartland rockmellow goldRhino Atlantic54
124CVzsnMQTcC5mfU4XNTTaII Had The Blues But I Shook Them Loose2009-01-01[3pTE9iaJTkWns3mxpNQlJV]4rII58jraqoGYro5yjXQlM86520FalseEmergency Contraception Blues230.246...128.1174rII58jraqoGYro5yjXQlM3pTE9iaJTkWns3mxpNQlJV55275159alternative dancebritish indie rockindie folkUniversal Music Group43
135d9FNx7UMLgfiGQGXU19jhUnderachievers Please Try Harder2003-08-21[5gInJ5P5gQnOKPM3SUEVFt]6nGQQsrsi1R7rbHWhqdZcf296333FalseLunar Sea250.400...115.1496nGQQsrsi1R7rbHWhqdZcf5gInJ5P5gQnOKPM3SUEVFt10032345chamber popfolk-popindie popElefant Records34
142DhfVYIEdTZLLFJ3WKBApcWithout A Sound1994-08-29[267VY6GX5LyU5c9M85ECZQ]1Yx2hLDlw3q0j1zzamKjSd258546FalseFeel The Pain30.287...131.4821Yx2hLDlw3q0j1zzamKjSd267VY6GX5LyU5c9M85ECZQ20326052alternative popalternative rockblues-rockWM UK1
153NcGNYXKiHeygdXXL7czL1Let's Get Out Of This Country2006-05-29[5gInJ5P5gQnOKPM3SUEVFt]2VnI7kepsKFFh3WUI7wRAc201640FalseLet's Get Out Of This Country370.382...131.3652VnI7kepsKFFh3WUI7wRAc5gInJ5P5gQnOKPM3SUEVFt10032345chamber popfolk-popindie popElefant Records44
163NPyAfTeu40LVzwvqQ6Rl7Teen Dream2010[56ZTgzPBDge0OvCGgMO3OY]2IhQf6LYr21OMxBowf76QE322480FalseReal Love210.607...99.5352IhQf6LYr21OMxBowf76QE56ZTgzPBDge0OvCGgMO3OY65941766art popchamber popchillwaveMistletone35
172oAh7vprZx8iSqoyNxQASXBachelor No. 2 (Or, The Last Remains of the Dodo)2000[3UpIbyXfGzmHG6TMH4dJEk]1dvSBbiXNGJcvE3fb3XcOy210333FalseGhost World170.483...100.2821dvSBbiXNGJcvE3fb3XcOy3UpIbyXfGzmHG6TMH4dJEk9644848folkfolk-popindie popSuperEgo Records30
182G9UuU6wxAa4FoIv1rwHBoThe Futureheads (new version)2004-06-28[3TBfn8PtXr42OrTPaoC3E8]7mAF2MJdbNT75VrVcgwT6F182680FalseHounds of Love - new mix510.360...168.2147mAF2MJdbNT75VrVcgwT6F3TBfn8PtXr42OrTPaoC3E84428842british indie rockdance-punkgarage rockRhino Atlantic45
191csBXckSWxkPEUXT4nSeP3Album2009-09-28[6eO95BjZhrWHREMfwC4vVN]5FH0pGKry3eL56IHjEgjPm145293TrueLust for Life400.279...77.3705FH0pGKry3eL56IHjEgjPm6eO95BjZhrWHREMfwC4vVN7926841art popbay area indiechillwaveFantasy Trashcan (Turnstile)37
207Ghyo1U9g3ZILTT5Kn6DD1Dream Team2014-11-28[0aWSylARSZCDo7vTDgvKbb]3c6ZmMHskspjQ6TKvW5t1X144547FalseDirty Hands60.645...107.4263c6ZmMHskspjQ6TKvW5t1X0aWSylARSZCDo7vTDgvKbb1002126australian alternative rockNoneNoneDeath Valley Records and Tapes15
214agEw6mF6zvlt42zdlT6VYSecret Rituals2011-01-01[0aWSylARSZCDo7vTDgvKbb]0quMYDxD03EailjlR7x1XB206266FalseTurn Me On260.440...145.0390quMYDxD03EailjlR7x1XB0aWSylARSZCDo7vTDgvKbb1002126australian alternative rockNoneNoneUniversal Music Australia Pty. Ltd.21
224uG8q3GPuWHQlRbswMIRS6Dookie1994-02-01[7oPftvlwr6VrsViSDV7fJY]1Dr1fXbc2IxaK1Mu8P8Khz178000FalseWhen I Come Around710.531...97.5461Dr1fXbc2IxaK1Mu8P8Khz7oPftvlwr6VrsViSDV7fJY705296278permanent wavepop punkpunkReprise75
235yIiFmVkza1N3ddMtftxIZFox Confessor Brings The Flood (Bonus Track Ve...2008-04-15[4Cedjq5BQL3MhapRvDpFED]4ny4sqrQmzhwHk7IHIVmL1148213FalseLion's Jaws270.336...167.9964ny4sqrQmzhwHk7IHIVmL14Cedjq5BQL3MhapRvDpFED11098054alternative countryanti-folkart popAnti/Epitaph47
245msfCyqu8fJYqDDV6OrXTgI'm Wide Awake, It's Morning2005-01-25[5o206eFLx38glA2bb4zqIU]6QSmeY9pNWnE0fAUrXmYC7252933FalseWe Are Nowhere And It's Now470.413...147.0766QSmeY9pNWnE0fAUrXmYC75o206eFLx38glA2bb4zqIU31865458anti-folkchamber popfolk-popSaddle Creek64
2512DdKE2ScfqqnBEIXL9WM5Everything's Amazing & Nobody's Happy2011-09-26[62ZE05EcDkspUxRw1u2ger]1CwDpUvvqJ2zD3Hh6m69NF163790FalseTongue Tied80.307...173.6401CwDpUvvqJ2zD3Hh6m69NF62ZE05EcDkspUxRw1u2ger260417candy poppower-pop punkNoneKind Of Like Records12
2607fUjvOPfrD7pe5ACRsyVyTeeth Lost, Hearts Won2008-01-01[0aWSylARSZCDo7vTDgvKbb]10d09tKIdxkjaSaiNXFM3S77106FalseThe Sum Of Every Part50.734...147.13210d09tKIdxkjaSaiNXFM3S0aWSylARSZCDo7vTDgvKbb1002126australian alternative rockNoneNoneUniversal Music Australia Pty. Ltd.17
271hyorM32T35U5HAxdh6glIStop Drop And Roll!!!2008-02-05[5tI0Vj2FhioY8AKtEqu9d3]5KcgqKXySkWnh4cZ4vG2A8166293FalseMother Mary400.413...105.4605KcgqKXySkWnh4cZ4vG2A85tI0Vj2FhioY8AKtEqu9d31613531NoneNoneNoneJingle Town Records39
282btXQFitnklvkPC0dAIvAxSmall Steps, Heavy Hooves2007[1aOp1lgpcwRxADf1jHvXhu]6eVq1guYib8O13Hhal0r2Y223306FalseI Just Do340.550...106.0326eVq1guYib8O13Hhal0r2Y1aOp1lgpcwRxADf1jHvXhu2052840dreamomodern rockprogressive post-hardcoreEqual Vision Records44
297p82DTmb2pwKwzXBLlURT6Drake & Josh: Songs From & Inspired By The Hit...2005-03-08[03ilIKH0i08IxmjKcn63ne]1rS3J4u1G8f6hbmTosa8Nf179493FalseI Found A Way510.531...130.0481rS3J4u1G8f6hbmTosa8Nf03ilIKH0i08IxmjKcn63ne17241449post-teen popNoneNoneNick Records44
..................................................................
19590lUL92det7mZ4DaHYmiUECThere's Really A Wolf2017-05-05[1z7b1Pr1rSlvWRzsW3HOrS]4cxMGhkinTocPSVVKWIw0d237506TrueLosin Control770.759...96.9924cxMGhkinTocPSVVKWIw0d1z7b1Pr1rSlvWRzsW3HOrS151568079hip hoppoprapColumbia80
19605W98Ab4VvQEuFEE4TIe5fETitle (Deluxe)2015-01-09[6JL8zeS1NmiOftqZTRgdTz, 5y2Xq6xcjJb2jVM54GHK3t]2YlZnw2ikdb837oKMKjBkW225053FalseLike I'm Gonna Lose You780.630...108.0382YlZnw2ikdb837oKMKjBkW6JL8zeS1NmiOftqZTRgdTz602706576dance pophip poppopEpic75
19611BFCyhRrtgOwgJq7AtWfBLRodéo Boulevard2008-10-03[3700G3mzTkuxc5U7hdE9CV]1jO3MaCjrRQusiqkZQPA9h241373FalseDans Tes Yeux390.504...181.7811jO3MaCjrRQusiqkZQPA9h3700G3mzTkuxc5U7hdE9CV1018633french folk popfrench reggaefrench rockParlophone France37
19625tBOCi2TekXZ1IbrmlBZO4I Told You2016-08-19[2jku7tDXc6XoB6MO2hFuqg]2Gyc6e2cLxA5hoX1NOvYnU237786TrueSay It700.546...107.3312Gyc6e2cLxA5hoX1NOvYnU2jku7tDXc6XoB6MO2hFuqg152389379canadian hip hophip hopindie r&bBenny Blanco Major69
19633yWRq9Dd2UO5xyqxTjLDmpbloom2017-05-12[6TIYQ3jFPwQSRmorSezPxX, 4nDoRrQiYLoBzwC5BhVJzF]1PSBzsahR2AKwLJgx8ehBj239293FalseBad Things (with Camila Cabello)710.697...137.8531PSBzsahR2AKwLJgx8ehBj6TIYQ3jFPwQSRmorSezPxX111648974hip hoppop raprapBad Boy Records PS69
196428ZKQMoNBB0etKXZ97G2SNBeauty Behind The Madness2015-08-28[1Xyo4u8uXC1ZmMpatF05PJ]66UVpCZ5aH3VV3Ic3PBUrP253506TrueShameless510.602...100.02166UVpCZ5aH3VV3Ic3PBUrP1Xyo4u8uXC1ZmMpatF05PJ1171336687canadian poppoprapUniversal Music Group67
196541Tj1cy7HlmdSmaOO6f6TlD.N.A.2009-10-08[20s0P9QLxGqKuCsGwFsp7w]1KKpOFUTS8B9pD5x3PevoX263013FalseI Choose You560.673...90.1071KKpOFUTS8B9pD5x3PevoX20s0P9QLxGqKuCsGwFsp7w105899766dance pophip poppopJ Records53
19661BSzAkEW5ZE2QsBScQgoAbIf I Ever Fall In Love1992-01-01[72y3ZI95ctkQC2O4mjBaU3]0uOPGU4CbYxzFxn6T7sblW289693FalseIf I Ever Fall In Love550.635...127.9220uOPGU4CbYxzFxn6T7sblW72y3ZI95ctkQC2O4mjBaU323664246boy bandhip popnew jack swingInterscope53
19672jg7PvepCK9V7MyWM7pvzrBetter2016-04-29[5cKlE8f6b26h61Ml7m052Q]6yIHGmQLJxWAUZ1ZkENemN173174FalseCan't Help Falling in Love730.410...137.9706yIHGmQLJxWAUZ1ZkENemN5cKlE8f6b26h61Ml7m052Q14381160NoneNoneNoneOle Red Dot65
19686X1x82kppWZmDzlXXK3y3qTake Care (Deluxe)2011[3TVXtAsR1Inumwj472S9r4]4eSGSqP2TZvvX0kadZZttM265120TrueDoing It Wrong650.397...101.2754eSGSqP2TZvvX0kadZZttM3TVXtAsR1Inumwj472S9r424467846100canadian hip hopcanadian pophip hopDrake (Cash Money)79
19697l4LGPXk2mB80WgXy4VeuBWaves (Robin Schulz Radio Edit)2014-02-07[33W1pnW9zScZtYTnAoWnOT, 3t5xRXzsuZmMDkQzgOX35S]5Sf3GyLEAzJXxZ5mbCPXTu208133FalseWaves - Robin Schulz Radio Edit770.829...119.9935Sf3GyLEAzJXxZ5mbCPXTu33W1pnW9zScZtYTnAoWnOT24971468tropical houseNoneNoneLeft Lane Recordings69
19706a3RDPcFamZvFCi8VeXWkKFórmula Vol. 1 (Deluxe Edition)2012-08-27[5lwmRuXgjX8xIwlnauTZIP, 23zg3TcAtWQy7J6upgbUnj]0jr6tT2vc4cIFPHb6wufG3252253FalsePromise670.764...132.9950jr6tT2vc4cIFPHb6wufG35lwmRuXgjX8xIwlnauTZIP550363179bachatalatintropicalSony Music Latin73
19714754Cgv1sdfwTpdVX83xACHalcyon2012-01-01[0X2BH1fck6amBIoJhDVmmJ]2AMEPKeicePOewTaGLYqec243886FalseExplosions360.299...95.9292AMEPKeicePOewTaGLYqec0X2BH1fck6amBIoJhDVmmJ509788276dance popedmelectropopPolydor Records52
19723Yk19X5zgXDSrG8uqrPnXCIt's About Us2014-10-06[58MLl9nC29IXbE4nEtuoP2]7JYcQU1Dv1Rabv3AQyynWD232280FalseBack to You490.363...133.8697JYcQU1Dv1Rabv3AQyynWD58MLl9nC29IXbE4nEtuoP248922566dance popneo mellowpopSyco Music/Columbia Records72
197374PXwYZw2Z5UF6keoLp8qHhead or heart2014-03-27[7H55rcKCfwqkyDFH9wpKM6]0zxG0MKqXBEbwU09H7gEIs253453Falsethe words530.505...77.0230zxG0MKqXBEbwU09H7gEIs7H55rcKCfwqkyDFH9wpKM6143878071dance popneo mellowpopAtlantic Records59
19742jLRmeMyWyKhuNofvsQGJTI'm Falling for You2013-02-11[2iTiSaR023IikZDaOfEIRR]7sdT7TgonQCKsdjhShEdYO202272FalseI'm Falling for You420.528...136.2247sdT7TgonQCKsdjhShEdYO2iTiSaR023IikZDaOfEIRR5454946channel popviral popNoneChester See34
19754OmqJXPhD5FOqwdg5tBsnuGossip Columns2017-10-13[3tQx1LPXbsYjE9VwN1Peaa, 02kJSzxNuaWGqwubyUba0Z]7yCqehT9dKACTFy7YugP0J218493TrueYou & Me640.696...85.0917yCqehT9dKACTFy7YugP0J3tQx1LPXbsYjE9VwN1Peaa16494369dance popindie r&bpopRepublic Records/Gee Roberson67
19764JiY4JUvXdEA7UFIbiAyorJoanne (Deluxe)2016-10-21[1HY2Jd0NmPuamShAr6KMms]50PWlIBU7PlGGwzgN8TiFJ205280FalseMillion Reasons620.668...129.88950PWlIBU7PlGGwzgN8TiFJ1HY2Jd0NmPuamShAr6KMms536996778dance poppoppost-teen popUniversal Music Group59
19774JiY4JUvXdEA7UFIbiAyorJoanne (Deluxe)2016-10-21[1HY2Jd0NmPuamShAr6KMms]5ou59ERA2f7ffyAxAcZyVz182000FalsePerfect Illusion510.616...124.9885ou59ERA2f7ffyAxAcZyVz1HY2Jd0NmPuamShAr6KMms536996778dance poppoppost-teen popUniversal Music Group59
19780K4pIOOsfJ9lK8OjrZfXzd252016-06-24[4dpARuHxo51G3z768sgnrY]4vb4mFvYsr2h6enhjJsq9Y240426FalseWater Under the Bridge700.596...94.9824vb4mFvYsr2h6enhjJsq9Y4dpARuHxo51G3z768sgnrY1059323481popNoneNoneXL Recordings/Columbia76
19797oiJYvEJHsmYtrgviAVIBDBack from the Edge2016-10-28[4IWBUUAFIplrNtaOHcJPRM]5uCax9HTNlzGybIStD3vDh211466FalseSay You Won't Let Go820.358...85.0435uCax9HTNlzGybIStD3vDh4IWBUUAFIplrNtaOHcJPRM233418278dance popneo mellowpopColumbia79
19807vN82vd1Vq44fjlhjfvHJpLoud2010-11-16[5pKCCKE2ajJHZ9KAiaK11H, 7dGJo4pcD2V6oG8kP0tJRR]6M6lsQB4OhqL41eld29PeC296226TrueLove The Way You Lie (Part II) - Pt. 2630.473...166.3856M6lsQB4OhqL41eld29PeC5pKCCKE2ajJHZ9KAiaK11H2586150387dance poppopr&bUniversal Music Group73
19812JgVVnno2fzdmV1BqwdQBiJealous2014-11-21[2feDdbD5araYcm6JhFHHw7]4L2K7JKseFCBoHMZEAszW0287693FalseJealous760.435...128.5324L2K7JKseFCBoHMZEAszW02feDdbD5araYcm6JhFHHw762934376dance poppoppop rapSyco Music68
19826Yw7f0kqQ1gbt2OHa7fi1gRockferry2008[37NqXwtb6nIEqRt4EJSoIO]1zusIxNqJu8i4g6P6hJ2Qa219920FalseMercy660.793...129.9121zusIxNqJu8i4g6P6hJ2Qa37NqXwtb6nIEqRt4EJSoIO48100557dance popneo soulpopPolydor Records62
19836Yw7f0kqQ1gbt2OHa7fi1gRockferry2008[37NqXwtb6nIEqRt4EJSoIO]3g9nxeJPQM4CxhHt1iNlB4209453FalseStepping Stone490.694...97.9853g9nxeJPQM4CxhHt1iNlB437NqXwtb6nIEqRt4EJSoIO48100557dance popneo soulpopPolydor Records62
19842OXZJLXxM8jrY3gBoVNfmzNobody But Me (Deluxe Version)2016-10-21[1GxkXlMwML1oSg5eLPiAz3]4JEC2RIrXV1owJNVKanIAT162520FalseOn an Evening in Roma (Sott'er Celo de Roma)540.431...137.0214JEC2RIrXV1owJNVKanIAT1GxkXlMwML1oSg5eLPiAz3262731972adult standardscanadian poploungeReprise63
19850K4pIOOsfJ9lK8OjrZfXzd252016-06-24[4dpARuHxo51G3z768sgnrY]4BHzQ9C00ceJxfG16AlNWb223080FalseSend My Love (To Your New Lover)720.690...164.0234BHzQ9C00ceJxfG16AlNWb4dpARuHxo51G3z768sgnrY1059323981popNoneNoneXL Recordings/Columbia76
19867A8fZ2jjiu5heq7wNCutKNVHS2015-06-30[3NPpFNZtSTHheNBaWC82rB]7lGKEWMXVWWTt3X71Bv44I193546FalseUnsteady750.389...117.0557lGKEWMXVWWTt3X71Bv44I3NPpFNZtSTHheNBaWC82rB111241274modern alternative rockmodern rockpopKid Ina Korner / Interscope73
19875gCo4z8XZ0T16nJmnw9wnGThe Script2008[3AQRLZ9PuTAozP28Skbq8V]67EY6aDoIx8czEPS6a2AaI241466FalseThe Man Who Can't Be Moved460.609...99.95567EY6aDoIx8czEPS6a2AaI3AQRLZ9PuTAozP28Skbq8V387962574celtic rockneo mellowpopPhonogenic45
19882019iQx5MmA6byqYqdK7zSKeeps Gettin' Better: A Decade Of Hits1999[1l7ZsJRRS8wlW3WfJfPfNS]5jaOa7ybiQjBdhoouGuNjH249013FalseFighter520.432...188.8585jaOa7ybiQjBdhoouGuNjH1l7ZsJRRS8wlW3WfJfPfNS336561077dance poppoppost-teen popRCA Records Label56
\n", 3978 | "

1989 rows × 29 columns

\n", 3979 | "
" 3980 | ], 3981 | "text/plain": [ 3982 | " album_id \\\n", 3983 | "0 1gIuyEXICtt24CEKrYSOw8 \n", 3984 | "1 7o2VLivg95UduHjTMTIEIf \n", 3985 | "2 5h7fx8ILwOZ3I5yQ4eGBl7 \n", 3986 | "3 3h4pyWRJIB9ZyRKXChbX22 \n", 3987 | "4 6QJw1UxLAFYQfy8XirsXiW \n", 3988 | "5 6Pb3K1oPXdhsqFXtzKe3Z1 \n", 3989 | "6 10HuTnFqkhym6gXmIDxBsm \n", 3990 | "7 39xrkt8RILtwa9DMyLkv32 \n", 3991 | "8 5HHP1ctEzugQvbPCKJiWkc \n", 3992 | "9 1hyorM32T35U5HAxdh6glI \n", 3993 | "10 5fQ4tDLM2FfesO66R9nDF9 \n", 3994 | "11 2zLZzOfiwQ4hnPCu2gVtKB \n", 3995 | "12 4CVzsnMQTcC5mfU4XNTTaI \n", 3996 | "13 5d9FNx7UMLgfiGQGXU19jh \n", 3997 | "14 2DhfVYIEdTZLLFJ3WKBApc \n", 3998 | "15 3NcGNYXKiHeygdXXL7czL1 \n", 3999 | "16 3NPyAfTeu40LVzwvqQ6Rl7 \n", 4000 | "17 2oAh7vprZx8iSqoyNxQASX \n", 4001 | "18 2G9UuU6wxAa4FoIv1rwHBo \n", 4002 | "19 1csBXckSWxkPEUXT4nSeP3 \n", 4003 | "20 7Ghyo1U9g3ZILTT5Kn6DD1 \n", 4004 | "21 4agEw6mF6zvlt42zdlT6VY \n", 4005 | "22 4uG8q3GPuWHQlRbswMIRS6 \n", 4006 | "23 5yIiFmVkza1N3ddMtftxIZ \n", 4007 | "24 5msfCyqu8fJYqDDV6OrXTg \n", 4008 | "25 12DdKE2ScfqqnBEIXL9WM5 \n", 4009 | "26 07fUjvOPfrD7pe5ACRsyVy \n", 4010 | "27 1hyorM32T35U5HAxdh6glI \n", 4011 | "28 2btXQFitnklvkPC0dAIvAx \n", 4012 | "29 7p82DTmb2pwKwzXBLlURT6 \n", 4013 | "... ... \n", 4014 | "1959 0lUL92det7mZ4DaHYmiUEC \n", 4015 | "1960 5W98Ab4VvQEuFEE4TIe5fE \n", 4016 | "1961 1BFCyhRrtgOwgJq7AtWfBL \n", 4017 | "1962 5tBOCi2TekXZ1IbrmlBZO4 \n", 4018 | "1963 3yWRq9Dd2UO5xyqxTjLDmp \n", 4019 | "1964 28ZKQMoNBB0etKXZ97G2SN \n", 4020 | "1965 41Tj1cy7HlmdSmaOO6f6Tl \n", 4021 | "1966 1BSzAkEW5ZE2QsBScQgoAb \n", 4022 | "1967 2jg7PvepCK9V7MyWM7pvzr \n", 4023 | "1968 6X1x82kppWZmDzlXXK3y3q \n", 4024 | "1969 7l4LGPXk2mB80WgXy4VeuB \n", 4025 | "1970 6a3RDPcFamZvFCi8VeXWkK \n", 4026 | "1971 4754Cgv1sdfwTpdVX83xAC \n", 4027 | "1972 3Yk19X5zgXDSrG8uqrPnXC \n", 4028 | "1973 74PXwYZw2Z5UF6keoLp8qH \n", 4029 | "1974 2jLRmeMyWyKhuNofvsQGJT \n", 4030 | "1975 4OmqJXPhD5FOqwdg5tBsnu \n", 4031 | "1976 4JiY4JUvXdEA7UFIbiAyor \n", 4032 | "1977 4JiY4JUvXdEA7UFIbiAyor \n", 4033 | "1978 0K4pIOOsfJ9lK8OjrZfXzd \n", 4034 | "1979 7oiJYvEJHsmYtrgviAVIBD \n", 4035 | "1980 7vN82vd1Vq44fjlhjfvHJp \n", 4036 | "1981 2JgVVnno2fzdmV1BqwdQBi \n", 4037 | "1982 6Yw7f0kqQ1gbt2OHa7fi1g \n", 4038 | "1983 6Yw7f0kqQ1gbt2OHa7fi1g \n", 4039 | "1984 2OXZJLXxM8jrY3gBoVNfmz \n", 4040 | "1985 0K4pIOOsfJ9lK8OjrZfXzd \n", 4041 | "1986 7A8fZ2jjiu5heq7wNCutKN \n", 4042 | "1987 5gCo4z8XZ0T16nJmnw9wnG \n", 4043 | "1988 2019iQx5MmA6byqYqdK7zS \n", 4044 | "\n", 4045 | " album_name album_release_date \\\n", 4046 | "0 The Piano Guys 2012 \n", 4047 | "1 Be OK 2008 \n", 4048 | "2 The Lumineers 2012-01-01 \n", 4049 | "3 Call Me Irresponsible (Standard Edition) 2007-04-27 \n", 4050 | "4 Losing Sleep 2009-01-01 \n", 4051 | "5 19 2008-01-28 \n", 4052 | "6 For Emma, Forever Ago 2008-02-19 \n", 4053 | "7 Up from Below 2009-07-14 \n", 4054 | "8 Ok Go 2002 \n", 4055 | "9 Stop Drop And Roll!!! 2008-02-05 \n", 4056 | "10 Scott Pilgrim vs. the World (Original Score Co... 2010-01-01 \n", 4057 | "11 Timespace - The Best Of Stevie Nicks 1991-08-30 \n", 4058 | "12 I Had The Blues But I Shook Them Loose 2009-01-01 \n", 4059 | "13 Underachievers Please Try Harder 2003-08-21 \n", 4060 | "14 Without A Sound 1994-08-29 \n", 4061 | "15 Let's Get Out Of This Country 2006-05-29 \n", 4062 | "16 Teen Dream 2010 \n", 4063 | "17 Bachelor No. 2 (Or, The Last Remains of the Dodo) 2000 \n", 4064 | "18 The Futureheads (new version) 2004-06-28 \n", 4065 | "19 Album 2009-09-28 \n", 4066 | "20 Dream Team 2014-11-28 \n", 4067 | "21 Secret Rituals 2011-01-01 \n", 4068 | "22 Dookie 1994-02-01 \n", 4069 | "23 Fox Confessor Brings The Flood (Bonus Track Ve... 2008-04-15 \n", 4070 | "24 I'm Wide Awake, It's Morning 2005-01-25 \n", 4071 | "25 Everything's Amazing & Nobody's Happy 2011-09-26 \n", 4072 | "26 Teeth Lost, Hearts Won 2008-01-01 \n", 4073 | "27 Stop Drop And Roll!!! 2008-02-05 \n", 4074 | "28 Small Steps, Heavy Hooves 2007 \n", 4075 | "29 Drake & Josh: Songs From & Inspired By The Hit... 2005-03-08 \n", 4076 | "... ... ... \n", 4077 | "1959 There's Really A Wolf 2017-05-05 \n", 4078 | "1960 Title (Deluxe) 2015-01-09 \n", 4079 | "1961 Rodéo Boulevard 2008-10-03 \n", 4080 | "1962 I Told You 2016-08-19 \n", 4081 | "1963 bloom 2017-05-12 \n", 4082 | "1964 Beauty Behind The Madness 2015-08-28 \n", 4083 | "1965 D.N.A. 2009-10-08 \n", 4084 | "1966 If I Ever Fall In Love 1992-01-01 \n", 4085 | "1967 Better 2016-04-29 \n", 4086 | "1968 Take Care (Deluxe) 2011 \n", 4087 | "1969 Waves (Robin Schulz Radio Edit) 2014-02-07 \n", 4088 | "1970 Fórmula Vol. 1 (Deluxe Edition) 2012-08-27 \n", 4089 | "1971 Halcyon 2012-01-01 \n", 4090 | "1972 It's About Us 2014-10-06 \n", 4091 | "1973 head or heart 2014-03-27 \n", 4092 | "1974 I'm Falling for You 2013-02-11 \n", 4093 | "1975 Gossip Columns 2017-10-13 \n", 4094 | "1976 Joanne (Deluxe) 2016-10-21 \n", 4095 | "1977 Joanne (Deluxe) 2016-10-21 \n", 4096 | "1978 25 2016-06-24 \n", 4097 | "1979 Back from the Edge 2016-10-28 \n", 4098 | "1980 Loud 2010-11-16 \n", 4099 | "1981 Jealous 2014-11-21 \n", 4100 | "1982 Rockferry 2008 \n", 4101 | "1983 Rockferry 2008 \n", 4102 | "1984 Nobody But Me (Deluxe Version) 2016-10-21 \n", 4103 | "1985 25 2016-06-24 \n", 4104 | "1986 VHS 2015-06-30 \n", 4105 | "1987 The Script 2008 \n", 4106 | "1988 Keeps Gettin' Better: A Decade Of Hits 1999 \n", 4107 | "\n", 4108 | " track_artist_ids \\\n", 4109 | "0 [0jW6R8CVyVohuUJVcuweDI] \n", 4110 | "1 [2vm8GdHyrJh2O2MfbQFYG0] \n", 4111 | "2 [16oZKvXb6WkQlVAjwo2Wbg] \n", 4112 | "3 [1GxkXlMwML1oSg5eLPiAz3] \n", 4113 | "4 [2PCUhxD40qlMqsKHjTZD2e] \n", 4114 | "5 [4dpARuHxo51G3z768sgnrY] \n", 4115 | "6 [4LEiUm1SRbFMgfqnQTwUbQ] \n", 4116 | "7 [7giUHu5pv6YTZgSkxxCcgh] \n", 4117 | "8 [3hozsZ9hqNq7CoBGYNlFTz] \n", 4118 | "9 [5tI0Vj2FhioY8AKtEqu9d3] \n", 4119 | "10 [0g7gHEXKEHU4snTwOZSxNO] \n", 4120 | "11 [7crPfGd2k81ekOoSqQKWWz, 5dbuFbrHa1SJlQhQX9OUJ2] \n", 4121 | "12 [3pTE9iaJTkWns3mxpNQlJV] \n", 4122 | "13 [5gInJ5P5gQnOKPM3SUEVFt] \n", 4123 | "14 [267VY6GX5LyU5c9M85ECZQ] \n", 4124 | "15 [5gInJ5P5gQnOKPM3SUEVFt] \n", 4125 | "16 [56ZTgzPBDge0OvCGgMO3OY] \n", 4126 | "17 [3UpIbyXfGzmHG6TMH4dJEk] \n", 4127 | "18 [3TBfn8PtXr42OrTPaoC3E8] \n", 4128 | "19 [6eO95BjZhrWHREMfwC4vVN] \n", 4129 | "20 [0aWSylARSZCDo7vTDgvKbb] \n", 4130 | "21 [0aWSylARSZCDo7vTDgvKbb] \n", 4131 | "22 [7oPftvlwr6VrsViSDV7fJY] \n", 4132 | "23 [4Cedjq5BQL3MhapRvDpFED] \n", 4133 | "24 [5o206eFLx38glA2bb4zqIU] \n", 4134 | "25 [62ZE05EcDkspUxRw1u2ger] \n", 4135 | "26 [0aWSylARSZCDo7vTDgvKbb] \n", 4136 | "27 [5tI0Vj2FhioY8AKtEqu9d3] \n", 4137 | "28 [1aOp1lgpcwRxADf1jHvXhu] \n", 4138 | "29 [03ilIKH0i08IxmjKcn63ne] \n", 4139 | "... ... \n", 4140 | "1959 [1z7b1Pr1rSlvWRzsW3HOrS] \n", 4141 | "1960 [6JL8zeS1NmiOftqZTRgdTz, 5y2Xq6xcjJb2jVM54GHK3t] \n", 4142 | "1961 [3700G3mzTkuxc5U7hdE9CV] \n", 4143 | "1962 [2jku7tDXc6XoB6MO2hFuqg] \n", 4144 | "1963 [6TIYQ3jFPwQSRmorSezPxX, 4nDoRrQiYLoBzwC5BhVJzF] \n", 4145 | "1964 [1Xyo4u8uXC1ZmMpatF05PJ] \n", 4146 | "1965 [20s0P9QLxGqKuCsGwFsp7w] \n", 4147 | "1966 [72y3ZI95ctkQC2O4mjBaU3] \n", 4148 | "1967 [5cKlE8f6b26h61Ml7m052Q] \n", 4149 | "1968 [3TVXtAsR1Inumwj472S9r4] \n", 4150 | "1969 [33W1pnW9zScZtYTnAoWnOT, 3t5xRXzsuZmMDkQzgOX35S] \n", 4151 | "1970 [5lwmRuXgjX8xIwlnauTZIP, 23zg3TcAtWQy7J6upgbUnj] \n", 4152 | "1971 [0X2BH1fck6amBIoJhDVmmJ] \n", 4153 | "1972 [58MLl9nC29IXbE4nEtuoP2] \n", 4154 | "1973 [7H55rcKCfwqkyDFH9wpKM6] \n", 4155 | "1974 [2iTiSaR023IikZDaOfEIRR] \n", 4156 | "1975 [3tQx1LPXbsYjE9VwN1Peaa, 02kJSzxNuaWGqwubyUba0Z] \n", 4157 | "1976 [1HY2Jd0NmPuamShAr6KMms] \n", 4158 | "1977 [1HY2Jd0NmPuamShAr6KMms] \n", 4159 | "1978 [4dpARuHxo51G3z768sgnrY] \n", 4160 | "1979 [4IWBUUAFIplrNtaOHcJPRM] \n", 4161 | "1980 [5pKCCKE2ajJHZ9KAiaK11H, 7dGJo4pcD2V6oG8kP0tJRR] \n", 4162 | "1981 [2feDdbD5araYcm6JhFHHw7] \n", 4163 | "1982 [37NqXwtb6nIEqRt4EJSoIO] \n", 4164 | "1983 [37NqXwtb6nIEqRt4EJSoIO] \n", 4165 | "1984 [1GxkXlMwML1oSg5eLPiAz3] \n", 4166 | "1985 [4dpARuHxo51G3z768sgnrY] \n", 4167 | "1986 [3NPpFNZtSTHheNBaWC82rB] \n", 4168 | "1987 [3AQRLZ9PuTAozP28Skbq8V] \n", 4169 | "1988 [1l7ZsJRRS8wlW3WfJfPfNS] \n", 4170 | "\n", 4171 | " track_id track_duration_ms track_explicit \\\n", 4172 | "0 4eYaDRhiL5iesFp2EuoODr 275973 False \n", 4173 | "1 5GBWQszdw6PtAN0Negzut6 193946 False \n", 4174 | "2 1jdNcAD8Ir58RlsdGjJJdx 161226 False \n", 4175 | "3 4T6HLdP6OcAtqC6tGnQelG 212373 False \n", 4176 | "4 1q74TesvRCIo5RvJM5B84F 146066 False \n", 4177 | "5 7rPLZ8Krm6CZIbraFUlnWZ 212040 False \n", 4178 | "6 3ZMv9EzGoteNi5Qnx0KpEO 232426 False \n", 4179 | "7 7w5cxTEzp1rfV3KCy0Bd5N 303200 False \n", 4180 | "8 27VCODQk90XyqJB1FdwqyT 213906 False \n", 4181 | "9 5S1jZIl6Hviwdr7KFTG4kz 135586 False \n", 4182 | "10 44RC9eJQrOBYronf3UrsoO 244666 False \n", 4183 | "11 2npStoMbQxG1LcIeF4PZrj 229226 False \n", 4184 | "12 4rII58jraqoGYro5yjXQlM 86520 False \n", 4185 | "13 6nGQQsrsi1R7rbHWhqdZcf 296333 False \n", 4186 | "14 1Yx2hLDlw3q0j1zzamKjSd 258546 False \n", 4187 | "15 2VnI7kepsKFFh3WUI7wRAc 201640 False \n", 4188 | "16 2IhQf6LYr21OMxBowf76QE 322480 False \n", 4189 | "17 1dvSBbiXNGJcvE3fb3XcOy 210333 False \n", 4190 | "18 7mAF2MJdbNT75VrVcgwT6F 182680 False \n", 4191 | "19 5FH0pGKry3eL56IHjEgjPm 145293 True \n", 4192 | "20 3c6ZmMHskspjQ6TKvW5t1X 144547 False \n", 4193 | "21 0quMYDxD03EailjlR7x1XB 206266 False \n", 4194 | "22 1Dr1fXbc2IxaK1Mu8P8Khz 178000 False \n", 4195 | "23 4ny4sqrQmzhwHk7IHIVmL1 148213 False \n", 4196 | "24 6QSmeY9pNWnE0fAUrXmYC7 252933 False \n", 4197 | "25 1CwDpUvvqJ2zD3Hh6m69NF 163790 False \n", 4198 | "26 10d09tKIdxkjaSaiNXFM3S 77106 False \n", 4199 | "27 5KcgqKXySkWnh4cZ4vG2A8 166293 False \n", 4200 | "28 6eVq1guYib8O13Hhal0r2Y 223306 False \n", 4201 | "29 1rS3J4u1G8f6hbmTosa8Nf 179493 False \n", 4202 | "... ... ... ... \n", 4203 | "1959 4cxMGhkinTocPSVVKWIw0d 237506 True \n", 4204 | "1960 2YlZnw2ikdb837oKMKjBkW 225053 False \n", 4205 | "1961 1jO3MaCjrRQusiqkZQPA9h 241373 False \n", 4206 | "1962 2Gyc6e2cLxA5hoX1NOvYnU 237786 True \n", 4207 | "1963 1PSBzsahR2AKwLJgx8ehBj 239293 False \n", 4208 | "1964 66UVpCZ5aH3VV3Ic3PBUrP 253506 True \n", 4209 | "1965 1KKpOFUTS8B9pD5x3PevoX 263013 False \n", 4210 | "1966 0uOPGU4CbYxzFxn6T7sblW 289693 False \n", 4211 | "1967 6yIHGmQLJxWAUZ1ZkENemN 173174 False \n", 4212 | "1968 4eSGSqP2TZvvX0kadZZttM 265120 True \n", 4213 | "1969 5Sf3GyLEAzJXxZ5mbCPXTu 208133 False \n", 4214 | "1970 0jr6tT2vc4cIFPHb6wufG3 252253 False \n", 4215 | "1971 2AMEPKeicePOewTaGLYqec 243886 False \n", 4216 | "1972 7JYcQU1Dv1Rabv3AQyynWD 232280 False \n", 4217 | "1973 0zxG0MKqXBEbwU09H7gEIs 253453 False \n", 4218 | "1974 7sdT7TgonQCKsdjhShEdYO 202272 False \n", 4219 | "1975 7yCqehT9dKACTFy7YugP0J 218493 True \n", 4220 | "1976 50PWlIBU7PlGGwzgN8TiFJ 205280 False \n", 4221 | "1977 5ou59ERA2f7ffyAxAcZyVz 182000 False \n", 4222 | "1978 4vb4mFvYsr2h6enhjJsq9Y 240426 False \n", 4223 | "1979 5uCax9HTNlzGybIStD3vDh 211466 False \n", 4224 | "1980 6M6lsQB4OhqL41eld29PeC 296226 True \n", 4225 | "1981 4L2K7JKseFCBoHMZEAszW0 287693 False \n", 4226 | "1982 1zusIxNqJu8i4g6P6hJ2Qa 219920 False \n", 4227 | "1983 3g9nxeJPQM4CxhHt1iNlB4 209453 False \n", 4228 | "1984 4JEC2RIrXV1owJNVKanIAT 162520 False \n", 4229 | "1985 4BHzQ9C00ceJxfG16AlNWb 223080 False \n", 4230 | "1986 7lGKEWMXVWWTt3X71Bv44I 193546 False \n", 4231 | "1987 67EY6aDoIx8czEPS6a2AaI 241466 False \n", 4232 | "1988 5jaOa7ybiQjBdhoouGuNjH 249013 False \n", 4233 | "\n", 4234 | " track_name track_popularity \\\n", 4235 | "0 A Thousand Years 43 \n", 4236 | "1 Can't Help Falling In Love - Recorded Live at ... 40 \n", 4237 | "2 Ho Hey 70 \n", 4238 | "3 Everything 70 \n", 4239 | "4 She Is Love 53 \n", 4240 | "5 Make You Feel My Love 55 \n", 4241 | "6 Skinny Love 49 \n", 4242 | "7 Home 73 \n", 4243 | "8 1000 Miles Per Hour 16 \n", 4244 | "9 The Pedestrian 31 \n", 4245 | "10 Hillcrest Park 21 \n", 4246 | "11 Leather And Lace (with Don Henley) 56 \n", 4247 | "12 Emergency Contraception Blues 23 \n", 4248 | "13 Lunar Sea 25 \n", 4249 | "14 Feel The Pain 3 \n", 4250 | "15 Let's Get Out Of This Country 37 \n", 4251 | "16 Real Love 21 \n", 4252 | "17 Ghost World 17 \n", 4253 | "18 Hounds of Love - new mix 51 \n", 4254 | "19 Lust for Life 40 \n", 4255 | "20 Dirty Hands 6 \n", 4256 | "21 Turn Me On 26 \n", 4257 | "22 When I Come Around 71 \n", 4258 | "23 Lion's Jaws 27 \n", 4259 | "24 We Are Nowhere And It's Now 47 \n", 4260 | "25 Tongue Tied 8 \n", 4261 | "26 The Sum Of Every Part 5 \n", 4262 | "27 Mother Mary 40 \n", 4263 | "28 I Just Do 34 \n", 4264 | "29 I Found A Way 51 \n", 4265 | "... ... ... \n", 4266 | "1959 Losin Control 77 \n", 4267 | "1960 Like I'm Gonna Lose You 78 \n", 4268 | "1961 Dans Tes Yeux 39 \n", 4269 | "1962 Say It 70 \n", 4270 | "1963 Bad Things (with Camila Cabello) 71 \n", 4271 | "1964 Shameless 51 \n", 4272 | "1965 I Choose You 56 \n", 4273 | "1966 If I Ever Fall In Love 55 \n", 4274 | "1967 Can't Help Falling in Love 73 \n", 4275 | "1968 Doing It Wrong 65 \n", 4276 | "1969 Waves - Robin Schulz Radio Edit 77 \n", 4277 | "1970 Promise 67 \n", 4278 | "1971 Explosions 36 \n", 4279 | "1972 Back to You 49 \n", 4280 | "1973 the words 53 \n", 4281 | "1974 I'm Falling for You 42 \n", 4282 | "1975 You & Me 64 \n", 4283 | "1976 Million Reasons 62 \n", 4284 | "1977 Perfect Illusion 51 \n", 4285 | "1978 Water Under the Bridge 70 \n", 4286 | "1979 Say You Won't Let Go 82 \n", 4287 | "1980 Love The Way You Lie (Part II) - Pt. 2 63 \n", 4288 | "1981 Jealous 76 \n", 4289 | "1982 Mercy 66 \n", 4290 | "1983 Stepping Stone 49 \n", 4291 | "1984 On an Evening in Roma (Sott'er Celo de Roma) 54 \n", 4292 | "1985 Send My Love (To Your New Lover) 72 \n", 4293 | "1986 Unsteady 75 \n", 4294 | "1987 The Man Who Can't Be Moved 46 \n", 4295 | "1988 Fighter 52 \n", 4296 | "\n", 4297 | " danceability ... tempo audio_features_id \\\n", 4298 | "0 0.230 ... 157.084 4eYaDRhiL5iesFp2EuoODr \n", 4299 | "1 0.244 ... 72.868 5GBWQszdw6PtAN0Negzut6 \n", 4300 | "2 0.685 ... 79.991 1jdNcAD8Ir58RlsdGjJJdx \n", 4301 | "3 0.686 ... 123.125 4T6HLdP6OcAtqC6tGnQelG \n", 4302 | "4 0.629 ... 134.297 1q74TesvRCIo5RvJM5B84F \n", 4303 | "5 0.325 ... 72.416 7rPLZ8Krm6CZIbraFUlnWZ \n", 4304 | "6 0.591 ... 76.396 3ZMv9EzGoteNi5Qnx0KpEO \n", 4305 | "7 0.542 ... 111.665 7w5cxTEzp1rfV3KCy0Bd5N \n", 4306 | "8 0.524 ... 81.898 27VCODQk90XyqJB1FdwqyT \n", 4307 | "9 0.344 ... 135.116 5S1jZIl6Hviwdr7KFTG4kz \n", 4308 | "10 0.291 ... 131.629 44RC9eJQrOBYronf3UrsoO \n", 4309 | "11 0.553 ... 76.074 2npStoMbQxG1LcIeF4PZrj \n", 4310 | "12 0.246 ... 128.117 4rII58jraqoGYro5yjXQlM \n", 4311 | "13 0.400 ... 115.149 6nGQQsrsi1R7rbHWhqdZcf \n", 4312 | "14 0.287 ... 131.482 1Yx2hLDlw3q0j1zzamKjSd \n", 4313 | "15 0.382 ... 131.365 2VnI7kepsKFFh3WUI7wRAc \n", 4314 | "16 0.607 ... 99.535 2IhQf6LYr21OMxBowf76QE \n", 4315 | "17 0.483 ... 100.282 1dvSBbiXNGJcvE3fb3XcOy \n", 4316 | "18 0.360 ... 168.214 7mAF2MJdbNT75VrVcgwT6F \n", 4317 | "19 0.279 ... 77.370 5FH0pGKry3eL56IHjEgjPm \n", 4318 | "20 0.645 ... 107.426 3c6ZmMHskspjQ6TKvW5t1X \n", 4319 | "21 0.440 ... 145.039 0quMYDxD03EailjlR7x1XB \n", 4320 | "22 0.531 ... 97.546 1Dr1fXbc2IxaK1Mu8P8Khz \n", 4321 | "23 0.336 ... 167.996 4ny4sqrQmzhwHk7IHIVmL1 \n", 4322 | "24 0.413 ... 147.076 6QSmeY9pNWnE0fAUrXmYC7 \n", 4323 | "25 0.307 ... 173.640 1CwDpUvvqJ2zD3Hh6m69NF \n", 4324 | "26 0.734 ... 147.132 10d09tKIdxkjaSaiNXFM3S \n", 4325 | "27 0.413 ... 105.460 5KcgqKXySkWnh4cZ4vG2A8 \n", 4326 | "28 0.550 ... 106.032 6eVq1guYib8O13Hhal0r2Y \n", 4327 | "29 0.531 ... 130.048 1rS3J4u1G8f6hbmTosa8Nf \n", 4328 | "... ... ... ... ... \n", 4329 | "1959 0.759 ... 96.992 4cxMGhkinTocPSVVKWIw0d \n", 4330 | "1960 0.630 ... 108.038 2YlZnw2ikdb837oKMKjBkW \n", 4331 | "1961 0.504 ... 181.781 1jO3MaCjrRQusiqkZQPA9h \n", 4332 | "1962 0.546 ... 107.331 2Gyc6e2cLxA5hoX1NOvYnU \n", 4333 | "1963 0.697 ... 137.853 1PSBzsahR2AKwLJgx8ehBj \n", 4334 | "1964 0.602 ... 100.021 66UVpCZ5aH3VV3Ic3PBUrP \n", 4335 | "1965 0.673 ... 90.107 1KKpOFUTS8B9pD5x3PevoX \n", 4336 | "1966 0.635 ... 127.922 0uOPGU4CbYxzFxn6T7sblW \n", 4337 | "1967 0.410 ... 137.970 6yIHGmQLJxWAUZ1ZkENemN \n", 4338 | "1968 0.397 ... 101.275 4eSGSqP2TZvvX0kadZZttM \n", 4339 | "1969 0.829 ... 119.993 5Sf3GyLEAzJXxZ5mbCPXTu \n", 4340 | "1970 0.764 ... 132.995 0jr6tT2vc4cIFPHb6wufG3 \n", 4341 | "1971 0.299 ... 95.929 2AMEPKeicePOewTaGLYqec \n", 4342 | "1972 0.363 ... 133.869 7JYcQU1Dv1Rabv3AQyynWD \n", 4343 | "1973 0.505 ... 77.023 0zxG0MKqXBEbwU09H7gEIs \n", 4344 | "1974 0.528 ... 136.224 7sdT7TgonQCKsdjhShEdYO \n", 4345 | "1975 0.696 ... 85.091 7yCqehT9dKACTFy7YugP0J \n", 4346 | "1976 0.668 ... 129.889 50PWlIBU7PlGGwzgN8TiFJ \n", 4347 | "1977 0.616 ... 124.988 5ou59ERA2f7ffyAxAcZyVz \n", 4348 | "1978 0.596 ... 94.982 4vb4mFvYsr2h6enhjJsq9Y \n", 4349 | "1979 0.358 ... 85.043 5uCax9HTNlzGybIStD3vDh \n", 4350 | "1980 0.473 ... 166.385 6M6lsQB4OhqL41eld29PeC \n", 4351 | "1981 0.435 ... 128.532 4L2K7JKseFCBoHMZEAszW0 \n", 4352 | "1982 0.793 ... 129.912 1zusIxNqJu8i4g6P6hJ2Qa \n", 4353 | "1983 0.694 ... 97.985 3g9nxeJPQM4CxhHt1iNlB4 \n", 4354 | "1984 0.431 ... 137.021 4JEC2RIrXV1owJNVKanIAT \n", 4355 | "1985 0.690 ... 164.023 4BHzQ9C00ceJxfG16AlNWb \n", 4356 | "1986 0.389 ... 117.055 7lGKEWMXVWWTt3X71Bv44I \n", 4357 | "1987 0.609 ... 99.955 67EY6aDoIx8czEPS6a2AaI \n", 4358 | "1988 0.432 ... 188.858 5jaOa7ybiQjBdhoouGuNjH \n", 4359 | "\n", 4360 | " artist1_id followers artist_popularity \\\n", 4361 | "0 0jW6R8CVyVohuUJVcuweDI 784409 65 \n", 4362 | "1 2vm8GdHyrJh2O2MfbQFYG0 505291 61 \n", 4363 | "2 16oZKvXb6WkQlVAjwo2Wbg 2619293 74 \n", 4364 | "3 1GxkXlMwML1oSg5eLPiAz3 2627273 72 \n", 4365 | "4 2PCUhxD40qlMqsKHjTZD2e 339532 58 \n", 4366 | "5 4dpARuHxo51G3z768sgnrY 10592482 81 \n", 4367 | "6 4LEiUm1SRbFMgfqnQTwUbQ 2051334 71 \n", 4368 | "7 7giUHu5pv6YTZgSkxxCcgh 720594 65 \n", 4369 | "8 3hozsZ9hqNq7CoBGYNlFTz 288245 55 \n", 4370 | "9 5tI0Vj2FhioY8AKtEqu9d3 16135 31 \n", 4371 | "10 0g7gHEXKEHU4snTwOZSxNO 1882 22 \n", 4372 | "11 7crPfGd2k81ekOoSqQKWWz 392134 62 \n", 4373 | "12 3pTE9iaJTkWns3mxpNQlJV 552751 59 \n", 4374 | "13 5gInJ5P5gQnOKPM3SUEVFt 100323 45 \n", 4375 | "14 267VY6GX5LyU5c9M85ECZQ 203260 52 \n", 4376 | "15 5gInJ5P5gQnOKPM3SUEVFt 100323 45 \n", 4377 | "16 56ZTgzPBDge0OvCGgMO3OY 659417 66 \n", 4378 | "17 3UpIbyXfGzmHG6TMH4dJEk 96448 48 \n", 4379 | "18 3TBfn8PtXr42OrTPaoC3E8 44288 42 \n", 4380 | "19 6eO95BjZhrWHREMfwC4vVN 79268 41 \n", 4381 | "20 0aWSylARSZCDo7vTDgvKbb 10021 26 \n", 4382 | "21 0aWSylARSZCDo7vTDgvKbb 10021 26 \n", 4383 | "22 7oPftvlwr6VrsViSDV7fJY 7052962 78 \n", 4384 | "23 4Cedjq5BQL3MhapRvDpFED 110980 54 \n", 4385 | "24 5o206eFLx38glA2bb4zqIU 318654 58 \n", 4386 | "25 62ZE05EcDkspUxRw1u2ger 2604 17 \n", 4387 | "26 0aWSylARSZCDo7vTDgvKbb 10021 26 \n", 4388 | "27 5tI0Vj2FhioY8AKtEqu9d3 16135 31 \n", 4389 | "28 1aOp1lgpcwRxADf1jHvXhu 20528 40 \n", 4390 | "29 03ilIKH0i08IxmjKcn63ne 172414 49 \n", 4391 | "... ... ... ... \n", 4392 | "1959 1z7b1Pr1rSlvWRzsW3HOrS 1515680 79 \n", 4393 | "1960 6JL8zeS1NmiOftqZTRgdTz 6027065 76 \n", 4394 | "1961 3700G3mzTkuxc5U7hdE9CV 10186 33 \n", 4395 | "1962 2jku7tDXc6XoB6MO2hFuqg 1523893 79 \n", 4396 | "1963 6TIYQ3jFPwQSRmorSezPxX 1116489 74 \n", 4397 | "1964 1Xyo4u8uXC1ZmMpatF05PJ 11713366 87 \n", 4398 | "1965 20s0P9QLxGqKuCsGwFsp7w 1058997 66 \n", 4399 | "1966 72y3ZI95ctkQC2O4mjBaU3 236642 46 \n", 4400 | "1967 5cKlE8f6b26h61Ml7m052Q 143811 60 \n", 4401 | "1968 3TVXtAsR1Inumwj472S9r4 24467846 100 \n", 4402 | "1969 33W1pnW9zScZtYTnAoWnOT 249714 68 \n", 4403 | "1970 5lwmRuXgjX8xIwlnauTZIP 5503631 79 \n", 4404 | "1971 0X2BH1fck6amBIoJhDVmmJ 5097882 76 \n", 4405 | "1972 58MLl9nC29IXbE4nEtuoP2 489225 66 \n", 4406 | "1973 7H55rcKCfwqkyDFH9wpKM6 1438780 71 \n", 4407 | "1974 2iTiSaR023IikZDaOfEIRR 54549 46 \n", 4408 | "1975 3tQx1LPXbsYjE9VwN1Peaa 164943 69 \n", 4409 | "1976 1HY2Jd0NmPuamShAr6KMms 5369967 78 \n", 4410 | "1977 1HY2Jd0NmPuamShAr6KMms 5369967 78 \n", 4411 | "1978 4dpARuHxo51G3z768sgnrY 10593234 81 \n", 4412 | "1979 4IWBUUAFIplrNtaOHcJPRM 2334182 78 \n", 4413 | "1980 5pKCCKE2ajJHZ9KAiaK11H 25861503 87 \n", 4414 | "1981 2feDdbD5araYcm6JhFHHw7 629343 76 \n", 4415 | "1982 37NqXwtb6nIEqRt4EJSoIO 481005 57 \n", 4416 | "1983 37NqXwtb6nIEqRt4EJSoIO 481005 57 \n", 4417 | "1984 1GxkXlMwML1oSg5eLPiAz3 2627319 72 \n", 4418 | "1985 4dpARuHxo51G3z768sgnrY 10593239 81 \n", 4419 | "1986 3NPpFNZtSTHheNBaWC82rB 1112412 74 \n", 4420 | "1987 3AQRLZ9PuTAozP28Skbq8V 3879625 74 \n", 4421 | "1988 1l7ZsJRRS8wlW3WfJfPfNS 3365610 77 \n", 4422 | "\n", 4423 | " artist_genre1 artist_genre2 \\\n", 4424 | "0 bow pop classify \n", 4425 | "1 acoustic pop ectofolk \n", 4426 | "2 folk-pop indie folk \n", 4427 | "3 adult standards canadian pop \n", 4428 | "4 acoustic pop indiecoustica \n", 4429 | "5 pop None \n", 4430 | "6 chamber pop folk-pop \n", 4431 | "7 chamber pop folk-pop \n", 4432 | "8 alternative rock chicago indie \n", 4433 | "9 None None \n", 4434 | "10 None None \n", 4435 | "11 album rock heartland rock \n", 4436 | "12 alternative dance british indie rock \n", 4437 | "13 chamber pop folk-pop \n", 4438 | "14 alternative pop alternative rock \n", 4439 | "15 chamber pop folk-pop \n", 4440 | "16 art pop chamber pop \n", 4441 | "17 folk folk-pop \n", 4442 | "18 british indie rock dance-punk \n", 4443 | "19 art pop bay area indie \n", 4444 | "20 australian alternative rock None \n", 4445 | "21 australian alternative rock None \n", 4446 | "22 permanent wave pop punk \n", 4447 | "23 alternative country anti-folk \n", 4448 | "24 anti-folk chamber pop \n", 4449 | "25 candy pop power-pop punk \n", 4450 | "26 australian alternative rock None \n", 4451 | "27 None None \n", 4452 | "28 dreamo modern rock \n", 4453 | "29 post-teen pop None \n", 4454 | "... ... ... \n", 4455 | "1959 hip hop pop \n", 4456 | "1960 dance pop hip pop \n", 4457 | "1961 french folk pop french reggae \n", 4458 | "1962 canadian hip hop hip hop \n", 4459 | "1963 hip hop pop rap \n", 4460 | "1964 canadian pop pop \n", 4461 | "1965 dance pop hip pop \n", 4462 | "1966 boy band hip pop \n", 4463 | "1967 None None \n", 4464 | "1968 canadian hip hop canadian pop \n", 4465 | "1969 tropical house None \n", 4466 | "1970 bachata latin \n", 4467 | "1971 dance pop edm \n", 4468 | "1972 dance pop neo mellow \n", 4469 | "1973 dance pop neo mellow \n", 4470 | "1974 channel pop viral pop \n", 4471 | "1975 dance pop indie r&b \n", 4472 | "1976 dance pop pop \n", 4473 | "1977 dance pop pop \n", 4474 | "1978 pop None \n", 4475 | "1979 dance pop neo mellow \n", 4476 | "1980 dance pop pop \n", 4477 | "1981 dance pop pop \n", 4478 | "1982 dance pop neo soul \n", 4479 | "1983 dance pop neo soul \n", 4480 | "1984 adult standards canadian pop \n", 4481 | "1985 pop None \n", 4482 | "1986 modern alternative rock modern rock \n", 4483 | "1987 celtic rock neo mellow \n", 4484 | "1988 dance pop pop \n", 4485 | "\n", 4486 | " artist_genre3 album_label \\\n", 4487 | "0 None Portrait/Sony Masterworks \n", 4488 | "1 folk-pop Cabin 24 Records \n", 4489 | "2 indie pop Universal Music Group \n", 4490 | "3 lounge 143/Reprise \n", 4491 | "4 neo mellow Universal Music Group \n", 4492 | "5 None XL Recordings/Columbia \n", 4493 | "6 indie folk Jagjaguwar \n", 4494 | "7 indie folk Vagrant Records \n", 4495 | "8 comic Capitol Records \n", 4496 | "9 None Jingle Town Records \n", 4497 | "10 None ABKCO (US) \n", 4498 | "11 mellow gold Rhino Atlantic \n", 4499 | "12 indie folk Universal Music Group \n", 4500 | "13 indie pop Elefant Records \n", 4501 | "14 blues-rock WM UK \n", 4502 | "15 indie pop Elefant Records \n", 4503 | "16 chillwave Mistletone \n", 4504 | "17 indie pop SuperEgo Records \n", 4505 | "18 garage rock Rhino Atlantic \n", 4506 | "19 chillwave Fantasy Trashcan (Turnstile) \n", 4507 | "20 None Death Valley Records and Tapes \n", 4508 | "21 None Universal Music Australia Pty. Ltd. \n", 4509 | "22 punk Reprise \n", 4510 | "23 art pop Anti/Epitaph \n", 4511 | "24 folk-pop Saddle Creek \n", 4512 | "25 None Kind Of Like Records \n", 4513 | "26 None Universal Music Australia Pty. Ltd. \n", 4514 | "27 None Jingle Town Records \n", 4515 | "28 progressive post-hardcore Equal Vision Records \n", 4516 | "29 None Nick Records \n", 4517 | "... ... ... \n", 4518 | "1959 rap Columbia \n", 4519 | "1960 pop Epic \n", 4520 | "1961 french rock Parlophone France \n", 4521 | "1962 indie r&b Benny Blanco Major \n", 4522 | "1963 rap Bad Boy Records PS \n", 4523 | "1964 rap Universal Music Group \n", 4524 | "1965 pop J Records \n", 4525 | "1966 new jack swing Interscope \n", 4526 | "1967 None Ole Red Dot \n", 4527 | "1968 hip hop Drake (Cash Money) \n", 4528 | "1969 None Left Lane Recordings \n", 4529 | "1970 tropical Sony Music Latin \n", 4530 | "1971 electropop Polydor Records \n", 4531 | "1972 pop Syco Music/Columbia Records \n", 4532 | "1973 pop Atlantic Records \n", 4533 | "1974 None Chester See \n", 4534 | "1975 pop Republic Records/Gee Roberson \n", 4535 | "1976 post-teen pop Universal Music Group \n", 4536 | "1977 post-teen pop Universal Music Group \n", 4537 | "1978 None XL Recordings/Columbia \n", 4538 | "1979 pop Columbia \n", 4539 | "1980 r&b Universal Music Group \n", 4540 | "1981 pop rap Syco Music \n", 4541 | "1982 pop Polydor Records \n", 4542 | "1983 pop Polydor Records \n", 4543 | "1984 lounge Reprise \n", 4544 | "1985 None XL Recordings/Columbia \n", 4545 | "1986 pop Kid Ina Korner / Interscope \n", 4546 | "1987 pop Phonogenic \n", 4547 | "1988 post-teen pop RCA Records Label \n", 4548 | "\n", 4549 | " album_popularity \n", 4550 | "0 43 \n", 4551 | "1 45 \n", 4552 | "2 66 \n", 4553 | "3 66 \n", 4554 | "4 49 \n", 4555 | "5 50 \n", 4556 | "6 45 \n", 4557 | "7 67 \n", 4558 | "8 32 \n", 4559 | "9 39 \n", 4560 | "10 31 \n", 4561 | "11 54 \n", 4562 | "12 43 \n", 4563 | "13 34 \n", 4564 | "14 1 \n", 4565 | "15 44 \n", 4566 | "16 35 \n", 4567 | "17 30 \n", 4568 | "18 45 \n", 4569 | "19 37 \n", 4570 | "20 15 \n", 4571 | "21 21 \n", 4572 | "22 75 \n", 4573 | "23 47 \n", 4574 | "24 64 \n", 4575 | "25 12 \n", 4576 | "26 17 \n", 4577 | "27 39 \n", 4578 | "28 44 \n", 4579 | "29 44 \n", 4580 | "... ... \n", 4581 | "1959 80 \n", 4582 | "1960 75 \n", 4583 | "1961 37 \n", 4584 | "1962 69 \n", 4585 | "1963 69 \n", 4586 | "1964 67 \n", 4587 | "1965 53 \n", 4588 | "1966 53 \n", 4589 | "1967 65 \n", 4590 | "1968 79 \n", 4591 | "1969 69 \n", 4592 | "1970 73 \n", 4593 | "1971 52 \n", 4594 | "1972 72 \n", 4595 | "1973 59 \n", 4596 | "1974 34 \n", 4597 | "1975 67 \n", 4598 | "1976 59 \n", 4599 | "1977 59 \n", 4600 | "1978 76 \n", 4601 | "1979 79 \n", 4602 | "1980 73 \n", 4603 | "1981 68 \n", 4604 | "1982 62 \n", 4605 | "1983 62 \n", 4606 | "1984 63 \n", 4607 | "1985 76 \n", 4608 | "1986 73 \n", 4609 | "1987 45 \n", 4610 | "1988 56 \n", 4611 | "\n", 4612 | "[1989 rows x 29 columns]" 4613 | ] 4614 | }, 4615 | "execution_count": 144, 4616 | "metadata": {}, 4617 | "output_type": "execute_result" 4618 | } 4619 | ], 4620 | "source": [ 4621 | "track_records" 4622 | ] 4623 | }, 4624 | { 4625 | "cell_type": "code", 4626 | "execution_count": 145, 4627 | "metadata": {}, 4628 | "outputs": [], 4629 | "source": [ 4630 | "# export that data to a csv, which we will merge with all other csvs in Excel\n", 4631 | "track_records.to_csv(\"20000-20999,1988.csv\", sep=',')" 4632 | ] 4633 | } 4634 | ], 4635 | "metadata": { 4636 | "kernelspec": { 4637 | "display_name": "Python 3", 4638 | "language": "python", 4639 | "name": "python3" 4640 | }, 4641 | "language_info": { 4642 | "codemirror_mode": { 4643 | "name": "ipython", 4644 | "version": 3 4645 | }, 4646 | "file_extension": ".py", 4647 | "mimetype": "text/x-python", 4648 | "name": "python", 4649 | "nbconvert_exporter": "python", 4650 | "pygments_lexer": "ipython3", 4651 | "version": "3.6.4" 4652 | } 4653 | }, 4654 | "nbformat": 4, 4655 | "nbformat_minor": 2 4656 | } 4657 | -------------------------------------------------------------------------------- /Project Report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RutvaRajdev/Spotify-Recommendation-System/15e23a255ca3c508cdc41e96c3aff01b7a07ce61/Project Report.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Spotify Recommendation System 2 | 3 | This project’s goal is to provide automatic playlist continuation which would enable any music 4 | platform (here Spotify) to seamlessly support their users in creating and expanding the playlists 5 | by making recommendations based on their choices and preferences. 6 | 7 | ### Raw Data 8 | The data provided by Spotify is a Million Playlist Dataset (MPD) which contains 1 Million 9 | playlists created by the Spotify users. This dataset is quite huge (about 5.4 GB) and thus it has 10 | been divided into 1000 json files, where each file contains 1000 playlists comprising to 1,000,000 11 | playlists in total. 12 | 13 | ### Data Collection and Pre-processing 14 | Due to the humongous nature of data, the idea of scraping the entire dataset was not 15 | viable so sized down to using about 6 json files (limitations of hardware) and also decided to 16 | work with only certain important features that are extracted with Spotify Api calls. This can be found 17 | in the 'DataScrape Notebook' python notebook file. 18 | 19 | Dataset needed to be preprocessed before modelling was done. Some cleaning was done in Microsoft Excel: 20 | * Deleted rows with headers (because they were all merged, every file that was merged 21 | had its own header row) 22 | * Removed duplicates based on track_id - there were obviously many duplicates because 23 | playlists don't all have different songs 24 | 25 | A merged CSV file was created which was then processed. 26 | 27 | * Then Album released date were in different formats and all those formats were 28 | converted to YYYY format. 29 | * Then non quant and garbage columns were dropped. There were many columns with 30 | N/A values which were also dropped. 31 | * All the quantitative columns were standardized for consistent range. 32 | * Correlation Matrix was plotted for the data. With the matrix, analysis was done and many 33 | data columns were dropped to reduce redundancy. 34 | 35 | ### Data Modelling 36 | we tested two main approaches to handle the problem and generate recommendations. 37 | 38 | ###### Model1: 39 | The first approach is based on a user rating system. We provide the 3 different users 40 | randomly generated songs (20 in our case) from our database, and in turn, they give 41 | back ratings on a scale of 1-10 for the songs (with 10 being the highest). We then 42 | trained a model to learn their preferences and predict what ratings they would give for 43 | any other song, based on the characteristics of those given songs and how they rated 44 | them. Our ultimate goal is to give them back a list of any number of top rated songs from 45 | our mode (we chose to gave them their 5 top favourites) 46 | 47 | ###### Model2: 48 | For the second approach, we wanted to address the fact actual music recommendation 49 | systems base their recommendations off songs in playlists. When users add particular 50 | songs to their playlist, they are assumed to consider those songs “good” and to their 51 | taste, so it is quite unorthodox to base a model off songs that users rated poorly as well 52 | (as we did in the first model). The issue with this, however, is that user-provided playlists 53 | could very easily have songs that were not in our smaller database. Thus we would be 54 | unable to actually test this model on real users, but we made it nonetheless. 55 | 56 | ## Results and Discussion 57 | ###### Model1: 58 | Our recommendation system worked pretty well with this approach. One of our users 'Helen' preferred 59 | the predicted playlist from the Simple Linear Regression(SLR) model over the other 2 models(Random Forest 60 | and Neural Network). 61 | 62 | ###### Model2: 63 | The second approach is validated based on CV scores. We ran Logistic 64 | Regression, RandomForest, Gradient Boosting, K-NN & created a neural network as 65 | well to classify the tracks. We divided the dataset in train/test and did upto 10-fold cross 66 | validations on each of the models. We generated the R 2 Error values and compared 67 | them. The cross validated scores were used to validate the errors generated. Also, we 68 | used cross validation to get the optimal number of neighbors for our K-NN model. 69 | Overall after the comparisons, we found that the Random Forest have an accuracy of 70 | ~0.99 on the test set which makes it a stand out model. 71 | 72 | ##### For detailed information, please read the report pdf 73 | --------------------------------------------------------------------------------