{ "cells": [ { "cell_type": "markdown", "id": "c30724c8", "metadata": {}, "source": [ "# Example of Logistic Regression" ] }, { "cell_type": "code", "execution_count": 1, "id": "a28a15b9", "metadata": {}, "outputs": [], "source": [ "import altair as alt\n", "import numpy as np\n", "import pandas as pd\n", "from pandas.api.types import is_numeric_dtype\n", "pd.set_option('display.float_format', lambda x: '%.3f' % x)\n", "\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "rng = np.random.default_rng()" ] }, { "cell_type": "code", "execution_count": 2, "id": "01c87f3d", "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv(\"../data/spotify_dataset.csv\", na_values = \" \")\n", "df[\"Streams\"] = pd.to_numeric(df[\"Streams\"].map(lambda s: s.replace(\",\",\"\")))\n", "df = df[df.notna().all(axis=1)].copy()\n", "numeric_cols = [c for c in df.columns if is_numeric_dtype(df[c])]\n", "\n", "scaler = StandardScaler()\n", "scaler.fit(df[numeric_cols])\n", "\n", "df[numeric_cols] = scaler.transform(df[numeric_cols])\n", "\n", "df[\"Genre\"] = df[\"Genre\"].map(eval)" ] }, { "cell_type": "code", "execution_count": 3, "id": "f3b0eee2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndexHighest Charting PositionNumber of Times ChartedWeek of Highest ChartingSong NameStreamsArtistArtist FollowersSong IDGenre...DanceabilityEnergyLoudnessSpeechinessAcousticnessLivenessTempoDuration (ms)ValenceChord
0-1.731-1.494-0.1642021-07-23--2021-07-30Beggin'12.535Måneskin-0.6803Wrjm47oTz2sjIgck11l5e[indie rock italiano, italian pop]...0.1691.0310.614-0.664-0.4861.2340.3780.2890.327B
1-1.729-1.477-0.4692021-07-23--2021-07-30STAY (with Justin Bieber)12.124The Kid LAROI-0.7495HCyWlXZPP0y6Gqq8TgA20[australian hip hop]...-0.6950.8080.345-0.683-0.841-0.5431.593-1.191-0.162C#/Db
2-1.727-1.4940.0192021-06-25--2021-07-02good 4 u10.024Olivia Rodrigo-0.5074ZtFanR9U6ndgddUvNcjcG[pop]...-0.8920.1890.5200.2750.345-0.6691.491-0.4200.763A
3-1.725-1.460-0.3472021-07-02--2021-07-09Bad Habits9.324Ed Sheeran4.1146PQ88X9TkUIAUIZJHW2upE[pop, uk pop]...0.8291.6311.051-0.805-0.8061.2690.1090.7020.336B
4-1.722-1.425-0.5912021-07-23--2021-07-30INDUSTRY BABY (feat. Jack Harlow)8.183Lil Nas X-0.55427NovPIUIRrOZoCHxABJwK[lgbtq+ hip hop, pop rap]...0.3230.436-0.423-0.563-0.913-0.9100.9190.2981.669D#/Eb
..................................................................
15511.7201.844-0.5912019-12-27--2020-01-03New Rules-0.506Dua Lipa0.7472ekn2ttSfGqwhhate0LSR0[dance pop, pop, uk pop]...0.5060.4120.131-0.492-0.983-0.196-0.2280.2410.411A
15521.7221.861-0.5912019-12-27--2020-01-03Cheirosa - Ao Vivo-0.508Jorge & Mateus0.0182PWjKmjyTZeDpmOUa3a5da[sertanejo, sertanejo universitario]...-1.1381.4641.286-0.349-0.0351.0540.999-0.3400.877B
15531.7241.879-0.5912019-12-27--2020-01-03Havana (feat. Young Thug)-0.509Camila Cabello0.4791rfofaqEpACxVEHIZBJe6W[dance pop, electropop, pop, post-teen pop]...0.527-0.6840.803-0.849-0.259-0.342-0.6030.411-0.531D
15541.7261.896-0.5912019-12-27--2020-01-03Surtada - Remix Brega Funk-0.513Dadá Boladão, Tati Zaqui, OIK-0.8705F8ffc8KWKNawllr5WsW0r[brega funk, funk carioca]...0.997-0.517-0.270-0.5890.0010.0061.057-0.9581.612F
15551.7281.913-0.5912019-12-27--2020-01-03Lover (Remix) [feat. Shawn Mendes]-0.516Taylor Swift1.6503i9UVldZOE0aD0JnyfAZZ0[pop, post-teen pop]...-1.699-0.189-0.330-0.5410.737-0.6602.7880.496-0.408G
\n", "

1545 rows × 23 columns

\n", "
" ], "text/plain": [ " Index Highest Charting Position Number of Times Charted \\\n", "0 -1.731 -1.494 -0.164 \n", "1 -1.729 -1.477 -0.469 \n", "2 -1.727 -1.494 0.019 \n", "3 -1.725 -1.460 -0.347 \n", "4 -1.722 -1.425 -0.591 \n", "... ... ... ... \n", "1551 1.720 1.844 -0.591 \n", "1552 1.722 1.861 -0.591 \n", "1553 1.724 1.879 -0.591 \n", "1554 1.726 1.896 -0.591 \n", "1555 1.728 1.913 -0.591 \n", "\n", " Week of Highest Charting Song Name Streams \\\n", "0 2021-07-23--2021-07-30 Beggin' 12.535 \n", "1 2021-07-23--2021-07-30 STAY (with Justin Bieber) 12.124 \n", "2 2021-06-25--2021-07-02 good 4 u 10.024 \n", "3 2021-07-02--2021-07-09 Bad Habits 9.324 \n", "4 2021-07-23--2021-07-30 INDUSTRY BABY (feat. Jack Harlow) 8.183 \n", "... ... ... ... \n", "1551 2019-12-27--2020-01-03 New Rules -0.506 \n", "1552 2019-12-27--2020-01-03 Cheirosa - Ao Vivo -0.508 \n", "1553 2019-12-27--2020-01-03 Havana (feat. Young Thug) -0.509 \n", "1554 2019-12-27--2020-01-03 Surtada - Remix Brega Funk -0.513 \n", "1555 2019-12-27--2020-01-03 Lover (Remix) [feat. Shawn Mendes] -0.516 \n", "\n", " Artist Artist Followers Song ID \\\n", "0 Måneskin -0.680 3Wrjm47oTz2sjIgck11l5e \n", "1 The Kid LAROI -0.749 5HCyWlXZPP0y6Gqq8TgA20 \n", "2 Olivia Rodrigo -0.507 4ZtFanR9U6ndgddUvNcjcG \n", "3 Ed Sheeran 4.114 6PQ88X9TkUIAUIZJHW2upE \n", "4 Lil Nas X -0.554 27NovPIUIRrOZoCHxABJwK \n", "... ... ... ... \n", "1551 Dua Lipa 0.747 2ekn2ttSfGqwhhate0LSR0 \n", "1552 Jorge & Mateus 0.018 2PWjKmjyTZeDpmOUa3a5da \n", "1553 Camila Cabello 0.479 1rfofaqEpACxVEHIZBJe6W \n", "1554 Dadá Boladão, Tati Zaqui, OIK -0.870 5F8ffc8KWKNawllr5WsW0r \n", "1555 Taylor Swift 1.650 3i9UVldZOE0aD0JnyfAZZ0 \n", "\n", " Genre ... Danceability Energy \\\n", "0 [indie rock italiano, italian pop] ... 0.169 1.031 \n", "1 [australian hip hop] ... -0.695 0.808 \n", "2 [pop] ... -0.892 0.189 \n", "3 [pop, uk pop] ... 0.829 1.631 \n", "4 [lgbtq+ hip hop, pop rap] ... 0.323 0.436 \n", "... ... ... ... ... \n", "1551 [dance pop, pop, uk pop] ... 0.506 0.412 \n", "1552 [sertanejo, sertanejo universitario] ... -1.138 1.464 \n", "1553 [dance pop, electropop, pop, post-teen pop] ... 0.527 -0.684 \n", "1554 [brega funk, funk carioca] ... 0.997 -0.517 \n", "1555 [pop, post-teen pop] ... -1.699 -0.189 \n", "\n", " Loudness Speechiness Acousticness Liveness Tempo Duration (ms) \\\n", "0 0.614 -0.664 -0.486 1.234 0.378 0.289 \n", "1 0.345 -0.683 -0.841 -0.543 1.593 -1.191 \n", "2 0.520 0.275 0.345 -0.669 1.491 -0.420 \n", "3 1.051 -0.805 -0.806 1.269 0.109 0.702 \n", "4 -0.423 -0.563 -0.913 -0.910 0.919 0.298 \n", "... ... ... ... ... ... ... \n", "1551 0.131 -0.492 -0.983 -0.196 -0.228 0.241 \n", "1552 1.286 -0.349 -0.035 1.054 0.999 -0.340 \n", "1553 0.803 -0.849 -0.259 -0.342 -0.603 0.411 \n", "1554 -0.270 -0.589 0.001 0.006 1.057 -0.958 \n", "1555 -0.330 -0.541 0.737 -0.660 2.788 0.496 \n", "\n", " Valence Chord \n", "0 0.327 B \n", "1 -0.162 C#/Db \n", "2 0.763 A \n", "3 0.336 B \n", "4 1.669 D#/Eb \n", "... ... ... \n", "1551 0.411 A \n", "1552 0.877 B \n", "1553 -0.531 D \n", "1554 1.612 F \n", "1555 -0.408 G \n", "\n", "[1545 rows x 23 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 4, "id": "28ff8360", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 \n", "1 \n", "2 \n", "3 \n", "4 \n", " ... \n", "1551 \n", "1552 \n", "1553 \n", "1554 \n", "1555 \n", "Name: Genre, Length: 1545, dtype: object" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Genre\"].map(type)" ] }, { "cell_type": "code", "execution_count": 5, "id": "2a37a34b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[2, 3, 4, 10]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[2,3]+[4,10]" ] }, { "cell_type": "code", "execution_count": 6, "id": "ba813307", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['indie rock italiano',\n", " 'italian pop',\n", " 'australian hip hop',\n", " 'pop',\n", " 'pop',\n", " 'uk pop',\n", " 'lgbtq+ hip hop',\n", " 'pop rap',\n", " 'lgbtq+ hip hop',\n", " 'pop rap',\n", " 'dance pop',\n", " 'pop',\n", " 'puerto rican pop',\n", " 'trap latino',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'indie rock italiano',\n", " 'italian pop',\n", " 'dance pop',\n", " 'pop',\n", " 'uk pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'canadian pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'pop',\n", " 'pop',\n", " 'canadian contemporary r&b',\n", " 'canadian pop',\n", " 'pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'pop',\n", " 'gauze pop',\n", " 'indietronica',\n", " 'shiver pop',\n", " 'canadian contemporary r&b',\n", " 'canadian pop',\n", " 'pop',\n", " 'pop',\n", " 'latin',\n", " 'latin hip hop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dfw rap',\n", " 'melodic rap',\n", " 'rap',\n", " 'dance pop',\n", " 'house',\n", " 'pop dance',\n", " 'tropical house',\n", " 'uk dance',\n", " 'australian hip hop',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'dance pop',\n", " 'electropop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'pop',\n", " 'colombian pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'pop',\n", " 'post-teen pop',\n", " 'chicago rap',\n", " 'dance pop',\n", " 'pop',\n", " 'latin',\n", " 'panamanian pop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'latin pop',\n", " 'pop argentino',\n", " 'pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'big room',\n", " 'brostep',\n", " 'dance pop',\n", " 'dutch edm',\n", " 'edm',\n", " 'electro house',\n", " 'house',\n", " 'pop dance',\n", " 'slap house',\n", " 'trance',\n", " 'tropical house',\n", " 'dance pop',\n", " 'edm',\n", " 'electro house',\n", " 'pop',\n", " 'pop dance',\n", " 'tropical house',\n", " 'cali rap',\n", " 'trap argentino',\n", " 'latin',\n", " 'latin hip hop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'argentine hip hop',\n", " 'pop venezolano',\n", " 'trap argentino',\n", " 'trap latino',\n", " 'electropop',\n", " 'pop',\n", " 'house',\n", " 'pop dance',\n", " 'uk dance',\n", " 'brostep',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'progressive electro house',\n", " 'dreamo',\n", " 'indie surf',\n", " 'surf punk',\n", " 'vegas indie',\n", " 'puerto rican pop',\n", " 'trap latino',\n", " 'pop',\n", " 'pop rock',\n", " 'dance pop',\n", " 'piano rock',\n", " 'pop',\n", " 'pop rock',\n", " 'houston rap',\n", " 'pop',\n", " 'pop rap',\n", " 'trap queen',\n", " 'german dance',\n", " 'german techno',\n", " 'german trance',\n", " 'trance',\n", " 'pop',\n", " 'canadian contemporary r&b',\n", " 'canadian pop',\n", " 'pop',\n", " 'pop',\n", " 'r&b',\n", " 'modern alternative rock',\n", " 'modern rock',\n", " 'pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'pop',\n", " 'uk pop',\n", " 'canadian hip hop',\n", " 'toronto rap',\n", " 'brooklyn drill',\n", " 'nyc rap',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'aussietronica',\n", " 'indie rock italiano',\n", " 'italian pop',\n", " 'colombian pop',\n", " 'pop',\n", " 'mexican hip hop',\n", " 'rap conciencia',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'australian pop',\n", " 'pop',\n", " 'australian hip hop',\n", " 'canadian hip hop',\n", " 'canadian pop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'toronto rap',\n", " 'comic',\n", " 'rap',\n", " 'slap house',\n", " 'dance pop',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'tropical house',\n", " 'uk dance',\n", " 'dance pop',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'tropical house',\n", " 'uk dance',\n", " 'melanesian pop',\n", " 'pacific islands pop',\n", " 'png pop',\n", " 'canadian hip hop',\n", " 'canadian trap',\n", " 'pop rap',\n", " 'rap',\n", " 'southern hip hop',\n", " 'trap',\n", " 'trap soul',\n", " 'underground hip hop',\n", " 'dutch pop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'dfw rap',\n", " 'melodic rap',\n", " 'rap',\n", " 'german hip hop',\n", " 'latin',\n", " 'latin pop',\n", " 'rap latina',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'afrofuturism',\n", " 'dance pop',\n", " 'electropop',\n", " 'pop',\n", " 'pop rap',\n", " 'post-teen pop',\n", " 'uk hip hop',\n", " 'pop',\n", " 'uk pop',\n", " 'dance pop',\n", " 'pop',\n", " 'uk pop',\n", " 'alt z',\n", " 'dance pop',\n", " 'electropop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'modern rock',\n", " 'pop',\n", " 'rock',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'melodic rap',\n", " 'pop rap',\n", " 'rap',\n", " 'slap house',\n", " 'trap',\n", " 'latin',\n", " 'panamanian pop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'latin',\n", " 'latin pop',\n", " 'latin viral pop',\n", " 'pop',\n", " 'rap latina',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'electropop',\n", " 'pop',\n", " 'chill r&b',\n", " 'nyc pop',\n", " 'dance pop',\n", " 'pop',\n", " 'dance pop',\n", " 'edm',\n", " 'electro house',\n", " 'house',\n", " 'pop',\n", " 'progressive house',\n", " 'uk dance',\n", " 'sertanejo',\n", " 'sertanejo pop',\n", " 'sertanejo universitario',\n", " 'pop',\n", " 'uk pop',\n", " 'canadian pop',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'viral pop',\n", " 'pop',\n", " 'uk pop',\n", " 'latin pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'alt z',\n", " 'bedroom pop',\n", " 'electropop',\n", " 'indie pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'alt z',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'dance pop',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'folk-pop',\n", " 'modern rock',\n", " 'pop',\n", " 'pop rock',\n", " 'grunge',\n", " 'permanent wave',\n", " 'rock',\n", " 'pop',\n", " 'modern alternative rock',\n", " 'modern rock',\n", " 'pop',\n", " 'melodic rap',\n", " 'rap',\n", " 'trap',\n", " 'pop',\n", " 'pop rock',\n", " 'pop',\n", " 'pop soul',\n", " 'irish singer-songwriter',\n", " 'modern rock',\n", " 'pop',\n", " 'modern rock',\n", " 'uk pop',\n", " 'sertanejo',\n", " 'sertanejo universitario',\n", " 'dance pop',\n", " 'pop',\n", " 'pop rap',\n", " 'rap',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'pop',\n", " 'classic rock',\n", " 'glam rock',\n", " 'rock',\n", " 'trap latino',\n", " 'dance pop',\n", " 'edm',\n", " 'pop dance',\n", " 'pop house',\n", " 'tropical house',\n", " 'rap',\n", " 'slap house',\n", " 'edm',\n", " 'new french touch',\n", " 'pop dance',\n", " 'tropical house',\n", " 'colombian pop',\n", " 'reggaeton colombiano',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'plugg',\n", " 'vapor trap',\n", " 'viral rap',\n", " 'dance pop',\n", " 'piano rock',\n", " 'pop',\n", " 'pop rock',\n", " 'permanent wave',\n", " 'pop',\n", " 'dance pop',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'forro',\n", " 'sertanejo pop',\n", " 'brooklyn drill',\n", " 'art pop',\n", " 'norwegian pop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'chicago rap',\n", " 'melodic rap',\n", " 'brooklyn drill',\n", " 'melodic rap',\n", " 'nyc rap',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'brooklyn drill',\n", " 'pop',\n", " 'dance pop',\n", " 'pop',\n", " 'pop rap',\n", " 'rap',\n", " 'dance rock',\n", " 'modern rock',\n", " 'permanent wave',\n", " 'rock',\n", " 'album rock',\n", " 'art rock',\n", " 'classic rock',\n", " 'mellow gold',\n", " 'new wave',\n", " 'permanent wave',\n", " 'rock',\n", " 'soft rock',\n", " 'album rock',\n", " 'classic rock',\n", " 'mellow gold',\n", " 'rock',\n", " 'soft rock',\n", " 'yacht rock',\n", " 'pop',\n", " 'post-teen pop',\n", " 'talent show',\n", " 'uk pop',\n", " 'dance pop',\n", " 'pop',\n", " 'pop rap',\n", " 'post-teen pop',\n", " 'r&b',\n", " 'urban contemporary',\n", " 'brooklyn drill',\n", " 'brooklyn drill',\n", " 'sad rap',\n", " 'dance pop',\n", " 'pop',\n", " 'pop dance',\n", " 'post-teen pop',\n", " 'tropical house',\n", " 'uk pop',\n", " 'classic rock',\n", " 'glam rock',\n", " 'rock',\n", " 'canadian hip hop',\n", " 'canadian pop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'toronto rap',\n", " 'pop',\n", " 'post-teen pop',\n", " 'contemporary country',\n", " 'country',\n", " 'country road',\n", " 'modern country rock',\n", " 'puerto rican pop',\n", " 'trap latino',\n", " 'neo soul',\n", " 'pop',\n", " 'pop soul',\n", " 'r&b',\n", " 'urban contemporary',\n", " 'chicago rap',\n", " 'brooklyn drill',\n", " 'cali rap',\n", " 'dance pop',\n", " 'pop',\n", " 'pop rap',\n", " 'trap queen',\n", " 'canadian contemporary r&b',\n", " 'canadian pop',\n", " 'pop',\n", " 'pop',\n", " 'pop rap',\n", " 'r&b',\n", " 'dance pop',\n", " 'pop',\n", " 'pop dance',\n", " 'post-teen pop',\n", " 'tropical house',\n", " 'uk pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'funk bh',\n", " 'funk carioca',\n", " 'dance pop',\n", " 'edm',\n", " 'german dance',\n", " 'pop dance',\n", " 'pop edm',\n", " 'tropical house',\n", " 'funk carioca',\n", " 'pop nacional',\n", " 'melodic rap',\n", " 'rap',\n", " 'trap',\n", " 'uk hip hop',\n", " 'detroit hip hop',\n", " 'hip hop',\n", " 'rap',\n", " 'brooklyn drill',\n", " 'brooklyn drill',\n", " 'melodic rap',\n", " 'rap',\n", " 'trap',\n", " 'brooklyn drill',\n", " 'brooklyn drill',\n", " 'uk hip hop',\n", " 'brooklyn drill',\n", " 'brooklyn drill',\n", " 'hip hop',\n", " 'rap',\n", " 'german alternative rap',\n", " 'german drill',\n", " 'german hip hop',\n", " 'german trap',\n", " 'london rap',\n", " 'brooklyn drill',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'italian hip hop',\n", " 'italian pop',\n", " 'dance pop',\n", " 'edm',\n", " 'pop dance',\n", " 'pop edm',\n", " 'slap house',\n", " 'tropical house',\n", " 'neo mellow',\n", " 'pop rock',\n", " 'singer-songwriter',\n", " 'modern rock',\n", " 'pop',\n", " 'rock',\n", " 'funk carioca',\n", " 'funk ostentacao',\n", " 'funk paulista',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'modern rock',\n", " 'pop',\n", " 'rock',\n", " 'dance pop',\n", " 'pop',\n", " 'uk pop',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'latin',\n", " 'panamanian pop',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'queens hip hop',\n", " 'rap',\n", " 'sudanese pop',\n", " 'underground hip hop',\n", " 'pop',\n", " 'sertanejo',\n", " 'sertanejo pop',\n", " 'sertanejo universitario',\n", " 'k-pop',\n", " 'k-pop girl group',\n", " 'escape room',\n", " 'r&b',\n", " 'rap latina',\n", " 'trap queen',\n", " 'contemporary country',\n", " 'country road',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton flow',\n", " 'trap latino',\n", " 'funk carioca',\n", " 'funk paulista',\n", " 'rave funk',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'puerto rican pop',\n", " 'trap latino',\n", " 'dance pop',\n", " 'edm',\n", " 'electropop',\n", " 'pop',\n", " 'pop dance',\n", " 'tropical house',\n", " 'beatlesque',\n", " 'britpop',\n", " 'madchester',\n", " 'permanent wave',\n", " 'rock',\n", " 'dmv rap',\n", " 'pop',\n", " 'r&b',\n", " 'rap',\n", " 'dance pop',\n", " 'pop',\n", " 'eau claire indie',\n", " 'folktronica',\n", " 'hip hop',\n", " 'rap',\n", " 'comic',\n", " 'hip hop',\n", " 'miami hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'southern hip hop',\n", " 'trap',\n", " 'art pop',\n", " 'dance pop',\n", " 'electropop',\n", " 'metropopolis',\n", " 'nz pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'electropop',\n", " 'pop',\n", " 'frauenrap',\n", " 'german hip hop',\n", " 'german pop',\n", " 'nyc rap',\n", " 'sertanejo',\n", " 'sertanejo pop',\n", " 'sertanejo universitario',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'dance pop',\n", " 'pop rap',\n", " 'puerto rican pop',\n", " 'trap latino',\n", " 'argentine hip hop',\n", " 'pop venezolano',\n", " 'trap argentino',\n", " 'trap latino',\n", " 'garage rock',\n", " 'permanent wave',\n", " 'rock',\n", " 'sheffield indie',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'dance pop',\n", " 'pop',\n", " 'hip hop',\n", " 'rap',\n", " 'hip hop',\n", " 'rap',\n", " 'dance pop',\n", " 'pop',\n", " 'atl hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'dance pop',\n", " 'pop',\n", " 'dance pop',\n", " 'pop',\n", " 'italian adult pop',\n", " 'italian pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'nz pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'reggaeton',\n", " 'alt z',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'francoton',\n", " 'french hip hop',\n", " 'pop urbaine',\n", " 'rap francais',\n", " 'rap marseille',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'emo rap',\n", " 'miami hip hop',\n", " 'chicago rap',\n", " 'melodic rap',\n", " 'rap',\n", " 'trap',\n", " 'modern rock',\n", " 'pop rap',\n", " 'seattle hip hop',\n", " 'ohio hip hop',\n", " 'pop rap',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'rap',\n", " 'slap house',\n", " 'dance pop',\n", " 'pop',\n", " 'uk pop',\n", " 'canadian hip hop',\n", " 'canadian pop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'toronto rap',\n", " 'dance pop',\n", " 'dutch edm',\n", " 'edm',\n", " 'pop',\n", " 'pop dance',\n", " 'progressive house',\n", " 'tropical house',\n", " 'dembow',\n", " 'dominican pop',\n", " 'rap dominicano',\n", " 'trap latino',\n", " 'alternative metal',\n", " 'nu metal',\n", " 'post-grunge',\n", " 'rap metal',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'rap',\n", " 'slap house',\n", " 'dance pop',\n", " 'edm',\n", " 'electropop',\n", " 'pop',\n", " 'pop dance',\n", " 'tropical house',\n", " 'dance pop',\n", " 'edm',\n", " 'pop dance',\n", " 'pop edm',\n", " 'slap house',\n", " 'tropical house',\n", " 'atl hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'chicago rap',\n", " 'chicago rap',\n", " 'pop',\n", " 'pop rock',\n", " 'atl hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'dance pop',\n", " 'pop',\n", " 'atl hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'dance pop',\n", " 'pop',\n", " 'pop rap',\n", " 'chicago rap',\n", " 'atl hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'trap',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'funk 150 bpm',\n", " 'funk carioca',\n", " 'lgbtq+ hip hop',\n", " 'pop rap',\n", " 'chicago rap',\n", " 'dance pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'atl hip hop',\n", " 'atl trap',\n", " 'rap',\n", " 'trap',\n", " 'neo mellow',\n", " 'pop rock',\n", " 'singer-songwriter',\n", " 'atl hip hop',\n", " 'atl trap',\n", " 'rap',\n", " 'trap',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'melodic rap',\n", " 'rap',\n", " 'trap',\n", " 'rap',\n", " 'trap',\n", " 'colombian pop',\n", " 'latin',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'trap latino',\n", " 'pop',\n", " 'post-teen pop',\n", " 'indie rock italiano',\n", " 'italian pop',\n", " 'electropop',\n", " 'escape room',\n", " 'pop',\n", " 'detroit hip hop',\n", " 'hip hop',\n", " 'rap',\n", " 'electro house',\n", " 'pop nacional',\n", " 'slap house',\n", " 'chicago rap',\n", " 'melodic rap',\n", " 'chicago rap',\n", " 'melodic rap',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'detroit hip hop',\n", " 'hip hop',\n", " 'rap',\n", " 'melodic rap',\n", " 'rap',\n", " 'rap conscient',\n", " 'trap',\n", " 'vapor trap',\n", " 'australian pop',\n", " 'canadian pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'funk carioca',\n", " 'funk ostentacao',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'eurovision',\n", " 'nouvelle chanson francaise',\n", " 'modern rock',\n", " 'rock',\n", " 'modern rock',\n", " 'rock',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'dance pop',\n", " 'hip pop',\n", " 'pop',\n", " 'pop rap',\n", " 'post-teen pop',\n", " 'queens hip hop',\n", " 'eurovision',\n", " 'oulu metal',\n", " 'trancecore',\n", " 'eurovision',\n", " 'k-pop girl group',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'canadian hip hop',\n", " 'canadian pop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'toronto rap',\n", " 'boston hip hop',\n", " 'hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'bubblegrunge',\n", " 'chicago indie',\n", " 'indie pop',\n", " 'pop',\n", " 'brooklyn drill',\n", " 'melodic rap',\n", " 'nyc rap',\n", " 'dream smp',\n", " 'icelandic pop',\n", " 'sunnlensk tonlist',\n", " 'modern rock',\n", " 'rock',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'conscious hip hop',\n", " 'hip hop',\n", " 'north carolina hip hop',\n", " 'rap',\n", " 'australian hip hop',\n", " 'argentine hip hop',\n", " 'pop venezolano',\n", " 'trap argentino',\n", " 'trap latino',\n", " 'latin',\n", " 'reggaeton',\n", " 'trap latino',\n", " 'dance pop',\n", " 'electropop',\n", " 'metropopolis',\n", " 'pop',\n", " 'post-teen pop',\n", " 'uk alternative pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'trap latino',\n", " 'reggaeton',\n", " 'reggaeton flow',\n", " 'trap latino',\n", " 'canadian pop',\n", " 'pop',\n", " 'post-teen pop',\n", " 'dance pop',\n", " 'pop rap',\n", " 'alt z',\n", " 'canadian contemporary r&b',\n", " 'indie cafe pop',\n", " 'pop',\n", " 'pop rock',\n", " 'post-teen pop',\n", " 'hip hop',\n", " 'miami hip hop',\n", " 'pop rap',\n", " 'rap',\n", " 'southern hip hop',\n", " 'trap',\n", " 'london rap',\n", " 'rap',\n", " 'trap',\n", " 'argentine hip hop',\n", " ...]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Genre\"].sum()" ] }, { "cell_type": "code", "execution_count": 8, "id": "0bcbd5e1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['boy band',\n", " 'funk',\n", " 'mellow gold',\n", " 'disco',\n", " 'boston hip hop',\n", " 'social media pop',\n", " 'tennessee hip hop',\n", " 'talent show',\n", " 'trap brasileiro',\n", " 'rap metal',\n", " 'viral pop',\n", " 'trap argentino',\n", " 'sertanejo universitario',\n", " 'irish singer-songwriter',\n", " 'drill',\n", " 'country',\n", " 'vancouver indie',\n", " 'deep underground hip hop',\n", " 'lgbtq+ hip hop',\n", " 'puerto rican pop',\n", " 'k-pop girl group',\n", " 'neo mellow',\n", " 'ranchera',\n", " 'dominican pop',\n", " 'pagode baiano',\n", " 'art rock',\n", " 'vapor trap',\n", " 'contemporary country',\n", " 'detroit hip hop',\n", " 'houston rap',\n", " 'indie surf',\n", " 'canadian hip hop',\n", " 'champeta',\n", " 'deep house',\n", " 'big room',\n", " 'rave funk',\n", " 'album rock',\n", " 'italian hip hop',\n", " 'grime',\n", " 'uk pop',\n", " 'alternative metal',\n", " 'rap',\n", " 'trap latino',\n", " 'sertanejo pop',\n", " 'new wave',\n", " 'celtic rock',\n", " 'uk funky',\n", " 'rap latina',\n", " 'indie pop rap',\n", " 'norteno',\n", " 'canadian latin',\n", " 'madchester',\n", " 'r&b brasileiro',\n", " 'old school rap francais',\n", " 'rap belge',\n", " 'italian pop rock',\n", " 'nyc pop',\n", " 'basshall',\n", " 'kentucky hip hop',\n", " 'hard rock',\n", " 'hardcore hip hop',\n", " 'albanian hip hop',\n", " 'new orleans rap',\n", " 'heartland rock',\n", " 'rap cearense',\n", " 'dutch pop',\n", " 'plugg',\n", " 'glam rock',\n", " 'musical advocacy',\n", " 'weirdcore',\n", " 'cubaton',\n", " 'pop urbaine',\n", " 'latin pop',\n", " 'hip pop',\n", " 'swing',\n", " 'latin hip hop',\n", " 'german techno',\n", " 'vocal jazz',\n", " 'art pop',\n", " 'british soul',\n", " 'dream smp',\n", " 'singer-songwriter',\n", " 'lounge',\n", " 'american folk revival',\n", " 'christlicher rap',\n", " 'pop rap',\n", " 'rap conscient',\n", " 'london rap',\n", " 'uk hip hop',\n", " 'corrido',\n", " 'neo soul',\n", " 'permanent wave',\n", " 'sertanejo',\n", " 'seattle hip hop',\n", " 'melodic rap',\n", " 'progressive house',\n", " 'r&b en espanol',\n", " 'indie r&b',\n", " 'indietronica',\n", " 'slap house',\n", " 'a cappella',\n", " 'urbano espanol',\n", " 'moombahton',\n", " 'trap boricua',\n", " 'funk pop',\n", " 'comic',\n", " 'panamanian pop',\n", " 'german cloud rap',\n", " 'viral rap',\n", " 'eurovision',\n", " 'nuevo regional mexicano',\n", " 'pop reggaeton',\n", " 'meme rap',\n", " 'gauze pop',\n", " 'miami hip hop',\n", " 'francoton',\n", " 'electronic trap',\n", " 'german underground rap',\n", " 'electropop',\n", " 'folk-pop',\n", " 'classic rock',\n", " 'melodic metalcore',\n", " 'new romantic',\n", " 'reggaeton colombiano',\n", " 'motown',\n", " 'french hip hop',\n", " 'melanesian pop',\n", " 'k-rap',\n", " 'dmv rap',\n", " 'german hip hop',\n", " 'pop rock',\n", " 'florida rap',\n", " 'uk alternative hip hop',\n", " 'torch song',\n", " 'brega funk',\n", " 'pop',\n", " 'regional mexican',\n", " 'trap chileno',\n", " 'nz pop',\n", " 'classic uk pop',\n", " 'australian rock',\n", " 'canadian pop',\n", " 'britpop',\n", " 'norwegian pop',\n", " 'queens hip hop',\n", " 'australian dance',\n", " 'country rock',\n", " 'venezuelan hip hop',\n", " 'electro house',\n", " 'irish folk',\n", " 'afroswing',\n", " 'italian indie pop',\n", " 'modern indie pop',\n", " 'piseiro',\n", " 'toronto rap',\n", " 'reggaeton',\n", " 'indie rock italiano',\n", " 'south african house',\n", " 'dreamo',\n", " 'alternative pop rock',\n", " 'rap marseille',\n", " 'dance rock',\n", " 'folk punk',\n", " 'mariachi',\n", " 'cumbia pop',\n", " 'argentine hip hop',\n", " 'pop dance',\n", " 'girl group',\n", " 'dfw rap',\n", " 'emo rap',\n", " 'sudanese pop',\n", " 'sad rap',\n", " 'aussietronica',\n", " 'grunge',\n", " 'trap queen',\n", " 'indonesian pop',\n", " 'indie cafe pop',\n", " 'punk',\n", " 'eurodance',\n", " 'sheffield indie',\n", " 'pop house',\n", " 'quiet storm',\n", " 'hip hop',\n", " 'jawaiian',\n", " 'deep german hip hop',\n", " 'sunnlensk tonlist',\n", " 'electro latino',\n", " 'r&b',\n", " 'etherpop',\n", " 'atl hip hop',\n", " 'german alternative rap',\n", " 'funk carioca',\n", " 'celtic punk',\n", " 'pittsburgh rap',\n", " 'chicago indie',\n", " 'new wave pop',\n", " 'german pop',\n", " 'rock-and-roll',\n", " 'post-grunge',\n", " 'uk alternative pop',\n", " 'bedroom soul',\n", " 'classic soul',\n", " 'oakland hip hop',\n", " 'german drill',\n", " 'dance pop',\n", " 'southern soul',\n", " 'pop argentino',\n", " 'metalcore',\n", " 'pop r&b',\n", " 'funk paulista',\n", " 'southern hip hop',\n", " 'oulu metal',\n", " 'jazz pop',\n", " 'funk ostentacao',\n", " 'soft rock',\n", " 'chicago rap',\n", " 'trap soul',\n", " 'rap francais',\n", " 'deep euro house',\n", " 'banda',\n", " 'new french touch',\n", " 'hamburg hip hop',\n", " 'soundtrack',\n", " 'trap triste',\n", " 'pacific islands pop',\n", " 'dutch edm',\n", " 'rap dominicano',\n", " 'tekk',\n", " 'perreo',\n", " 'shiver pop',\n", " 'synthpop',\n", " 'vegas indie',\n", " 'swedish pop',\n", " 'beatlesque',\n", " 'australian pop',\n", " 'soul',\n", " 'brill building pop',\n", " 'png pop',\n", " 'alt z',\n", " 'alternative r&b',\n", " 'piano rock',\n", " 'urban contemporary',\n", " 'jazz funk',\n", " 'memphis hip hop',\n", " 'turkish trap',\n", " 'chicago soul',\n", " 'german trance',\n", " 'brooklyn drill',\n", " 'acoustic pop',\n", " 'forro',\n", " 'mexican hip hop',\n", " 'minnesota hip hop',\n", " 'folktronica',\n", " 'post-teen pop',\n", " 'easy listening',\n", " 'uk dance',\n", " 'funk 150 bpm',\n", " 'surf punk',\n", " 'pop soul',\n", " 'europop',\n", " 'celtic',\n", " 'escape room',\n", " 'rockabilly',\n", " 'trance',\n", " 'philly rap',\n", " 'chill r&b',\n", " 'canadian trap',\n", " 'indie pop',\n", " 'pop venezolano',\n", " 'hollywood',\n", " 'indie rockism',\n", " 'latin',\n", " 'australian hip hop',\n", " 'scandipop',\n", " 'belgian hip hop',\n", " 'pop edm',\n", " 'australian psych',\n", " 'uk metalcore',\n", " 'brostep',\n", " 'afrofuturism',\n", " 'tropical house',\n", " 'atl trap',\n", " 'country road',\n", " 'k-pop',\n", " 'canadian contemporary r&b',\n", " 'italian adult pop',\n", " 'ohio hip hop',\n", " 'rap conciencia',\n", " 'frauenrap',\n", " 'rhode island rap',\n", " 'east coast hip hop',\n", " 'trap italiana',\n", " 'rock',\n", " 'latin viral pop',\n", " 'cali rap',\n", " 'k-pop boy group',\n", " 'metropopolis',\n", " 'german trap',\n", " 'chicago drill',\n", " 'bubblegrunge',\n", " 'trancecore',\n", " 'underground hip hop',\n", " 'modern alternative rock',\n", " 'progressive electro house',\n", " 'house',\n", " 'yacht rock',\n", " 'icelandic pop',\n", " 'indie poptimism',\n", " 'eau claire indie',\n", " 'trap',\n", " 'gangster rap',\n", " 'modern rock',\n", " 'modern country rock',\n", " 'folk rock',\n", " 'reggaeton flow',\n", " 'show tunes',\n", " 'west coast rap',\n", " 'italian pop',\n", " 'edm',\n", " 'colombian pop',\n", " 'north carolina hip hop',\n", " 'adult standards',\n", " 'neo-psychedelic',\n", " 'pop nacional',\n", " 'nu metal',\n", " 'nyc rap',\n", " 'conscious hip hop',\n", " 'brazilian hip hop',\n", " 'nouvelle chanson francaise',\n", " 'garage rock',\n", " 'german dance',\n", " 'dembow',\n", " 'funk bh',\n", " 'bedroom pop']" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(set(df[\"Genre\"].sum()))" ] }, { "cell_type": "code", "execution_count": 9, "id": "1c92ab20", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['a cappella',\n", " 'acoustic pop',\n", " 'adult standards',\n", " 'afrofuturism',\n", " 'afroswing',\n", " 'albanian hip hop',\n", " 'album rock',\n", " 'alt z',\n", " 'alternative metal',\n", " 'alternative pop rock',\n", " 'alternative r&b',\n", " 'american folk revival',\n", " 'argentine hip hop',\n", " 'art pop',\n", " 'art rock',\n", " 'atl hip hop',\n", " 'atl trap',\n", " 'aussietronica',\n", " 'australian dance',\n", " 'australian hip hop',\n", " 'australian pop',\n", " 'australian psych',\n", " 'australian rock',\n", " 'banda',\n", " 'basshall',\n", " 'beatlesque',\n", " 'bedroom pop',\n", " 'bedroom soul',\n", " 'belgian hip hop',\n", " 'big room',\n", " 'boston hip hop',\n", " 'boy band',\n", " 'brazilian hip hop',\n", " 'brega funk',\n", " 'brill building pop',\n", " 'british soul',\n", " 'britpop',\n", " 'brooklyn drill',\n", " 'brostep',\n", " 'bubblegrunge',\n", " 'cali rap',\n", " 'canadian contemporary r&b',\n", " 'canadian hip hop',\n", " 'canadian latin',\n", " 'canadian pop',\n", " 'canadian trap',\n", " 'celtic',\n", " 'celtic punk',\n", " 'celtic rock',\n", " 'champeta',\n", " 'chicago drill',\n", " 'chicago indie',\n", " 'chicago rap',\n", " 'chicago soul',\n", " 'chill r&b',\n", " 'christlicher rap',\n", " 'classic rock',\n", " 'classic soul',\n", " 'classic uk pop',\n", " 'colombian pop',\n", " 'comic',\n", " 'conscious hip hop',\n", " 'contemporary country',\n", " 'corrido',\n", " 'country',\n", " 'country road',\n", " 'country rock',\n", " 'cubaton',\n", " 'cumbia pop',\n", " 'dance pop',\n", " 'dance rock',\n", " 'deep euro house',\n", " 'deep german hip hop',\n", " 'deep house',\n", " 'deep underground hip hop',\n", " 'dembow',\n", " 'detroit hip hop',\n", " 'dfw rap',\n", " 'disco',\n", " 'dmv rap',\n", " 'dominican pop',\n", " 'dream smp',\n", " 'dreamo',\n", " 'drill',\n", " 'dutch edm',\n", " 'dutch pop',\n", " 'east coast hip hop',\n", " 'easy listening',\n", " 'eau claire indie',\n", " 'edm',\n", " 'electro house',\n", " 'electro latino',\n", " 'electronic trap',\n", " 'electropop',\n", " 'emo rap',\n", " 'escape room',\n", " 'etherpop',\n", " 'eurodance',\n", " 'europop',\n", " 'eurovision',\n", " 'florida rap',\n", " 'folk punk',\n", " 'folk rock',\n", " 'folk-pop',\n", " 'folktronica',\n", " 'forro',\n", " 'francoton',\n", " 'frauenrap',\n", " 'french hip hop',\n", " 'funk',\n", " 'funk 150 bpm',\n", " 'funk bh',\n", " 'funk carioca',\n", " 'funk ostentacao',\n", " 'funk paulista',\n", " 'funk pop',\n", " 'gangster rap',\n", " 'garage rock',\n", " 'gauze pop',\n", " 'german alternative rap',\n", " 'german cloud rap',\n", " 'german dance',\n", " 'german drill',\n", " 'german hip hop',\n", " 'german pop',\n", " 'german techno',\n", " 'german trance',\n", " 'german trap',\n", " 'german underground rap',\n", " 'girl group',\n", " 'glam rock',\n", " 'grime',\n", " 'grunge',\n", " 'hamburg hip hop',\n", " 'hard rock',\n", " 'hardcore hip hop',\n", " 'heartland rock',\n", " 'hip hop',\n", " 'hip pop',\n", " 'hollywood',\n", " 'house',\n", " 'houston rap',\n", " 'icelandic pop',\n", " 'indie cafe pop',\n", " 'indie pop',\n", " 'indie pop rap',\n", " 'indie poptimism',\n", " 'indie r&b',\n", " 'indie rock italiano',\n", " 'indie rockism',\n", " 'indie surf',\n", " 'indietronica',\n", " 'indonesian pop',\n", " 'irish folk',\n", " 'irish singer-songwriter',\n", " 'italian adult pop',\n", " 'italian hip hop',\n", " 'italian indie pop',\n", " 'italian pop',\n", " 'italian pop rock',\n", " 'jawaiian',\n", " 'jazz funk',\n", " 'jazz pop',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'k-pop girl group',\n", " 'k-rap',\n", " 'kentucky hip hop',\n", " 'latin',\n", " 'latin hip hop',\n", " 'latin pop',\n", " 'latin viral pop',\n", " 'lgbtq+ hip hop',\n", " 'london rap',\n", " 'lounge',\n", " 'madchester',\n", " 'mariachi',\n", " 'melanesian pop',\n", " 'mellow gold',\n", " 'melodic metalcore',\n", " 'melodic rap',\n", " 'meme rap',\n", " 'memphis hip hop',\n", " 'metalcore',\n", " 'metropopolis',\n", " 'mexican hip hop',\n", " 'miami hip hop',\n", " 'minnesota hip hop',\n", " 'modern alternative rock',\n", " 'modern country rock',\n", " 'modern indie pop',\n", " 'modern rock',\n", " 'moombahton',\n", " 'motown',\n", " 'musical advocacy',\n", " 'neo mellow',\n", " 'neo soul',\n", " 'neo-psychedelic',\n", " 'new french touch',\n", " 'new orleans rap',\n", " 'new romantic',\n", " 'new wave',\n", " 'new wave pop',\n", " 'norteno',\n", " 'north carolina hip hop',\n", " 'norwegian pop',\n", " 'nouvelle chanson francaise',\n", " 'nu metal',\n", " 'nuevo regional mexicano',\n", " 'nyc pop',\n", " 'nyc rap',\n", " 'nz pop',\n", " 'oakland hip hop',\n", " 'ohio hip hop',\n", " 'old school rap francais',\n", " 'oulu metal',\n", " 'pacific islands pop',\n", " 'pagode baiano',\n", " 'panamanian pop',\n", " 'permanent wave',\n", " 'perreo',\n", " 'philly rap',\n", " 'piano rock',\n", " 'piseiro',\n", " 'pittsburgh rap',\n", " 'plugg',\n", " 'png pop',\n", " 'pop',\n", " 'pop argentino',\n", " 'pop dance',\n", " 'pop edm',\n", " 'pop house',\n", " 'pop nacional',\n", " 'pop r&b',\n", " 'pop rap',\n", " 'pop reggaeton',\n", " 'pop rock',\n", " 'pop soul',\n", " 'pop urbaine',\n", " 'pop venezolano',\n", " 'post-grunge',\n", " 'post-teen pop',\n", " 'progressive electro house',\n", " 'progressive house',\n", " 'puerto rican pop',\n", " 'punk',\n", " 'queens hip hop',\n", " 'quiet storm',\n", " 'r&b',\n", " 'r&b brasileiro',\n", " 'r&b en espanol',\n", " 'ranchera',\n", " 'rap',\n", " 'rap belge',\n", " 'rap cearense',\n", " 'rap conciencia',\n", " 'rap conscient',\n", " 'rap dominicano',\n", " 'rap francais',\n", " 'rap latina',\n", " 'rap marseille',\n", " 'rap metal',\n", " 'rave funk',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'reggaeton flow',\n", " 'regional mexican',\n", " 'rhode island rap',\n", " 'rock',\n", " 'rock-and-roll',\n", " 'rockabilly',\n", " 'sad rap',\n", " 'scandipop',\n", " 'seattle hip hop',\n", " 'sertanejo',\n", " 'sertanejo pop',\n", " 'sertanejo universitario',\n", " 'sheffield indie',\n", " 'shiver pop',\n", " 'show tunes',\n", " 'singer-songwriter',\n", " 'slap house',\n", " 'social media pop',\n", " 'soft rock',\n", " 'soul',\n", " 'soundtrack',\n", " 'south african house',\n", " 'southern hip hop',\n", " 'southern soul',\n", " 'sudanese pop',\n", " 'sunnlensk tonlist',\n", " 'surf punk',\n", " 'swedish pop',\n", " 'swing',\n", " 'synthpop',\n", " 'talent show',\n", " 'tekk',\n", " 'tennessee hip hop',\n", " 'torch song',\n", " 'toronto rap',\n", " 'trance',\n", " 'trancecore',\n", " 'trap',\n", " 'trap argentino',\n", " 'trap boricua',\n", " 'trap brasileiro',\n", " 'trap chileno',\n", " 'trap italiana',\n", " 'trap latino',\n", " 'trap queen',\n", " 'trap soul',\n", " 'trap triste',\n", " 'tropical house',\n", " 'turkish trap',\n", " 'uk alternative hip hop',\n", " 'uk alternative pop',\n", " 'uk dance',\n", " 'uk funky',\n", " 'uk hip hop',\n", " 'uk metalcore',\n", " 'uk pop',\n", " 'underground hip hop',\n", " 'urban contemporary',\n", " 'urbano espanol',\n", " 'vancouver indie',\n", " 'vapor trap',\n", " 'vegas indie',\n", " 'venezuelan hip hop',\n", " 'viral pop',\n", " 'viral rap',\n", " 'vocal jazz',\n", " 'weirdcore',\n", " 'west coast rap',\n", " 'yacht rock']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(list(set(df[\"Genre\"].sum())))" ] }, { "cell_type": "code", "execution_count": 10, "id": "b49844fd", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndexHighest Charting PositionNumber of Times ChartedWeek of Highest ChartingSong NameStreamsArtistArtist FollowersSong IDGenre...DanceabilityEnergyLoudnessSpeechinessAcousticnessLivenessTempoDuration (ms)ValenceChord
\n", "

0 rows × 23 columns

\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [Index, Highest Charting Position, Number of Times Charted, Week of Highest Charting, Song Name, Streams, Artist, Artist Followers, Song ID, Genre, Release Date, Weeks Charted, Popularity, Danceability, Energy, Loudness, Speechiness, Acousticness, Liveness, Tempo, Duration (ms), Valence, Chord]\n", "Index: []\n", "\n", "[0 rows x 23 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# All the art pop entries in df\n", "df[df[\"Genre\"] == \"art pop\"]" ] }, { "cell_type": "code", "execution_count": 14, "id": "2e591c72", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndexHighest Charting PositionNumber of Times ChartedWeek of Highest ChartingSong NameStreamsArtistArtist FollowersSong IDGenre...DanceabilityEnergyLoudnessSpeechinessAcousticnessLivenessTempoDuration (ms)ValenceChord
158-1.380-1.1840.4472021-04-23--2021-04-30Runaway-0.228AURORA-0.7820TCmhnbMpw5zwPsTvlXTJi[art pop, norwegian pop]...-1.187-2.207-1.591-0.7981.540-0.543-0.2641.080-1.693B
244-1.188-1.081-0.4082021-06-11--2021-06-18Solar Power-0.327Lorde-0.3983KdoeNlEN0BoAKWzaRLNZa[art pop, dance pop, electropop, metropopolis,......0.316-1.012-1.218-0.2140.0690.964-1.178-0.1131.682E
481-0.6611.104-0.5912021-03-19--2021-03-26White Dress-0.160Lana Del Rey-0.0614Hl9rOqYomojCmxYfr25im[art pop, pop]...-1.383-2.294-2.574-0.8032.707-0.648-0.0012.881-1.570C
483-0.6570.863-0.5302021-01-15--2021-01-22Chemtrails Over The Country Club-0.272Lana Del Rey-0.0617bPWdJgx8vek7S5i5yAtvG[art pop, pop]...-2.500-2.213-2.701-0.5382.511-0.4742.6441.554-0.377E
8380.1331.793-0.5912020-10-16--2020-10-23Let Me Love You Like A Woman-0.496Lana Del Rey-0.0611gxdWpeOUBpvB908fiZs4D[art pop, pop]...-2.718-2.380-2.139-0.1152.882-0.446-1.8890.058-1.688C
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " Index Highest Charting Position Number of Times Charted \\\n", "158 -1.380 -1.184 0.447 \n", "244 -1.188 -1.081 -0.408 \n", "481 -0.661 1.104 -0.591 \n", "483 -0.657 0.863 -0.530 \n", "838 0.133 1.793 -0.591 \n", "\n", " Week of Highest Charting Song Name Streams \\\n", "158 2021-04-23--2021-04-30 Runaway -0.228 \n", "244 2021-06-11--2021-06-18 Solar Power -0.327 \n", "481 2021-03-19--2021-03-26 White Dress -0.160 \n", "483 2021-01-15--2021-01-22 Chemtrails Over The Country Club -0.272 \n", "838 2020-10-16--2020-10-23 Let Me Love You Like A Woman -0.496 \n", "\n", " Artist Artist Followers Song ID \\\n", "158 AURORA -0.782 0TCmhnbMpw5zwPsTvlXTJi \n", "244 Lorde -0.398 3KdoeNlEN0BoAKWzaRLNZa \n", "481 Lana Del Rey -0.061 4Hl9rOqYomojCmxYfr25im \n", "483 Lana Del Rey -0.061 7bPWdJgx8vek7S5i5yAtvG \n", "838 Lana Del Rey -0.061 1gxdWpeOUBpvB908fiZs4D \n", "\n", " Genre ... Danceability \\\n", "158 [art pop, norwegian pop] ... -1.187 \n", "244 [art pop, dance pop, electropop, metropopolis,... ... 0.316 \n", "481 [art pop, pop] ... -1.383 \n", "483 [art pop, pop] ... -2.500 \n", "838 [art pop, pop] ... -2.718 \n", "\n", " Energy Loudness Speechiness Acousticness Liveness Tempo \\\n", "158 -2.207 -1.591 -0.798 1.540 -0.543 -0.264 \n", "244 -1.012 -1.218 -0.214 0.069 0.964 -1.178 \n", "481 -2.294 -2.574 -0.803 2.707 -0.648 -0.001 \n", "483 -2.213 -2.701 -0.538 2.511 -0.474 2.644 \n", "838 -2.380 -2.139 -0.115 2.882 -0.446 -1.889 \n", "\n", " Duration (ms) Valence Chord \n", "158 1.080 -1.693 B \n", "244 -0.113 1.682 E \n", "481 2.881 -1.570 C \n", "483 1.554 -0.377 E \n", "838 0.058 -1.688 C \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"Genre\"].map(lambda g_list: \"art pop\" in g_list)]" ] }, { "cell_type": "code", "execution_count": 15, "id": "2078d205", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df[df[\"Genre\"].map(lambda g_list: \"art pop\" in g_list)])" ] }, { "cell_type": "code", "execution_count": 16, "id": "5efcb0c4", "metadata": {}, "outputs": [], "source": [ "# function: input: a genre. output: how many songs\n", "def count_songs(g):\n", " return len(df[df[\"Genre\"].map(lambda g_list: g in g_list)])" ] }, { "cell_type": "code", "execution_count": 17, "id": "7a907a50", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "485" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "count_songs(\"pop\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "9848dd2e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['a cappella',\n", " 'acoustic pop',\n", " 'adult standards',\n", " 'afrofuturism',\n", " 'afroswing',\n", " 'albanian hip hop',\n", " 'album rock',\n", " 'alt z',\n", " 'alternative metal',\n", " 'alternative pop rock',\n", " 'alternative r&b',\n", " 'american folk revival',\n", " 'argentine hip hop',\n", " 'art pop',\n", " 'art rock',\n", " 'atl hip hop',\n", " 'atl trap',\n", " 'aussietronica',\n", " 'australian dance',\n", " 'australian hip hop',\n", " 'australian pop',\n", " 'australian psych',\n", " 'australian rock',\n", " 'banda',\n", " 'basshall',\n", " 'beatlesque',\n", " 'bedroom pop',\n", " 'bedroom soul',\n", " 'belgian hip hop',\n", " 'big room',\n", " 'boston hip hop',\n", " 'boy band',\n", " 'brazilian hip hop',\n", " 'brega funk',\n", " 'brill building pop',\n", " 'british soul',\n", " 'britpop',\n", " 'brooklyn drill',\n", " 'brostep',\n", " 'bubblegrunge',\n", " 'cali rap',\n", " 'canadian contemporary r&b',\n", " 'canadian hip hop',\n", " 'canadian latin',\n", " 'canadian pop',\n", " 'canadian trap',\n", " 'celtic',\n", " 'celtic punk',\n", " 'celtic rock',\n", " 'champeta',\n", " 'chicago drill',\n", " 'chicago indie',\n", " 'chicago rap',\n", " 'chicago soul',\n", " 'chill r&b',\n", " 'christlicher rap',\n", " 'classic rock',\n", " 'classic soul',\n", " 'classic uk pop',\n", " 'colombian pop',\n", " 'comic',\n", " 'conscious hip hop',\n", " 'contemporary country',\n", " 'corrido',\n", " 'country',\n", " 'country road',\n", " 'country rock',\n", " 'cubaton',\n", " 'cumbia pop',\n", " 'dance pop',\n", " 'dance rock',\n", " 'deep euro house',\n", " 'deep german hip hop',\n", " 'deep house',\n", " 'deep underground hip hop',\n", " 'dembow',\n", " 'detroit hip hop',\n", " 'dfw rap',\n", " 'disco',\n", " 'dmv rap',\n", " 'dominican pop',\n", " 'dream smp',\n", " 'dreamo',\n", " 'drill',\n", " 'dutch edm',\n", " 'dutch pop',\n", " 'east coast hip hop',\n", " 'easy listening',\n", " 'eau claire indie',\n", " 'edm',\n", " 'electro house',\n", " 'electro latino',\n", " 'electronic trap',\n", " 'electropop',\n", " 'emo rap',\n", " 'escape room',\n", " 'etherpop',\n", " 'eurodance',\n", " 'europop',\n", " 'eurovision',\n", " 'florida rap',\n", " 'folk punk',\n", " 'folk rock',\n", " 'folk-pop',\n", " 'folktronica',\n", " 'forro',\n", " 'francoton',\n", " 'frauenrap',\n", " 'french hip hop',\n", " 'funk',\n", " 'funk 150 bpm',\n", " 'funk bh',\n", " 'funk carioca',\n", " 'funk ostentacao',\n", " 'funk paulista',\n", " 'funk pop',\n", " 'gangster rap',\n", " 'garage rock',\n", " 'gauze pop',\n", " 'german alternative rap',\n", " 'german cloud rap',\n", " 'german dance',\n", " 'german drill',\n", " 'german hip hop',\n", " 'german pop',\n", " 'german techno',\n", " 'german trance',\n", " 'german trap',\n", " 'german underground rap',\n", " 'girl group',\n", " 'glam rock',\n", " 'grime',\n", " 'grunge',\n", " 'hamburg hip hop',\n", " 'hard rock',\n", " 'hardcore hip hop',\n", " 'heartland rock',\n", " 'hip hop',\n", " 'hip pop',\n", " 'hollywood',\n", " 'house',\n", " 'houston rap',\n", " 'icelandic pop',\n", " 'indie cafe pop',\n", " 'indie pop',\n", " 'indie pop rap',\n", " 'indie poptimism',\n", " 'indie r&b',\n", " 'indie rock italiano',\n", " 'indie rockism',\n", " 'indie surf',\n", " 'indietronica',\n", " 'indonesian pop',\n", " 'irish folk',\n", " 'irish singer-songwriter',\n", " 'italian adult pop',\n", " 'italian hip hop',\n", " 'italian indie pop',\n", " 'italian pop',\n", " 'italian pop rock',\n", " 'jawaiian',\n", " 'jazz funk',\n", " 'jazz pop',\n", " 'k-pop',\n", " 'k-pop boy group',\n", " 'k-pop girl group',\n", " 'k-rap',\n", " 'kentucky hip hop',\n", " 'latin',\n", " 'latin hip hop',\n", " 'latin pop',\n", " 'latin viral pop',\n", " 'lgbtq+ hip hop',\n", " 'london rap',\n", " 'lounge',\n", " 'madchester',\n", " 'mariachi',\n", " 'melanesian pop',\n", " 'mellow gold',\n", " 'melodic metalcore',\n", " 'melodic rap',\n", " 'meme rap',\n", " 'memphis hip hop',\n", " 'metalcore',\n", " 'metropopolis',\n", " 'mexican hip hop',\n", " 'miami hip hop',\n", " 'minnesota hip hop',\n", " 'modern alternative rock',\n", " 'modern country rock',\n", " 'modern indie pop',\n", " 'modern rock',\n", " 'moombahton',\n", " 'motown',\n", " 'musical advocacy',\n", " 'neo mellow',\n", " 'neo soul',\n", " 'neo-psychedelic',\n", " 'new french touch',\n", " 'new orleans rap',\n", " 'new romantic',\n", " 'new wave',\n", " 'new wave pop',\n", " 'norteno',\n", " 'north carolina hip hop',\n", " 'norwegian pop',\n", " 'nouvelle chanson francaise',\n", " 'nu metal',\n", " 'nuevo regional mexicano',\n", " 'nyc pop',\n", " 'nyc rap',\n", " 'nz pop',\n", " 'oakland hip hop',\n", " 'ohio hip hop',\n", " 'old school rap francais',\n", " 'oulu metal',\n", " 'pacific islands pop',\n", " 'pagode baiano',\n", " 'panamanian pop',\n", " 'permanent wave',\n", " 'perreo',\n", " 'philly rap',\n", " 'piano rock',\n", " 'piseiro',\n", " 'pittsburgh rap',\n", " 'plugg',\n", " 'png pop',\n", " 'pop',\n", " 'pop argentino',\n", " 'pop dance',\n", " 'pop edm',\n", " 'pop house',\n", " 'pop nacional',\n", " 'pop r&b',\n", " 'pop rap',\n", " 'pop reggaeton',\n", " 'pop rock',\n", " 'pop soul',\n", " 'pop urbaine',\n", " 'pop venezolano',\n", " 'post-grunge',\n", " 'post-teen pop',\n", " 'progressive electro house',\n", " 'progressive house',\n", " 'puerto rican pop',\n", " 'punk',\n", " 'queens hip hop',\n", " 'quiet storm',\n", " 'r&b',\n", " 'r&b brasileiro',\n", " 'r&b en espanol',\n", " 'ranchera',\n", " 'rap',\n", " 'rap belge',\n", " 'rap cearense',\n", " 'rap conciencia',\n", " 'rap conscient',\n", " 'rap dominicano',\n", " 'rap francais',\n", " 'rap latina',\n", " 'rap marseille',\n", " 'rap metal',\n", " 'rave funk',\n", " 'reggaeton',\n", " 'reggaeton colombiano',\n", " 'reggaeton flow',\n", " 'regional mexican',\n", " 'rhode island rap',\n", " 'rock',\n", " 'rock-and-roll',\n", " 'rockabilly',\n", " 'sad rap',\n", " 'scandipop',\n", " 'seattle hip hop',\n", " 'sertanejo',\n", " 'sertanejo pop',\n", " 'sertanejo universitario',\n", " 'sheffield indie',\n", " 'shiver pop',\n", " 'show tunes',\n", " 'singer-songwriter',\n", " 'slap house',\n", " 'social media pop',\n", " 'soft rock',\n", " 'soul',\n", " 'soundtrack',\n", " 'south african house',\n", " 'southern hip hop',\n", " 'southern soul',\n", " 'sudanese pop',\n", " 'sunnlensk tonlist',\n", " 'surf punk',\n", " 'swedish pop',\n", " 'swing',\n", " 'synthpop',\n", " 'talent show',\n", " 'tekk',\n", " 'tennessee hip hop',\n", " 'torch song',\n", " 'toronto rap',\n", " 'trance',\n", " 'trancecore',\n", " 'trap',\n", " 'trap argentino',\n", " 'trap boricua',\n", " 'trap brasileiro',\n", " 'trap chileno',\n", " 'trap italiana',\n", " 'trap latino',\n", " 'trap queen',\n", " 'trap soul',\n", " 'trap triste',\n", " 'tropical house',\n", " 'turkish trap',\n", " 'uk alternative hip hop',\n", " 'uk alternative pop',\n", " 'uk dance',\n", " 'uk funky',\n", " 'uk hip hop',\n", " 'uk metalcore',\n", " 'uk pop',\n", " 'underground hip hop',\n", " 'urban contemporary',\n", " 'urbano espanol',\n", " 'vancouver indie',\n", " 'vapor trap',\n", " 'vegas indie',\n", " 'venezuelan hip hop',\n", " 'viral pop',\n", " 'viral rap',\n", " 'vocal jazz',\n", " 'weirdcore',\n", " 'west coast rap',\n", " 'yacht rock']" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_genres = sorted(list(set(df[\"Genre\"].sum())))\n", "all_genres" ] }, { "cell_type": "code", "execution_count": 19, "id": "4a0886e2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1,\n", " 1,\n", " 18,\n", " 1,\n", " 2,\n", " 2,\n", " 8,\n", " 20,\n", " 1,\n", " 1,\n", " 14,\n", " 1,\n", " 8,\n", " 5,\n", " 4,\n", " 53,\n", " 13,\n", " 1,\n", " 5,\n", " 9,\n", " 11,\n", " 5,\n", " 1,\n", " 1,\n", " 3,\n", " 5,\n", " 4,\n", " 2,\n", " 2,\n", " 1,\n", " 1,\n", " 14,\n", " 1,\n", " 2,\n", " 3,\n", " 2,\n", " 2,\n", " 37,\n", " 4,\n", " 1,\n", " 9,\n", " 24,\n", " 32,\n", " 1,\n", " 85,\n", " 8,\n", " 1,\n", " 1,\n", " 1,\n", " 1,\n", " 1,\n", " 1,\n", " 47,\n", " 1,\n", " 3,\n", " 1,\n", " 12,\n", " 1,\n", " 1,\n", " 18,\n", " 2,\n", " 18,\n", " 13,\n", " 1,\n", " 3,\n", " 4,\n", " 1,\n", " 1,\n", " 1,\n", " 257,\n", " 1,\n", " 3,\n", " 1,\n", " 3,\n", " 3,\n", " 2,\n", " 24,\n", " 10,\n", " 2,\n", " 4,\n", " 3,\n", " 2,\n", " 1,\n", " 1,\n", " 4,\n", " 1,\n", " 2,\n", " 12,\n", " 1,\n", " 50,\n", " 10,\n", " 1,\n", " 4,\n", " 60,\n", " 12,\n", " 6,\n", " 4,\n", " 1,\n", " 3,\n", " 3,\n", " 3,\n", " 1,\n", " 2,\n", " 2,\n", " 1,\n", " 7,\n", " 7,\n", " 3,\n", " 10,\n", " 2,\n", " 1,\n", " 1,\n", " 15,\n", " 3,\n", " 2,\n", " 4,\n", " 4,\n", " 2,\n", " 1,\n", " 3,\n", " 7,\n", " 6,\n", " 6,\n", " 53,\n", " 7,\n", " 1,\n", " 1,\n", " 4,\n", " 1,\n", " 2,\n", " 4,\n", " 1,\n", " 1,\n", " 11,\n", " 2,\n", " 2,\n", " 2,\n", " 151,\n", " 5,\n", " 1,\n", " 7,\n", " 6,\n", " 1,\n", " 9,\n", " 7,\n", " 2,\n", " 7,\n", " 1,\n", " 4,\n", " 1,\n", " 1,\n", " 2,\n", " 1,\n", " 1,\n", " 1,\n", " 2,\n", " 7,\n", " 1,\n", " 11,\n", " 1,\n", " 1,\n", " 1,\n", " 3,\n", " 45,\n", " 30,\n", " 18,\n", " 1,\n", " 4,\n", " 154,\n", " 17,\n", " 15,\n", " 1,\n", " 8,\n", " 3,\n", " 17,\n", " 2,\n", " 2,\n", " 1,\n", " 11,\n", " 2,\n", " 124,\n", " 1,\n", " 4,\n", " 2,\n", " 3,\n", " 1,\n", " 12,\n", " 3,\n", " 4,\n", " 2,\n", " 3,\n", " 23,\n", " 1,\n", " 3,\n", " 1,\n", " 5,\n", " 2,\n", " 5,\n", " 2,\n", " 1,\n", " 2,\n", " 3,\n", " 5,\n", " 1,\n", " 30,\n", " 1,\n", " 1,\n", " 1,\n", " 2,\n", " 1,\n", " 8,\n", " 4,\n", " 2,\n", " 18,\n", " 1,\n", " 1,\n", " 1,\n", " 3,\n", " 9,\n", " 11,\n", " 1,\n", " 34,\n", " 3,\n", " 5,\n", " 11,\n", " 2,\n", " 1,\n", " 485,\n", " 1,\n", " 54,\n", " 7,\n", " 3,\n", " 5,\n", " 2,\n", " 164,\n", " 3,\n", " 17,\n", " 3,\n", " 10,\n", " 6,\n", " 1,\n", " 256,\n", " 4,\n", " 6,\n", " 22,\n", " 1,\n", " 3,\n", " 2,\n", " 30,\n", " 1,\n", " 6,\n", " 2,\n", " 310,\n", " 2,\n", " 1,\n", " 1,\n", " 5,\n", " 2,\n", " 7,\n", " 3,\n", " 2,\n", " 1,\n", " 1,\n", " 157,\n", " 45,\n", " 21,\n", " 3,\n", " 2,\n", " 32,\n", " 2,\n", " 3,\n", " 5,\n", " 1,\n", " 1,\n", " 10,\n", " 9,\n", " 12,\n", " 2,\n", " 1,\n", " 1,\n", " 3,\n", " 17,\n", " 4,\n", " 10,\n", " 5,\n", " 1,\n", " 1,\n", " 29,\n", " 1,\n", " 1,\n", " 1,\n", " 1,\n", " 1,\n", " 2,\n", " 2,\n", " 9,\n", " 1,\n", " 1,\n", " 1,\n", " 30,\n", " 2,\n", " 1,\n", " 159,\n", " 10,\n", " 9,\n", " 1,\n", " 1,\n", " 5,\n", " 155,\n", " 14,\n", " 3,\n", " 3,\n", " 45,\n", " 1,\n", " 1,\n", " 1,\n", " 9,\n", " 1,\n", " 10,\n", " 2,\n", " 52,\n", " 8,\n", " 7,\n", " 3,\n", " 1,\n", " 5,\n", " 1,\n", " 1,\n", " 18,\n", " 8,\n", " 11,\n", " 1,\n", " 1,\n", " 3]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[count_songs(g) for g in all_genres]" ] }, { "cell_type": "code", "execution_count": 20, "id": "7318314f", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "{'a cappella': 1,\n", " 'acoustic pop': 1,\n", " 'adult standards': 18,\n", " 'afrofuturism': 1,\n", " 'afroswing': 2,\n", " 'albanian hip hop': 2,\n", " 'album rock': 8,\n", " 'alt z': 20,\n", " 'alternative metal': 1,\n", " 'alternative pop rock': 1,\n", " 'alternative r&b': 14,\n", " 'american folk revival': 1,\n", " 'argentine hip hop': 8,\n", " 'art pop': 5,\n", " 'art rock': 4,\n", " 'atl hip hop': 53,\n", " 'atl trap': 13,\n", " 'aussietronica': 1,\n", " 'australian dance': 5,\n", " 'australian hip hop': 9,\n", " 'australian pop': 11,\n", " 'australian psych': 5,\n", " 'australian rock': 1,\n", " 'banda': 1,\n", " 'basshall': 3,\n", " 'beatlesque': 5,\n", " 'bedroom pop': 4,\n", " 'bedroom soul': 2,\n", " 'belgian hip hop': 2,\n", " 'big room': 1,\n", " 'boston hip hop': 1,\n", " 'boy band': 14,\n", " 'brazilian hip hop': 1,\n", " 'brega funk': 2,\n", " 'brill building pop': 3,\n", " 'british soul': 2,\n", " 'britpop': 2,\n", " 'brooklyn drill': 37,\n", " 'brostep': 4,\n", " 'bubblegrunge': 1,\n", " 'cali rap': 9,\n", " 'canadian contemporary r&b': 24,\n", " 'canadian hip hop': 32,\n", " 'canadian latin': 1,\n", " 'canadian pop': 85,\n", " 'canadian trap': 8,\n", " 'celtic': 1,\n", " 'celtic punk': 1,\n", " 'celtic rock': 1,\n", " 'champeta': 1,\n", " 'chicago drill': 1,\n", " 'chicago indie': 1,\n", " 'chicago rap': 47,\n", " 'chicago soul': 1,\n", " 'chill r&b': 3,\n", " 'christlicher rap': 1,\n", " 'classic rock': 12,\n", " 'classic soul': 1,\n", " 'classic uk pop': 1,\n", " 'colombian pop': 18,\n", " 'comic': 2,\n", " 'conscious hip hop': 18,\n", " 'contemporary country': 13,\n", " 'corrido': 1,\n", " 'country': 3,\n", " 'country road': 4,\n", " 'country rock': 1,\n", " 'cubaton': 1,\n", " 'cumbia pop': 1,\n", " 'dance pop': 257,\n", " 'dance rock': 1,\n", " 'deep euro house': 3,\n", " 'deep german hip hop': 1,\n", " 'deep house': 3,\n", " 'deep underground hip hop': 3,\n", " 'dembow': 2,\n", " 'detroit hip hop': 24,\n", " 'dfw rap': 10,\n", " 'disco': 2,\n", " 'dmv rap': 4,\n", " 'dominican pop': 3,\n", " 'dream smp': 2,\n", " 'dreamo': 1,\n", " 'drill': 1,\n", " 'dutch edm': 4,\n", " 'dutch pop': 1,\n", " 'east coast hip hop': 2,\n", " 'easy listening': 12,\n", " 'eau claire indie': 1,\n", " 'edm': 50,\n", " 'electro house': 10,\n", " 'electro latino': 1,\n", " 'electronic trap': 4,\n", " 'electropop': 60,\n", " 'emo rap': 12,\n", " 'escape room': 6,\n", " 'etherpop': 4,\n", " 'eurodance': 1,\n", " 'europop': 3,\n", " 'eurovision': 3,\n", " 'florida rap': 3,\n", " 'folk punk': 1,\n", " 'folk rock': 2,\n", " 'folk-pop': 2,\n", " 'folktronica': 1,\n", " 'forro': 7,\n", " 'francoton': 7,\n", " 'frauenrap': 3,\n", " 'french hip hop': 10,\n", " 'funk': 2,\n", " 'funk 150 bpm': 1,\n", " 'funk bh': 1,\n", " 'funk carioca': 15,\n", " 'funk ostentacao': 3,\n", " 'funk paulista': 2,\n", " 'funk pop': 4,\n", " 'gangster rap': 4,\n", " 'garage rock': 2,\n", " 'gauze pop': 1,\n", " 'german alternative rap': 3,\n", " 'german cloud rap': 7,\n", " 'german dance': 6,\n", " 'german drill': 6,\n", " 'german hip hop': 53,\n", " 'german pop': 7,\n", " 'german techno': 1,\n", " 'german trance': 1,\n", " 'german trap': 4,\n", " 'german underground rap': 1,\n", " 'girl group': 2,\n", " 'glam rock': 4,\n", " 'grime': 1,\n", " 'grunge': 1,\n", " 'hamburg hip hop': 11,\n", " 'hard rock': 2,\n", " 'hardcore hip hop': 2,\n", " 'heartland rock': 2,\n", " 'hip hop': 151,\n", " 'hip pop': 5,\n", " 'hollywood': 1,\n", " 'house': 7,\n", " 'houston rap': 6,\n", " 'icelandic pop': 1,\n", " 'indie cafe pop': 9,\n", " 'indie pop': 7,\n", " 'indie pop rap': 2,\n", " 'indie poptimism': 7,\n", " 'indie r&b': 1,\n", " 'indie rock italiano': 4,\n", " 'indie rockism': 1,\n", " 'indie surf': 1,\n", " 'indietronica': 2,\n", " 'indonesian pop': 1,\n", " 'irish folk': 1,\n", " 'irish singer-songwriter': 1,\n", " 'italian adult pop': 2,\n", " 'italian hip hop': 7,\n", " 'italian indie pop': 1,\n", " 'italian pop': 11,\n", " 'italian pop rock': 1,\n", " 'jawaiian': 1,\n", " 'jazz funk': 1,\n", " 'jazz pop': 3,\n", " 'k-pop': 45,\n", " 'k-pop boy group': 30,\n", " 'k-pop girl group': 18,\n", " 'k-rap': 1,\n", " 'kentucky hip hop': 4,\n", " 'latin': 154,\n", " 'latin hip hop': 17,\n", " 'latin pop': 15,\n", " 'latin viral pop': 1,\n", " 'lgbtq+ hip hop': 8,\n", " 'london rap': 3,\n", " 'lounge': 17,\n", " 'madchester': 2,\n", " 'mariachi': 2,\n", " 'melanesian pop': 1,\n", " 'mellow gold': 11,\n", " 'melodic metalcore': 2,\n", " 'melodic rap': 124,\n", " 'meme rap': 1,\n", " 'memphis hip hop': 4,\n", " 'metalcore': 2,\n", " 'metropopolis': 3,\n", " 'mexican hip hop': 1,\n", " 'miami hip hop': 12,\n", " 'minnesota hip hop': 3,\n", " 'modern alternative rock': 4,\n", " 'modern country rock': 2,\n", " 'modern indie pop': 3,\n", " 'modern rock': 23,\n", " 'moombahton': 1,\n", " 'motown': 3,\n", " 'musical advocacy': 1,\n", " 'neo mellow': 5,\n", " 'neo soul': 2,\n", " 'neo-psychedelic': 5,\n", " 'new french touch': 2,\n", " 'new orleans rap': 1,\n", " 'new romantic': 2,\n", " 'new wave': 3,\n", " 'new wave pop': 5,\n", " 'norteno': 1,\n", " 'north carolina hip hop': 30,\n", " 'norwegian pop': 1,\n", " 'nouvelle chanson francaise': 1,\n", " 'nu metal': 1,\n", " 'nuevo regional mexicano': 2,\n", " 'nyc pop': 1,\n", " 'nyc rap': 8,\n", " 'nz pop': 4,\n", " 'oakland hip hop': 2,\n", " 'ohio hip hop': 18,\n", " 'old school rap francais': 1,\n", " 'oulu metal': 1,\n", " 'pacific islands pop': 1,\n", " 'pagode baiano': 3,\n", " 'panamanian pop': 9,\n", " 'permanent wave': 11,\n", " 'perreo': 1,\n", " 'philly rap': 34,\n", " 'piano rock': 3,\n", " 'piseiro': 5,\n", " 'pittsburgh rap': 11,\n", " 'plugg': 2,\n", " 'png pop': 1,\n", " 'pop': 485,\n", " 'pop argentino': 1,\n", " 'pop dance': 54,\n", " 'pop edm': 7,\n", " 'pop house': 3,\n", " 'pop nacional': 5,\n", " 'pop r&b': 2,\n", " 'pop rap': 164,\n", " 'pop reggaeton': 3,\n", " 'pop rock': 17,\n", " 'pop soul': 3,\n", " 'pop urbaine': 10,\n", " 'pop venezolano': 6,\n", " 'post-grunge': 1,\n", " 'post-teen pop': 256,\n", " 'progressive electro house': 4,\n", " 'progressive house': 6,\n", " 'puerto rican pop': 22,\n", " 'punk': 1,\n", " 'queens hip hop': 3,\n", " 'quiet storm': 2,\n", " 'r&b': 30,\n", " 'r&b brasileiro': 1,\n", " 'r&b en espanol': 6,\n", " 'ranchera': 2,\n", " 'rap': 310,\n", " 'rap belge': 2,\n", " 'rap cearense': 1,\n", " 'rap conciencia': 1,\n", " 'rap conscient': 5,\n", " 'rap dominicano': 2,\n", " 'rap francais': 7,\n", " 'rap latina': 3,\n", " 'rap marseille': 2,\n", " 'rap metal': 1,\n", " 'rave funk': 1,\n", " 'reggaeton': 157,\n", " 'reggaeton colombiano': 45,\n", " 'reggaeton flow': 21,\n", " 'regional mexican': 3,\n", " 'rhode island rap': 2,\n", " 'rock': 32,\n", " 'rock-and-roll': 2,\n", " 'rockabilly': 3,\n", " 'sad rap': 5,\n", " 'scandipop': 1,\n", " 'seattle hip hop': 1,\n", " 'sertanejo': 10,\n", " 'sertanejo pop': 9,\n", " 'sertanejo universitario': 12,\n", " 'sheffield indie': 2,\n", " 'shiver pop': 1,\n", " 'show tunes': 1,\n", " 'singer-songwriter': 3,\n", " 'slap house': 17,\n", " 'social media pop': 4,\n", " 'soft rock': 10,\n", " 'soul': 5,\n", " 'soundtrack': 1,\n", " 'south african house': 1,\n", " 'southern hip hop': 29,\n", " 'southern soul': 1,\n", " 'sudanese pop': 1,\n", " 'sunnlensk tonlist': 1,\n", " 'surf punk': 1,\n", " 'swedish pop': 1,\n", " 'swing': 2,\n", " 'synthpop': 2,\n", " 'talent show': 9,\n", " 'tekk': 1,\n", " 'tennessee hip hop': 1,\n", " 'torch song': 1,\n", " 'toronto rap': 30,\n", " 'trance': 2,\n", " 'trancecore': 1,\n", " 'trap': 159,\n", " 'trap argentino': 10,\n", " 'trap boricua': 9,\n", " 'trap brasileiro': 1,\n", " 'trap chileno': 1,\n", " 'trap italiana': 5,\n", " 'trap latino': 155,\n", " 'trap queen': 14,\n", " 'trap soul': 3,\n", " 'trap triste': 3,\n", " 'tropical house': 45,\n", " 'turkish trap': 1,\n", " 'uk alternative hip hop': 1,\n", " 'uk alternative pop': 1,\n", " 'uk dance': 9,\n", " 'uk funky': 1,\n", " 'uk hip hop': 10,\n", " 'uk metalcore': 2,\n", " 'uk pop': 52,\n", " 'underground hip hop': 8,\n", " 'urban contemporary': 7,\n", " 'urbano espanol': 3,\n", " 'vancouver indie': 1,\n", " 'vapor trap': 5,\n", " 'vegas indie': 1,\n", " 'venezuelan hip hop': 1,\n", " 'viral pop': 18,\n", " 'viral rap': 8,\n", " 'vocal jazz': 11,\n", " 'weirdcore': 1,\n", " 'west coast rap': 1,\n", " 'yacht rock': 3}" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "{g:count_songs(g) for g in all_genres}" ] }, { "cell_type": "code", "execution_count": 21, "id": "43e812db", "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression" ] }, { "cell_type": "code", "execution_count": 22, "id": "55013b0c", "metadata": {}, "outputs": [], "source": [ "clf = LogisticRegression()" ] }, { "cell_type": "code", "execution_count": 26, "id": "edff5796", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndexHighest Charting PositionNumber of Times ChartedWeek of Highest ChartingSong NameStreamsArtistArtist FollowersSong IDGenre...DanceabilityEnergyLoudnessSpeechinessAcousticnessLivenessTempoDuration (ms)ValenceChord
0-1.731-1.494-0.1642021-07-23--2021-07-30Beggin'12.535Måneskin-0.6803Wrjm47oTz2sjIgck11l5e[indie rock italiano, italian pop]...0.1691.0310.614-0.664-0.4861.2340.3780.2890.327B
1-1.729-1.477-0.4692021-07-23--2021-07-30STAY (with Justin Bieber)12.124The Kid LAROI-0.7495HCyWlXZPP0y6Gqq8TgA20[australian hip hop]...-0.6950.8080.345-0.683-0.841-0.5431.593-1.191-0.162C#/Db
2-1.727-1.4940.0192021-06-25--2021-07-02good 4 u10.024Olivia Rodrigo-0.5074ZtFanR9U6ndgddUvNcjcG[pop]...-0.8920.1890.5200.2750.345-0.6691.491-0.4200.763A
3-1.725-1.460-0.3472021-07-02--2021-07-09Bad Habits9.324Ed Sheeran4.1146PQ88X9TkUIAUIZJHW2upE[pop, uk pop]...0.8291.6311.051-0.805-0.8061.2690.1090.7020.336B
4-1.722-1.425-0.5912021-07-23--2021-07-30INDUSTRY BABY (feat. Jack Harlow)8.183Lil Nas X-0.55427NovPIUIRrOZoCHxABJwK[lgbtq+ hip hop, pop rap]...0.3230.436-0.423-0.563-0.913-0.9100.9190.2981.669D#/Eb
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " Index Highest Charting Position Number of Times Charted \\\n", "0 -1.731 -1.494 -0.164 \n", "1 -1.729 -1.477 -0.469 \n", "2 -1.727 -1.494 0.019 \n", "3 -1.725 -1.460 -0.347 \n", "4 -1.722 -1.425 -0.591 \n", "\n", " Week of Highest Charting Song Name Streams \\\n", "0 2021-07-23--2021-07-30 Beggin' 12.535 \n", "1 2021-07-23--2021-07-30 STAY (with Justin Bieber) 12.124 \n", "2 2021-06-25--2021-07-02 good 4 u 10.024 \n", "3 2021-07-02--2021-07-09 Bad Habits 9.324 \n", "4 2021-07-23--2021-07-30 INDUSTRY BABY (feat. Jack Harlow) 8.183 \n", "\n", " Artist Artist Followers Song ID \\\n", "0 Måneskin -0.680 3Wrjm47oTz2sjIgck11l5e \n", "1 The Kid LAROI -0.749 5HCyWlXZPP0y6Gqq8TgA20 \n", "2 Olivia Rodrigo -0.507 4ZtFanR9U6ndgddUvNcjcG \n", "3 Ed Sheeran 4.114 6PQ88X9TkUIAUIZJHW2upE \n", "4 Lil Nas X -0.554 27NovPIUIRrOZoCHxABJwK \n", "\n", " Genre ... Danceability Energy Loudness \\\n", "0 [indie rock italiano, italian pop] ... 0.169 1.031 0.614 \n", "1 [australian hip hop] ... -0.695 0.808 0.345 \n", "2 [pop] ... -0.892 0.189 0.520 \n", "3 [pop, uk pop] ... 0.829 1.631 1.051 \n", "4 [lgbtq+ hip hop, pop rap] ... 0.323 0.436 -0.423 \n", "\n", " Speechiness Acousticness Liveness Tempo Duration (ms) Valence Chord \n", "0 -0.664 -0.486 1.234 0.378 0.289 0.327 B \n", "1 -0.683 -0.841 -0.543 1.593 -1.191 -0.162 C#/Db \n", "2 0.275 0.345 -0.669 1.491 -0.420 0.763 A \n", "3 -0.805 -0.806 1.269 0.109 0.702 0.336 B \n", "4 -0.563 -0.913 -0.910 0.919 0.298 1.669 D#/Eb \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 25, "id": "0c3a5cfc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 Not uk pop\n", "1 Not uk pop\n", "2 Not uk pop\n", "3 uk pop\n", "4 Not uk pop\n", " ... \n", "1551 uk pop\n", "1552 Not uk pop\n", "1553 Not uk pop\n", "1554 Not uk pop\n", "1555 Not uk pop\n", "Name: Genre, Length: 1545, dtype: object" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Genre\"].map(lambda g_list: \"uk pop\" if \"uk pop\" in g_list else \"Not uk pop\")" ] }, { "cell_type": "code", "execution_count": 27, "id": "426f2780", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Not uk pop 1493\n", "uk pop 52\n", "Name: Genre, dtype: int64" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Genre\"].map(lambda g_list: \"uk pop\" if \"uk pop\" in g_list else \"Not uk pop\").value_counts()" ] }, { "cell_type": "code", "execution_count": 28, "id": "cf86b28e", "metadata": {}, "outputs": [], "source": [ "y = df[\"Genre\"].map(lambda g_list: \"uk pop\" if \"uk pop\" in g_list else \"Not uk pop\")" ] }, { "cell_type": "code", "execution_count": 30, "id": "a9bc2871", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EnergyLoudness
01.0310.614
10.8080.345
20.1890.520
31.6311.051
40.436-0.423
.........
15510.4120.131
15521.4641.286
1553-0.6840.803
1554-0.517-0.270
1555-0.189-0.330
\n", "

1545 rows × 2 columns

\n", "
" ], "text/plain": [ " Energy Loudness\n", "0 1.031 0.614\n", "1 0.808 0.345\n", "2 0.189 0.520\n", "3 1.631 1.051\n", "4 0.436 -0.423\n", "... ... ...\n", "1551 0.412 0.131\n", "1552 1.464 1.286\n", "1553 -0.684 0.803\n", "1554 -0.517 -0.270\n", "1555 -0.189 -0.330\n", "\n", "[1545 rows x 2 columns]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = df[[\"Energy\",\"Loudness\"]]\n", "X" ] }, { "cell_type": "code", "execution_count": 32, "id": "a71c8d15", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression()" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.fit(X,y)" ] }, { "cell_type": "code", "execution_count": 33, "id": "31e4181d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['Not uk pop', 'Not uk pop', 'Not uk pop', ..., 'Not uk pop',\n", " 'Not uk pop', 'Not uk pop'], dtype=object)" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.predict(X)" ] }, { "cell_type": "code", "execution_count": 35, "id": "cb7cb451", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['Not uk pop', 'uk pop'], dtype=object)" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.classes_" ] }, { "cell_type": "code", "execution_count": 36, "id": "f03e6390", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[0.97295972, 0.02704028],\n", " [0.97454646, 0.02545354],\n", " [0.96085138, 0.03914862],\n", " [0.97363124, 0.02636876],\n", " [0.98131548, 0.01868452]])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.predict_proba(X.iloc[:5])" ] }, { "cell_type": "code", "execution_count": 37, "id": "262197ba", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.52899561, 0.66794587]])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.coef_" ] }, { "cell_type": "code", "execution_count": 38, "id": "60757104", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-3.44790123])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.intercept_" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }