diff --git a/analysis pipeline/Person 2.ipynb b/analysis pipeline/Person 2.ipynb
deleted file mode 100644
index 7022d36..0000000
--- a/analysis pipeline/Person 2.ipynb
+++ /dev/null
@@ -1,4702 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "318c8757-bd0a-4432-8b27-7b31fbb03700",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " audio_mode | \n",
- " speechiness | \n",
- " tempo | \n",
- " time_signature | \n",
- " audio_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Boulevard of Broken Dreams | \n",
- " 73 | \n",
- " 262333 | \n",
- " 0.005520 | \n",
- " 0.496 | \n",
- " 0.682 | \n",
- " 0.000029 | \n",
- " 8 | \n",
- " 0.0589 | \n",
- " -4.095 | \n",
- " 1 | \n",
- " 0.0294 | \n",
- " 167.060 | \n",
- " 4 | \n",
- " 0.474 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " In The End | \n",
- " 66 | \n",
- " 216933 | \n",
- " 0.010300 | \n",
- " 0.542 | \n",
- " 0.853 | \n",
- " 0.000000 | \n",
- " 3 | \n",
- " 0.1080 | \n",
- " -6.407 | \n",
- " 0 | \n",
- " 0.0498 | \n",
- " 105.256 | \n",
- " 4 | \n",
- " 0.370 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Seven Nation Army | \n",
- " 76 | \n",
- " 231733 | \n",
- " 0.008170 | \n",
- " 0.737 | \n",
- " 0.463 | \n",
- " 0.447000 | \n",
- " 0 | \n",
- " 0.2550 | \n",
- " -7.828 | \n",
- " 1 | \n",
- " 0.0792 | \n",
- " 123.881 | \n",
- " 4 | \n",
- " 0.324 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " By The Way | \n",
- " 74 | \n",
- " 216933 | \n",
- " 0.026400 | \n",
- " 0.451 | \n",
- " 0.970 | \n",
- " 0.003550 | \n",
- " 0 | \n",
- " 0.1020 | \n",
- " -4.938 | \n",
- " 1 | \n",
- " 0.1070 | \n",
- " 122.444 | \n",
- " 4 | \n",
- " 0.198 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " How You Remind Me | \n",
- " 56 | \n",
- " 223826 | \n",
- " 0.000954 | \n",
- " 0.447 | \n",
- " 0.766 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1130 | \n",
- " -5.065 | \n",
- " 1 | \n",
- " 0.0313 | \n",
- " 172.011 | \n",
- " 4 | \n",
- " 0.574 | \n",
- "
\n",
- " \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " 18830 | \n",
- " Let It Breathe | \n",
- " 60 | \n",
- " 159645 | \n",
- " 0.893000 | \n",
- " 0.500 | \n",
- " 0.151 | \n",
- " 0.000065 | \n",
- " 11 | \n",
- " 0.1110 | \n",
- " -16.107 | \n",
- " 1 | \n",
- " 0.0348 | \n",
- " 113.969 | \n",
- " 4 | \n",
- " 0.300 | \n",
- "
\n",
- " \n",
- " 18831 | \n",
- " Answers | \n",
- " 60 | \n",
- " 205666 | \n",
- " 0.765000 | \n",
- " 0.495 | \n",
- " 0.161 | \n",
- " 0.000001 | \n",
- " 11 | \n",
- " 0.1050 | \n",
- " -14.078 | \n",
- " 0 | \n",
- " 0.0301 | \n",
- " 94.286 | \n",
- " 4 | \n",
- " 0.265 | \n",
- "
\n",
- " \n",
- " 18832 | \n",
- " Sudden Love (Acoustic) | \n",
- " 23 | \n",
- " 182211 | \n",
- " 0.847000 | \n",
- " 0.719 | \n",
- " 0.325 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -12.222 | \n",
- " 1 | \n",
- " 0.0355 | \n",
- " 130.534 | \n",
- " 4 | \n",
- " 0.286 | \n",
- "
\n",
- " \n",
- " 18833 | \n",
- " Gentle on My Mind | \n",
- " 55 | \n",
- " 352280 | \n",
- " 0.945000 | \n",
- " 0.488 | \n",
- " 0.326 | \n",
- " 0.015700 | \n",
- " 3 | \n",
- " 0.1190 | \n",
- " -12.020 | \n",
- " 1 | \n",
- " 0.0328 | \n",
- " 106.063 | \n",
- " 4 | \n",
- " 0.323 | \n",
- "
\n",
- " \n",
- " 18834 | \n",
- " Up to Me | \n",
- " 60 | \n",
- " 193533 | \n",
- " 0.911000 | \n",
- " 0.640 | \n",
- " 0.381 | \n",
- " 0.000254 | \n",
- " 4 | \n",
- " 0.1040 | \n",
- " -11.790 | \n",
- " 1 | \n",
- " 0.0302 | \n",
- " 91.490 | \n",
- " 4 | \n",
- " 0.581 | \n",
- "
\n",
- " \n",
- "
\n",
- "
18835 rows × 15 columns
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity song_duration_ms \\\n",
- "0 Boulevard of Broken Dreams 73 262333 \n",
- "1 In The End 66 216933 \n",
- "2 Seven Nation Army 76 231733 \n",
- "3 By The Way 74 216933 \n",
- "4 How You Remind Me 56 223826 \n",
- "... ... ... ... \n",
- "18830 Let It Breathe 60 159645 \n",
- "18831 Answers 60 205666 \n",
- "18832 Sudden Love (Acoustic) 23 182211 \n",
- "18833 Gentle on My Mind 55 352280 \n",
- "18834 Up to Me 60 193533 \n",
- "\n",
- " acousticness danceability energy instrumentalness key liveness \\\n",
- "0 0.005520 0.496 0.682 0.000029 8 0.0589 \n",
- "1 0.010300 0.542 0.853 0.000000 3 0.1080 \n",
- "2 0.008170 0.737 0.463 0.447000 0 0.2550 \n",
- "3 0.026400 0.451 0.970 0.003550 0 0.1020 \n",
- "4 0.000954 0.447 0.766 0.000000 10 0.1130 \n",
- "... ... ... ... ... ... ... \n",
- "18830 0.893000 0.500 0.151 0.000065 11 0.1110 \n",
- "18831 0.765000 0.495 0.161 0.000001 11 0.1050 \n",
- "18832 0.847000 0.719 0.325 0.000000 0 0.1250 \n",
- "18833 0.945000 0.488 0.326 0.015700 3 0.1190 \n",
- "18834 0.911000 0.640 0.381 0.000254 4 0.1040 \n",
- "\n",
- " loudness audio_mode speechiness tempo time_signature \\\n",
- "0 -4.095 1 0.0294 167.060 4 \n",
- "1 -6.407 0 0.0498 105.256 4 \n",
- "2 -7.828 1 0.0792 123.881 4 \n",
- "3 -4.938 1 0.1070 122.444 4 \n",
- "4 -5.065 1 0.0313 172.011 4 \n",
- "... ... ... ... ... ... \n",
- "18830 -16.107 1 0.0348 113.969 4 \n",
- "18831 -14.078 0 0.0301 94.286 4 \n",
- "18832 -12.222 1 0.0355 130.534 4 \n",
- "18833 -12.020 1 0.0328 106.063 4 \n",
- "18834 -11.790 1 0.0302 91.490 4 \n",
- "\n",
- " audio_valence \n",
- "0 0.474 \n",
- "1 0.370 \n",
- "2 0.324 \n",
- "3 0.198 \n",
- "4 0.574 \n",
- "... ... \n",
- "18830 0.300 \n",
- "18831 0.265 \n",
- "18832 0.286 \n",
- "18833 0.323 \n",
- "18834 0.581 \n",
- "\n",
- "[18835 rows x 15 columns]"
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import numpy as np\n",
- "import pandas as pd\n",
- "music = pd.read_csv(\"../data/raw/song_data.csv.zip\")\n",
- "music"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d57510e4-3987-4d6c-afee-67c386e2a91c",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " audio_mode | \n",
- " speechiness | \n",
- " tempo | \n",
- " time_signature | \n",
- " audio_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Boulevard of Broken Dreams | \n",
- " 73 | \n",
- " 262333 | \n",
- " 0.005520 | \n",
- " 0.496 | \n",
- " 0.682 | \n",
- " 0.000029 | \n",
- " 8 | \n",
- " 0.0589 | \n",
- " -4.095 | \n",
- " 1 | \n",
- " 0.0294 | \n",
- " 167.060 | \n",
- " 4 | \n",
- " 0.474 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " In The End | \n",
- " 66 | \n",
- " 216933 | \n",
- " 0.010300 | \n",
- " 0.542 | \n",
- " 0.853 | \n",
- " 0.000000 | \n",
- " 3 | \n",
- " 0.1080 | \n",
- " -6.407 | \n",
- " 0 | \n",
- " 0.0498 | \n",
- " 105.256 | \n",
- " 4 | \n",
- " 0.370 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Seven Nation Army | \n",
- " 76 | \n",
- " 231733 | \n",
- " 0.008170 | \n",
- " 0.737 | \n",
- " 0.463 | \n",
- " 0.447000 | \n",
- " 0 | \n",
- " 0.2550 | \n",
- " -7.828 | \n",
- " 1 | \n",
- " 0.0792 | \n",
- " 123.881 | \n",
- " 4 | \n",
- " 0.324 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " By The Way | \n",
- " 74 | \n",
- " 216933 | \n",
- " 0.026400 | \n",
- " 0.451 | \n",
- " 0.970 | \n",
- " 0.003550 | \n",
- " 0 | \n",
- " 0.1020 | \n",
- " -4.938 | \n",
- " 1 | \n",
- " 0.1070 | \n",
- " 122.444 | \n",
- " 4 | \n",
- " 0.198 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " How You Remind Me | \n",
- " 56 | \n",
- " 223826 | \n",
- " 0.000954 | \n",
- " 0.447 | \n",
- " 0.766 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1130 | \n",
- " -5.065 | \n",
- " 1 | \n",
- " 0.0313 | \n",
- " 172.011 | \n",
- " 4 | \n",
- " 0.574 | \n",
- "
\n",
- " \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " 495 | \n",
- " China Grove | \n",
- " 67 | \n",
- " 195306 | \n",
- " 0.319000 | \n",
- " 0.623 | \n",
- " 0.910 | \n",
- " 0.000448 | \n",
- " 9 | \n",
- " 0.0810 | \n",
- " -8.448 | \n",
- " 1 | \n",
- " 0.0384 | \n",
- " 145.624 | \n",
- " 4 | \n",
- " 0.745 | \n",
- "
\n",
- " \n",
- " 496 | \n",
- " Foreplay / Long Time | \n",
- " 64 | \n",
- " 467640 | \n",
- " 0.009750 | \n",
- " 0.436 | \n",
- " 0.657 | \n",
- " 0.007480 | \n",
- " 5 | \n",
- " 0.0931 | \n",
- " -8.868 | \n",
- " 1 | \n",
- " 0.0541 | \n",
- " 118.693 | \n",
- " 4 | \n",
- " 0.210 | \n",
- "
\n",
- " \n",
- " 497 | \n",
- " Come Sail Away | \n",
- " 59 | \n",
- " 365000 | \n",
- " 0.160000 | \n",
- " 0.287 | \n",
- " 0.562 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1030 | \n",
- " -7.549 | \n",
- " 1 | \n",
- " 0.0304 | \n",
- " 147.622 | \n",
- " 4 | \n",
- " 0.126 | \n",
- "
\n",
- " \n",
- " 498 | \n",
- " Give A Little Bit | \n",
- " 72 | \n",
- " 248173 | \n",
- " 0.069400 | \n",
- " 0.531 | \n",
- " 0.818 | \n",
- " 0.009600 | \n",
- " 2 | \n",
- " 0.2630 | \n",
- " -5.358 | \n",
- " 1 | \n",
- " 0.0452 | \n",
- " 90.767 | \n",
- " 4 | \n",
- " 0.471 | \n",
- "
\n",
- " \n",
- " 499 | \n",
- " Doctor My Eyes | \n",
- " 64 | \n",
- " 199906 | \n",
- " 0.266000 | \n",
- " 0.480 | \n",
- " 0.626 | \n",
- " 0.000057 | \n",
- " 5 | \n",
- " 0.0857 | \n",
- " -8.406 | \n",
- " 1 | \n",
- " 0.0294 | \n",
- " 75.630 | \n",
- " 4 | \n",
- " 0.542 | \n",
- "
\n",
- " \n",
- "
\n",
- "
500 rows × 15 columns
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity song_duration_ms \\\n",
- "0 Boulevard of Broken Dreams 73 262333 \n",
- "1 In The End 66 216933 \n",
- "2 Seven Nation Army 76 231733 \n",
- "3 By The Way 74 216933 \n",
- "4 How You Remind Me 56 223826 \n",
- ".. ... ... ... \n",
- "495 China Grove 67 195306 \n",
- "496 Foreplay / Long Time 64 467640 \n",
- "497 Come Sail Away 59 365000 \n",
- "498 Give A Little Bit 72 248173 \n",
- "499 Doctor My Eyes 64 199906 \n",
- "\n",
- " acousticness danceability energy instrumentalness key liveness \\\n",
- "0 0.005520 0.496 0.682 0.000029 8 0.0589 \n",
- "1 0.010300 0.542 0.853 0.000000 3 0.1080 \n",
- "2 0.008170 0.737 0.463 0.447000 0 0.2550 \n",
- "3 0.026400 0.451 0.970 0.003550 0 0.1020 \n",
- "4 0.000954 0.447 0.766 0.000000 10 0.1130 \n",
- ".. ... ... ... ... ... ... \n",
- "495 0.319000 0.623 0.910 0.000448 9 0.0810 \n",
- "496 0.009750 0.436 0.657 0.007480 5 0.0931 \n",
- "497 0.160000 0.287 0.562 0.000000 0 0.1030 \n",
- "498 0.069400 0.531 0.818 0.009600 2 0.2630 \n",
- "499 0.266000 0.480 0.626 0.000057 5 0.0857 \n",
- "\n",
- " loudness audio_mode speechiness tempo time_signature audio_valence \n",
- "0 -4.095 1 0.0294 167.060 4 0.474 \n",
- "1 -6.407 0 0.0498 105.256 4 0.370 \n",
- "2 -7.828 1 0.0792 123.881 4 0.324 \n",
- "3 -4.938 1 0.1070 122.444 4 0.198 \n",
- "4 -5.065 1 0.0313 172.011 4 0.574 \n",
- ".. ... ... ... ... ... ... \n",
- "495 -8.448 1 0.0384 145.624 4 0.745 \n",
- "496 -8.868 1 0.0541 118.693 4 0.210 \n",
- "497 -7.549 1 0.0304 147.622 4 0.126 \n",
- "498 -5.358 1 0.0452 90.767 4 0.471 \n",
- "499 -8.406 1 0.0294 75.630 4 0.542 \n",
- "\n",
- "[500 rows x 15 columns]"
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "songs = music.loc[0:499]\n",
- "songs"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d192c40d-acfe-4f16-92ca-3f66c0bd2e9d",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Boulevard of Broken Dreams | \n",
- " 73 | \n",
- " 262333 | \n",
- " 0.005520 | \n",
- " 0.496 | \n",
- " 0.682 | \n",
- " 0.000029 | \n",
- " 8 | \n",
- " 0.0589 | \n",
- " -4.095 | \n",
- " 0.0294 | \n",
- " 167.060 | \n",
- " 0.474 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " In The End | \n",
- " 66 | \n",
- " 216933 | \n",
- " 0.010300 | \n",
- " 0.542 | \n",
- " 0.853 | \n",
- " 0.000000 | \n",
- " 3 | \n",
- " 0.1080 | \n",
- " -6.407 | \n",
- " 0.0498 | \n",
- " 105.256 | \n",
- " 0.370 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Seven Nation Army | \n",
- " 76 | \n",
- " 231733 | \n",
- " 0.008170 | \n",
- " 0.737 | \n",
- " 0.463 | \n",
- " 0.447000 | \n",
- " 0 | \n",
- " 0.2550 | \n",
- " -7.828 | \n",
- " 0.0792 | \n",
- " 123.881 | \n",
- " 0.324 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " By The Way | \n",
- " 74 | \n",
- " 216933 | \n",
- " 0.026400 | \n",
- " 0.451 | \n",
- " 0.970 | \n",
- " 0.003550 | \n",
- " 0 | \n",
- " 0.1020 | \n",
- " -4.938 | \n",
- " 0.1070 | \n",
- " 122.444 | \n",
- " 0.198 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " How You Remind Me | \n",
- " 56 | \n",
- " 223826 | \n",
- " 0.000954 | \n",
- " 0.447 | \n",
- " 0.766 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1130 | \n",
- " -5.065 | \n",
- " 0.0313 | \n",
- " 172.011 | \n",
- " 0.574 | \n",
- "
\n",
- " \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " 495 | \n",
- " China Grove | \n",
- " 67 | \n",
- " 195306 | \n",
- " 0.319000 | \n",
- " 0.623 | \n",
- " 0.910 | \n",
- " 0.000448 | \n",
- " 9 | \n",
- " 0.0810 | \n",
- " -8.448 | \n",
- " 0.0384 | \n",
- " 145.624 | \n",
- " 0.745 | \n",
- "
\n",
- " \n",
- " 496 | \n",
- " Foreplay / Long Time | \n",
- " 64 | \n",
- " 467640 | \n",
- " 0.009750 | \n",
- " 0.436 | \n",
- " 0.657 | \n",
- " 0.007480 | \n",
- " 5 | \n",
- " 0.0931 | \n",
- " -8.868 | \n",
- " 0.0541 | \n",
- " 118.693 | \n",
- " 0.210 | \n",
- "
\n",
- " \n",
- " 497 | \n",
- " Come Sail Away | \n",
- " 59 | \n",
- " 365000 | \n",
- " 0.160000 | \n",
- " 0.287 | \n",
- " 0.562 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1030 | \n",
- " -7.549 | \n",
- " 0.0304 | \n",
- " 147.622 | \n",
- " 0.126 | \n",
- "
\n",
- " \n",
- " 498 | \n",
- " Give A Little Bit | \n",
- " 72 | \n",
- " 248173 | \n",
- " 0.069400 | \n",
- " 0.531 | \n",
- " 0.818 | \n",
- " 0.009600 | \n",
- " 2 | \n",
- " 0.2630 | \n",
- " -5.358 | \n",
- " 0.0452 | \n",
- " 90.767 | \n",
- " 0.471 | \n",
- "
\n",
- " \n",
- " 499 | \n",
- " Doctor My Eyes | \n",
- " 64 | \n",
- " 199906 | \n",
- " 0.266000 | \n",
- " 0.480 | \n",
- " 0.626 | \n",
- " 0.000057 | \n",
- " 5 | \n",
- " 0.0857 | \n",
- " -8.406 | \n",
- " 0.0294 | \n",
- " 75.630 | \n",
- " 0.542 | \n",
- "
\n",
- " \n",
- "
\n",
- "
500 rows × 13 columns
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity song_duration_ms \\\n",
- "0 Boulevard of Broken Dreams 73 262333 \n",
- "1 In The End 66 216933 \n",
- "2 Seven Nation Army 76 231733 \n",
- "3 By The Way 74 216933 \n",
- "4 How You Remind Me 56 223826 \n",
- ".. ... ... ... \n",
- "495 China Grove 67 195306 \n",
- "496 Foreplay / Long Time 64 467640 \n",
- "497 Come Sail Away 59 365000 \n",
- "498 Give A Little Bit 72 248173 \n",
- "499 Doctor My Eyes 64 199906 \n",
- "\n",
- " acousticness danceability energy instrumentalness key liveness \\\n",
- "0 0.005520 0.496 0.682 0.000029 8 0.0589 \n",
- "1 0.010300 0.542 0.853 0.000000 3 0.1080 \n",
- "2 0.008170 0.737 0.463 0.447000 0 0.2550 \n",
- "3 0.026400 0.451 0.970 0.003550 0 0.1020 \n",
- "4 0.000954 0.447 0.766 0.000000 10 0.1130 \n",
- ".. ... ... ... ... ... ... \n",
- "495 0.319000 0.623 0.910 0.000448 9 0.0810 \n",
- "496 0.009750 0.436 0.657 0.007480 5 0.0931 \n",
- "497 0.160000 0.287 0.562 0.000000 0 0.1030 \n",
- "498 0.069400 0.531 0.818 0.009600 2 0.2630 \n",
- "499 0.266000 0.480 0.626 0.000057 5 0.0857 \n",
- "\n",
- " loudness speechiness tempo audio_valence \n",
- "0 -4.095 0.0294 167.060 0.474 \n",
- "1 -6.407 0.0498 105.256 0.370 \n",
- "2 -7.828 0.0792 123.881 0.324 \n",
- "3 -4.938 0.1070 122.444 0.198 \n",
- "4 -5.065 0.0313 172.011 0.574 \n",
- ".. ... ... ... ... \n",
- "495 -8.448 0.0384 145.624 0.745 \n",
- "496 -8.868 0.0541 118.693 0.210 \n",
- "497 -7.549 0.0304 147.622 0.126 \n",
- "498 -5.358 0.0452 90.767 0.471 \n",
- "499 -8.406 0.0294 75.630 0.542 \n",
- "\n",
- "[500 rows x 13 columns]"
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "songs_cleaned = songs.drop(['audio_mode', 'time_signature'], axis=1)\n",
- "songs_cleaned\n",
- "#Cleaning the data. Here I am cleaning the data by removing 2 columns that are not significantin my research or are just repetitive."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "5c5ff1e0-d19c-43b7-b408-fb6092689ea0",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Boulevard of Broken Dreams | \n",
- " 73 | \n",
- " 262333 | \n",
- " 0.005520 | \n",
- " 0.496 | \n",
- " 0.682 | \n",
- " 0.000029 | \n",
- " 8 | \n",
- " 0.0589 | \n",
- " -4.095 | \n",
- " 0.0294 | \n",
- " 167.060 | \n",
- " 0.474 | \n",
- " 0.970 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " In The End | \n",
- " 66 | \n",
- " 216933 | \n",
- " 0.010300 | \n",
- " 0.542 | \n",
- " 0.853 | \n",
- " 0.000000 | \n",
- " 3 | \n",
- " 0.1080 | \n",
- " -6.407 | \n",
- " 0.0498 | \n",
- " 105.256 | \n",
- " 0.370 | \n",
- " 0.912 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Seven Nation Army | \n",
- " 76 | \n",
- " 231733 | \n",
- " 0.008170 | \n",
- " 0.737 | \n",
- " 0.463 | \n",
- " 0.447000 | \n",
- " 0 | \n",
- " 0.2550 | \n",
- " -7.828 | \n",
- " 0.0792 | \n",
- " 123.881 | \n",
- " 0.324 | \n",
- " 1.061 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " By The Way | \n",
- " 74 | \n",
- " 216933 | \n",
- " 0.026400 | \n",
- " 0.451 | \n",
- " 0.970 | \n",
- " 0.003550 | \n",
- " 0 | \n",
- " 0.1020 | \n",
- " -4.938 | \n",
- " 0.1070 | \n",
- " 122.444 | \n",
- " 0.198 | \n",
- " 0.649 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " How You Remind Me | \n",
- " 56 | \n",
- " 223826 | \n",
- " 0.000954 | \n",
- " 0.447 | \n",
- " 0.766 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1130 | \n",
- " -5.065 | \n",
- " 0.0313 | \n",
- " 172.011 | \n",
- " 0.574 | \n",
- " 1.021 | \n",
- "
\n",
- " \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- " ... | \n",
- "
\n",
- " \n",
- " 495 | \n",
- " China Grove | \n",
- " 67 | \n",
- " 195306 | \n",
- " 0.319000 | \n",
- " 0.623 | \n",
- " 0.910 | \n",
- " 0.000448 | \n",
- " 9 | \n",
- " 0.0810 | \n",
- " -8.448 | \n",
- " 0.0384 | \n",
- " 145.624 | \n",
- " 0.745 | \n",
- " 1.368 | \n",
- "
\n",
- " \n",
- " 496 | \n",
- " Foreplay / Long Time | \n",
- " 64 | \n",
- " 467640 | \n",
- " 0.009750 | \n",
- " 0.436 | \n",
- " 0.657 | \n",
- " 0.007480 | \n",
- " 5 | \n",
- " 0.0931 | \n",
- " -8.868 | \n",
- " 0.0541 | \n",
- " 118.693 | \n",
- " 0.210 | \n",
- " 0.646 | \n",
- "
\n",
- " \n",
- " 497 | \n",
- " Come Sail Away | \n",
- " 59 | \n",
- " 365000 | \n",
- " 0.160000 | \n",
- " 0.287 | \n",
- " 0.562 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1030 | \n",
- " -7.549 | \n",
- " 0.0304 | \n",
- " 147.622 | \n",
- " 0.126 | \n",
- " 0.413 | \n",
- "
\n",
- " \n",
- " 498 | \n",
- " Give A Little Bit | \n",
- " 72 | \n",
- " 248173 | \n",
- " 0.069400 | \n",
- " 0.531 | \n",
- " 0.818 | \n",
- " 0.009600 | \n",
- " 2 | \n",
- " 0.2630 | \n",
- " -5.358 | \n",
- " 0.0452 | \n",
- " 90.767 | \n",
- " 0.471 | \n",
- " 1.002 | \n",
- "
\n",
- " \n",
- " 499 | \n",
- " Doctor My Eyes | \n",
- " 64 | \n",
- " 199906 | \n",
- " 0.266000 | \n",
- " 0.480 | \n",
- " 0.626 | \n",
- " 0.000057 | \n",
- " 5 | \n",
- " 0.0857 | \n",
- " -8.406 | \n",
- " 0.0294 | \n",
- " 75.630 | \n",
- " 0.542 | \n",
- " 1.022 | \n",
- "
\n",
- " \n",
- "
\n",
- "
500 rows × 14 columns
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity song_duration_ms \\\n",
- "0 Boulevard of Broken Dreams 73 262333 \n",
- "1 In The End 66 216933 \n",
- "2 Seven Nation Army 76 231733 \n",
- "3 By The Way 74 216933 \n",
- "4 How You Remind Me 56 223826 \n",
- ".. ... ... ... \n",
- "495 China Grove 67 195306 \n",
- "496 Foreplay / Long Time 64 467640 \n",
- "497 Come Sail Away 59 365000 \n",
- "498 Give A Little Bit 72 248173 \n",
- "499 Doctor My Eyes 64 199906 \n",
- "\n",
- " acousticness danceability energy instrumentalness key liveness \\\n",
- "0 0.005520 0.496 0.682 0.000029 8 0.0589 \n",
- "1 0.010300 0.542 0.853 0.000000 3 0.1080 \n",
- "2 0.008170 0.737 0.463 0.447000 0 0.2550 \n",
- "3 0.026400 0.451 0.970 0.003550 0 0.1020 \n",
- "4 0.000954 0.447 0.766 0.000000 10 0.1130 \n",
- ".. ... ... ... ... ... ... \n",
- "495 0.319000 0.623 0.910 0.000448 9 0.0810 \n",
- "496 0.009750 0.436 0.657 0.007480 5 0.0931 \n",
- "497 0.160000 0.287 0.562 0.000000 0 0.1030 \n",
- "498 0.069400 0.531 0.818 0.009600 2 0.2630 \n",
- "499 0.266000 0.480 0.626 0.000057 5 0.0857 \n",
- "\n",
- " loudness speechiness tempo audio_valence danceable_valence \n",
- "0 -4.095 0.0294 167.060 0.474 0.970 \n",
- "1 -6.407 0.0498 105.256 0.370 0.912 \n",
- "2 -7.828 0.0792 123.881 0.324 1.061 \n",
- "3 -4.938 0.1070 122.444 0.198 0.649 \n",
- "4 -5.065 0.0313 172.011 0.574 1.021 \n",
- ".. ... ... ... ... ... \n",
- "495 -8.448 0.0384 145.624 0.745 1.368 \n",
- "496 -8.868 0.0541 118.693 0.210 0.646 \n",
- "497 -7.549 0.0304 147.622 0.126 0.413 \n",
- "498 -5.358 0.0452 90.767 0.471 1.002 \n",
- "499 -8.406 0.0294 75.630 0.542 1.022 \n",
- "\n",
- "[500 rows x 14 columns]"
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "songs_cleaned['danceable_valence'] = songs_cleaned['danceability'] + songs_cleaned['audio_valence']\n",
- "# These 2 variables have very similar values so I combined them\n",
- "\n",
- "songs_cleaned"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "62daed46-a07e-41cc-8a86-e1404b207faf",
- "metadata": {},
- "source": [
- "# Wrangling data\n",
- "since one of my research questions has to do with genres of a song, but I cannot find all\n",
- "the genres because it is not only time consuming, but there are multiple songs with that one titles and I will not be able to figure out all of it so I am just going to find the top 25 songs and their genres and attempt to answer my question that way."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "b00ceb23-05ff-4535-abea-4cec55c14051",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 0.000003 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " 0.2290 | \n",
- " 95.948 | \n",
- " 0.591 | \n",
- " 1.432 | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " 0.1290 | \n",
- " 136.048 | \n",
- " 0.650 | \n",
- " 1.466 | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " 0.1090 | \n",
- " 102.063 | \n",
- " 0.286 | \n",
- " 0.921 | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 0.000000 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " 0.0337 | \n",
- " 100.027 | \n",
- " 0.249 | \n",
- " 0.887 | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 0.000512 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " 0.0544 | \n",
- " 97.064 | \n",
- " 0.174 | \n",
- " 0.992 | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " 0.0485 | \n",
- " 143.010 | \n",
- " 0.367 | \n",
- " 1.167 | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 0.000000 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " 0.0589 | \n",
- " 94.968 | \n",
- " 0.794 | \n",
- " 1.586 | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " 0.1070 | \n",
- " 166.043 | \n",
- " 0.667 | \n",
- " 1.413 | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0.000005 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " 0.0969 | \n",
- " 91.947 | \n",
- " 0.663 | \n",
- " 1.364 | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 0.000000 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " 0.0322 | \n",
- " 119.930 | \n",
- " 0.331 | \n",
- " 0.753 | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " 0.0996 | \n",
- " 105.115 | \n",
- " 0.926 | \n",
- " 1.630 | \n",
- "
\n",
- " \n",
- " 126 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 0.115000 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " 0.0292 | \n",
- " 127.975 | \n",
- " 0.965 | \n",
- " 1.698 | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 0.000000 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " 0.2830 | \n",
- " 130.040 | \n",
- " 0.674 | \n",
- " 1.491 | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 0.001730 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " 0.1320 | \n",
- " 115.715 | \n",
- " 0.422 | \n",
- " 0.995 | \n",
- "
\n",
- " \n",
- " 353 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " 0.0379 | \n",
- " 122.035 | \n",
- " 0.361 | \n",
- " 1.001 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 0.000000 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " 0.0456 | \n",
- " 91.455 | \n",
- " 0.875 | \n",
- " 1.493 | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 0.000007 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " 0.1060 | \n",
- " 118.393 | \n",
- " 0.166 | \n",
- " 0.775 | \n",
- "
\n",
- " \n",
- " 155 | \n",
- " Bleeding Love | \n",
- " 81 | \n",
- " 262466 | \n",
- " 0.188000 | \n",
- " 0.638 | \n",
- " 0.656 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.1460 | \n",
- " -5.886 | \n",
- " 0.0357 | \n",
- " 104.036 | \n",
- " 0.225 | \n",
- " 0.863 | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0.008060 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " 0.0374 | \n",
- " 132.770 | \n",
- " 0.663 | \n",
- " 1.303 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 0.010400 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " 0.0540 | \n",
- " 153.398 | \n",
- " 0.374 | \n",
- " 0.916 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 0.001110 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " 0.0624 | \n",
- " 90.578 | \n",
- " 0.724 | \n",
- " 1.305 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) 98 \n",
- "86 I Like It 95 \n",
- "85 BEBE 95 \n",
- "64 Beautiful (feat. Camila Cabello) 94 \n",
- "60 MIA (feat. Drake) 94 \n",
- "70 Wake Up in the Sky 92 \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) 88 \n",
- "65 Celoso 87 \n",
- "67 Real Friends 85 \n",
- "131 All of Me 85 \n",
- "212 Hips Don't Lie 84 \n",
- "114 Finesse (Remix) [feat. Cardi B] 84 \n",
- "126 Hips Don't Lie 84 \n",
- "128 Pumped Up Kicks 84 \n",
- "414 Hotel California - Remastered 83 \n",
- "71 Está Rico 83 \n",
- "427 Highway to Hell 83 \n",
- "353 Hotel California - Remastered 83 \n",
- "180 How to Save a Life 83 \n",
- "13 Can't Stop 81 \n",
- "185 If I Ain't Got You 81 \n",
- "155 Bleeding Love 81 \n",
- "261 Fortunate Son 81 \n",
- "9 Sex on Fire 81 \n",
- "6 Last Resort 81 \n",
- "\n",
- " song_duration_ms acousticness danceability energy instrumentalness \\\n",
- "61 212500 0.153000 0.841 0.798 0.000003 \n",
- "86 253390 0.099000 0.816 0.726 0.000000 \n",
- "85 217822 0.172000 0.635 0.902 0.000000 \n",
- "64 180000 0.346000 0.638 0.717 0.000000 \n",
- "60 210367 0.014300 0.818 0.540 0.000512 \n",
- "70 204664 0.003810 0.800 0.578 0.000000 \n",
- "101 201526 0.165000 0.792 0.895 0.000000 \n",
- "65 179693 0.352000 0.746 0.703 0.000000 \n",
- "67 223583 0.235000 0.701 0.512 0.000005 \n",
- "131 269560 0.922000 0.422 0.264 0.000000 \n",
- "212 218093 0.284000 0.778 0.824 0.000000 \n",
- "114 217288 0.018500 0.704 0.859 0.000000 \n",
- "126 218093 0.284000 0.778 0.824 0.000000 \n",
- "128 239600 0.145000 0.733 0.710 0.115000 \n",
- "414 391376 0.005740 0.579 0.508 0.000494 \n",
- "71 215151 0.266000 0.817 0.740 0.000000 \n",
- "427 208400 0.059100 0.573 0.913 0.001730 \n",
- "353 391376 0.005740 0.579 0.508 0.000494 \n",
- "180 262533 0.269000 0.640 0.743 0.000000 \n",
- "13 269000 0.017900 0.618 0.938 0.000000 \n",
- "185 228706 0.603000 0.609 0.445 0.000007 \n",
- "155 262466 0.188000 0.638 0.656 0.000000 \n",
- "261 140773 0.201000 0.640 0.663 0.008060 \n",
- "9 203346 0.001720 0.542 0.905 0.010400 \n",
- "6 199893 0.000504 0.581 0.887 0.001110 \n",
- "\n",
- " key liveness loudness speechiness tempo audio_valence \\\n",
- "61 1 0.0618 -4.206 0.2290 95.948 0.591 \n",
- "86 5 0.3720 -3.998 0.1290 136.048 0.650 \n",
- "85 0 0.1250 -3.559 0.1090 102.063 0.286 \n",
- "64 2 0.1050 -4.722 0.0337 100.027 0.249 \n",
- "60 6 0.0990 -6.350 0.0544 97.064 0.174 \n",
- "70 4 0.3590 -5.144 0.0485 143.010 0.367 \n",
- "101 1 0.0501 -3.112 0.0589 94.968 0.794 \n",
- "65 4 0.3310 -4.179 0.1070 166.043 0.667 \n",
- "67 0 0.1350 -6.869 0.0969 91.947 0.663 \n",
- "131 8 0.1320 -7.064 0.0322 119.930 0.331 \n",
- "212 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "114 5 0.0215 -4.877 0.0996 105.115 0.926 \n",
- "126 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "128 5 0.0956 -5.849 0.0292 127.975 0.965 \n",
- "414 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "71 11 0.0992 -4.566 0.2830 130.040 0.674 \n",
- "427 6 0.1560 -4.793 0.1320 115.715 0.422 \n",
- "353 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "180 10 0.1010 -4.080 0.0379 122.035 0.361 \n",
- "13 9 0.1670 -3.442 0.0456 91.455 0.875 \n",
- "185 7 0.1040 -9.129 0.1060 118.393 0.166 \n",
- "155 5 0.1460 -5.886 0.0357 104.036 0.225 \n",
- "261 0 0.1520 -7.516 0.0374 132.770 0.663 \n",
- "9 9 0.1360 -5.653 0.0540 153.398 0.374 \n",
- "6 4 0.2680 -3.659 0.0624 90.578 0.724 \n",
- "\n",
- " danceable_valence \n",
- "61 1.432 \n",
- "86 1.466 \n",
- "85 0.921 \n",
- "64 0.887 \n",
- "60 0.992 \n",
- "70 1.167 \n",
- "101 1.586 \n",
- "65 1.413 \n",
- "67 1.364 \n",
- "131 0.753 \n",
- "212 1.534 \n",
- "114 1.630 \n",
- "126 1.534 \n",
- "128 1.698 \n",
- "414 1.188 \n",
- "71 1.491 \n",
- "427 0.995 \n",
- "353 1.188 \n",
- "180 1.001 \n",
- "13 1.493 \n",
- "185 0.775 \n",
- "155 0.863 \n",
- "261 1.303 \n",
- "9 0.916 \n",
- "6 1.305 "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "most_popular = songs_cleaned.sort_values(\"song_popularity\", ascending=False).head(25)\n",
- "most_popular #these songs are the top popular songs in this dataset"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "3dbff90c-9783-48d0-ac86-4b9f8bf49a8b",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 0.000003 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " 0.2290 | \n",
- " 95.948 | \n",
- " 0.591 | \n",
- " 1.432 | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " 0.1290 | \n",
- " 136.048 | \n",
- " 0.650 | \n",
- " 1.466 | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " 0.1090 | \n",
- " 102.063 | \n",
- " 0.286 | \n",
- " 0.921 | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 0.000000 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " 0.0337 | \n",
- " 100.027 | \n",
- " 0.249 | \n",
- " 0.887 | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 0.000512 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " 0.0544 | \n",
- " 97.064 | \n",
- " 0.174 | \n",
- " 0.992 | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " 0.0485 | \n",
- " 143.010 | \n",
- " 0.367 | \n",
- " 1.167 | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 0.000000 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " 0.0589 | \n",
- " 94.968 | \n",
- " 0.794 | \n",
- " 1.586 | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " 0.1070 | \n",
- " 166.043 | \n",
- " 0.667 | \n",
- " 1.413 | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0.000005 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " 0.0969 | \n",
- " 91.947 | \n",
- " 0.663 | \n",
- " 1.364 | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 0.000000 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " 0.0322 | \n",
- " 119.930 | \n",
- " 0.331 | \n",
- " 0.753 | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " 0.0996 | \n",
- " 105.115 | \n",
- " 0.926 | \n",
- " 1.630 | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 0.115000 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " 0.0292 | \n",
- " 127.975 | \n",
- " 0.965 | \n",
- " 1.698 | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 0.000000 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " 0.2830 | \n",
- " 130.040 | \n",
- " 0.674 | \n",
- " 1.491 | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 0.001730 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " 0.1320 | \n",
- " 115.715 | \n",
- " 0.422 | \n",
- " 0.995 | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " 0.0379 | \n",
- " 122.035 | \n",
- " 0.361 | \n",
- " 1.001 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 0.000000 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " 0.0456 | \n",
- " 91.455 | \n",
- " 0.875 | \n",
- " 1.493 | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 0.000007 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " 0.1060 | \n",
- " 118.393 | \n",
- " 0.166 | \n",
- " 0.775 | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0.008060 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " 0.0374 | \n",
- " 132.770 | \n",
- " 0.663 | \n",
- " 1.303 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 0.010400 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " 0.0540 | \n",
- " 153.398 | \n",
- " 0.374 | \n",
- " 0.916 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 0.001110 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " 0.0624 | \n",
- " 90.578 | \n",
- " 0.724 | \n",
- " 1.305 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) 98 \n",
- "86 I Like It 95 \n",
- "85 BEBE 95 \n",
- "64 Beautiful (feat. Camila Cabello) 94 \n",
- "60 MIA (feat. Drake) 94 \n",
- "70 Wake Up in the Sky 92 \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) 88 \n",
- "65 Celoso 87 \n",
- "67 Real Friends 85 \n",
- "131 All of Me 85 \n",
- "212 Hips Don't Lie 84 \n",
- "114 Finesse (Remix) [feat. Cardi B] 84 \n",
- "128 Pumped Up Kicks 84 \n",
- "414 Hotel California - Remastered 83 \n",
- "71 Está Rico 83 \n",
- "427 Highway to Hell 83 \n",
- "180 How to Save a Life 83 \n",
- "13 Can't Stop 81 \n",
- "185 If I Ain't Got You 81 \n",
- "261 Fortunate Son 81 \n",
- "9 Sex on Fire 81 \n",
- "6 Last Resort 81 \n",
- "\n",
- " song_duration_ms acousticness danceability energy instrumentalness \\\n",
- "61 212500 0.153000 0.841 0.798 0.000003 \n",
- "86 253390 0.099000 0.816 0.726 0.000000 \n",
- "85 217822 0.172000 0.635 0.902 0.000000 \n",
- "64 180000 0.346000 0.638 0.717 0.000000 \n",
- "60 210367 0.014300 0.818 0.540 0.000512 \n",
- "70 204664 0.003810 0.800 0.578 0.000000 \n",
- "101 201526 0.165000 0.792 0.895 0.000000 \n",
- "65 179693 0.352000 0.746 0.703 0.000000 \n",
- "67 223583 0.235000 0.701 0.512 0.000005 \n",
- "131 269560 0.922000 0.422 0.264 0.000000 \n",
- "212 218093 0.284000 0.778 0.824 0.000000 \n",
- "114 217288 0.018500 0.704 0.859 0.000000 \n",
- "128 239600 0.145000 0.733 0.710 0.115000 \n",
- "414 391376 0.005740 0.579 0.508 0.000494 \n",
- "71 215151 0.266000 0.817 0.740 0.000000 \n",
- "427 208400 0.059100 0.573 0.913 0.001730 \n",
- "180 262533 0.269000 0.640 0.743 0.000000 \n",
- "13 269000 0.017900 0.618 0.938 0.000000 \n",
- "185 228706 0.603000 0.609 0.445 0.000007 \n",
- "261 140773 0.201000 0.640 0.663 0.008060 \n",
- "9 203346 0.001720 0.542 0.905 0.010400 \n",
- "6 199893 0.000504 0.581 0.887 0.001110 \n",
- "\n",
- " key liveness loudness speechiness tempo audio_valence \\\n",
- "61 1 0.0618 -4.206 0.2290 95.948 0.591 \n",
- "86 5 0.3720 -3.998 0.1290 136.048 0.650 \n",
- "85 0 0.1250 -3.559 0.1090 102.063 0.286 \n",
- "64 2 0.1050 -4.722 0.0337 100.027 0.249 \n",
- "60 6 0.0990 -6.350 0.0544 97.064 0.174 \n",
- "70 4 0.3590 -5.144 0.0485 143.010 0.367 \n",
- "101 1 0.0501 -3.112 0.0589 94.968 0.794 \n",
- "65 4 0.3310 -4.179 0.1070 166.043 0.667 \n",
- "67 0 0.1350 -6.869 0.0969 91.947 0.663 \n",
- "131 8 0.1320 -7.064 0.0322 119.930 0.331 \n",
- "212 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "114 5 0.0215 -4.877 0.0996 105.115 0.926 \n",
- "128 5 0.0956 -5.849 0.0292 127.975 0.965 \n",
- "414 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "71 11 0.0992 -4.566 0.2830 130.040 0.674 \n",
- "427 6 0.1560 -4.793 0.1320 115.715 0.422 \n",
- "180 10 0.1010 -4.080 0.0379 122.035 0.361 \n",
- "13 9 0.1670 -3.442 0.0456 91.455 0.875 \n",
- "185 7 0.1040 -9.129 0.1060 118.393 0.166 \n",
- "261 0 0.1520 -7.516 0.0374 132.770 0.663 \n",
- "9 9 0.1360 -5.653 0.0540 153.398 0.374 \n",
- "6 4 0.2680 -3.659 0.0624 90.578 0.724 \n",
- "\n",
- " danceable_valence \n",
- "61 1.432 \n",
- "86 1.466 \n",
- "85 0.921 \n",
- "64 0.887 \n",
- "60 0.992 \n",
- "70 1.167 \n",
- "101 1.586 \n",
- "65 1.413 \n",
- "67 1.364 \n",
- "131 0.753 \n",
- "212 1.534 \n",
- "114 1.630 \n",
- "128 1.698 \n",
- "414 1.188 \n",
- "71 1.491 \n",
- "427 0.995 \n",
- "180 1.001 \n",
- "13 1.493 \n",
- "185 0.775 \n",
- "261 1.303 \n",
- "9 0.916 \n",
- "6 1.305 "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "new_most_popular = most_popular.drop(labels=[353,126,155], axis=0)\n",
- "new_most_popular\n",
- "#when individually finding the genre of each song I saw that my data had duplicate rows but with different numbers so I just removed the 2 duplicate rows so I will not get false data.Also, Iwill remove the song \"Bleeding love\" simply because there are many songs with that title and Icannot differentiate them."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "9f414127-c26e-49dc-a4bf-38747e65c943",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- " Genre | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 0.000003 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " 0.2290 | \n",
- " 95.948 | \n",
- " 0.591 | \n",
- " 1.432 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " 0.1290 | \n",
- " 136.048 | \n",
- " 0.650 | \n",
- " 1.466 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " 0.1090 | \n",
- " 102.063 | \n",
- " 0.286 | \n",
- " 0.921 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 0.000000 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " 0.0337 | \n",
- " 100.027 | \n",
- " 0.249 | \n",
- " 0.887 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 0.000512 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " 0.0544 | \n",
- " 97.064 | \n",
- " 0.174 | \n",
- " 0.992 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " 0.0485 | \n",
- " 143.010 | \n",
- " 0.367 | \n",
- " 1.167 | \n",
- " Hip-Hop/Rap | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 0.000000 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " 0.0589 | \n",
- " 94.968 | \n",
- " 0.794 | \n",
- " 1.586 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " 0.1070 | \n",
- " 166.043 | \n",
- " 0.667 | \n",
- " 1.413 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0.000005 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " 0.0969 | \n",
- " 91.947 | \n",
- " 0.663 | \n",
- " 1.364 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 0.000000 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " 0.0322 | \n",
- " 119.930 | \n",
- " 0.331 | \n",
- " 0.753 | \n",
- " R&B/Soul | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " 0.0996 | \n",
- " 105.115 | \n",
- " 0.926 | \n",
- " 1.630 | \n",
- " Funk | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 0.115000 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " 0.0292 | \n",
- " 127.975 | \n",
- " 0.965 | \n",
- " 1.698 | \n",
- " Electropop | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 0.000000 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " 0.2830 | \n",
- " 130.040 | \n",
- " 0.674 | \n",
- " 1.491 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 0.001730 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " 0.1320 | \n",
- " 115.715 | \n",
- " 0.422 | \n",
- " 0.995 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " 0.0379 | \n",
- " 122.035 | \n",
- " 0.361 | \n",
- " 1.001 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 0.000000 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " 0.0456 | \n",
- " 91.455 | \n",
- " 0.875 | \n",
- " 1.493 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 0.000007 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " 0.1060 | \n",
- " 118.393 | \n",
- " 0.166 | \n",
- " 0.775 | \n",
- " R&B | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0.008060 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " 0.0374 | \n",
- " 132.770 | \n",
- " 0.663 | \n",
- " 1.303 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 0.010400 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " 0.0540 | \n",
- " 153.398 | \n",
- " 0.374 | \n",
- " 0.916 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 0.001110 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " 0.0624 | \n",
- " 90.578 | \n",
- " 0.724 | \n",
- " 1.305 | \n",
- " Rap metal | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) 98 \n",
- "86 I Like It 95 \n",
- "85 BEBE 95 \n",
- "64 Beautiful (feat. Camila Cabello) 94 \n",
- "60 MIA (feat. Drake) 94 \n",
- "70 Wake Up in the Sky 92 \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) 88 \n",
- "65 Celoso 87 \n",
- "67 Real Friends 85 \n",
- "131 All of Me 85 \n",
- "212 Hips Don't Lie 84 \n",
- "114 Finesse (Remix) [feat. Cardi B] 84 \n",
- "128 Pumped Up Kicks 84 \n",
- "414 Hotel California - Remastered 83 \n",
- "71 Está Rico 83 \n",
- "427 Highway to Hell 83 \n",
- "180 How to Save a Life 83 \n",
- "13 Can't Stop 81 \n",
- "185 If I Ain't Got You 81 \n",
- "261 Fortunate Son 81 \n",
- "9 Sex on Fire 81 \n",
- "6 Last Resort 81 \n",
- "\n",
- " song_duration_ms acousticness danceability energy instrumentalness \\\n",
- "61 212500 0.153000 0.841 0.798 0.000003 \n",
- "86 253390 0.099000 0.816 0.726 0.000000 \n",
- "85 217822 0.172000 0.635 0.902 0.000000 \n",
- "64 180000 0.346000 0.638 0.717 0.000000 \n",
- "60 210367 0.014300 0.818 0.540 0.000512 \n",
- "70 204664 0.003810 0.800 0.578 0.000000 \n",
- "101 201526 0.165000 0.792 0.895 0.000000 \n",
- "65 179693 0.352000 0.746 0.703 0.000000 \n",
- "67 223583 0.235000 0.701 0.512 0.000005 \n",
- "131 269560 0.922000 0.422 0.264 0.000000 \n",
- "212 218093 0.284000 0.778 0.824 0.000000 \n",
- "114 217288 0.018500 0.704 0.859 0.000000 \n",
- "128 239600 0.145000 0.733 0.710 0.115000 \n",
- "414 391376 0.005740 0.579 0.508 0.000494 \n",
- "71 215151 0.266000 0.817 0.740 0.000000 \n",
- "427 208400 0.059100 0.573 0.913 0.001730 \n",
- "180 262533 0.269000 0.640 0.743 0.000000 \n",
- "13 269000 0.017900 0.618 0.938 0.000000 \n",
- "185 228706 0.603000 0.609 0.445 0.000007 \n",
- "261 140773 0.201000 0.640 0.663 0.008060 \n",
- "9 203346 0.001720 0.542 0.905 0.010400 \n",
- "6 199893 0.000504 0.581 0.887 0.001110 \n",
- "\n",
- " key liveness loudness speechiness tempo audio_valence \\\n",
- "61 1 0.0618 -4.206 0.2290 95.948 0.591 \n",
- "86 5 0.3720 -3.998 0.1290 136.048 0.650 \n",
- "85 0 0.1250 -3.559 0.1090 102.063 0.286 \n",
- "64 2 0.1050 -4.722 0.0337 100.027 0.249 \n",
- "60 6 0.0990 -6.350 0.0544 97.064 0.174 \n",
- "70 4 0.3590 -5.144 0.0485 143.010 0.367 \n",
- "101 1 0.0501 -3.112 0.0589 94.968 0.794 \n",
- "65 4 0.3310 -4.179 0.1070 166.043 0.667 \n",
- "67 0 0.1350 -6.869 0.0969 91.947 0.663 \n",
- "131 8 0.1320 -7.064 0.0322 119.930 0.331 \n",
- "212 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "114 5 0.0215 -4.877 0.0996 105.115 0.926 \n",
- "128 5 0.0956 -5.849 0.0292 127.975 0.965 \n",
- "414 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "71 11 0.0992 -4.566 0.2830 130.040 0.674 \n",
- "427 6 0.1560 -4.793 0.1320 115.715 0.422 \n",
- "180 10 0.1010 -4.080 0.0379 122.035 0.361 \n",
- "13 9 0.1670 -3.442 0.0456 91.455 0.875 \n",
- "185 7 0.1040 -9.129 0.1060 118.393 0.166 \n",
- "261 0 0.1520 -7.516 0.0374 132.770 0.663 \n",
- "9 9 0.1360 -5.653 0.0540 153.398 0.374 \n",
- "6 4 0.2680 -3.659 0.0624 90.578 0.724 \n",
- "\n",
- " danceable_valence Genre \n",
- "61 1.432 Electronic \n",
- "86 1.466 Latin Urbano \n",
- "85 0.921 Latin Urbano \n",
- "64 0.887 Electronic \n",
- "60 0.992 Latin Urbano \n",
- "70 1.167 Hip-Hop/Rap \n",
- "101 1.586 Latin Urbano \n",
- "65 1.413 Electronic \n",
- "67 1.364 Pop \n",
- "131 0.753 R&B/Soul \n",
- "212 1.534 Pop \n",
- "114 1.630 Funk \n",
- "128 1.698 Electropop \n",
- "414 1.188 Rock \n",
- "71 1.491 Latin Urbano \n",
- "427 0.995 Rock \n",
- "180 1.001 Rock \n",
- "13 1.493 Alternative/Indie \n",
- "185 0.775 R&B \n",
- "261 1.303 Rock \n",
- "9 0.916 Alternative/Indie \n",
- "6 1.305 Rap metal "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# After all my sorting, I now have the genres of the top 22 songs in my dataset and I will addthem into my data under a new column titled \"genre\".\n",
- "Genre = ['Electronic' , 'Latin Urbano' , 'Latin Urbano' , 'Electronic' , 'Latin Urbano' , 'Hip-Hop/Rap'\n",
- ", 'Latin Urbano' , 'Electronic' , 'Pop' , 'R&B/Soul' , 'Pop' , 'Funk' , 'Electropop' , 'Rock' , 'Latin Urbano' , 'Rock' , 'Rock' , 'Alternative/Indie' , 'R&B' , 'Rock' , 'Alternative/Indie' , 'Rap metal']\n",
- "new_most_popular['Genre'] = Genre\n",
- "new_most_popular"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "29049a69-9500-4a5f-afff-122f7adcec68",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " Genre | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " spechiness | \n",
- " tempoaudio_valence | \n",
- " danceable_valence | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " Electronic | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.432 | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " Latin Urbano | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.466 | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " Latin Urbano | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.921 | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " Electronic | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.887 | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " Latin Urbano | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.992 | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " Hip-Hop/Rap | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.167 | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " Latin Urbano | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.586 | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " Electronic | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.413 | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " Pop | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.364 | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " R&B/Soul | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.753 | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " Pop | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.534 | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " Funk | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.630 | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " Electropop | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.698 | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " Rock | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.188 | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " Latin Urbano | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.491 | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " Rock | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.995 | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " Rock | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.001 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " Alternative/Indie | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.493 | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " R&B | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.775 | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " Rock | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.303 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " Alternative/Indie | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " NaN | \n",
- " NaN | \n",
- " 0.916 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " Rap metal | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " NaN | \n",
- " NaN | \n",
- " 1.305 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name Genre \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) Electronic \n",
- "86 I Like It Latin Urbano \n",
- "85 BEBE Latin Urbano \n",
- "64 Beautiful (feat. Camila Cabello) Electronic \n",
- "60 MIA (feat. Drake) Latin Urbano \n",
- "70 Wake Up in the Sky Hip-Hop/Rap \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) Latin Urbano \n",
- "65 Celoso Electronic \n",
- "67 Real Friends Pop \n",
- "131 All of Me R&B/Soul \n",
- "212 Hips Don't Lie Pop \n",
- "114 Finesse (Remix) [feat. Cardi B] Funk \n",
- "128 Pumped Up Kicks Electropop \n",
- "414 Hotel California - Remastered Rock \n",
- "71 Está Rico Latin Urbano \n",
- "427 Highway to Hell Rock \n",
- "180 How to Save a Life Rock \n",
- "13 Can't Stop Alternative/Indie \n",
- "185 If I Ain't Got You R&B \n",
- "261 Fortunate Son Rock \n",
- "9 Sex on Fire Alternative/Indie \n",
- "6 Last Resort Rap metal \n",
- "\n",
- " song_popularity song_duration_ms acousticness danceability energy \\\n",
- "61 98 212500 0.153000 0.841 0.798 \n",
- "86 95 253390 0.099000 0.816 0.726 \n",
- "85 95 217822 0.172000 0.635 0.902 \n",
- "64 94 180000 0.346000 0.638 0.717 \n",
- "60 94 210367 0.014300 0.818 0.540 \n",
- "70 92 204664 0.003810 0.800 0.578 \n",
- "101 88 201526 0.165000 0.792 0.895 \n",
- "65 87 179693 0.352000 0.746 0.703 \n",
- "67 85 223583 0.235000 0.701 0.512 \n",
- "131 85 269560 0.922000 0.422 0.264 \n",
- "212 84 218093 0.284000 0.778 0.824 \n",
- "114 84 217288 0.018500 0.704 0.859 \n",
- "128 84 239600 0.145000 0.733 0.710 \n",
- "414 83 391376 0.005740 0.579 0.508 \n",
- "71 83 215151 0.266000 0.817 0.740 \n",
- "427 83 208400 0.059100 0.573 0.913 \n",
- "180 83 262533 0.269000 0.640 0.743 \n",
- "13 81 269000 0.017900 0.618 0.938 \n",
- "185 81 228706 0.603000 0.609 0.445 \n",
- "261 81 140773 0.201000 0.640 0.663 \n",
- "9 81 203346 0.001720 0.542 0.905 \n",
- "6 81 199893 0.000504 0.581 0.887 \n",
- "\n",
- " key liveness loudness spechiness tempoaudio_valence \\\n",
- "61 1 0.0618 -4.206 NaN NaN \n",
- "86 5 0.3720 -3.998 NaN NaN \n",
- "85 0 0.1250 -3.559 NaN NaN \n",
- "64 2 0.1050 -4.722 NaN NaN \n",
- "60 6 0.0990 -6.350 NaN NaN \n",
- "70 4 0.3590 -5.144 NaN NaN \n",
- "101 1 0.0501 -3.112 NaN NaN \n",
- "65 4 0.3310 -4.179 NaN NaN \n",
- "67 0 0.1350 -6.869 NaN NaN \n",
- "131 8 0.1320 -7.064 NaN NaN \n",
- "212 10 0.4050 -5.892 NaN NaN \n",
- "114 5 0.0215 -4.877 NaN NaN \n",
- "128 5 0.0956 -5.849 NaN NaN \n",
- "414 2 0.0575 -9.484 NaN NaN \n",
- "71 11 0.0992 -4.566 NaN NaN \n",
- "427 6 0.1560 -4.793 NaN NaN \n",
- "180 10 0.1010 -4.080 NaN NaN \n",
- "13 9 0.1670 -3.442 NaN NaN \n",
- "185 7 0.1040 -9.129 NaN NaN \n",
- "261 0 0.1520 -7.516 NaN NaN \n",
- "9 9 0.1360 -5.653 NaN NaN \n",
- "6 4 0.2680 -3.659 NaN NaN \n",
- "\n",
- " danceable_valence \n",
- "61 1.432 \n",
- "86 1.466 \n",
- "85 0.921 \n",
- "64 0.887 \n",
- "60 0.992 \n",
- "70 1.167 \n",
- "101 1.586 \n",
- "65 1.413 \n",
- "67 1.364 \n",
- "131 0.753 \n",
- "212 1.534 \n",
- "114 1.630 \n",
- "128 1.698 \n",
- "414 1.188 \n",
- "71 1.491 \n",
- "427 0.995 \n",
- "180 1.001 \n",
- "13 1.493 \n",
- "185 0.775 \n",
- "261 1.303 \n",
- "9 0.916 \n",
- "6 1.305 "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "new_most_popular_2 = new_most_popular.reindex(columns=['song_name', 'Genre',\n",
- "'song_popularity', 'song_duration_ms', 'acousticness','danceability', 'energy', 'key', 'liveness',\n",
- "'loudness' , 'spechiness' , 'tempo' 'audio_valence' , 'danceable_valence'])\n",
- "new_most_popular_2"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "cc5ceb32-4a87-4e56-b6da-b3fca2ff97a0",
- "metadata": {},
- "source": [
- "\n",
- "# Method Chain building"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "cec90490-24e2-4480-b4a6-aac3eb5f47c0",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- " Genre | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 0.000003 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " 0.2290 | \n",
- " 95.948 | \n",
- " 0.591 | \n",
- " 1.432 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " 0.1290 | \n",
- " 136.048 | \n",
- " 0.650 | \n",
- " 1.466 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " 0.1090 | \n",
- " 102.063 | \n",
- " 0.286 | \n",
- " 0.921 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 0.000000 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " 0.0337 | \n",
- " 100.027 | \n",
- " 0.249 | \n",
- " 0.887 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 0.000512 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " 0.0544 | \n",
- " 97.064 | \n",
- " 0.174 | \n",
- " 0.992 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " 0.0485 | \n",
- " 143.010 | \n",
- " 0.367 | \n",
- " 1.167 | \n",
- " Hip-Hop/Rap | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 0.000000 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " 0.0589 | \n",
- " 94.968 | \n",
- " 0.794 | \n",
- " 1.586 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " 0.1070 | \n",
- " 166.043 | \n",
- " 0.667 | \n",
- " 1.413 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0.000005 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " 0.0969 | \n",
- " 91.947 | \n",
- " 0.663 | \n",
- " 1.364 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 0.000000 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " 0.0322 | \n",
- " 119.930 | \n",
- " 0.331 | \n",
- " 0.753 | \n",
- " R&B/Soul | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " 0.0996 | \n",
- " 105.115 | \n",
- " 0.926 | \n",
- " 1.630 | \n",
- " Funk | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 0.115000 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " 0.0292 | \n",
- " 127.975 | \n",
- " 0.965 | \n",
- " 1.698 | \n",
- " Electropop | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 0.000000 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " 0.2830 | \n",
- " 130.040 | \n",
- " 0.674 | \n",
- " 1.491 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 0.001730 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " 0.1320 | \n",
- " 115.715 | \n",
- " 0.422 | \n",
- " 0.995 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " 0.0379 | \n",
- " 122.035 | \n",
- " 0.361 | \n",
- " 1.001 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 0.000000 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " 0.0456 | \n",
- " 91.455 | \n",
- " 0.875 | \n",
- " 1.493 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 0.000007 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " 0.1060 | \n",
- " 118.393 | \n",
- " 0.166 | \n",
- " 0.775 | \n",
- " R&B | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0.008060 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " 0.0374 | \n",
- " 132.770 | \n",
- " 0.663 | \n",
- " 1.303 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 0.010400 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " 0.0540 | \n",
- " 153.398 | \n",
- " 0.374 | \n",
- " 0.916 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 0.001110 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " 0.0624 | \n",
- " 90.578 | \n",
- " 0.724 | \n",
- " 1.305 | \n",
- " Rap metal | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) 98 \n",
- "86 I Like It 95 \n",
- "85 BEBE 95 \n",
- "64 Beautiful (feat. Camila Cabello) 94 \n",
- "60 MIA (feat. Drake) 94 \n",
- "70 Wake Up in the Sky 92 \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) 88 \n",
- "65 Celoso 87 \n",
- "67 Real Friends 85 \n",
- "131 All of Me 85 \n",
- "212 Hips Don't Lie 84 \n",
- "114 Finesse (Remix) [feat. Cardi B] 84 \n",
- "128 Pumped Up Kicks 84 \n",
- "414 Hotel California - Remastered 83 \n",
- "71 Está Rico 83 \n",
- "427 Highway to Hell 83 \n",
- "180 How to Save a Life 83 \n",
- "13 Can't Stop 81 \n",
- "185 If I Ain't Got You 81 \n",
- "261 Fortunate Son 81 \n",
- "9 Sex on Fire 81 \n",
- "6 Last Resort 81 \n",
- "\n",
- " song_duration_ms acousticness danceability energy instrumentalness \\\n",
- "61 212500 0.153000 0.841 0.798 0.000003 \n",
- "86 253390 0.099000 0.816 0.726 0.000000 \n",
- "85 217822 0.172000 0.635 0.902 0.000000 \n",
- "64 180000 0.346000 0.638 0.717 0.000000 \n",
- "60 210367 0.014300 0.818 0.540 0.000512 \n",
- "70 204664 0.003810 0.800 0.578 0.000000 \n",
- "101 201526 0.165000 0.792 0.895 0.000000 \n",
- "65 179693 0.352000 0.746 0.703 0.000000 \n",
- "67 223583 0.235000 0.701 0.512 0.000005 \n",
- "131 269560 0.922000 0.422 0.264 0.000000 \n",
- "212 218093 0.284000 0.778 0.824 0.000000 \n",
- "114 217288 0.018500 0.704 0.859 0.000000 \n",
- "128 239600 0.145000 0.733 0.710 0.115000 \n",
- "414 391376 0.005740 0.579 0.508 0.000494 \n",
- "71 215151 0.266000 0.817 0.740 0.000000 \n",
- "427 208400 0.059100 0.573 0.913 0.001730 \n",
- "180 262533 0.269000 0.640 0.743 0.000000 \n",
- "13 269000 0.017900 0.618 0.938 0.000000 \n",
- "185 228706 0.603000 0.609 0.445 0.000007 \n",
- "261 140773 0.201000 0.640 0.663 0.008060 \n",
- "9 203346 0.001720 0.542 0.905 0.010400 \n",
- "6 199893 0.000504 0.581 0.887 0.001110 \n",
- "\n",
- " key liveness loudness speechiness tempo audio_valence \\\n",
- "61 1 0.0618 -4.206 0.2290 95.948 0.591 \n",
- "86 5 0.3720 -3.998 0.1290 136.048 0.650 \n",
- "85 0 0.1250 -3.559 0.1090 102.063 0.286 \n",
- "64 2 0.1050 -4.722 0.0337 100.027 0.249 \n",
- "60 6 0.0990 -6.350 0.0544 97.064 0.174 \n",
- "70 4 0.3590 -5.144 0.0485 143.010 0.367 \n",
- "101 1 0.0501 -3.112 0.0589 94.968 0.794 \n",
- "65 4 0.3310 -4.179 0.1070 166.043 0.667 \n",
- "67 0 0.1350 -6.869 0.0969 91.947 0.663 \n",
- "131 8 0.1320 -7.064 0.0322 119.930 0.331 \n",
- "212 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "114 5 0.0215 -4.877 0.0996 105.115 0.926 \n",
- "128 5 0.0956 -5.849 0.0292 127.975 0.965 \n",
- "414 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "71 11 0.0992 -4.566 0.2830 130.040 0.674 \n",
- "427 6 0.1560 -4.793 0.1320 115.715 0.422 \n",
- "180 10 0.1010 -4.080 0.0379 122.035 0.361 \n",
- "13 9 0.1670 -3.442 0.0456 91.455 0.875 \n",
- "185 7 0.1040 -9.129 0.1060 118.393 0.166 \n",
- "261 0 0.1520 -7.516 0.0374 132.770 0.663 \n",
- "9 9 0.1360 -5.653 0.0540 153.398 0.374 \n",
- "6 4 0.2680 -3.659 0.0624 90.578 0.724 \n",
- "\n",
- " danceable_valence Genre \n",
- "61 1.432 Electronic \n",
- "86 1.466 Latin Urbano \n",
- "85 0.921 Latin Urbano \n",
- "64 0.887 Electronic \n",
- "60 0.992 Latin Urbano \n",
- "70 1.167 Hip-Hop/Rap \n",
- "101 1.586 Latin Urbano \n",
- "65 1.413 Electronic \n",
- "67 1.364 Pop \n",
- "131 0.753 R&B/Soul \n",
- "212 1.534 Pop \n",
- "114 1.630 Funk \n",
- "128 1.698 Electropop \n",
- "414 1.188 Rock \n",
- "71 1.491 Latin Urbano \n",
- "427 0.995 Rock \n",
- "180 1.001 Rock \n",
- "13 1.493 Alternative/Indie \n",
- "185 0.775 R&B \n",
- "261 1.303 Rock \n",
- "9 0.916 Alternative/Indie \n",
- "6 1.305 Rap metal "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#This code builds the method chain of the above codes\n",
- "Genre = ['Electronic', 'Latin Urbano', 'Latin Urbano', 'Electronic', 'Latin Urbano', 'Hip-Hop/Rap',\n",
- "'Latin Urbano', 'Electronic', 'Pop', 'R&B/Soul', 'Pop', 'Funk', 'Electropop', 'Rock', 'Latin Urbano',\n",
- "'Rock', 'Rock', 'Alternative/Indie', 'R&B', 'Rock', 'Alternative/Indie', 'Rap metal']\n",
- "new_most_popular = (songs_cleaned\n",
- "\n",
- ".sort_values(\"song_popularity\", ascending=False)\n",
- ".head(25)\n",
- ".drop(labels=[353, 126, 155], axis=0)\n",
- ".assign(Genre=Genre))\n",
- "\n",
- "new_most_popular"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "94a2fa49-0686-4392-93a6-24011690ebe1",
- "metadata": {},
- "source": [
- "# Wrapping method chain in function"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "94c37304-43f1-4cdb-bd86-d87da197b114",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " song_name | \n",
- " song_popularity | \n",
- " song_duration_ms | \n",
- " acousticness | \n",
- " danceability | \n",
- " energy | \n",
- " instrumentalness | \n",
- " key | \n",
- " liveness | \n",
- " loudness | \n",
- " speechiness | \n",
- " tempo | \n",
- " audio_valence | \n",
- " danceable_valence | \n",
- " Genre | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 61 | \n",
- " Taki Taki (with Selena Gomez, Ozuna & Cardi B) | \n",
- " 98 | \n",
- " 212500 | \n",
- " 0.153000 | \n",
- " 0.841 | \n",
- " 0.798 | \n",
- " 0.000003 | \n",
- " 1 | \n",
- " 0.0618 | \n",
- " -4.206 | \n",
- " 0.2290 | \n",
- " 95.948 | \n",
- " 0.591 | \n",
- " 1.432 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 86 | \n",
- " I Like It | \n",
- " 95 | \n",
- " 253390 | \n",
- " 0.099000 | \n",
- " 0.816 | \n",
- " 0.726 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.3720 | \n",
- " -3.998 | \n",
- " 0.1290 | \n",
- " 136.048 | \n",
- " 0.650 | \n",
- " 1.466 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 85 | \n",
- " BEBE | \n",
- " 95 | \n",
- " 217822 | \n",
- " 0.172000 | \n",
- " 0.635 | \n",
- " 0.902 | \n",
- " 0.000000 | \n",
- " 0 | \n",
- " 0.1250 | \n",
- " -3.559 | \n",
- " 0.1090 | \n",
- " 102.063 | \n",
- " 0.286 | \n",
- " 0.921 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 64 | \n",
- " Beautiful (feat. Camila Cabello) | \n",
- " 94 | \n",
- " 180000 | \n",
- " 0.346000 | \n",
- " 0.638 | \n",
- " 0.717 | \n",
- " 0.000000 | \n",
- " 2 | \n",
- " 0.1050 | \n",
- " -4.722 | \n",
- " 0.0337 | \n",
- " 100.027 | \n",
- " 0.249 | \n",
- " 0.887 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 60 | \n",
- " MIA (feat. Drake) | \n",
- " 94 | \n",
- " 210367 | \n",
- " 0.014300 | \n",
- " 0.818 | \n",
- " 0.540 | \n",
- " 0.000512 | \n",
- " 6 | \n",
- " 0.0990 | \n",
- " -6.350 | \n",
- " 0.0544 | \n",
- " 97.064 | \n",
- " 0.174 | \n",
- " 0.992 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 70 | \n",
- " Wake Up in the Sky | \n",
- " 92 | \n",
- " 204664 | \n",
- " 0.003810 | \n",
- " 0.800 | \n",
- " 0.578 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3590 | \n",
- " -5.144 | \n",
- " 0.0485 | \n",
- " 143.010 | \n",
- " 0.367 | \n",
- " 1.167 | \n",
- " Hip-Hop/Rap | \n",
- "
\n",
- " \n",
- " 101 | \n",
- " 1, 2, 3 (feat. Jason Derulo & De La Ghetto) | \n",
- " 88 | \n",
- " 201526 | \n",
- " 0.165000 | \n",
- " 0.792 | \n",
- " 0.895 | \n",
- " 0.000000 | \n",
- " 1 | \n",
- " 0.0501 | \n",
- " -3.112 | \n",
- " 0.0589 | \n",
- " 94.968 | \n",
- " 0.794 | \n",
- " 1.586 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 65 | \n",
- " Celoso | \n",
- " 87 | \n",
- " 179693 | \n",
- " 0.352000 | \n",
- " 0.746 | \n",
- " 0.703 | \n",
- " 0.000000 | \n",
- " 4 | \n",
- " 0.3310 | \n",
- " -4.179 | \n",
- " 0.1070 | \n",
- " 166.043 | \n",
- " 0.667 | \n",
- " 1.413 | \n",
- " Electronic | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " Real Friends | \n",
- " 85 | \n",
- " 223583 | \n",
- " 0.235000 | \n",
- " 0.701 | \n",
- " 0.512 | \n",
- " 0.000005 | \n",
- " 0 | \n",
- " 0.1350 | \n",
- " -6.869 | \n",
- " 0.0969 | \n",
- " 91.947 | \n",
- " 0.663 | \n",
- " 1.364 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 131 | \n",
- " All of Me | \n",
- " 85 | \n",
- " 269560 | \n",
- " 0.922000 | \n",
- " 0.422 | \n",
- " 0.264 | \n",
- " 0.000000 | \n",
- " 8 | \n",
- " 0.1320 | \n",
- " -7.064 | \n",
- " 0.0322 | \n",
- " 119.930 | \n",
- " 0.331 | \n",
- " 0.753 | \n",
- " R&B/Soul | \n",
- "
\n",
- " \n",
- " 212 | \n",
- " Hips Don't Lie | \n",
- " 84 | \n",
- " 218093 | \n",
- " 0.284000 | \n",
- " 0.778 | \n",
- " 0.824 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.4050 | \n",
- " -5.892 | \n",
- " 0.0712 | \n",
- " 100.024 | \n",
- " 0.756 | \n",
- " 1.534 | \n",
- " Pop | \n",
- "
\n",
- " \n",
- " 114 | \n",
- " Finesse (Remix) [feat. Cardi B] | \n",
- " 84 | \n",
- " 217288 | \n",
- " 0.018500 | \n",
- " 0.704 | \n",
- " 0.859 | \n",
- " 0.000000 | \n",
- " 5 | \n",
- " 0.0215 | \n",
- " -4.877 | \n",
- " 0.0996 | \n",
- " 105.115 | \n",
- " 0.926 | \n",
- " 1.630 | \n",
- " Funk | \n",
- "
\n",
- " \n",
- " 128 | \n",
- " Pumped Up Kicks | \n",
- " 84 | \n",
- " 239600 | \n",
- " 0.145000 | \n",
- " 0.733 | \n",
- " 0.710 | \n",
- " 0.115000 | \n",
- " 5 | \n",
- " 0.0956 | \n",
- " -5.849 | \n",
- " 0.0292 | \n",
- " 127.975 | \n",
- " 0.965 | \n",
- " 1.698 | \n",
- " Electropop | \n",
- "
\n",
- " \n",
- " 414 | \n",
- " Hotel California - Remastered | \n",
- " 83 | \n",
- " 391376 | \n",
- " 0.005740 | \n",
- " 0.579 | \n",
- " 0.508 | \n",
- " 0.000494 | \n",
- " 2 | \n",
- " 0.0575 | \n",
- " -9.484 | \n",
- " 0.0270 | \n",
- " 147.125 | \n",
- " 0.609 | \n",
- " 1.188 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 71 | \n",
- " Está Rico | \n",
- " 83 | \n",
- " 215151 | \n",
- " 0.266000 | \n",
- " 0.817 | \n",
- " 0.740 | \n",
- " 0.000000 | \n",
- " 11 | \n",
- " 0.0992 | \n",
- " -4.566 | \n",
- " 0.2830 | \n",
- " 130.040 | \n",
- " 0.674 | \n",
- " 1.491 | \n",
- " Latin Urbano | \n",
- "
\n",
- " \n",
- " 427 | \n",
- " Highway to Hell | \n",
- " 83 | \n",
- " 208400 | \n",
- " 0.059100 | \n",
- " 0.573 | \n",
- " 0.913 | \n",
- " 0.001730 | \n",
- " 6 | \n",
- " 0.1560 | \n",
- " -4.793 | \n",
- " 0.1320 | \n",
- " 115.715 | \n",
- " 0.422 | \n",
- " 0.995 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 180 | \n",
- " How to Save a Life | \n",
- " 83 | \n",
- " 262533 | \n",
- " 0.269000 | \n",
- " 0.640 | \n",
- " 0.743 | \n",
- " 0.000000 | \n",
- " 10 | \n",
- " 0.1010 | \n",
- " -4.080 | \n",
- " 0.0379 | \n",
- " 122.035 | \n",
- " 0.361 | \n",
- " 1.001 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " Can't Stop | \n",
- " 81 | \n",
- " 269000 | \n",
- " 0.017900 | \n",
- " 0.618 | \n",
- " 0.938 | \n",
- " 0.000000 | \n",
- " 9 | \n",
- " 0.1670 | \n",
- " -3.442 | \n",
- " 0.0456 | \n",
- " 91.455 | \n",
- " 0.875 | \n",
- " 1.493 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 185 | \n",
- " If I Ain't Got You | \n",
- " 81 | \n",
- " 228706 | \n",
- " 0.603000 | \n",
- " 0.609 | \n",
- " 0.445 | \n",
- " 0.000007 | \n",
- " 7 | \n",
- " 0.1040 | \n",
- " -9.129 | \n",
- " 0.1060 | \n",
- " 118.393 | \n",
- " 0.166 | \n",
- " 0.775 | \n",
- " R&B | \n",
- "
\n",
- " \n",
- " 261 | \n",
- " Fortunate Son | \n",
- " 81 | \n",
- " 140773 | \n",
- " 0.201000 | \n",
- " 0.640 | \n",
- " 0.663 | \n",
- " 0.008060 | \n",
- " 0 | \n",
- " 0.1520 | \n",
- " -7.516 | \n",
- " 0.0374 | \n",
- " 132.770 | \n",
- " 0.663 | \n",
- " 1.303 | \n",
- " Rock | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Sex on Fire | \n",
- " 81 | \n",
- " 203346 | \n",
- " 0.001720 | \n",
- " 0.542 | \n",
- " 0.905 | \n",
- " 0.010400 | \n",
- " 9 | \n",
- " 0.1360 | \n",
- " -5.653 | \n",
- " 0.0540 | \n",
- " 153.398 | \n",
- " 0.374 | \n",
- " 0.916 | \n",
- " Alternative/Indie | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Last Resort | \n",
- " 81 | \n",
- " 199893 | \n",
- " 0.000504 | \n",
- " 0.581 | \n",
- " 0.887 | \n",
- " 0.001110 | \n",
- " 4 | \n",
- " 0.2680 | \n",
- " -3.659 | \n",
- " 0.0624 | \n",
- " 90.578 | \n",
- " 0.724 | \n",
- " 1.305 | \n",
- " Rap metal | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " song_name song_popularity \\\n",
- "61 Taki Taki (with Selena Gomez, Ozuna & Cardi B) 98 \n",
- "86 I Like It 95 \n",
- "85 BEBE 95 \n",
- "64 Beautiful (feat. Camila Cabello) 94 \n",
- "60 MIA (feat. Drake) 94 \n",
- "70 Wake Up in the Sky 92 \n",
- "101 1, 2, 3 (feat. Jason Derulo & De La Ghetto) 88 \n",
- "65 Celoso 87 \n",
- "67 Real Friends 85 \n",
- "131 All of Me 85 \n",
- "212 Hips Don't Lie 84 \n",
- "114 Finesse (Remix) [feat. Cardi B] 84 \n",
- "128 Pumped Up Kicks 84 \n",
- "414 Hotel California - Remastered 83 \n",
- "71 Está Rico 83 \n",
- "427 Highway to Hell 83 \n",
- "180 How to Save a Life 83 \n",
- "13 Can't Stop 81 \n",
- "185 If I Ain't Got You 81 \n",
- "261 Fortunate Son 81 \n",
- "9 Sex on Fire 81 \n",
- "6 Last Resort 81 \n",
- "\n",
- " song_duration_ms acousticness danceability energy instrumentalness \\\n",
- "61 212500 0.153000 0.841 0.798 0.000003 \n",
- "86 253390 0.099000 0.816 0.726 0.000000 \n",
- "85 217822 0.172000 0.635 0.902 0.000000 \n",
- "64 180000 0.346000 0.638 0.717 0.000000 \n",
- "60 210367 0.014300 0.818 0.540 0.000512 \n",
- "70 204664 0.003810 0.800 0.578 0.000000 \n",
- "101 201526 0.165000 0.792 0.895 0.000000 \n",
- "65 179693 0.352000 0.746 0.703 0.000000 \n",
- "67 223583 0.235000 0.701 0.512 0.000005 \n",
- "131 269560 0.922000 0.422 0.264 0.000000 \n",
- "212 218093 0.284000 0.778 0.824 0.000000 \n",
- "114 217288 0.018500 0.704 0.859 0.000000 \n",
- "128 239600 0.145000 0.733 0.710 0.115000 \n",
- "414 391376 0.005740 0.579 0.508 0.000494 \n",
- "71 215151 0.266000 0.817 0.740 0.000000 \n",
- "427 208400 0.059100 0.573 0.913 0.001730 \n",
- "180 262533 0.269000 0.640 0.743 0.000000 \n",
- "13 269000 0.017900 0.618 0.938 0.000000 \n",
- "185 228706 0.603000 0.609 0.445 0.000007 \n",
- "261 140773 0.201000 0.640 0.663 0.008060 \n",
- "9 203346 0.001720 0.542 0.905 0.010400 \n",
- "6 199893 0.000504 0.581 0.887 0.001110 \n",
- "\n",
- " key liveness loudness speechiness tempo audio_valence \\\n",
- "61 1 0.0618 -4.206 0.2290 95.948 0.591 \n",
- "86 5 0.3720 -3.998 0.1290 136.048 0.650 \n",
- "85 0 0.1250 -3.559 0.1090 102.063 0.286 \n",
- "64 2 0.1050 -4.722 0.0337 100.027 0.249 \n",
- "60 6 0.0990 -6.350 0.0544 97.064 0.174 \n",
- "70 4 0.3590 -5.144 0.0485 143.010 0.367 \n",
- "101 1 0.0501 -3.112 0.0589 94.968 0.794 \n",
- "65 4 0.3310 -4.179 0.1070 166.043 0.667 \n",
- "67 0 0.1350 -6.869 0.0969 91.947 0.663 \n",
- "131 8 0.1320 -7.064 0.0322 119.930 0.331 \n",
- "212 10 0.4050 -5.892 0.0712 100.024 0.756 \n",
- "114 5 0.0215 -4.877 0.0996 105.115 0.926 \n",
- "128 5 0.0956 -5.849 0.0292 127.975 0.965 \n",
- "414 2 0.0575 -9.484 0.0270 147.125 0.609 \n",
- "71 11 0.0992 -4.566 0.2830 130.040 0.674 \n",
- "427 6 0.1560 -4.793 0.1320 115.715 0.422 \n",
- "180 10 0.1010 -4.080 0.0379 122.035 0.361 \n",
- "13 9 0.1670 -3.442 0.0456 91.455 0.875 \n",
- "185 7 0.1040 -9.129 0.1060 118.393 0.166 \n",
- "261 0 0.1520 -7.516 0.0374 132.770 0.663 \n",
- "9 9 0.1360 -5.653 0.0540 153.398 0.374 \n",
- "6 4 0.2680 -3.659 0.0624 90.578 0.724 \n",
- "\n",
- " danceable_valence Genre \n",
- "61 1.432 Electronic \n",
- "86 1.466 Latin Urbano \n",
- "85 0.921 Latin Urbano \n",
- "64 0.887 Electronic \n",
- "60 0.992 Latin Urbano \n",
- "70 1.167 Hip-Hop/Rap \n",
- "101 1.586 Latin Urbano \n",
- "65 1.413 Electronic \n",
- "67 1.364 Pop \n",
- "131 0.753 R&B/Soul \n",
- "212 1.534 Pop \n",
- "114 1.630 Funk \n",
- "128 1.698 Electropop \n",
- "414 1.188 Rock \n",
- "71 1.491 Latin Urbano \n",
- "427 0.995 Rock \n",
- "180 1.001 Rock \n",
- "13 1.493 Alternative/Indie \n",
- "185 0.775 R&B \n",
- "261 1.303 Rock \n",
- "9 0.916 Alternative/Indie \n",
- "6 1.305 Rap metal "
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#This code wraps my method chain into a function\n",
- "def get_new_most_popular(songs_cleaned, Genre):\n",
- " return (songs_cleaned\n",
- ".sort_values(\"song_popularity\", ascending=False)\n",
- ".head(25)\n",
- ".drop(labels=[353, 126, 155], axis=0)\n",
- ".assign(Genre=Genre))\n",
- "\n",
- "new_most_popular = get_new_most_popular(songs_cleaned, Genre)\n",
- "new_most_popular"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "dcf19224-b374-4021-89e3-ded4251dafdc",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " Genre | \n",
- " frequency | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " Electronic | \n",
- " 3 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " Latin Urbano | \n",
- " 5 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " Rock | \n",
- " 4 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " Hip-Hop/Rap | \n",
- " 2 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " Alternative/Indie | \n",
- " 2 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " R&B | \n",
- " 2 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " Pop | \n",
- " 2 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " Electropop | \n",
- " 1 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " Rap metal | \n",
- " 1 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " Funk | \n",
- " 1 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Genre frequency\n",
- "0 Electronic 3\n",
- "1 Latin Urbano 5\n",
- "2 Rock 4\n",
- "3 Hip-Hop/Rap 2\n",
- "4 Alternative/Indie 2\n",
- "5 R&B 2\n",
- "6 Pop 2\n",
- "7 Electropop 1\n",
- "8 Rap metal 1\n",
- "9 Funk 1"
- ]
- },
- "execution_count": null,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import matplotlib.pylab as plt\n",
- "import seaborn as sns\n",
- "# Now that I have all genres in place, I will need to make a separate table to get the frequencyof each of the top 23 popular songs and plot that in a graph to visualize the genres that belongto the most popular songs in this dataset. I also combined R&B with R&B/ soul.\n",
- "\n",
- "data = {'Electronic': 3, 'Latin Urbano': 5, 'Rock': 4, 'Hip-Hop/Rap': 2, 'Alternative/Indie': 2, 'R&B':\n",
- "2, 'Pop': 2, 'Electropop': 1, 'Rap metal': 1, 'Funk': 1}\n",
- "df = pd.DataFrame.from_dict(data, orient='index', columns=['frequency'])\n",
- "df.reset_index(inplace=True)\n",
- "df.rename(columns={'index': 'Genre'}, inplace=True)\n",
- "df"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "2b065427-16a3-4adf-8d42-8101dca884dc",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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1q9fLy4uLmJiknR3my9fPjE1NZVjx45J7ty5RUTk2bNnEhYWpteykSVLFgkPD1d+v3Llirx580bvfVavXi1Zs2aVDBkypKjWokWLilarlf379ytdP+8KCAgQa2trmT17tmzbtk0OHDiQovf6VAbt+rl79640bdpU3NzcpF69emJmZibHjh0TZ2dnQ5ZFRET02bp16yZPnz6Vpk2byvHjx+X69euyc+dOadeuncTHx4uNjY20b99e+vfvL3v27JELFy5ImzZtxMhIf9fs4+MjM2bMkNOnT8vJkyelS5cueq0jzZs3FwcHB6ldu7YcPHhQbty4Ifv375devXrJ3bt3P6pWFxcXad26tbRr1042bdokN27ckH379smaNWuUeYyNjaVNmzYyePBgyZcvn16X1Zdk0BaVVatWGfLtiYhIpdLDYH4nJyc5fPiwDBw4UPz8/CQ6OlqcnZ2lZs2aShiZNGmSvHr1SoKDg8XW1lb69u0rL1680HudKVOmSNu2baVy5cri5OQkv/zyi96ZQVZWVnLgwAEZOHCg1KtXT16+fCk5cuSQatWqfVILy+zZs2XIkCHStWtXefLkieTOnVuGDBmiN0/79u1l3Lhx0q5du8/4y3waDd7t+EpDIiMjJWPGjPLixYsUN3elVTzrh4jSuqioKLlx44a4urqKhYWFoctRDW9vbylRooRMmzbN0KUkcfjwYfH29pa7d+9KtmzZPjjvhz7fT9l/q2owLREREalPdHS03LlzR3744Qdp1KjRf4aU1KSq05OJiIhIfVauXClubm7y4sULvWvFfA1sUSEiIlKRffv2GbqEJNq0aSNt2rQxyHuzRYWIiIhUi0GFiIgMKg2f00EfkFqfK4MKEREZhO5aIIkvXkbph+5zffeKuJ+KY1SIiMggjI2Nxc7OTrnfjJWVlXJTPUq7AMibN2/k4cOHYmdnp3d/oZRgUCEiIoPR3X1YF1Yo/bCzs9O7u3RKMagQEZHBaDQacXR0lKxZs+rdaI/SNlNT089uSdFhUCEiIoMzNjZOtR0bpS8cTEtERESqxaBCREREqsWgQkRERKrFoEJERESqxaBCREREqsWgQkRERKrFoEJERESqxaBCREREqsWgQkRERKrFoEJERESqxaBCREREqsWgQkRERKrFoEJERESqxaBCREREqsWgQkRERKrFoEJERESqxaBCRERE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oqCio7tHDxEREdGXkKKgEh8fL0uWLJE9e/bIw4cPRavV6j2+d+/eVCmOiIiIvm0pCiq9evWSJUuWSGBgoBQpUkQ0Gk1q10VERESUsqCyatUqWbNmjQQEBKR2PURERESKFJ2enPj+PERERERfSoqCSt++feWXX34RAKldDxEREZEiRV0/hw4dktDQUNm2bZu4u7uLqamp3uMbNmxIleKIiIjo25aioGJnZyd169ZN7VqIiIiI9KQoqCxevDi16yAiIiJKIkVjVERE4uLiZPfu3TJ37lx5+fKliIjcv39fXr16lWrFERER0bctRS0qt27dkpo1a8rt27clOjpafH19xdbWVn766SeJioqSOXPmpHadRERE9A1KUYtKr169xNPTU549eyaWlpbK9Lp168qePXtSrTgiIiL6tqX4rJ/Dhw+LmZmZ3nRnZ2e5d+9eqhRGRERElKIWFa1WK/Hx8Umm3717V2xtbT+7KCIiIiKRFAYVX19fmTZtmvK7RqORV69eyYgRI3hZfSIiIko1Ker6+fnnn6Vq1apSuHBhiYqKkmbNmsmVK1fEwcFBVq5cmdo1EhER0TcqRUHFyclJzp49KytXrpTTp0+LVquV9u3bS/PmzfUG1xIRERF9jhQFFRERS0tLadeunbRr1y416yEiIiJSpCioLFu27IOPt2rVKkXFEBERESWWoqDSq1cvvd9jY2PlzZs3YmZmJlZWVgwqRERElCpSdNbPs2fP9H5evXolly9flooVK3IwLREREaWaFN/r51358+eXCRMmJGltISIiIkqpVAsqIiLGxsZy//791HxJIiIi+oalaIzKli1b9H4HIOHh4TJjxgypUKFCqhRGRERElKKgUqdOHb3fNRqNZMmSRXx8fGTKlCmpURcRERFRyoKKVqtN7TqIiIiIkkjVMSpEREREqSlFLSp9+vT56HmnTp2akrcgIiIiSllQOXPmjJw+fVri4uLEzc1NRETCwsLE2NhYSpUqpcyn0WhSp0oiIiL6JqUoqAQFBYmtra0sXbpUMmXKJCIJF4Fr27atVKpUSfr27ZuqRRIREdG3KUVjVKZMmSLjx49XQoqISKZMmWTs2LE864eIiIhSTYqCSmRkpDx48CDJ9IcPH8rLly8/uygiIiIikRQGlbp160rbtm1l3bp1cvfuXbl7966sW7dO2rdvL/Xq1UvtGomIiOgb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Bg3wMecGEREREX19Br/XDxEREdH7MKgQERGRajGoEBERkWoxqBAREZFqMagQERG9R7NmzaRp06aGLuObxqBCRESUDAASEBAgISEh0q1bN0OX880y+HVU1ALAF7tf0JegqxeAABAjo7SbOXXL8vz58692S4TUlHjdSWvrUWKJa9dqtWl6nUosLX4myf390+Jn8u7fPq19FhqNRpo2bSpWVlbSsmVL0Wq1Mnv2bEOXlWJp7e+v801eR0X3YZ0/f16ePn0q3t7ehi7pk+jq37lzp2zZskXCwsKkbt264uHhIWXKlDF0eSmyY8cO+e2332TJkiViZGSUZjbIiXce0dHREhcXJ9bW1srjaWXDEB8fL8bGxsrvb9++FUtLSwNWlDI3b96UzZs3i1arlZIlS6a577aI/joVEREh8fHxkiNHDuXxtLJOJV4OrVYrGo0mTdSdHK1WKxs3bpRWrVpJq1at0nRY2bFjh1haWkrlypUNXcpHSxt7g1Sk+5KvX79e/P395dChQ3LlyhVDl/VJNBqNbNq0SYKDgyUqKkqsrKxk/vz58v3330tISIihy/tPCxYskB07dohIwgZARGT//v1iaWkpJiZpq5FPtyEeO3as+Pn5iaenpwwZMkROnz4tIqK0eqlZ4pAyePBgqVu3rvj4+MjUqVPlxYsXBq7u4507d068vLxky5YtMnHiRBkzZowcOnRIeVztn4OObp0aNmyYVK5cWTw8PKRKlSqyYcMGef36dZpYpxK38v7000/SrFkz8fb2luXLl0tYWJiBq/tvur+v7l8jIyMJCgqSZcuWybJly+S7774zZHkf7eLFixIVFSUiCdvaly9fyoABA+T169cGruwT4Ruh1WqV/+/fvx+2traYM2cOXr16ZcCqUubBgwcoU6YMpk6dqkw7dOgQ2rRpg0qVKuH06dMGrO7D7t69C39/fxQqVAh79+5Vprdq1QrfffedASv7NPHx8cr/x40bh8yZM2PkyJEYOXIkcuXKhcDAQGzdutWAFX66unXromjRopg6dSqWLl0KjUaD4cOHIyoqytCl/adz587B0tISgwcPRlxcHC5evIicOXPit99+05sv8XZAbRKvUwsWLICDgwMWLVqEkJAQ1KxZE6VKlcL06dPx9u1bA1b53xIvx8iRI2FnZ4fevXujTp06yJs3Lxo3bowTJ04YsMIPS1x/REQE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",
- "text/plain": [
- "