- " <th>110</th>\n",
- " <td>2tf8ljpWPmXNIFgRVhEuJg</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Good Night - Remastered 2009</td>\n",
- " <td>0.1920</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name \\\n",
- "113 0ttMfoND7IQqFSMVOPkELC The Beatles \n",
- "147 0agoaPIy92gPZ6zRhqXarE The Beatles \n",
- "109 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n",
- "104 27YZJHyTTDIurMqDu1v2ef The Beatles \n",
- "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles \n",
- "66 4cLoL5KPfE1hAwfsO84FX7 The Beatles \n",
- "133 3ZFBeIyP41HhnALjxWy1pR The Beatles \n",
- "44 7iABnSNZciNepqGtjMQxxd The Beatles \n",
- "59 0MKqeOVdZcUFGJvWpGCKbG The Beatles \n",
- "110 2tf8ljpWPmXNIFgRVhEuJg The Beatles \n",
- "\n",
- " name valence \n",
- "113 Blue Jay Way - Remastered 2009 0.0380 \n",
- "147 Tomorrow Never Knows - Remastered 2009 0.0556 \n",
- "109 Revolution 9 - Remastered 2009 0.0963 \n",
- "104 Long, Long, Long - Remastered 2009 0.1350 \n",
- "0 Wild Honey Pie - Remastered 2009 0.1530 \n",
- "66 Because - Remastered 2009 0.1620 \n",
- "133 A Day In The Life - Remastered 2009 0.1620 \n",
- "44 Come Together - Remastered 2015 0.1780 \n",
- "59 Come Together - Remastered 2009 0.1790 \n",
- "110 Good Night - Remastered 2009 0.1920 "
- ]
- },
- "execution_count": 85,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "beatles_df = pd.DataFrame(list(tracks.find({'artist_id': beatles_id}, \n",
- " ['artist_name', 'name', 'valence'])))\n",
- "beatles_df.sort_values('valence').head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And plot the valences.."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 86,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f622af36c88>"
- ]
- },
- "execution_count": 86,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nQmCC\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622ac41668>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "beatles_df['valence'].hist()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 88,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f622af5d588>"
- ]
- },
- "execution_count": 88,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nYII=\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622ac41748>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "radiohead_df['valence'].hist()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And now plot both on the same chart, to clearly show that Radiohead songs are generally lower-valence than The Beatles."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 89,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f622af4d8d0>"
- ]
- },
- "execution_count": 89,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nke13pqTNkr4j6Yp2z7uNx8VbJH1P0sJs+9x2z7uNtbhT0ieyry+V9Gy7593CevyqpB5JT8zw/fdJ\n+vfs66skba32ms1aqddyIdJ1ktZnX39FE2+wFk3VOrj7ZnevXGGxVcU9t7/Wi9PWSrpD0pGUk0us\nllr8vqS/dveXJcnd9yaeYyq11GJc0sLs6y5JP0k4v6TcfYukfbPscp2ke7N9/0vSIjM7f7bXbFZT\nr+VCpMl93P2YpFEzO6dJ43eKei/IuknSN1o6o/apWovsv5IXuvvXU06sDWo5Lt4q6RIz22Jm3zGz\n9yabXVq11OKzkj5qZs9J+jdJf5pobp1oer1+oioLwWZ98HQtFyJN38dOsM/JruYLssxslaRf1kQc\nU0Sz1sImrvL6gqQbqjynCGo5Lk7VRATzLklLJD1mZm+vrNwLpJZafETSPe7+hex6mA2auL/UXFT3\nRZ7NWqnv1sSBWHGhpOen7fOcpDdJk+e4L3T32f7bcTKqpQ4ys2sk3Sbp/dl/QYuoWi3O0sQvasnM\nnpW0VNKDBX2ztJbjYrekB9193N3LmrgG5OI000uqllrcJOnLkuTuWyWdbmbnpplex9mtrG9mTthT\npmpWU/+upLeY2UVm9jpJH5b00LR9vqZYlV0vaWOTxu4kVetgZu+Q9CVJv+XuL7ZhjqnMWgt3f9nd\n3+Dub3b3X9DE+wvvd/dtbZpvK9Xy+zEo6WpJyhrYxZL+L+ks06ilFj+WdI0kmdmlkk4r8HsM0sRq\nfKb/pT4k6WPS5FX8o+4+MuurNfFd3BWaWF3sknRr9thnJf1m9vVpmvjXd5cmfoG72/3Oc4veza5W\nh29q4grcbZK2Sxps95zbVYtp+25UQc9+qbUWkj4v6QeSdkq6vt1zblctNHHGyxZNnBmzTdK72z3n\nFtbiPk2svI9IGpL0cUmfkPQHU/b5oibOGNpZy+8IFx8BQIHwcXYAUCA0dQAoEJo6ABQITR0ACoSm\nDgAFQlMHgAKhqQNAgdDUAaBA/h+JY+4p63w4GAAAAABJRU5ErkJggg==\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622adf0908>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "beatles_df['valence'].hist(alpha=0.5, color='blue')\n",
- "radiohead_df['valence'].hist(alpha=0.5, color='red')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Sentiment<a name=\"sentiment\"></a>\n",
- "We can now look at the sentiment scores for the lyrics. We start by looking at the most negative songs for each artist.\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 90,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>neutral</th>\n",
- " <th>pos</th>\n",
- " <th>valence</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>88</th>\n",
- " <td>3VgxeWOGdUYvtX1j8C9VyV</td>\n",
- " <td>The Beatles</td>\n",
- " <td>I'm So Tired - Remastered 2009</td>\n",
- " <td>0.892489</td>\n",
- " <td>0.146302</td>\n",
- " <td>0.107511</td>\n",
- " <td>0.6300</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>62</th>\n",
- " <td>6gLmFcRwyQCQT23Df2Re9G</td>\n",
- " <td>The Beatles</td>\n",
- " <td>I Want You (She's So Heavy) - Remastered 2009</td>\n",
- " <td>0.882642</td>\n",
- " <td>0.091819</td>\n",
- " <td>0.117358</td>\n",
- " <td>0.4160</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>107</th>\n",
- " <td>6ZrPbHp9kRmQj1tGLvna8U</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Revolution 9 - Remastered 2009</td>\n",
- " <td>0.873285</td>\n",
- " <td>0.172322</td>\n",
- " <td>0.126715</td>\n",
- " <td>0.0963</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>186</th>\n",
- " <td>3EbGioQyKyf4dycuiPOg3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Everybody's Trying To Be My Baby - Remastered ...</td>\n",
- " <td>0.866985</td>\n",
- " <td>0.914332</td>\n",
- " <td>0.133015</td>\n",
- " <td>0.9370</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>16</th>\n",
- " <td>79QDgDoBbS7pCrOjIH7ByA</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Everybody’s Trying To Be My Baby - Live / Bonu...</td>\n",
- " <td>0.866985</td>\n",
- " <td>0.914332</td>\n",
- " <td>0.133015</td>\n",
- " <td>0.6390</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>53</th>\n",
- " <td>4311wT21Et0q3vepFwXjTu</td>\n",
- " <td>The Beatles</td>\n",
- " <td>One After 909 - Remastered 2009</td>\n",
- " <td>0.865737</td>\n",
- " <td>0.158470</td>\n",
- " <td>0.134263</td>\n",
- " <td>0.9040</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>148</th>\n",
- " <td>3QbhVaulXxTyuAxHY3Pa5N</td>\n",
- " <td>The Beatles</td>\n",
- " <td>You Won't See Me - Remastered 2009</td>\n",
- " <td>0.864585</td>\n",
- " <td>0.247226</td>\n",
- " <td>0.135415</td>\n",
- " <td>0.4620</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>195</th>\n",
- " <td>3Aqo28W4LLAolYpN3duVJl</td>\n",
- " <td>The Beatles</td>\n",
- " <td>I'll Cry Instead - Remastered 2009</td>\n",
- " <td>0.863772</td>\n",
- " <td>0.160516</td>\n",
- " <td>0.136228</td>\n",
- " <td>0.9610</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>92</th>\n",
- " <td>3OSi8ehmSWLTD5KatlzX8r</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Don't Pass Me By - Remastered 2009</td>\n",
- " <td>0.857831</td>\n",
- " <td>0.120676</td>\n",
- " <td>0.142169</td>\n",
- " <td>0.9480</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>134</th>\n",
- " <td>3wAOX1N5M0ta3QNsokmhJV</td>\n",
- " <td>The Beatles</td>\n",
- " <td>I'm Only Sleeping - Remastered 2009</td>\n",
- " <td>0.857651</td>\n",
- " <td>0.269800</td>\n",
- " <td>0.142349</td>\n",
- " <td>0.7000</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name \\\n",
- "88 3VgxeWOGdUYvtX1j8C9VyV The Beatles \n",
- "62 6gLmFcRwyQCQT23Df2Re9G The Beatles \n",
- "107 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n",
- "186 3EbGioQyKyf4dycuiPOg3k The Beatles \n",
- "16 79QDgDoBbS7pCrOjIH7ByA The Beatles \n",
- "53 4311wT21Et0q3vepFwXjTu The Beatles \n",
- "148 3QbhVaulXxTyuAxHY3Pa5N The Beatles \n",
- "195 3Aqo28W4LLAolYpN3duVJl The Beatles \n",
- "92 3OSi8ehmSWLTD5KatlzX8r The Beatles \n",
- "134 3wAOX1N5M0ta3QNsokmhJV The Beatles \n",
- "\n",
- " name neg neutral \\\n",
- "88 I'm So Tired - Remastered 2009 0.892489 0.146302 \n",
- "62 I Want You (She's So Heavy) - Remastered 2009 0.882642 0.091819 \n",
- "107 Revolution 9 - Remastered 2009 0.873285 0.172322 \n",
- "186 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.914332 \n",
- "16 Everybody’s Trying To Be My Baby - Live / Bonu... 0.866985 0.914332 \n",
- "53 One After 909 - Remastered 2009 0.865737 0.158470 \n",
- "148 You Won't See Me - Remastered 2009 0.864585 0.247226 \n",
- "195 I'll Cry Instead - Remastered 2009 0.863772 0.160516 \n",
- "92 Don't Pass Me By - Remastered 2009 0.857831 0.120676 \n",
- "134 I'm Only Sleeping - Remastered 2009 0.857651 0.269800 \n",
- "\n",
- " pos valence \n",
- "88 0.107511 0.6300 \n",
- "62 0.117358 0.4160 \n",
- "107 0.126715 0.0963 \n",
- "186 0.133015 0.9370 \n",
- "16 0.133015 0.6390 \n",
- "53 0.134263 0.9040 \n",
- "148 0.135415 0.4620 \n",
- "195 0.136228 0.9610 \n",
- "92 0.142169 0.9480 \n",
- "134 0.142349 0.7000 "
- ]
- },
- "execution_count": 90,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n",
- " 'artist_id': beatles_id}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'neutral': '$sentiment.probability.neutral',\n",
- " 'pos': '$sentiment.probability.pos'}}\n",
- "]\n",
- "beatles_df = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "beatles_df.sort_values('neg', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 91,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>neutral</th>\n",
- " <th>pos</th>\n",
- " <th>valence</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>101</th>\n",
- " <td>11qDTSr3Dj4TkPnBcIOqEJ</td>\n",
- " <td>Radiohead</td>\n",
- " <td>Vegetable</td>\n",
- " <td>0.883291</td>\n",
- " <td>0.170371</td>\n",
- " <td>0.116709</td>\n",
- " <td>0.399</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>49</th>\n",
- " <td>38WL6GlG9NHFiQS6JxV84r</td>\n",
- " <td>Radiohead</td>\n",
- " <td>Myxomatosis</td>\n",
- " <td>0.864921</td>\n",
- " <td>0.261355</td>\n",
- " <td>0.135079</td>\n",
- " <td>0.560</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>97</th>\n",
- " <td>2zYmvi3w2T8a9Ckrv21bvW</td>\n",
- " <td>Radiohead</td>\n",
- " <td>Stop Whispering</td>\n",
- " <td>0.855982</td>\n",
- " <td>0.188600</td>\n",
- " <td>0.144018</td>\n",
- " <td>0.279</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>34</th>\n",
- " <td>1w8QCSDH4QobcQeT4uMKLm</td>\n",
- " <td>Radiohead</td>\n",
- " <td>4 Minute Warning</td>\n",
- " <td>0.854820</td>\n",
- " <td>0.516574</td>\n",
- " <td>0.145180</td>\n",
- " <td>0.219</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>83</th>\n",
- " <td>3aDUSpF3LexOr1lFKvPV2h</td>\n",
- " <td>Radiohead</td>\n",
- " <td>The Bends</td>\n",
- " <td>0.854244</td>\n",
- " <td>0.533823</td>\n",
- " <td>0.145756</td>\n",
- " <td>0.315</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>103</th>\n",
- " <td>48IEDejXX5LH8TAC3VIGpc</td>\n",
- " <td>Radiohead</td>\n",
- " <td>I Can't</td>\n",
- " <td>0.849730</td>\n",
- " <td>0.265375</td>\n",
- " <td>0.150270</td>\n",
- " <td>0.269</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>75</th>\n",
- " <td>3SVAN3BRByDmHOhKyIDxfC</td>\n",
- " <td>Radiohead</td>\n",
- " <td>Karma Police</td>\n",
- " <td>0.846129</td>\n",
- " <td>0.100438</td>\n",
- " <td>0.153871</td>\n",
- " <td>0.311</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>89</th>\n",
- " <td>4dPKQxaraW6CG1rTBzV6DW</td>\n",
- " <td>Radiohead</td>\n",
- " <td>My Iron Lung</td>\n",
- " <td>0.845080</td>\n",
- " <td>0.190863</td>\n",
- " <td>0.154920</td>\n",
- " <td>0.643</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>24</th>\n",
- " <td>5SdmtFbNOD7Qej6jFCHkOM</td>\n",
- " <td>Radiohead</td>\n",
- " <td>Faust Arp</td>\n",
- " <td>0.838532</td>\n",
- " <td>0.167778</td>\n",
- " <td>0.161468</td>\n",
- " <td>0.224</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>46</th>\n",
- " <td>77SPrxY5gn6VPrKPGrfLnM</td>\n",
- " <td>Radiohead</td>\n",
- " <td>There, There</td>\n",
- " <td>0.835541</td>\n",
- " <td>0.135951</td>\n",
- " <td>0.164459</td>\n",
- " <td>0.726</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name name neg neutral \\\n",
- "101 11qDTSr3Dj4TkPnBcIOqEJ Radiohead Vegetable 0.883291 0.170371 \n",
- "49 38WL6GlG9NHFiQS6JxV84r Radiohead Myxomatosis 0.864921 0.261355 \n",
- "97 2zYmvi3w2T8a9Ckrv21bvW Radiohead Stop Whispering 0.855982 0.188600 \n",
- "34 1w8QCSDH4QobcQeT4uMKLm Radiohead 4 Minute Warning 0.854820 0.516574 \n",
- "83 3aDUSpF3LexOr1lFKvPV2h Radiohead The Bends 0.854244 0.533823 \n",
- "103 48IEDejXX5LH8TAC3VIGpc Radiohead I Can't 0.849730 0.265375 \n",
- "75 3SVAN3BRByDmHOhKyIDxfC Radiohead Karma Police 0.846129 0.100438 \n",
- "89 4dPKQxaraW6CG1rTBzV6DW Radiohead My Iron Lung 0.845080 0.190863 \n",
- "24 5SdmtFbNOD7Qej6jFCHkOM Radiohead Faust Arp 0.838532 0.167778 \n",
- "46 77SPrxY5gn6VPrKPGrfLnM Radiohead There, There 0.835541 0.135951 \n",
- "\n",
- " pos valence \n",
- "101 0.116709 0.399 \n",
- "49 0.135079 0.560 \n",
- "97 0.144018 0.279 \n",
- "34 0.145180 0.219 \n",
- "83 0.145756 0.315 \n",
- "103 0.150270 0.269 \n",
- "75 0.153871 0.311 \n",
- "89 0.154920 0.643 \n",
- "24 0.161468 0.224 \n",
- "46 0.164459 0.726 "
- ]
- },
- "execution_count": 91,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n",
- " 'artist_id': radiohead_id}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'neutral': '$sentiment.probability.neutral',\n",
- " 'pos': '$sentiment.probability.pos'}}\n",
- "]\n",
- "radiohead_df = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "radiohead_df.sort_values('neg', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Plot the valence/negativity scatter plot, using blue for The Beatles and red for Radiohead.\n",
- "\n",
- "If valence and negativity are correlated, I'd expect to see a trend from high negativity/low valence to low negativity/high valence."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 92,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622ac3f978>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "plt.scatter(beatles_df['valence'], beatles_df['neg'], color='blue')\n",
- "plt.scatter(radiohead_df['valence'], radiohead_df['neg'], color='red')\n",
- "plt.xlabel('Valence')\n",
- "plt.ylabel('Sentiment negativity')\n",
- "plt.show()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Neutrality, I think, is to do with the confidence in the classification."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 93,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622ac00198>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "plt.scatter(beatles_df['neutral'], beatles_df['neg'], color='blue')\n",
- "plt.scatter(radiohead_df['neutral'], radiohead_df['neg'], color='red')\n",
- "plt.xlabel('Sentiment neutrality')\n",
- "plt.ylabel('Sentiment negativity')\n",
- "plt.show()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This plot shows that most songs have a low neutrality, so express a clear sentiment in the lyrics. Let's plot the distribution of \"neutral\" scores to highlight this."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 95,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f622ae7f978>"
- ]
- },
- "execution_count": 95,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nk/SS1tcDkh7t4vq6xt03SHpigV3OlvTN1r4/lrTCzI5f7H47PfDnehPW/kNsZh93f0HSpJkd0+F1\n9UKRLGa7QNIPOrqi3lk0i9Y/UVe6+w3dXFgPFHlc/LqkU8xsg5n9yMze2bXVdVeRLD4v6YNm9oik\n6yV9oktry83+WT2qAheInf60zCJvwtp/H5tjn35Q+A1pZvYBSW/UVMXTjxbMwsxM0pcknb/IMf2g\nyONiuaZqnd+RNCjpP83sddNX/H2kSBbvl3SZu3+p9Z6fyyW9ruMry0/heTJbp6/wt2rqATptpaY+\nUG22RySdKM28hv8l7r7QP2WWqiJZyMzOkHSRpHe3/lnbjxbL4ihN/SVumNlDkk6XdE2fPnFb5HGx\nVdI17r7P3Zuaep/Lq7uzvK4qksUFkr4nSe6+UdKhZvbS7iwvK1vVmpstc86T/XV64P9U0slmdpKZ\nHSLpfZKu3W+f6xRXcudJuqXDa+qVRbMwszdI+rqk97j7zh6ssVsWzMLdn3T349z9Ve7+q5p6PuPd\n7n5Hj9bbSUX+jlwt6e2S1Bpur5b0866usjuKZPGwpDMkycxOlfQrffychmn+f9leK+lD0synG0y6\n+47F7rCjlY7P8yYsM/u8pJ+6+/WSLpX0L2a2RdJOTf1P7jsFs/hbSUdIurJVazzs7uk/47bHCmbx\nokPUp5VOkSzc/UYz+30zu1vS85I+24//Ci74uPispH80s09r6gnc8+e/x6XLzL4tabWkY81sXNLF\nkg7R1MfUfMPdbzCzs8zsQUl7JH240P22XtYDAOhz/BJzAKgIBj4AVAQDHwAqgoEPABXBwAeAimDg\nA0BFMPABoCIY+ABQEf8PYDmDh24027cAAAAASUVORK5CYII=\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622b052438>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "beatles_df['neutral'].hist(alpha=0.5, color='blue')\n",
- "radiohead_df['neutral'].hist(alpha=0.5, color='red')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Gloom index<a name=\"gloomindex\"></a>\n",
- "Let's recreate the \"gloom index\" idea from the original post and see what it tells us. Bear in mind that I'm using the sentiment negativity score, not the fraction of \"sad\" words.\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 97,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>gloom</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>279</th>\n",
- " <td>66cuLvkHsW7dNkfNk6gQP9</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.505262</td>\n",
- " <td>1.991725</td>\n",
- " <td>A Wolf At the Door</td>\n",
- " <td>0.793363</td>\n",
- " <td>0.3630</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>5</th>\n",
- " <td>0GRplBEB2FWCKutwMmS6nY</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.475037</td>\n",
- " <td>1.853118</td>\n",
- " <td>Ticket To Ride - Live / Remastered</td>\n",
- " <td>0.825439</td>\n",
- " <td>0.4050</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>252</th>\n",
- " <td>5SdmtFbNOD7Qej6jFCHkOM</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.398920</td>\n",
- " <td>1.411166</td>\n",
- " <td>Faust Arp</td>\n",
- " <td>0.838532</td>\n",
- " <td>0.2240</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>89</th>\n",
- " <td>3VgxeWOGdUYvtX1j8C9VyV</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.393697</td>\n",
- " <td>1.708599</td>\n",
- " <td>I'm So Tired - Remastered 2009</td>\n",
- " <td>0.892489</td>\n",
- " <td>0.6300</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>108</th>\n",
- " <td>6ZrPbHp9kRmQj1tGLvna8U</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.270327</td>\n",
- " <td>0.874479</td>\n",
- " <td>Revolution 9 - Remastered 2009</td>\n",
- " <td>0.873285</td>\n",
- " <td>0.0963</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>74</th>\n",
- " <td>5H9q6ctIlamkqukdTrNt3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.261539</td>\n",
- " <td>2.616693</td>\n",
- " <td>Her Majesty - Remastered 2009</td>\n",
- " <td>0.556608</td>\n",
- " <td>0.4900</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>311</th>\n",
- " <td>3aDUSpF3LexOr1lFKvPV2h</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.239768</td>\n",
- " <td>1.100731</td>\n",
- " <td>The Bends</td>\n",
- " <td>0.854244</td>\n",
- " <td>0.3150</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>24</th>\n",
- " <td>0mNQUZEATk2uItMUtiLWK5</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.213645</td>\n",
- " <td>1.615224</td>\n",
- " <td>A Hard Day's Night - Remastered 2015</td>\n",
- " <td>0.833309</td>\n",
- " <td>0.7520</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>112</th>\n",
- " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.212148</td>\n",
- " <td>0.799772</td>\n",
- " <td>Blue Jay Way - Remastered 2009</td>\n",
- " <td>0.812490</td>\n",
- " <td>0.0380</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>161</th>\n",
- " <td>5ou2BiQ9FxIYkxsYvYHpAT</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.210378</td>\n",
- " <td>1.648037</td>\n",
- " <td>Help! - Remastered 2009</td>\n",
- " <td>0.823915</td>\n",
- " <td>0.7610</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name gloom lyrical_density \\\n",
- "279 66cuLvkHsW7dNkfNk6gQP9 Radiohead 1.505262 1.991725 \n",
- "5 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n",
- "252 5SdmtFbNOD7Qej6jFCHkOM Radiohead 1.398920 1.411166 \n",
- "89 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n",
- "108 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n",
- "74 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n",
- "311 3aDUSpF3LexOr1lFKvPV2h Radiohead 1.239768 1.100731 \n",
- "24 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n",
- "112 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n",
- "161 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n",
- "\n",
- " name neg valence \n",
- "279 A Wolf At the Door 0.793363 0.3630 \n",
- "5 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n",
- "252 Faust Arp 0.838532 0.2240 \n",
- "89 I'm So Tired - Remastered 2009 0.892489 0.6300 \n",
- "108 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
- "74 Her Majesty - Remastered 2009 0.556608 0.4900 \n",
- "311 The Bends 0.854244 0.3150 \n",
- "24 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n",
- "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
- "161 Help! - Remastered 2009 0.823915 0.7610 "
- ]
- },
- "execution_count": 97,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True}}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'lyrical_density': '$lyrical_density',\n",
- " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n",
- " {'$multiply': ['$sentiment.probability.neg', \n",
- " {'$add': ['$lyrical_density', 1]}]}]}, \n",
- " 2]}}}]\n",
- "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "results.sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Interestingly, the gloomiest songs seem pretty evenly spread between Radiohead and The Beatles."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 471,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>gloom</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>61</th>\n",
- " <td>66cuLvkHsW7dNkfNk6gQP9</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.505262</td>\n",
- " <td>1.991725</td>\n",
- " <td>A Wolf At the Door</td>\n",
- " <td>0.793363</td>\n",
- " <td>0.3630</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>43</th>\n",
- " <td>5SdmtFbNOD7Qej6jFCHkOM</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.398920</td>\n",
- " <td>1.411166</td>\n",
- " <td>Faust Arp</td>\n",
- " <td>0.838532</td>\n",
- " <td>0.2240</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9</th>\n",
- " <td>3aDUSpF3LexOr1lFKvPV2h</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.239768</td>\n",
- " <td>1.100731</td>\n",
- " <td>The Bends</td>\n",
- " <td>0.854244</td>\n",
- " <td>0.3150</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>34</th>\n",
- " <td>0eZN5WsQfmNFICHuw59Zfz</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.150902</td>\n",
- " <td>0.705463</td>\n",
- " <td>Glass Eyes</td>\n",
- " <td>0.800195</td>\n",
- " <td>0.0629</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>20</th>\n",
- " <td>3ovbSnT5NNhl1gzMcw1NRZ</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.142115</td>\n",
- " <td>1.151468</td>\n",
- " <td>Thinking About You</td>\n",
- " <td>0.791660</td>\n",
- " <td>0.4190</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>11</th>\n",
- " <td>045sp2JToyTaaKyXkGejPy</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.090813</td>\n",
- " <td>0.581341</td>\n",
- " <td>Fake Plastic Trees</td>\n",
- " <td>0.827542</td>\n",
- " <td>0.1270</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>24</th>\n",
- " <td>4D6ZExVvYLZxhcAvifX5px</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.074047</td>\n",
- " <td>0.749795</td>\n",
- " <td>Prove Yourself</td>\n",
- " <td>0.815006</td>\n",
- " <td>0.2780</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>13</th>\n",
- " <td>4SE81CrzH0qPA8KHqM9Syz</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.064914</td>\n",
- " <td>0.856048</td>\n",
- " <td>Just</td>\n",
- " <td>0.809154</td>\n",
- " <td>0.3720</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>4</th>\n",
- " <td>4aOAzvRdOsZSwZIgwcdeL0</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.063868</td>\n",
- " <td>0.524102</td>\n",
- " <td>Let Down</td>\n",
- " <td>0.825887</td>\n",
- " <td>0.1310</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>23</th>\n",
- " <td>11qDTSr3Dj4TkPnBcIOqEJ</td>\n",
- " <td>Radiohead</td>\n",
- " <td>1.056187</td>\n",
- " <td>0.711071</td>\n",
- " <td>Vegetable</td>\n",
- " <td>0.883291</td>\n",
- " <td>0.3990</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name gloom lyrical_density \\\n",
- "61 66cuLvkHsW7dNkfNk6gQP9 Radiohead 1.505262 1.991725 \n",
- "43 5SdmtFbNOD7Qej6jFCHkOM Radiohead 1.398920 1.411166 \n",
- "9 3aDUSpF3LexOr1lFKvPV2h Radiohead 1.239768 1.100731 \n",
- "34 0eZN5WsQfmNFICHuw59Zfz Radiohead 1.150902 0.705463 \n",
- "20 3ovbSnT5NNhl1gzMcw1NRZ Radiohead 1.142115 1.151468 \n",
- "11 045sp2JToyTaaKyXkGejPy Radiohead 1.090813 0.581341 \n",
- "24 4D6ZExVvYLZxhcAvifX5px Radiohead 1.074047 0.749795 \n",
- "13 4SE81CrzH0qPA8KHqM9Syz Radiohead 1.064914 0.856048 \n",
- "4 4aOAzvRdOsZSwZIgwcdeL0 Radiohead 1.063868 0.524102 \n",
- "23 11qDTSr3Dj4TkPnBcIOqEJ Radiohead 1.056187 0.711071 \n",
- "\n",
- " name neg valence \n",
- "61 A Wolf At the Door 0.793363 0.3630 \n",
- "43 Faust Arp 0.838532 0.2240 \n",
- "9 The Bends 0.854244 0.3150 \n",
- "34 Glass Eyes 0.800195 0.0629 \n",
- "20 Thinking About You 0.791660 0.4190 \n",
- "11 Fake Plastic Trees 0.827542 0.1270 \n",
- "24 Prove Yourself 0.815006 0.2780 \n",
- "13 Just 0.809154 0.3720 \n",
- "4 Let Down 0.825887 0.1310 \n",
- "23 Vegetable 0.883291 0.3990 "
- ]
- },
- "execution_count": 471,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n",
- " 'artist_id': radiohead_id}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'lyrical_density': '$lyrical_density',\n",
- " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n",
- " {'$multiply': ['$sentiment.probability.neg', \n",
- " {'$add': ['$lyrical_density', 1]}]}]}, \n",
- " 2]}}}]\n",
- "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "results.sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "These, in theory, are the most depressing Radiohead songs. For information, the [fitteR happieR songs](http://rcharlie.com/2017-02-16-fitteR-happieR/) were:\n",
- "\n",
- " | gloom_index| track_name\n",
- "--|------------|--------------------------|\n",
- "1 | 1.00 | True Love Waits\n",
- "2 | 6.46 | Give Up The Ghost\n",
- "3 | 9.35 | Motion Picture Soundtrack\n",
- "4 | 13.70 | Let Down\n",
- "5 | 14.15 | Pyramid Song\n",
- "6 | 14.57 | Exit Music (For a Film)\n",
- "7 | 15.29 | Dollars & Cents\n",
- "8 | 15.69 | High And Dry\n",
- "9 | 15.80 | Tinker Tailor Soldier ...\n",
- "10| 16.03 | Videotape\n",
- "\n",
- "...which has only one song in common, \"Let Down\". I'm not convinced by this analysis.\n",
- "\n",
- "What does the same analysis say for The Beatles?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 98,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>gloom</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>4</th>\n",
- " <td>0GRplBEB2FWCKutwMmS6nY</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.475037</td>\n",
- " <td>1.853118</td>\n",
- " <td>Ticket To Ride - Live / Remastered</td>\n",
- " <td>0.825439</td>\n",
- " <td>0.4050</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>88</th>\n",
- " <td>3VgxeWOGdUYvtX1j8C9VyV</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.393697</td>\n",
- " <td>1.708599</td>\n",
- " <td>I'm So Tired - Remastered 2009</td>\n",
- " <td>0.892489</td>\n",
- " <td>0.6300</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>107</th>\n",
- " <td>6ZrPbHp9kRmQj1tGLvna8U</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.270327</td>\n",
- " <td>0.874479</td>\n",
- " <td>Revolution 9 - Remastered 2009</td>\n",
- " <td>0.873285</td>\n",
- " <td>0.0963</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>73</th>\n",
- " <td>5H9q6ctIlamkqukdTrNt3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.261539</td>\n",
- " <td>2.616693</td>\n",
- " <td>Her Majesty - Remastered 2009</td>\n",
- " <td>0.556608</td>\n",
- " <td>0.4900</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>23</th>\n",
- " <td>0mNQUZEATk2uItMUtiLWK5</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.213645</td>\n",
- " <td>1.615224</td>\n",
- " <td>A Hard Day's Night - Remastered 2015</td>\n",
- " <td>0.833309</td>\n",
- " <td>0.7520</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>111</th>\n",
- " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.212148</td>\n",
- " <td>0.799772</td>\n",
- " <td>Blue Jay Way - Remastered 2009</td>\n",
- " <td>0.812490</td>\n",
- " <td>0.0380</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>160</th>\n",
- " <td>5ou2BiQ9FxIYkxsYvYHpAT</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.210378</td>\n",
- " <td>1.648037</td>\n",
- " <td>Help! - Remastered 2009</td>\n",
- " <td>0.823915</td>\n",
- " <td>0.7610</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>10</th>\n",
- " <td>1alcPfZWUHh01l4Fnoo5Jt</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.203416</td>\n",
- " <td>1.332561</td>\n",
- " <td>Help! - Live / Remastered</td>\n",
- " <td>0.823915</td>\n",
- " <td>0.5150</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>220</th>\n",
- " <td>2Iccm3cKBQHWt5yk0yX9nh</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.200158</td>\n",
- " <td>1.530785</td>\n",
- " <td>Please Please Me - Remastered 2009</td>\n",
- " <td>0.833068</td>\n",
- " <td>0.7080</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>27</th>\n",
- " <td>1dfuJYDSIc41cw5RPsaCF1</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.187438</td>\n",
- " <td>1.651824</td>\n",
- " <td>Help! - Remastered 2015</td>\n",
- " <td>0.823915</td>\n",
- " <td>0.8100</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name gloom lyrical_density \\\n",
- "4 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n",
- "88 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n",
- "107 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n",
- "73 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n",
- "23 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n",
- "111 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n",
- "160 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n",
- "10 1alcPfZWUHh01l4Fnoo5Jt The Beatles 1.203416 1.332561 \n",
- "220 2Iccm3cKBQHWt5yk0yX9nh The Beatles 1.200158 1.530785 \n",
- "27 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.187438 1.651824 \n",
- "\n",
- " name neg valence \n",
- "4 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n",
- "88 I'm So Tired - Remastered 2009 0.892489 0.6300 \n",
- "107 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
- "73 Her Majesty - Remastered 2009 0.556608 0.4900 \n",
- "23 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n",
- "111 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
- "160 Help! - Remastered 2009 0.823915 0.7610 \n",
- "10 Help! - Live / Remastered 0.823915 0.5150 \n",
- "220 Please Please Me - Remastered 2009 0.833068 0.7080 \n",
- "27 Help! - Remastered 2015 0.823915 0.8100 "
- ]
- },
- "execution_count": 98,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n",
- " 'artist_id': beatles_id}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'lyrical_density': '$lyrical_density',\n",
- " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n",
- " {'$multiply': ['$sentiment.probability.neg', \n",
- " {'$add': ['$lyrical_density', 1]}]}]}, \n",
- " 2]}}}]\n",
- "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "results.sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Revised gloom index<a name=\"revisedgloomindex\"></a>\n",
- "I don't like the calculation for gloom index. If the point of \"lyrical density\" is to scale the gloom index between valence and sentiment, depending on how many words are in the song. Let's do that weighting properly.\n",
- "\n",
- "$$gloom = \\frac{(1 - normedLyricDensity)\\times(1 - valence) + normedLyricDensity \\times negativity }{2}$$\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 99,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>258</th>\n",
- " <td>4gq2bc2770XvbJdEtfUbmw</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.201546</td>\n",
- " <td>Go Slowly</td>\n",
- " <td>0.723774</td>\n",
- " <td>0.0453</td>\n",
- " <td>0.039619</td>\n",
- " <td>0.472775</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>309</th>\n",
- " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.248061</td>\n",
- " <td>The Tourist</td>\n",
- " <td>0.667864</td>\n",
- " <td>0.0400</td>\n",
- " <td>0.056658</td>\n",
- " <td>0.471724</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>246</th>\n",
- " <td>01ZpFhrMMqKPVCwyqXneVp</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.218723</td>\n",
- " <td>True Love Waits</td>\n",
- " <td>0.532206</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.045911</td>\n",
- " <td>0.471229</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>268</th>\n",
- " <td>5olWalQH1oVza5D6xJg4oX</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.216752</td>\n",
- " <td>Sail To The Moon</td>\n",
- " <td>0.605798</td>\n",
- " <td>0.0458</td>\n",
- " <td>0.045189</td>\n",
- " <td>0.469228</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>272</th>\n",
- " <td>53RYTfkLiyZuUZHwJC3Wmm</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.276367</td>\n",
- " <td>We Suck Young Blood</td>\n",
- " <td>0.535358</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.067027</td>\n",
- " <td>0.466795</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>205</th>\n",
- " <td>4sLGaMl33I6mcsk7u4xHAU</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.146307</td>\n",
- " <td>Codex</td>\n",
- " <td>0.637942</td>\n",
- " <td>0.0629</td>\n",
- " <td>0.019385</td>\n",
- " <td>0.465650</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>112</th>\n",
- " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.799772</td>\n",
- " <td>Blue Jay Way - Remastered 2009</td>\n",
- " <td>0.812490</td>\n",
- " <td>0.0380</td>\n",
- " <td>0.258755</td>\n",
- " <td>0.461657</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>297</th>\n",
- " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.349157</td>\n",
- " <td>Motion Picture Soundtrack</td>\n",
- " <td>0.576808</td>\n",
- " <td>0.0425</td>\n",
- " <td>0.093690</td>\n",
- " <td>0.460916</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>256</th>\n",
- " <td>3uxhyRdWVXp7GQvERQl6fA</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.382643</td>\n",
- " <td>Videotape</td>\n",
- " <td>0.652962</td>\n",
- " <td>0.0468</td>\n",
- " <td>0.105957</td>\n",
- " <td>0.460694</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>318</th>\n",
- " <td>7wB2VenWR6rchtLwawreIg</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.359311</td>\n",
- " <td>Bullet Proof ... I Wish I Was</td>\n",
- " <td>0.804636</td>\n",
- " <td>0.0781</td>\n",
- " <td>0.097410</td>\n",
- " <td>0.455239</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "258 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n",
- "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
- "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
- "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
- "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
- "205 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n",
- "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
- "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
- "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
- "318 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n",
- "\n",
- " name neg valence scaled_ld gloom \n",
- "258 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n",
- "309 The Tourist 0.667864 0.0400 0.056658 0.471724 \n",
- "246 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n",
- "268 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n",
- "272 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n",
- "205 Codex 0.637942 0.0629 0.019385 0.465650 \n",
- "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 0.258755 0.461657 \n",
- "297 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n",
- "256 Videotape 0.652962 0.0468 0.105957 0.460694 \n",
- "318 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 "
- ]
- },
- "execution_count": 99,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True}}},\n",
- " {'$project': {'artist_name': '$artist_name',\n",
- " 'name': '$name',\n",
- " 'valence': '$valence',\n",
- " 'neg': '$sentiment.probability.neg',\n",
- " 'lyrical_density': '$lyrical_density'}}]\n",
- "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n",
- "\n",
- "# Use pandas to scale the lyrical density values to the range 0 -1\n",
- "results['scaled_ld'] = (results['lyrical_density'] - results['lyrical_density'].min()) / \\\n",
- " (results['lyrical_density'].max() - results['lyrical_density'].min())\n",
- "\n",
- "# Define a Python function to calculate the revised gloom index\n",
- "def gloom(row):\n",
- " w_valence = (1 - row['valence']) * (1 - row['scaled_ld'])\n",
- " w_neg = row['neg'] * row['scaled_ld']\n",
- " return (w_valence + w_neg) / 2\n",
- "\n",
- "# Apply this function to create a new column\n",
- "results['gloom'] = results.apply(gloom, axis=1)\n",
- "\n",
- "# Push the results back into the database\n",
- "for row in results.itertuples():\n",
- " tracks.update_one({'_id': row[1]}, {'$set': {'gloom': row.gloom}})\n",
- "\n",
- "results.sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 100,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>258</th>\n",
- " <td>4gq2bc2770XvbJdEtfUbmw</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.201546</td>\n",
- " <td>Go Slowly</td>\n",
- " <td>0.723774</td>\n",
- " <td>0.0453</td>\n",
- " <td>0.039619</td>\n",
- " <td>0.472775</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>309</th>\n",
- " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.248061</td>\n",
- " <td>The Tourist</td>\n",
- " <td>0.667864</td>\n",
- " <td>0.0400</td>\n",
- " <td>0.056658</td>\n",
- " <td>0.471724</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>246</th>\n",
- " <td>01ZpFhrMMqKPVCwyqXneVp</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.218723</td>\n",
- " <td>True Love Waits</td>\n",
- " <td>0.532206</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.045911</td>\n",
- " <td>0.471229</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>268</th>\n",
- " <td>5olWalQH1oVza5D6xJg4oX</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.216752</td>\n",
- " <td>Sail To The Moon</td>\n",
- " <td>0.605798</td>\n",
- " <td>0.0458</td>\n",
- " <td>0.045189</td>\n",
- " <td>0.469228</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>272</th>\n",
- " <td>53RYTfkLiyZuUZHwJC3Wmm</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.276367</td>\n",
- " <td>We Suck Young Blood</td>\n",
- " <td>0.535358</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.067027</td>\n",
- " <td>0.466795</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>205</th>\n",
- " <td>4sLGaMl33I6mcsk7u4xHAU</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.146307</td>\n",
- " <td>Codex</td>\n",
- " <td>0.637942</td>\n",
- " <td>0.0629</td>\n",
- " <td>0.019385</td>\n",
- " <td>0.465650</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>297</th>\n",
- " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.349157</td>\n",
- " <td>Motion Picture Soundtrack</td>\n",
- " <td>0.576808</td>\n",
- " <td>0.0425</td>\n",
- " <td>0.093690</td>\n",
- " <td>0.460916</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>256</th>\n",
- " <td>3uxhyRdWVXp7GQvERQl6fA</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.382643</td>\n",
- " <td>Videotape</td>\n",
- " <td>0.652962</td>\n",
- " <td>0.0468</td>\n",
- " <td>0.105957</td>\n",
- " <td>0.460694</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>318</th>\n",
- " <td>7wB2VenWR6rchtLwawreIg</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.359311</td>\n",
- " <td>Bullet Proof ... I Wish I Was</td>\n",
- " <td>0.804636</td>\n",
- " <td>0.0781</td>\n",
- " <td>0.097410</td>\n",
- " <td>0.455239</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>289</th>\n",
- " <td>5AiNZnMDCWwujIENPj9PV9</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.489208</td>\n",
- " <td>Everything In Its Right Place</td>\n",
- " <td>0.716829</td>\n",
- " <td>0.0585</td>\n",
- " <td>0.144992</td>\n",
- " <td>0.454462</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "258 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n",
- "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
- "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
- "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
- "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
- "205 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n",
- "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
- "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
- "318 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n",
- "289 5AiNZnMDCWwujIENPj9PV9 Radiohead 0.489208 \n",
- "\n",
- " name neg valence scaled_ld gloom \n",
- "258 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n",
- "309 The Tourist 0.667864 0.0400 0.056658 0.471724 \n",
- "246 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n",
- "268 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n",
- "272 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n",
- "205 Codex 0.637942 0.0629 0.019385 0.465650 \n",
- "297 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n",
- "256 Videotape 0.652962 0.0468 0.105957 0.460694 \n",
- "318 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 \n",
- "289 Everything In Its Right Place 0.716829 0.0585 0.144992 0.454462 "
- ]
- },
- "execution_count": 100,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results[results['artist_name'] == 'Radiohead'].sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This still isn't the same as the original list, though there are now two songs in common!\n",
- "\n",
- "\n",
- " | gloom_index | track_name\n",
- "--|-------------|--------------------------\n",
- "1 | 1.00 | True Love Waits\n",
- "2 | 6.46 | Give Up The Ghost\n",
- "3 | 9.35 | Motion Picture Soundtrack\n",
- "4 | 13.70 | Let Down\n",
- "5 | 14.15 | Pyramid Song\n",
- "6 | 14.57 | Exit Music (For a Film)\n",
- "7 | 15.29 | Dollars & Cents\n",
- "8 | 15.69 | High And Dry\n",
- "9 | 15.80 | Tinker Tailor Soldier ...\n",
- "10| 16.03 | Videotape\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 101,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>112</th>\n",
- " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.799772</td>\n",
- " <td>Blue Jay Way - Remastered 2009</td>\n",
- " <td>0.812490</td>\n",
- " <td>0.0380</td>\n",
- " <td>0.258755</td>\n",
- " <td>0.461657</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>108</th>\n",
- " <td>6ZrPbHp9kRmQj1tGLvna8U</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.874479</td>\n",
- " <td>Revolution 9 - Remastered 2009</td>\n",
- " <td>0.873285</td>\n",
- " <td>0.0963</td>\n",
- " <td>0.286121</td>\n",
- " <td>0.447499</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>0</th>\n",
- " <td>2ucFulEWapRAmTn7l6f5Q7</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.169898</td>\n",
- " <td>Wild Honey Pie - Remastered 2009</td>\n",
- " <td>0.391178</td>\n",
- " <td>0.1530</td>\n",
- " <td>0.028026</td>\n",
- " <td>0.417113</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>132</th>\n",
- " <td>3ZFBeIyP41HhnALjxWy1pR</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.628310</td>\n",
- " <td>A Day In The Life - Remastered 2009</td>\n",
- " <td>0.781296</td>\n",
- " <td>0.1620</td>\n",
- " <td>0.195947</td>\n",
- " <td>0.413445</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>146</th>\n",
- " <td>0agoaPIy92gPZ6zRhqXarE</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.634931</td>\n",
- " <td>Tomorrow Never Knows - Remastered 2009</td>\n",
- " <td>0.343599</td>\n",
- " <td>0.0556</td>\n",
- " <td>0.198372</td>\n",
- " <td>0.412609</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>103</th>\n",
- " <td>27YZJHyTTDIurMqDu1v2ef</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.429399</td>\n",
- " <td>Long, Long, Long - Remastered 2009</td>\n",
- " <td>0.524122</td>\n",
- " <td>0.1350</td>\n",
- " <td>0.123084</td>\n",
- " <td>0.411522</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>65</th>\n",
- " <td>4cLoL5KPfE1hAwfsO84FX7</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.325955</td>\n",
- " <td>Because - Remastered 2009</td>\n",
- " <td>0.466254</td>\n",
- " <td>0.1620</td>\n",
- " <td>0.085191</td>\n",
- " <td>0.403165</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>66</th>\n",
- " <td>71Ij3VBYQWMrng61Ae4tBu</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.592658</td>\n",
- " <td>You Never Give Me Your Money - Remastered 2009</td>\n",
- " <td>0.753448</td>\n",
- " <td>0.2260</td>\n",
- " <td>0.182887</td>\n",
- " <td>0.385121</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>67</th>\n",
- " <td>3jPXnX4SskFgAcC4YBKOwN</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.273472</td>\n",
- " <td>Sun King - Remastered 2009</td>\n",
- " <td>0.300809</td>\n",
- " <td>0.1970</td>\n",
- " <td>0.065966</td>\n",
- " <td>0.384936</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>43</th>\n",
- " <td>7iABnSNZciNepqGtjMQxxd</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.800176</td>\n",
- " <td>Come Together - Remastered 2015</td>\n",
- " <td>0.562552</td>\n",
- " <td>0.1780</td>\n",
- " <td>0.258903</td>\n",
- " <td>0.377414</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
- "108 6ZrPbHp9kRmQj1tGLvna8U The Beatles 0.874479 \n",
- "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles 0.169898 \n",
- "132 3ZFBeIyP41HhnALjxWy1pR The Beatles 0.628310 \n",
- "146 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n",
- "103 27YZJHyTTDIurMqDu1v2ef The Beatles 0.429399 \n",
- "65 4cLoL5KPfE1hAwfsO84FX7 The Beatles 0.325955 \n",
- "66 71Ij3VBYQWMrng61Ae4tBu The Beatles 0.592658 \n",
- "67 3jPXnX4SskFgAcC4YBKOwN The Beatles 0.273472 \n",
- "43 7iABnSNZciNepqGtjMQxxd The Beatles 0.800176 \n",
- "\n",
- " name neg valence \\\n",
- "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
- "108 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
- "0 Wild Honey Pie - Remastered 2009 0.391178 0.1530 \n",
- "132 A Day In The Life - Remastered 2009 0.781296 0.1620 \n",
- "146 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n",
- "103 Long, Long, Long - Remastered 2009 0.524122 0.1350 \n",
- "65 Because - Remastered 2009 0.466254 0.1620 \n",
- "66 You Never Give Me Your Money - Remastered 2009 0.753448 0.2260 \n",
- "67 Sun King - Remastered 2009 0.300809 0.1970 \n",
- "43 Come Together - Remastered 2015 0.562552 0.1780 \n",
- "\n",
- " scaled_ld gloom \n",
- "112 0.258755 0.461657 \n",
- "108 0.286121 0.447499 \n",
- "0 0.028026 0.417113 \n",
- "132 0.195947 0.413445 \n",
- "146 0.198372 0.412609 \n",
- "103 0.123084 0.411522 \n",
- "65 0.085191 0.403165 \n",
- "66 0.182887 0.385121 \n",
- "67 0.065966 0.384936 \n",
- "43 0.258903 0.377414 "
- ]
- },
- "execution_count": 101,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results[results['artist_name'] == 'The Beatles'].sort_values('gloom', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "I don't know the Radiohead corpus, but I know some Beatles songs. _Blue Jay Way_ is pretty sad, as is _A Day in the Life_. _Revolution 9_ and _Wild Honey Pie_ are just... odd, rather than sad. It's suspicious that some obviously sad Beatles songs are missing. What does this analysis think of unequivocally sad songs like _She's Leaving Home_, _Yesterday_, and _Eleanor Rigby_?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 102,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>29</th>\n",
- " <td>63uskN0xLezVg4281wzeQn</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.005426</td>\n",
- " <td>Yesterday - Remastered 2015</td>\n",
- " <td>0.852156</td>\n",
- " <td>0.348</td>\n",
- " <td>0.334088</td>\n",
- " <td>0.359435</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>125</th>\n",
- " <td>1Ipl1kvks5s6GKn6oqgzeY</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.064324</td>\n",
- " <td>She's Leaving Home - Remastered 2009</td>\n",
- " <td>0.764553</td>\n",
- " <td>0.377</td>\n",
- " <td>0.355663</td>\n",
- " <td>0.336673</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>34</th>\n",
- " <td>0TRkjwb4uY3CHb5zhr9bBd</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.628703</td>\n",
- " <td>Eleanor Rigby - Remastered 2015</td>\n",
- " <td>0.803232</td>\n",
- " <td>0.845</td>\n",
- " <td>0.562401</td>\n",
- " <td>0.259783</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "29 63uskN0xLezVg4281wzeQn The Beatles 1.005426 \n",
- "125 1Ipl1kvks5s6GKn6oqgzeY The Beatles 1.064324 \n",
- "34 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n",
- "\n",
- " name neg valence scaled_ld \\\n",
- "29 Yesterday - Remastered 2015 0.852156 0.348 0.334088 \n",
- "125 She's Leaving Home - Remastered 2009 0.764553 0.377 0.355663 \n",
- "34 Eleanor Rigby - Remastered 2015 0.803232 0.845 0.562401 \n",
- "\n",
- " gloom \n",
- "29 0.359435 \n",
- "125 0.336673 \n",
- "34 0.259783 "
- ]
- },
- "execution_count": 102,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "slh = tracks.find_one({'ctitle': 'shes leaving home'})['_id']\n",
- "yd = tracks.find_one({'ctitle': 'yesterday'})['_id']\n",
- "er = tracks.find_one({'ctitle': 'eleanor rigby'})['_id']\n",
- "results[results['_id'].isin([slh, yd, er])].sort_values('gloom', ascending=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Glee index: anti-gloom<a name=\"gleeindex\"></a>\n",
- "Rather than looking at the saddest songs, how about using the same data to find the happiest songs?\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 103,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>84</th>\n",
- " <td>3fuEJBCK3kWnJHFTODR4cb</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.608806</td>\n",
- " <td>Ob-La-Di, Ob-La-Da - Remastered 2009</td>\n",
- " <td>0.080969</td>\n",
- " <td>0.975</td>\n",
- " <td>0.555112</td>\n",
- " <td>0.028035</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>78</th>\n",
- " <td>3TEbDhNDU4NDXq0h86nGZ7</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.008850</td>\n",
- " <td>Hey Bulldog - Remastered 2009</td>\n",
- " <td>0.239198</td>\n",
- " <td>0.942</td>\n",
- " <td>0.335342</td>\n",
- " <td>0.059382</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>220</th>\n",
- " <td>5VsIn7QQqcacePIb0vO0ow</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.465201</td>\n",
- " <td>Not A Second Time - Remastered 2009</td>\n",
- " <td>0.773805</td>\n",
- " <td>0.961</td>\n",
- " <td>0.136198</td>\n",
- " <td>0.069540</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>97</th>\n",
- " <td>4KIXWIzNcKzorNDgvMQwmD</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.631592</td>\n",
- " <td>Birthday - Remastered 2009</td>\n",
- " <td>0.373731</td>\n",
- " <td>0.916</td>\n",
- " <td>0.197149</td>\n",
- " <td>0.070560</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>210</th>\n",
- " <td>7cPPyMrSAQY7A686Cn9eUP</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.891649</td>\n",
- " <td>All My Loving - Remastered 2009</td>\n",
- " <td>0.235023</td>\n",
- " <td>0.891</td>\n",
- " <td>0.292411</td>\n",
- " <td>0.072925</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>187</th>\n",
- " <td>3EbGioQyKyf4dycuiPOg3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.438356</td>\n",
- " <td>Everybody's Trying To Be My Baby - Remastered ...</td>\n",
- " <td>0.866985</td>\n",
- " <td>0.937</td>\n",
- " <td>0.126365</td>\n",
- " <td>0.082298</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>56</th>\n",
- " <td>0cJ053ljI4BuP5P8tJnK5j</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.893485</td>\n",
- " <td>For You Blue - Remastered 2009</td>\n",
- " <td>0.471827</td>\n",
- " <td>0.958</td>\n",
- " <td>0.293083</td>\n",
- " <td>0.083988</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>216</th>\n",
- " <td>6xJSJpO6HJwHhu7UaIc8qR</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.585885</td>\n",
- " <td>Hold Me Tight - Remastered 2009</td>\n",
- " <td>0.804870</td>\n",
- " <td>0.963</td>\n",
- " <td>0.180406</td>\n",
- " <td>0.087764</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>48</th>\n",
- " <td>72Ob0wrObCXgvGYhFs8vip</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.938049</td>\n",
- " <td>Across The Universe - Remastered 2009</td>\n",
- " <td>0.295525</td>\n",
- " <td>0.862</td>\n",
- " <td>0.309408</td>\n",
- " <td>0.093370</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>141</th>\n",
- " <td>6RdvhWyzCULNTHcMbAXwXK</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.879719</td>\n",
- " <td>And Your Bird Can Sing - Remastered 2009</td>\n",
- " <td>0.582875</td>\n",
- " <td>0.966</td>\n",
- " <td>0.288041</td>\n",
- " <td>0.096049</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "84 3fuEJBCK3kWnJHFTODR4cb The Beatles 1.608806 \n",
- "78 3TEbDhNDU4NDXq0h86nGZ7 The Beatles 1.008850 \n",
- "220 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n",
- "97 4KIXWIzNcKzorNDgvMQwmD The Beatles 0.631592 \n",
- "210 7cPPyMrSAQY7A686Cn9eUP The Beatles 0.891649 \n",
- "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
- "56 0cJ053ljI4BuP5P8tJnK5j The Beatles 0.893485 \n",
- "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
- "48 72Ob0wrObCXgvGYhFs8vip The Beatles 0.938049 \n",
- "141 6RdvhWyzCULNTHcMbAXwXK The Beatles 0.879719 \n",
- "\n",
- " name neg valence \\\n",
- "84 Ob-La-Di, Ob-La-Da - Remastered 2009 0.080969 0.975 \n",
- "78 Hey Bulldog - Remastered 2009 0.239198 0.942 \n",
- "220 Not A Second Time - Remastered 2009 0.773805 0.961 \n",
- "97 Birthday - Remastered 2009 0.373731 0.916 \n",
- "210 All My Loving - Remastered 2009 0.235023 0.891 \n",
- "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
- "56 For You Blue - Remastered 2009 0.471827 0.958 \n",
- "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
- "48 Across The Universe - Remastered 2009 0.295525 0.862 \n",
- "141 And Your Bird Can Sing - Remastered 2009 0.582875 0.966 \n",
- "\n",
- " scaled_ld gloom \n",
- "84 0.555112 0.028035 \n",
- "78 0.335342 0.059382 \n",
- "220 0.136198 0.069540 \n",
- "97 0.197149 0.070560 \n",
- "210 0.292411 0.072925 \n",
- "187 0.126365 0.082298 \n",
- "56 0.293083 0.083988 \n",
- "216 0.180406 0.087764 \n",
- "48 0.309408 0.093370 \n",
- "141 0.288041 0.096049 "
- ]
- },
- "execution_count": 103,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results.sort_values('gloom', ascending=True).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "All the top ten most gleeful songs are from The Beatles!\n",
- "\n",
- "What about the most gleeful Radiohead songs?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 104,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>1</th>\n",
- " <td>0eECFDnWy0RdjMmJ8NOeAL</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.093389</td>\n",
- " <td>Feral</td>\n",
- " <td>0.465216</td>\n",
- " <td>0.751</td>\n",
- " <td>0.000000</td>\n",
- " <td>0.124500</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>247</th>\n",
- " <td>6dsq7Nt5mIFzvm5kIYNORy</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.674272</td>\n",
- " <td>15 Step</td>\n",
- " <td>0.835488</td>\n",
- " <td>0.848</td>\n",
- " <td>0.212783</td>\n",
- " <td>0.148717</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>274</th>\n",
- " <td>77SPrxY5gn6VPrKPGrfLnM</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.438813</td>\n",
- " <td>There, There</td>\n",
- " <td>0.835541</td>\n",
- " <td>0.726</td>\n",
- " <td>0.126532</td>\n",
- " <td>0.172527</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>269</th>\n",
- " <td>6CVdTDYoDbwYj4xn8u5Gha</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.452573</td>\n",
- " <td>Backdrifts</td>\n",
- " <td>0.821532</td>\n",
- " <td>0.724</td>\n",
- " <td>0.131573</td>\n",
- " <td>0.173889</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>255</th>\n",
- " <td>15ea10YpJIl3mJq75yzqsD</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.952216</td>\n",
- " <td>Jigsaw Falling Into Place</td>\n",
- " <td>0.757225</td>\n",
- " <td>0.818</td>\n",
- " <td>0.314597</td>\n",
- " <td>0.181482</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>263</th>\n",
- " <td>6P67UTTr5qN7XYSSlj0n6X</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.503609</td>\n",
- " <td>Paperbag Writer</td>\n",
- " <td>0.754680</td>\n",
- " <td>0.704</td>\n",
- " <td>0.150268</td>\n",
- " <td>0.182462</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>298</th>\n",
- " <td>3OsUjkcv1C1v5udFhgRSFg</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.329999</td>\n",
- " <td>Airbag</td>\n",
- " <td>0.642348</td>\n",
- " <td>0.642</td>\n",
- " <td>0.086673</td>\n",
- " <td>0.191323</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>304</th>\n",
- " <td>53aFGAl0Vebwp2bo8wtdWR</td>\n",
- " <td>Radiohead</td>\n",
- " <td>2.019892</td>\n",
- " <td>Fitter Happier</td>\n",
- " <td>0.446841</td>\n",
- " <td>0.728</td>\n",
- " <td>0.705697</td>\n",
- " <td>0.197693</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>264</th>\n",
- " <td>3STByesnbcQatiGHgwi1Tv</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.622541</td>\n",
- " <td>I Am a Wicked Child</td>\n",
- " <td>0.763706</td>\n",
- " <td>0.688</td>\n",
- " <td>0.193834</td>\n",
- " <td>0.199778</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>236</th>\n",
- " <td>3pcCifdPTc2BbqmWpEhtUd</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.439692</td>\n",
- " <td>Burn the Witch</td>\n",
- " <td>0.582602</td>\n",
- " <td>0.625</td>\n",
- " <td>0.126854</td>\n",
- " <td>0.200668</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "1 0eECFDnWy0RdjMmJ8NOeAL Radiohead 0.093389 \n",
- "247 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n",
- "274 77SPrxY5gn6VPrKPGrfLnM Radiohead 0.438813 \n",
- "269 6CVdTDYoDbwYj4xn8u5Gha Radiohead 0.452573 \n",
- "255 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n",
- "263 6P67UTTr5qN7XYSSlj0n6X Radiohead 0.503609 \n",
- "298 3OsUjkcv1C1v5udFhgRSFg Radiohead 0.329999 \n",
- "304 53aFGAl0Vebwp2bo8wtdWR Radiohead 2.019892 \n",
- "264 3STByesnbcQatiGHgwi1Tv Radiohead 0.622541 \n",
- "236 3pcCifdPTc2BbqmWpEhtUd Radiohead 0.439692 \n",
- "\n",
- " name neg valence scaled_ld gloom \n",
- "1 Feral 0.465216 0.751 0.000000 0.124500 \n",
- "247 15 Step 0.835488 0.848 0.212783 0.148717 \n",
- "274 There, There 0.835541 0.726 0.126532 0.172527 \n",
- "269 Backdrifts 0.821532 0.724 0.131573 0.173889 \n",
- "255 Jigsaw Falling Into Place 0.757225 0.818 0.314597 0.181482 \n",
- "263 Paperbag Writer 0.754680 0.704 0.150268 0.182462 \n",
- "298 Airbag 0.642348 0.642 0.086673 0.191323 \n",
- "304 Fitter Happier 0.446841 0.728 0.705697 0.197693 \n",
- "264 I Am a Wicked Child 0.763706 0.688 0.193834 0.199778 \n",
- "236 Burn the Witch 0.582602 0.625 0.126854 0.200668 "
- ]
- },
- "execution_count": 104,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results[results['artist_name'] == 'Radiohead'].sort_values('gloom', ascending=True).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Contrasting songs<a name=\"valencenegcontrast\"></a>\n",
- "Going back to the scatter plot of negativity against valence, there are some songs with a high valence (i.e. sound happy) with a high negativity (i.e. sad words). This seems unusual. What songs are they?\n",
- "\n",
- "* [Top](#top)\n",
- "\n",
- "These are the songs I mean:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 105,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622ab50c50>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "plt.scatter(beatles_df['valence'], beatles_df['neg'], color='blue')\n",
- "plt.scatter(radiohead_df['valence'], radiohead_df['neg'], color='red')\n",
- "plt.xlabel('Valence')\n",
- "plt.ylabel('Sentiment negativity')\n",
- "\n",
- "ax = plt.gca()\n",
- "circ = plt.Circle((0.9, 0.8), radius=0.15, color='g', fill=False, linewidth=5)\n",
- "ax.add_patch(circ)\n",
- "\n",
- "plt.show()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 106,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>23</th>\n",
- " <td>7pQAq14Z73YUFMtxCyt0bG</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.516618</td>\n",
- " <td>Can't Buy Me Love - Remastered 2015</td>\n",
- " <td>0.738387</td>\n",
- " <td>0.957</td>\n",
- " <td>0.521343</td>\n",
- " <td>0.202768</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>28</th>\n",
- " <td>1dfuJYDSIc41cw5RPsaCF1</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.651824</td>\n",
- " <td>Help! - Remastered 2015</td>\n",
- " <td>0.823915</td>\n",
- " <td>0.810</td>\n",
- " <td>0.570870</td>\n",
- " <td>0.275942</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>34</th>\n",
- " <td>0TRkjwb4uY3CHb5zhr9bBd</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.628703</td>\n",
- " <td>Eleanor Rigby - Remastered 2015</td>\n",
- " <td>0.803232</td>\n",
- " <td>0.845</td>\n",
- " <td>0.562401</td>\n",
- " <td>0.259783</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>46</th>\n",
- " <td>57n1teNb2tkcfiYagPmUWr</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.885556</td>\n",
- " <td>Two Of Us - Remastered 2009</td>\n",
- " <td>0.711080</td>\n",
- " <td>0.923</td>\n",
- " <td>0.290179</td>\n",
- " <td>0.130498</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>54</th>\n",
- " <td>4311wT21Et0q3vepFwXjTu</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.718556</td>\n",
- " <td>One After 909 - Remastered 2009</td>\n",
- " <td>0.865737</td>\n",
- " <td>0.904</td>\n",
- " <td>0.229005</td>\n",
- " <td>0.136137</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>68</th>\n",
- " <td>67jL5ZAf8hNsRZrfBHNuBT</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.277562</td>\n",
- " <td>Mean Mr Mustard - Remastered 2009</td>\n",
- " <td>0.700631</td>\n",
- " <td>0.967</td>\n",
- " <td>0.433774</td>\n",
- " <td>0.161301</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>93</th>\n",
- " <td>3OSi8ehmSWLTD5KatlzX8r</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.733338</td>\n",
- " <td>Don't Pass Me By - Remastered 2009</td>\n",
- " <td>0.857831</td>\n",
- " <td>0.948</td>\n",
- " <td>0.234420</td>\n",
- " <td>0.120451</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>94</th>\n",
- " <td>4zExFATo8xg8qFfR4H1ZAn</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.364176</td>\n",
- " <td>Why Don't We Do It In The Road? - Remastered 2009</td>\n",
- " <td>0.793242</td>\n",
- " <td>0.951</td>\n",
- " <td>0.465502</td>\n",
- " <td>0.197723</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>134</th>\n",
- " <td>77f3aNeabAbOaSB32Sd5QE</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.620131</td>\n",
- " <td>Eleanor Rigby - Remastered 2009</td>\n",
- " <td>0.803232</td>\n",
- " <td>0.821</td>\n",
- " <td>0.559261</td>\n",
- " <td>0.264054</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>168</th>\n",
- " <td>67tvBtAhsfHBFpuqJ13ZUq</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.924368</td>\n",
- " <td>Act Naturally - Remastered 2009</td>\n",
- " <td>0.722619</td>\n",
- " <td>0.946</td>\n",
- " <td>0.304396</td>\n",
- " <td>0.128762</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>170</th>\n",
- " <td>1k9tpndMDRwLkNt67Dlg02</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.408837</td>\n",
- " <td>You Like Me Too Much - Remastered 2009</td>\n",
- " <td>0.773406</td>\n",
- " <td>0.900</td>\n",
- " <td>0.481862</td>\n",
- " <td>0.212244</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>172</th>\n",
- " <td>67VdmhC89bZ6yK2XRys0lA</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.087652</td>\n",
- " <td>I've Just Seen A Face - Remastered 2009</td>\n",
- " <td>0.805204</td>\n",
- " <td>0.917</td>\n",
- " <td>0.364208</td>\n",
- " <td>0.173016</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>175</th>\n",
- " <td>009oOX7tpCPLzRL9AFiBS8</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.242035</td>\n",
- " <td>No Reply - Remastered 2009</td>\n",
- " <td>0.781942</td>\n",
- " <td>0.873</td>\n",
- " <td>0.420761</td>\n",
- " <td>0.201287</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>176</th>\n",
- " <td>5zs8tSd7ZvwBgr4NUmF5zM</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.959827</td>\n",
- " <td>I'm A Loser - Remastered 2009</td>\n",
- " <td>0.812114</td>\n",
- " <td>0.843</td>\n",
- " <td>0.317385</td>\n",
- " <td>0.182462</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>177</th>\n",
- " <td>3mKtIanz0poYgLnRxZrfBO</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.501767</td>\n",
- " <td>Baby's In Black - Remastered 2009</td>\n",
- " <td>0.820088</td>\n",
- " <td>0.862</td>\n",
- " <td>0.515903</td>\n",
- " <td>0.244945</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>185</th>\n",
- " <td>33BGv6xzxHh5E7v3r1hJLL</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.314197</td>\n",
- " <td>I Don't Want To Spoil The Party - Remastered 2009</td>\n",
- " <td>0.817801</td>\n",
- " <td>0.896</td>\n",
- " <td>0.447194</td>\n",
- " <td>0.211604</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>186</th>\n",
- " <td>2YHzfuuDFXzoELxJnqM4at</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.626500</td>\n",
- " <td>What You're Doing - Remastered 2009</td>\n",
- " <td>0.751989</td>\n",
- " <td>0.831</td>\n",
- " <td>0.195284</td>\n",
- " <td>0.141424</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>187</th>\n",
- " <td>3EbGioQyKyf4dycuiPOg3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.438356</td>\n",
- " <td>Everybody's Trying To Be My Baby - Remastered ...</td>\n",
- " <td>0.866985</td>\n",
- " <td>0.937</td>\n",
- " <td>0.126365</td>\n",
- " <td>0.082298</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>188</th>\n",
- " <td>69d54YOS8TOQiUYjX57XeA</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.601816</td>\n",
- " <td>A Hard Day's Night - Remastered 2009</td>\n",
- " <td>0.833309</td>\n",
- " <td>0.802</td>\n",
- " <td>0.552552</td>\n",
- " <td>0.274521</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>193</th>\n",
- " <td>4G5YzDD1nCUPwt5y1LQovF</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.901370</td>\n",
- " <td>Tell Me Why - Remastered 2009</td>\n",
- " <td>0.849970</td>\n",
- " <td>0.819</td>\n",
- " <td>0.295972</td>\n",
- " <td>0.189498</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>194</th>\n",
- " <td>7KmRz1oKEwgj9qpfn72OfO</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.509096</td>\n",
- " <td>Can't Buy Me Love - Remastered 2009</td>\n",
- " <td>0.738387</td>\n",
- " <td>0.854</td>\n",
- " <td>0.518588</td>\n",
- " <td>0.226602</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>196</th>\n",
- " <td>3Aqo28W4LLAolYpN3duVJl</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.349222</td>\n",
- " <td>I'll Cry Instead - Remastered 2009</td>\n",
- " <td>0.863772</td>\n",
- " <td>0.961</td>\n",
- " <td>0.460024</td>\n",
- " <td>0.209207</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>199</th>\n",
- " <td>4dyALlslhDEzwSEr7GteXa</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.246021</td>\n",
- " <td>You Can't Do That - Remastered 2009</td>\n",
- " <td>0.727456</td>\n",
- " <td>0.962</td>\n",
- " <td>0.422221</td>\n",
- " <td>0.164551</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>208</th>\n",
- " <td>5tNjuWwp6FxuWCrKQAMBTj</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.959614</td>\n",
- " <td>It Won't Be Long - Remastered 2009</td>\n",
- " <td>0.783388</td>\n",
- " <td>0.868</td>\n",
- " <td>0.317307</td>\n",
- " <td>0.169345</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>209</th>\n",
- " <td>1JPTCjLHEtqofOFmHsfiAH</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.036117</td>\n",
- " <td>All I've Got To Do - Remastered 2009</td>\n",
- " <td>0.721191</td>\n",
- " <td>0.876</td>\n",
- " <td>0.345331</td>\n",
- " <td>0.165114</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>211</th>\n",
- " <td>0lLeGCsQlAbEjQBPQQxQ1b</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.998293</td>\n",
- " <td>Don't Bother Me - Remastered 2009</td>\n",
- " <td>0.824879</td>\n",
- " <td>0.921</td>\n",
- " <td>0.331476</td>\n",
- " <td>0.163120</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>212</th>\n",
- " <td>55nE9EppLFdb0I1HBg2O2m</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.695489</td>\n",
- " <td>Little Child - Remastered 2009</td>\n",
- " <td>0.848886</td>\n",
- " <td>0.878</td>\n",
- " <td>0.220555</td>\n",
- " <td>0.141159</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>214</th>\n",
- " <td>5IIBY9M2GxHcVja6DA6wsF</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.362221</td>\n",
- " <td>Please Mister Postman - Remastered 2009</td>\n",
- " <td>0.815201</td>\n",
- " <td>0.962</td>\n",
- " <td>0.464786</td>\n",
- " <td>0.199616</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>216</th>\n",
- " <td>6xJSJpO6HJwHhu7UaIc8qR</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.585885</td>\n",
- " <td>Hold Me Tight - Remastered 2009</td>\n",
- " <td>0.804870</td>\n",
- " <td>0.963</td>\n",
- " <td>0.180406</td>\n",
- " <td>0.087764</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>219</th>\n",
- " <td>3Ltllbv2lbpjP6NgPMNiFg</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.101133</td>\n",
- " <td>Devil In Her Heart - Remastered 2009</td>\n",
- " <td>0.779220</td>\n",
- " <td>0.964</td>\n",
- " <td>0.369147</td>\n",
- " <td>0.155179</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>220</th>\n",
- " <td>5VsIn7QQqcacePIb0vO0ow</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.465201</td>\n",
- " <td>Not A Second Time - Remastered 2009</td>\n",
- " <td>0.773805</td>\n",
- " <td>0.961</td>\n",
- " <td>0.136198</td>\n",
- " <td>0.069540</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>223</th>\n",
- " <td>33OXG0RTtw0ycGza22tnF6</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.022599</td>\n",
- " <td>Misery - Remastered 2009</td>\n",
- " <td>0.814230</td>\n",
- " <td>0.902</td>\n",
- " <td>0.340379</td>\n",
- " <td>0.170895</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>247</th>\n",
- " <td>6dsq7Nt5mIFzvm5kIYNORy</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.674272</td>\n",
- " <td>15 Step</td>\n",
- " <td>0.835488</td>\n",
- " <td>0.848</td>\n",
- " <td>0.212783</td>\n",
- " <td>0.148717</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>255</th>\n",
- " <td>15ea10YpJIl3mJq75yzqsD</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.952216</td>\n",
- " <td>Jigsaw Falling Into Place</td>\n",
- " <td>0.757225</td>\n",
- " <td>0.818</td>\n",
- " <td>0.314597</td>\n",
- " <td>0.181482</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "23 7pQAq14Z73YUFMtxCyt0bG The Beatles 1.516618 \n",
- "28 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.651824 \n",
- "34 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n",
- "46 57n1teNb2tkcfiYagPmUWr The Beatles 0.885556 \n",
- "54 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n",
- "68 67jL5ZAf8hNsRZrfBHNuBT The Beatles 1.277562 \n",
- "93 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n",
- "94 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n",
- "134 77f3aNeabAbOaSB32Sd5QE The Beatles 1.620131 \n",
- "168 67tvBtAhsfHBFpuqJ13ZUq The Beatles 0.924368 \n",
- "170 1k9tpndMDRwLkNt67Dlg02 The Beatles 1.408837 \n",
- "172 67VdmhC89bZ6yK2XRys0lA The Beatles 1.087652 \n",
- "175 009oOX7tpCPLzRL9AFiBS8 The Beatles 1.242035 \n",
- "176 5zs8tSd7ZvwBgr4NUmF5zM The Beatles 0.959827 \n",
- "177 3mKtIanz0poYgLnRxZrfBO The Beatles 1.501767 \n",
- "185 33BGv6xzxHh5E7v3r1hJLL The Beatles 1.314197 \n",
- "186 2YHzfuuDFXzoELxJnqM4at The Beatles 0.626500 \n",
- "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
- "188 69d54YOS8TOQiUYjX57XeA The Beatles 1.601816 \n",
- "193 4G5YzDD1nCUPwt5y1LQovF The Beatles 0.901370 \n",
- "194 7KmRz1oKEwgj9qpfn72OfO The Beatles 1.509096 \n",
- "196 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n",
- "199 4dyALlslhDEzwSEr7GteXa The Beatles 1.246021 \n",
- "208 5tNjuWwp6FxuWCrKQAMBTj The Beatles 0.959614 \n",
- "209 1JPTCjLHEtqofOFmHsfiAH The Beatles 1.036117 \n",
- "211 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n",
- "212 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n",
- "214 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n",
- "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
- "219 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n",
- "220 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n",
- "223 33OXG0RTtw0ycGza22tnF6 The Beatles 1.022599 \n",
- "247 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n",
- "255 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n",
- "\n",
- " name neg valence \\\n",
- "23 Can't Buy Me Love - Remastered 2015 0.738387 0.957 \n",
- "28 Help! - Remastered 2015 0.823915 0.810 \n",
- "34 Eleanor Rigby - Remastered 2015 0.803232 0.845 \n",
- "46 Two Of Us - Remastered 2009 0.711080 0.923 \n",
- "54 One After 909 - Remastered 2009 0.865737 0.904 \n",
- "68 Mean Mr Mustard - Remastered 2009 0.700631 0.967 \n",
- "93 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n",
- "94 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n",
- "134 Eleanor Rigby - Remastered 2009 0.803232 0.821 \n",
- "168 Act Naturally - Remastered 2009 0.722619 0.946 \n",
- "170 You Like Me Too Much - Remastered 2009 0.773406 0.900 \n",
- "172 I've Just Seen A Face - Remastered 2009 0.805204 0.917 \n",
- "175 No Reply - Remastered 2009 0.781942 0.873 \n",
- "176 I'm A Loser - Remastered 2009 0.812114 0.843 \n",
- "177 Baby's In Black - Remastered 2009 0.820088 0.862 \n",
- "185 I Don't Want To Spoil The Party - Remastered 2009 0.817801 0.896 \n",
- "186 What You're Doing - Remastered 2009 0.751989 0.831 \n",
- "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
- "188 A Hard Day's Night - Remastered 2009 0.833309 0.802 \n",
- "193 Tell Me Why - Remastered 2009 0.849970 0.819 \n",
- "194 Can't Buy Me Love - Remastered 2009 0.738387 0.854 \n",
- "196 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n",
- "199 You Can't Do That - Remastered 2009 0.727456 0.962 \n",
- "208 It Won't Be Long - Remastered 2009 0.783388 0.868 \n",
- "209 All I've Got To Do - Remastered 2009 0.721191 0.876 \n",
- "211 Don't Bother Me - Remastered 2009 0.824879 0.921 \n",
- "212 Little Child - Remastered 2009 0.848886 0.878 \n",
- "214 Please Mister Postman - Remastered 2009 0.815201 0.962 \n",
- "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
- "219 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n",
- "220 Not A Second Time - Remastered 2009 0.773805 0.961 \n",
- "223 Misery - Remastered 2009 0.814230 0.902 \n",
- "247 15 Step 0.835488 0.848 \n",
- "255 Jigsaw Falling Into Place 0.757225 0.818 \n",
- "\n",
- " scaled_ld gloom \n",
- "23 0.521343 0.202768 \n",
- "28 0.570870 0.275942 \n",
- "34 0.562401 0.259783 \n",
- "46 0.290179 0.130498 \n",
- "54 0.229005 0.136137 \n",
- "68 0.433774 0.161301 \n",
- "93 0.234420 0.120451 \n",
- "94 0.465502 0.197723 \n",
- "134 0.559261 0.264054 \n",
- "168 0.304396 0.128762 \n",
- "170 0.481862 0.212244 \n",
- "172 0.364208 0.173016 \n",
- "175 0.420761 0.201287 \n",
- "176 0.317385 0.182462 \n",
- "177 0.515903 0.244945 \n",
- "185 0.447194 0.211604 \n",
- "186 0.195284 0.141424 \n",
- "187 0.126365 0.082298 \n",
- "188 0.552552 0.274521 \n",
- "193 0.295972 0.189498 \n",
- "194 0.518588 0.226602 \n",
- "196 0.460024 0.209207 \n",
- "199 0.422221 0.164551 \n",
- "208 0.317307 0.169345 \n",
- "209 0.345331 0.165114 \n",
- "211 0.331476 0.163120 \n",
- "212 0.220555 0.141159 \n",
- "214 0.464786 0.199616 \n",
- "216 0.180406 0.087764 \n",
- "219 0.369147 0.155179 \n",
- "220 0.136198 0.069540 \n",
- "223 0.340379 0.170895 \n",
- "247 0.212783 0.148717 \n",
- "255 0.314597 0.181482 "
- ]
- },
- "execution_count": 106,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results[(results['valence'] > 0.8) & (results['neg'] > 0.7)]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That's interesting. This list contains a lot of the Beatles' most well-known songs. Is there something in this?\n",
- "\n",
- "Let's define \"complexity\" as the product of valence and negativity, and see which are the most complext songs."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 107,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " <th>complexity</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>196</th>\n",
- " <td>3Aqo28W4LLAolYpN3duVJl</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.349222</td>\n",
- " <td>I'll Cry Instead - Remastered 2009</td>\n",
- " <td>0.863772</td>\n",
- " <td>0.961</td>\n",
- " <td>0.460024</td>\n",
- " <td>0.209207</td>\n",
- " <td>0.830085</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>93</th>\n",
- " <td>3OSi8ehmSWLTD5KatlzX8r</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.733338</td>\n",
- " <td>Don't Pass Me By - Remastered 2009</td>\n",
- " <td>0.857831</td>\n",
- " <td>0.948</td>\n",
- " <td>0.234420</td>\n",
- " <td>0.120451</td>\n",
- " <td>0.813223</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>187</th>\n",
- " <td>3EbGioQyKyf4dycuiPOg3k</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.438356</td>\n",
- " <td>Everybody's Trying To Be My Baby - Remastered ...</td>\n",
- " <td>0.866985</td>\n",
- " <td>0.937</td>\n",
- " <td>0.126365</td>\n",
- " <td>0.082298</td>\n",
- " <td>0.812365</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>214</th>\n",
- " <td>5IIBY9M2GxHcVja6DA6wsF</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.362221</td>\n",
- " <td>Please Mister Postman - Remastered 2009</td>\n",
- " <td>0.815201</td>\n",
- " <td>0.962</td>\n",
- " <td>0.464786</td>\n",
- " <td>0.199616</td>\n",
- " <td>0.784223</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>54</th>\n",
- " <td>4311wT21Et0q3vepFwXjTu</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.718556</td>\n",
- " <td>One After 909 - Remastered 2009</td>\n",
- " <td>0.865737</td>\n",
- " <td>0.904</td>\n",
- " <td>0.229005</td>\n",
- " <td>0.136137</td>\n",
- " <td>0.782626</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>216</th>\n",
- " <td>6xJSJpO6HJwHhu7UaIc8qR</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.585885</td>\n",
- " <td>Hold Me Tight - Remastered 2009</td>\n",
- " <td>0.804870</td>\n",
- " <td>0.963</td>\n",
- " <td>0.180406</td>\n",
- " <td>0.087764</td>\n",
- " <td>0.775090</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>211</th>\n",
- " <td>0lLeGCsQlAbEjQBPQQxQ1b</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.998293</td>\n",
- " <td>Don't Bother Me - Remastered 2009</td>\n",
- " <td>0.824879</td>\n",
- " <td>0.921</td>\n",
- " <td>0.331476</td>\n",
- " <td>0.163120</td>\n",
- " <td>0.759713</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>94</th>\n",
- " <td>4zExFATo8xg8qFfR4H1ZAn</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.364176</td>\n",
- " <td>Why Don't We Do It In The Road? - Remastered 2009</td>\n",
- " <td>0.793242</td>\n",
- " <td>0.951</td>\n",
- " <td>0.465502</td>\n",
- " <td>0.197723</td>\n",
- " <td>0.754373</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>219</th>\n",
- " <td>3Ltllbv2lbpjP6NgPMNiFg</td>\n",
- " <td>The Beatles</td>\n",
- " <td>1.101133</td>\n",
- " <td>Devil In Her Heart - Remastered 2009</td>\n",
- " <td>0.779220</td>\n",
- " <td>0.964</td>\n",
- " <td>0.369147</td>\n",
- " <td>0.155179</td>\n",
- " <td>0.751168</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>212</th>\n",
- " <td>55nE9EppLFdb0I1HBg2O2m</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.695489</td>\n",
- " <td>Little Child - Remastered 2009</td>\n",
- " <td>0.848886</td>\n",
- " <td>0.878</td>\n",
- " <td>0.220555</td>\n",
- " <td>0.141159</td>\n",
- " <td>0.745322</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "196 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n",
- "93 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n",
- "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
- "214 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n",
- "54 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n",
- "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
- "211 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n",
- "94 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n",
- "219 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n",
- "212 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n",
- "\n",
- " name neg valence \\\n",
- "196 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n",
- "93 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n",
- "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
- "214 Please Mister Postman - Remastered 2009 0.815201 0.962 \n",
- "54 One After 909 - Remastered 2009 0.865737 0.904 \n",
- "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
- "211 Don't Bother Me - Remastered 2009 0.824879 0.921 \n",
- "94 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n",
- "219 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n",
- "212 Little Child - Remastered 2009 0.848886 0.878 \n",
- "\n",
- " scaled_ld gloom complexity \n",
- "196 0.460024 0.209207 0.830085 \n",
- "93 0.234420 0.120451 0.813223 \n",
- "187 0.126365 0.082298 0.812365 \n",
- "214 0.464786 0.199616 0.784223 \n",
- "54 0.229005 0.136137 0.782626 \n",
- "216 0.180406 0.087764 0.775090 \n",
- "211 0.331476 0.163120 0.759713 \n",
- "94 0.465502 0.197723 0.754373 \n",
- "219 0.369147 0.155179 0.751168 \n",
- "212 0.220555 0.141159 0.745322 "
- ]
- },
- "execution_count": 107,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results['complexity'] = results['valence'] * results['neg']\n",
- "results.sort_values('complexity', ascending=False).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "There's possibly something in it. The most \"complex\" song has a very upbeat pop tune and very sad lyrics. The others are similarly interesting.\n",
- "\n",
- "What about the least \"complex\" songs?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 108,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>lyrical_density</th>\n",
- " <th>name</th>\n",
- " <th>neg</th>\n",
- " <th>valence</th>\n",
- " <th>scaled_ld</th>\n",
- " <th>gloom</th>\n",
- " <th>complexity</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>243</th>\n",
- " <td>6f6pEjgfTtuRROmJ4a7Gf3</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.393192</td>\n",
- " <td>The Numbers</td>\n",
- " <td>0.292008</td>\n",
- " <td>0.0545</td>\n",
- " <td>0.109821</td>\n",
- " <td>0.436866</td>\n",
- " <td>0.015914</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>146</th>\n",
- " <td>0agoaPIy92gPZ6zRhqXarE</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.634931</td>\n",
- " <td>Tomorrow Never Knows - Remastered 2009</td>\n",
- " <td>0.343599</td>\n",
- " <td>0.0556</td>\n",
- " <td>0.198372</td>\n",
- " <td>0.412609</td>\n",
- " <td>0.019104</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>246</th>\n",
- " <td>01ZpFhrMMqKPVCwyqXneVp</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.218723</td>\n",
- " <td>True Love Waits</td>\n",
- " <td>0.532206</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.045911</td>\n",
- " <td>0.471229</td>\n",
- " <td>0.020117</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>272</th>\n",
- " <td>53RYTfkLiyZuUZHwJC3Wmm</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.276367</td>\n",
- " <td>We Suck Young Blood</td>\n",
- " <td>0.535358</td>\n",
- " <td>0.0378</td>\n",
- " <td>0.067027</td>\n",
- " <td>0.466795</td>\n",
- " <td>0.020237</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>297</th>\n",
- " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.349157</td>\n",
- " <td>Motion Picture Soundtrack</td>\n",
- " <td>0.576808</td>\n",
- " <td>0.0425</td>\n",
- " <td>0.093690</td>\n",
- " <td>0.460916</td>\n",
- " <td>0.024514</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>245</th>\n",
- " <td>3cual6JOG286qZJmCxKRAT</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.332577</td>\n",
- " <td>Tinker Tailor Soldier Sailor Rich Man Poor Man...</td>\n",
- " <td>0.477322</td>\n",
- " <td>0.0517</td>\n",
- " <td>0.087617</td>\n",
- " <td>0.453517</td>\n",
- " <td>0.024678</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>309</th>\n",
- " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.248061</td>\n",
- " <td>The Tourist</td>\n",
- " <td>0.667864</td>\n",
- " <td>0.0400</td>\n",
- " <td>0.056658</td>\n",
- " <td>0.471724</td>\n",
- " <td>0.026715</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>268</th>\n",
- " <td>5olWalQH1oVza5D6xJg4oX</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.216752</td>\n",
- " <td>Sail To The Moon</td>\n",
- " <td>0.605798</td>\n",
- " <td>0.0458</td>\n",
- " <td>0.045189</td>\n",
- " <td>0.469228</td>\n",
- " <td>0.027746</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>256</th>\n",
- " <td>3uxhyRdWVXp7GQvERQl6fA</td>\n",
- " <td>Radiohead</td>\n",
- " <td>0.382643</td>\n",
- " <td>Videotape</td>\n",
- " <td>0.652962</td>\n",
- " <td>0.0468</td>\n",
- " <td>0.105957</td>\n",
- " <td>0.460694</td>\n",
- " <td>0.030559</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>112</th>\n",
- " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>0.799772</td>\n",
- " <td>Blue Jay Way - Remastered 2009</td>\n",
- " <td>0.812490</td>\n",
- " <td>0.0380</td>\n",
- " <td>0.258755</td>\n",
- " <td>0.461657</td>\n",
- " <td>0.030875</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " _id artist_name lyrical_density \\\n",
- "243 6f6pEjgfTtuRROmJ4a7Gf3 Radiohead 0.393192 \n",
- "146 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n",
- "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
- "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
- "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
- "245 3cual6JOG286qZJmCxKRAT Radiohead 0.332577 \n",
- "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
- "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
- "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
- "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
- "\n",
- " name neg valence \\\n",
- "243 The Numbers 0.292008 0.0545 \n",
- "146 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n",
- "246 True Love Waits 0.532206 0.0378 \n",
- "272 We Suck Young Blood 0.535358 0.0378 \n",
- "297 Motion Picture Soundtrack 0.576808 0.0425 \n",
- "245 Tinker Tailor Soldier Sailor Rich Man Poor Man... 0.477322 0.0517 \n",
- "309 The Tourist 0.667864 0.0400 \n",
- "268 Sail To The Moon 0.605798 0.0458 \n",
- "256 Videotape 0.652962 0.0468 \n",
- "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
- "\n",
- " scaled_ld gloom complexity \n",
- "243 0.109821 0.436866 0.015914 \n",
- "146 0.198372 0.412609 0.019104 \n",
- "246 0.045911 0.471229 0.020117 \n",
- "272 0.067027 0.466795 0.020237 \n",
- "297 0.093690 0.460916 0.024514 \n",
- "245 0.087617 0.453517 0.024678 \n",
- "309 0.056658 0.471724 0.026715 \n",
- "268 0.045189 0.469228 0.027746 \n",
- "256 0.105957 0.460694 0.030559 \n",
- "112 0.258755 0.461657 0.030875 "
- ]
- },
- "execution_count": 108,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "results.sort_values('complexity', ascending=True).head(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Interestingly, all of the \"complex\" songs are by The Beatles, while most of the least \"complex\" songs are by Radiohead. How true is that for all songs?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 109,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<matplotlib.axes._subplots.AxesSubplot at 0x7f622ab505f8>"
- ]
- },
- "execution_count": 109,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nhfx/+y1eYdT8898AAAAASUVORK5CYII=\n",
- "text/plain": [
- "<matplotlib.figure.Figure at 0x7f622af03908>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "results[results['artist_name'] == 'The Beatles']['complexity'].hist(alpha=0.5, color='blue')\n",
- "results[results['artist_name'] == 'Radiohead']['complexity'].hist(alpha=0.5, color='red')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 110,
- "metadata": {
- "scrolled": true
- },
- "outputs": [],
- "source": [
- "# Push the results back into the database\n",
- "for row in results.itertuples():\n",
- " tracks.update_one({'_id': row[1]}, {'$set': {'complexity': row.complexity}})"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Average gloom per album<a name=\"gloomperalbum\"></a>\n",
- "How close can we easily get to the final plot at the end of the fitteR happieR post?\n",
- "\n",
- "First, we find average gloom per album.\n",
- "\n",
- "* [Top](#top)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 111,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "defaultdict(int,\n",
- " {'03Qh833fEdVT30Pfs93ea6': 0.24623580565335343,\n",
- " '0PYyrqs9NXtxPhf0CZkq2L': 0.23500175198141857,\n",
- " '19K3IHYeVkUTjcBHGfbCOi': 0.22062175593822878,\n",
- " '19RUXBFyM4PpmrLRdtqWbp': 0.3431302979758603,\n",
- " '1DBkJIEoeHrTX4WCBQGcCi': 0.28205809775367074,\n",
- " '1PULmKbHeOqlkIwcDMNwD4': 0.2284613266716491,\n",
- " '1oW3v5Har9mvXnGk0x4fHm': 0.31375539654482865,\n",
- " '2Pqkn9Dq2DFtdfkKAeqgMd': 0.2884934384506727,\n",
- " '2pCqZLeavM2BMovJXsJEIV': 0.2186076399504195,\n",
- " '36lJLPoPPOKNFddTAcirnc': 0.3821905201779125,\n",
- " '3OdI6e43crvyAHhaqpxSyz': 0.2121785350158011,\n",
- " '3nkEsxmIX0zRNXGAexaHAn': 0.15291310732486194,\n",
- " '47bcKzmKgmMPHXNVOWpLiu': 0.17887638062333686,\n",
- " '500FEaUzn8lN9zWFyZG5C2': 0.3411762104912795,\n",
- " '5XfJmldgWzrc1AIdbBaVZn': 0.2506029443837317,\n",
- " '5ju5Ouzan3QwXqQt1Tihbh': 0.22464122677656365,\n",
- " '6400dnyeDyD2mIFHfkwHXN': 0.34531516064731943,\n",
- " '6Eo5EkmdLvZrONzi046iC2': 0.25747581401566805,\n",
- " '6P9yO0ukhOx3dvmhGKeYoC': 0.2684584850649835,\n",
- " '6V9YnBmFjWmXCBaUVRCVXP': 0.37361679839282097,\n",
- " '6vuykQgDLUCiZ7YggIpLM9': 0.3823911679811044,\n",
- " '71Mwd9tntFQYUk4k2DwA0D': 0.21540669157651762,\n",
- " '7BgGBZndAvDlKOcwe5rscZ': 0.1751092911259364,\n",
- " '7dxKtc08dYeRVHt3p9CZJn': 0.35290227411012665,\n",
- " '7eyQXxuf2nGj9d2367Gi5f': 0.3242377357445757,\n",
- " '7gDXyW16byCQOgK965BRzn': 0.1772079427962885})"
- ]
- },
- "execution_count": 111,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "pipeline = [\n",
- " {'$match': {'gloom': {'$exists': True}}},\n",
- " {'$group': {'_id': '$album.id', 'avg_gloom': {'$avg': '$gloom'}}}]\n",
- "album_glooms = collections.defaultdict(int, {a['_id']: a['avg_gloom'] for a in tracks.aggregate(pipeline)})\n",
- "album_glooms"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 112,
- "metadata": {
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>_id</th>\n",
- " <th>artist_name</th>\n",
- " <th>name</th>\n",
- " <th>release_date</th>\n",
- " <th>gloom</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>15</th>\n",
- " <td>7gDXyW16byCQOgK965BRzn</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Please Please Me (Remastered)</td>\n",
- " <td>1963-03-22</td>\n",
- " <td>0.177208</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>14</th>\n",
- " <td>3nkEsxmIX0zRNXGAexaHAn</td>\n",
- " <td>The Beatles</td>\n",
- " <td>With The Beatles (Remastered)</td>\n",
- " <td>1963-11-22</td>\n",
- " <td>0.152913</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>12</th>\n",
- " <td>71Mwd9tntFQYUk4k2DwA0D</td>\n",
- " <td>The Beatles</td>\n",
- " <td>A Hard Day's Night (Remastered)</td>\n",
- " <td>1964-07-10</td>\n",
- " <td>0.215407</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>11</th>\n",
- " <td>7BgGBZndAvDlKOcwe5rscZ</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Beatles For Sale (Remastered)</td>\n",
- " <td>1964-12-04</td>\n",
- " <td>0.175109</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>10</th>\n",
- " <td>19K3IHYeVkUTjcBHGfbCOi</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Help! (Remastered)</td>\n",
- " <td>1965-08-06</td>\n",
- " <td>0.220622</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9</th>\n",
- " <td>3OdI6e43crvyAHhaqpxSyz</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Rubber Soul (Remastered)</td>\n",
- " <td>1965-12-03</td>\n",
- " <td>0.212179</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>8</th>\n",
- " <td>0PYyrqs9NXtxPhf0CZkq2L</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Revolver (Remastered)</td>\n",
- " <td>1966-08-05</td>\n",
- " <td>0.235002</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>7</th>\n",
- " <td>1PULmKbHeOqlkIwcDMNwD4</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Sgt. Pepper's Lonely Hearts Club Band (Remaste...</td>\n",
- " <td>1967-06-01</td>\n",
- " <td>0.228461</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>6</th>\n",
- " <td>6P9yO0ukhOx3dvmhGKeYoC</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Magical Mystery Tour (Remastered)</td>\n",
- " <td>1967-11-27</td>\n",
- " <td>0.268458</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>5</th>\n",
- " <td>03Qh833fEdVT30Pfs93ea6</td>\n",
- " <td>The Beatles</td>\n",
- " <td>The Beatles (Remastered)</td>\n",
- " <td>1968-11-22</td>\n",
- " <td>0.246236</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>4</th>\n",
- " <td>47bcKzmKgmMPHXNVOWpLiu</td>\n",
- " <td>The Beatles</td>\n",
- " <td>Yellow Submarine (Remastered)</td>\n",
- " <td>1969-01-17</td>\n",
- " <td>0.178876</td>\n",