--- /dev/null
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Sad songs<a name=\"top\"></a>\n",
+ "\n",
+ "This is a replication of the [fitteR happieR](http://rcharlie.com/2017-02-16-fitteR-happieR/) post which attempted to find the most depressing Radiohead song.\n",
+ "\n",
+ "I've redone it here, using tools available in TM351.\n",
+ "\n",
+ "I'm also on a bit of a Beatles jag, so I've also done the analysis for Beatles songs.\n",
+ "\n",
+ "## Contents\n",
+ "### Data gathering\n",
+ "\n",
+ "* [Getting data from Spotify](#getspotify)\n",
+ "* [Tag album with artist](#tagalbumwithartist)\n",
+ "* [Tag track with artist](#tagtrackwithartist)\n",
+ "* [Get full track data](#fulltrackdata)\n",
+ "* [Lyrics search](#lyricssearch)\n",
+ "* [Matching datasets](#matchingdatasets)\n",
+ "* [Copy the lyrics over](#copylyrics)\n",
+ "* [Sentiment analysis](#sentimentanalysis)\n",
+ "\n",
+ "### Data analysis\n",
+ "* [Analysis](#analysis)\n",
+ "* [Sentiment](#sentiment)\n",
+ "* [Gloom index](#gloomindex)\n",
+ "* [Revised gloom index](#revisedgloomindex)\n",
+ "* [Contrasting songs](#valencenegcontrast)\n",
+ "* [Gloom per album](#gloomperalbum)\n",
+ "* [Complexity per album](#complexityovertime)\n",
+ "\n",
+ "### [Conclusion](#conclusion)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 323,
+ "metadata": {
+ "collapsed": true,
+ "run_control": {
+ "read_only": false
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import urllib.request\n",
+ "import urllib.parse\n",
+ "import urllib.error\n",
+ "import json\n",
+ "import base64\n",
+ "import configparser\n",
+ "from bs4 import BeautifulSoup\n",
+ "import re\n",
+ "import pymongo\n",
+ "from datetime import datetime\n",
+ "import time\n",
+ "import collections"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We'll use MongoDB to store the data, to save keeping it all in memory, and mean we don't have to recapture all the data to to a different analysis."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "# Open a connection to the Mongo server\n",
+ "client = pymongo.MongoClient('mongodb://localhost:27351/')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "try:\n",
+ " client.drop_database(songs_db)\n",
+ "except NameError:\n",
+ " print(\"DB doesn't exist yet.\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "# Create a database and a collections within it.\n",
+ "songs_db = client.songs\n",
+ "albums = songs_db.albums\n",
+ "tracks = songs_db.tracks\n",
+ "genius_tracks = songs_db.gtracks"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "API keys and the like are kept in a configuration file, which is read here.\n",
+ "\n",
+ "You'll need to create a web API key for Spotify and Genius. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['app_name', 'client_id', 'client_secret', 'redirect_uri', 'token']"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "config = configparser.ConfigParser()\n",
+ "config.read('secrets.ini')\n",
+ "[k for k in config['genius']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 385,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "## How to write the config file. Fill in the details, and create a different config section for Spotify.\n",
+ "# config['genius'] = {}\n",
+ "# config['genius']['app_name'] = 'xxx'\n",
+ "# config['genius']['client_id'] = 'xxx'\n",
+ "# config['genius']['client_secret'] = 'xxx'\n",
+ "# config['genius']['token'] = 'xxx'\n",
+ "# with open('secrets.ini', 'w') as configfile:\n",
+ "# config.write(configfile)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Get album and track data from Spotify<a name='getspotify'></a>\n",
+ "We'll download the data on artists, albums, and tracks from Spotify.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def get_artists(artist_name):\n",
+ " query = urllib.parse.urlencode({'q': artist_name, 'type': 'artist'})\n",
+ " request = 'https://api.spotify.com/v1/search?{}'.format(query)\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " artists = []\n",
+ " for artist in response['artists']['items']:\n",
+ " if artist['name'].lower() == artist_name.lower():\n",
+ " this_artist = {'name': artist['name'], 'id': artist['id']}\n",
+ " if artist['images']:\n",
+ " this_artist['image'] = artist['images'][0]['url']\n",
+ " artists += [this_artist]\n",
+ " return artists"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "('4Z8W4fKeB5YxbusRsdQVPb',\n",
+ " [{'id': '4Z8W4fKeB5YxbusRsdQVPb',\n",
+ " 'image': 'https://i.scdn.co/image/afcd616e1ef2d2786f47b3b4a8a6aeea24a72adc',\n",
+ " 'name': 'Radiohead'}])"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "artists = get_artists('radiohead')\n",
+ "radiohead_id = artists[0]['id']\n",
+ "radiohead_id, artists"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "('3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " [{'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'image': 'https://i.scdn.co/image/934c57df9fbdbbaa5e93b55994a4cb9571fd2085',\n",
+ " 'name': 'The Beatles'}])"
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "artists = get_artists('the beatles')\n",
+ "beatles_id = artists[0]['id']\n",
+ "beatles_id, artists"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Find all the albums for an artist."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def get_albums(artist_id):\n",
+ " request = 'https://api.spotify.com/v1/artists/{id}/albums?market=GB&album_type=album'.format(id=artist_id)\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " for a in response['items']:\n",
+ " album_request = a['href']\n",
+ " with urllib.request.urlopen(album_request) as af:\n",
+ " album = json.loads(af.read().decode('utf-8'))\n",
+ " album['_id'] = album['id']\n",
+ " albums.replace_one({'_id': album['_id']}, album, upsert=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "15"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "get_albums(beatles_id)\n",
+ "albums.find().count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 86,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "28"
+ ]
+ },
+ "execution_count": 86,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "get_albums(radiohead_id)\n",
+ "albums.find().count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': '2pCqZLeavM2BMovJXsJEIV',\n",
+ " 'album_type': 'album',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'copyrights': [{'text': '(C) 2015 Apple Corps Ltd', 'type': 'C'},\n",
+ " {'text': '(P) 2015 Calderstone Productions Limited (a division of Universal Music Group)',\n",
+ " 'type': 'P'}],\n",
+ " 'external_ids': {'upc': '00602547670069'},\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/album/2pCqZLeavM2BMovJXsJEIV'},\n",
+ " 'genres': [],\n",
+ " 'href': 'https://api.spotify.com/v1/albums/2pCqZLeavM2BMovJXsJEIV',\n",
+ " 'id': '2pCqZLeavM2BMovJXsJEIV',\n",
+ " 'images': [{'height': 640,\n",
+ " 'url': 'https://i.scdn.co/image/809c6f28db643023d76b9cb650a8ea59689a3af2',\n",
+ " 'width': 640},\n",
+ " {'height': 300,\n",
+ " 'url': 'https://i.scdn.co/image/a8b7d6b28fc36248278e128c33e1a0dfb8cffb88',\n",
+ " 'width': 300},\n",
+ " {'height': 64,\n",
+ " 'url': 'https://i.scdn.co/image/382865979b10ad69925ac4c40304fcb1862a8912',\n",
+ " 'width': 64}],\n",
+ " 'label': 'EMI Catalogue',\n",
+ " 'name': 'Let It Be (Remastered)',\n",
+ " 'popularity': 69,\n",
+ " 'release_date': '1970-05-08',\n",
+ " 'release_date_precision': 'day',\n",
+ " 'tracks': {'href': 'https://api.spotify.com/v1/albums/2pCqZLeavM2BMovJXsJEIV/tracks?offset=0&limit=50',\n",
+ " 'items': [{'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 216813,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/57n1teNb2tkcfiYagPmUWr'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/57n1teNb2tkcfiYagPmUWr',\n",
+ " 'id': '57n1teNb2tkcfiYagPmUWr',\n",
+ " 'name': 'Two Of Us - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/027085fec2d5049be37d7b10353e9c2143aa94d8?cid=null',\n",
+ " 'track_number': 1,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:57n1teNb2tkcfiYagPmUWr'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 235000,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/3eMeNJhwxiecXnSYy2NhfY'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/3eMeNJhwxiecXnSYy2NhfY',\n",
+ " 'id': '3eMeNJhwxiecXnSYy2NhfY',\n",
+ " 'name': 'Dig A Pony - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/033f1c9d697b69749a63621bdc8a93a897a1d394?cid=null',\n",
+ " 'track_number': 2,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:3eMeNJhwxiecXnSYy2NhfY'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 228133,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/72Ob0wrObCXgvGYhFs8vip'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/72Ob0wrObCXgvGYhFs8vip',\n",
+ " 'id': '72Ob0wrObCXgvGYhFs8vip',\n",
+ " 'name': 'Across The Universe - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/efe38bcd921990d782707dac30e445d7680b59df?cid=null',\n",
+ " 'track_number': 3,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:72Ob0wrObCXgvGYhFs8vip'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 145586,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/0i4BFZcByXtcTFOafH5ebS'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/0i4BFZcByXtcTFOafH5ebS',\n",
+ " 'id': '0i4BFZcByXtcTFOafH5ebS',\n",
+ " 'name': 'I Me Mine - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/303eee3d81c6f5d2f0d795954eb559ed0ffc46c6?cid=null',\n",
+ " 'track_number': 4,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:0i4BFZcByXtcTFOafH5ebS'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 50466,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/5GDVGBs8qW1Xl3Qi0vsxue'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/5GDVGBs8qW1Xl3Qi0vsxue',\n",
+ " 'id': '5GDVGBs8qW1Xl3Qi0vsxue',\n",
+ " 'name': 'Dig It - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/7fcb17fdd273bca3c37661e8f0d30446b9f87a31?cid=null',\n",
+ " 'track_number': 5,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:5GDVGBs8qW1Xl3Qi0vsxue'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 243026,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/5V1AHQugSTASVez5ffJtFo'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/5V1AHQugSTASVez5ffJtFo',\n",
+ " 'id': '5V1AHQugSTASVez5ffJtFo',\n",
+ " 'name': 'Let It Be - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/f7913ebb647d47835c34fa4db7e889c8a87c6d10?cid=null',\n",
+ " 'track_number': 6,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:5V1AHQugSTASVez5ffJtFo'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 40040,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/2r3re0TzVmdbHeOmjcFI4D'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/2r3re0TzVmdbHeOmjcFI4D',\n",
+ " 'id': '2r3re0TzVmdbHeOmjcFI4D',\n",
+ " 'name': 'Maggie Mae - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/b087e677086329e65254c2d05c6e186e1e6344ba?cid=null',\n",
+ " 'track_number': 7,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:2r3re0TzVmdbHeOmjcFI4D'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 217560,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/03v6sgKUUFliGse1h04ecC'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/03v6sgKUUFliGse1h04ecC',\n",
+ " 'id': '03v6sgKUUFliGse1h04ecC',\n",
+ " 'name': \"I've Got A Feeling - Remastered 2009\",\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/1bfbf75ab7ddca4fe8cfe0a58a73b31020a79c08?cid=null',\n",
+ " 'track_number': 8,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:03v6sgKUUFliGse1h04ecC'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 173960,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/4311wT21Et0q3vepFwXjTu'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/4311wT21Et0q3vepFwXjTu',\n",
+ " 'id': '4311wT21Et0q3vepFwXjTu',\n",
+ " 'name': 'One After 909 - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/ed5ef2e435c2f7630f7d2c9146620cd097cf9695?cid=null',\n",
+ " 'track_number': 9,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:4311wT21Et0q3vepFwXjTu'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 218186,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/2rG2c14sIgzyIRdbw3edaL'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/2rG2c14sIgzyIRdbw3edaL',\n",
+ " 'id': '2rG2c14sIgzyIRdbw3edaL',\n",
+ " 'name': 'The Long And Winding Road - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/8341b49c6799af4863eb434484e7a0b544a32466?cid=null',\n",
+ " 'track_number': 10,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:2rG2c14sIgzyIRdbw3edaL'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 152213,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/0cJ053ljI4BuP5P8tJnK5j'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/0cJ053ljI4BuP5P8tJnK5j',\n",
+ " 'id': '0cJ053ljI4BuP5P8tJnK5j',\n",
+ " 'name': 'For You Blue - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/f3fea62baa9ba4f2205600b707abc18a683a2945?cid=null',\n",
+ " 'track_number': 11,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:0cJ053ljI4BuP5P8tJnK5j'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 189386,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/3JzL2n8ofVRV6pZXAMGQ93'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/3JzL2n8ofVRV6pZXAMGQ93',\n",
+ " 'id': '3JzL2n8ofVRV6pZXAMGQ93',\n",
+ " 'name': 'Get Back - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/e1ee31a4cc8492cc8ab4bcc531abb2a10a0780a6?cid=null',\n",
+ " 'track_number': 12,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:3JzL2n8ofVRV6pZXAMGQ93'}],\n",
+ " 'limit': 50,\n",
+ " 'next': None,\n",
+ " 'offset': 0,\n",
+ " 'previous': None,\n",
+ " 'total': 12},\n",
+ " 'type': 'album',\n",
+ " 'uri': 'spotify:album:2pCqZLeavM2BMovJXsJEIV'}"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "albums.find_one({'_id': '2pCqZLeavM2BMovJXsJEIV'})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': '6P9yO0ukhOx3dvmhGKeYoC',\n",
+ " 'album_type': 'album',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'copyrights': [{'text': '(C) 2015 Apple Corps Ltd', 'type': 'C'},\n",
+ " {'text': '(P) 2015 Calderstone Productions Limited (a division of Universal Music Group)',\n",
+ " 'type': 'P'}],\n",
+ " 'external_ids': {'upc': '00602547670076'},\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/album/6P9yO0ukhOx3dvmhGKeYoC'},\n",
+ " 'genres': [],\n",
+ " 'href': 'https://api.spotify.com/v1/albums/6P9yO0ukhOx3dvmhGKeYoC',\n",
+ " 'id': '6P9yO0ukhOx3dvmhGKeYoC',\n",
+ " 'images': [{'height': 640,\n",
+ " 'url': 'https://i.scdn.co/image/5779cc9a2ea0d1aa474a6e9575864d6d348acf97',\n",
+ " 'width': 640},\n",
+ " {'height': 300,\n",
+ " 'url': 'https://i.scdn.co/image/a33a11dc85f7eaefa23cf20da067026f02b7c8ed',\n",
+ " 'width': 300},\n",
+ " {'height': 64,\n",
+ " 'url': 'https://i.scdn.co/image/e37f1e1615d028e9edb4546765e8b4e25d500dc3',\n",
+ " 'width': 64}],\n",
+ " 'label': 'EMI Catalogue',\n",
+ " 'name': 'Magical Mystery Tour (Remastered)',\n",
+ " 'popularity': 67,\n",
+ " 'release_date': '1967-11-27',\n",
+ " 'release_date_precision': 'day',\n",
+ " 'tracks': {'href': 'https://api.spotify.com/v1/albums/6P9yO0ukhOx3dvmhGKeYoC/tracks?offset=0&limit=50',\n",
+ " 'items': [{'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 170106,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/7GeZEzG1QEjqRzuWVlrBFt'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/7GeZEzG1QEjqRzuWVlrBFt',\n",
+ " 'id': '7GeZEzG1QEjqRzuWVlrBFt',\n",
+ " 'name': 'Magical Mystery Tour - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/e3b1c07774756635975fb4af777e200708645c3f?cid=null',\n",
+ " 'track_number': 1,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:7GeZEzG1QEjqRzuWVlrBFt'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 179106,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/3RhBkGg4edWdwcuGdHcl28'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/3RhBkGg4edWdwcuGdHcl28',\n",
+ " 'id': '3RhBkGg4edWdwcuGdHcl28',\n",
+ " 'name': 'The Fool On The Hill - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/15957b99532628b54588eba68003f6400f1de48b?cid=null',\n",
+ " 'track_number': 2,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:3RhBkGg4edWdwcuGdHcl28'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 135520,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/2z1p43SNSbeowzy8WdYHNk'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/2z1p43SNSbeowzy8WdYHNk',\n",
+ " 'id': '2z1p43SNSbeowzy8WdYHNk',\n",
+ " 'name': 'Flying - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/15f07b753cb7e50ccb2a93483fa6410bfe9369f1?cid=null',\n",
+ " 'track_number': 3,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:2z1p43SNSbeowzy8WdYHNk'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 235066,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/0ttMfoND7IQqFSMVOPkELC'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/0ttMfoND7IQqFSMVOPkELC',\n",
+ " 'id': '0ttMfoND7IQqFSMVOPkELC',\n",
+ " 'name': 'Blue Jay Way - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/0b56242450f17ac6d0a6ea069d19bac2e3105bcf?cid=null',\n",
+ " 'track_number': 4,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:0ttMfoND7IQqFSMVOPkELC'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 148413,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/61iJ2np62qzaMdEcGvjICc'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/61iJ2np62qzaMdEcGvjICc',\n",
+ " 'id': '61iJ2np62qzaMdEcGvjICc',\n",
+ " 'name': 'Your Mother Should Know - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/7a3083cd2ff49a98939cf370dbe47901bb745914?cid=null',\n",
+ " 'track_number': 5,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:61iJ2np62qzaMdEcGvjICc'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 275866,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/4qmvOVUt7U8szKXspAoLVy'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/4qmvOVUt7U8szKXspAoLVy',\n",
+ " 'id': '4qmvOVUt7U8szKXspAoLVy',\n",
+ " 'name': 'I Am The Walrus - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/50ec02743f1c816e0336ac6f54aa47c179365e3c?cid=null',\n",
+ " 'track_number': 6,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:4qmvOVUt7U8szKXspAoLVy'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 208840,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/7c76SiAfT7JkMiCm8BBCcP'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/7c76SiAfT7JkMiCm8BBCcP',\n",
+ " 'id': '7c76SiAfT7JkMiCm8BBCcP',\n",
+ " 'name': 'Hello, Goodbye - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/67e22cbd800d3c34238dfa60aaa35e7ced675559?cid=null',\n",
+ " 'track_number': 7,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:7c76SiAfT7JkMiCm8BBCcP'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 247320,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/5EuraV2jbqB15ihd3d2Hex'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/5EuraV2jbqB15ihd3d2Hex',\n",
+ " 'id': '5EuraV2jbqB15ihd3d2Hex',\n",
+ " 'name': 'Strawberry Fields Forever - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/5e78e78228d30e272ff9d60822032ce85b17a8d9?cid=null',\n",
+ " 'track_number': 8,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:5EuraV2jbqB15ihd3d2Hex'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 180893,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/5RStjc42UAYI2NMY3cYpgz'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/5RStjc42UAYI2NMY3cYpgz',\n",
+ " 'id': '5RStjc42UAYI2NMY3cYpgz',\n",
+ " 'name': 'Penny Lane - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/f9e702a19091af679ec9223b9494927953b58438?cid=null',\n",
+ " 'track_number': 9,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:5RStjc42UAYI2NMY3cYpgz'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 181306,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/7ncH66qOYWLn3Bdw4OjoFi'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/7ncH66qOYWLn3Bdw4OjoFi',\n",
+ " 'id': '7ncH66qOYWLn3Bdw4OjoFi',\n",
+ " 'name': \"Baby, You're A Rich Man - Remastered 2009\",\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/a518dac535501e2d73aa93d17b55b8c6a1a4b002?cid=null',\n",
+ " 'track_number': 10,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:7ncH66qOYWLn3Bdw4OjoFi'},\n",
+ " {'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 230386,\n",
+ " 'explicit': False,\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/3xMSaDC9TU6AQJIsxQB7MK'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/3xMSaDC9TU6AQJIsxQB7MK',\n",
+ " 'id': '3xMSaDC9TU6AQJIsxQB7MK',\n",
+ " 'name': 'All You Need Is Love - Remastered 2009',\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/4cad4aa3af57dbd77ce9fd82fa91eb6256c960cd?cid=null',\n",
+ " 'track_number': 11,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:3xMSaDC9TU6AQJIsxQB7MK'}],\n",
+ " 'limit': 50,\n",
+ " 'next': None,\n",
+ " 'offset': 0,\n",
+ " 'previous': None,\n",
+ " 'total': 11},\n",
+ " 'type': 'album',\n",
+ " 'uri': 'spotify:album:6P9yO0ukhOx3dvmhGKeYoC'}"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "albums.find_one({'_id': '6P9yO0ukhOx3dvmhGKeYoC'})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Tag albums with artists<a name=\"tagalbumwithartist\"></a>\n",
+ "As we have tracks for two artists, let's keep the identification easy.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 93,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "for a in albums.find({}, ['artists']):\n",
+ " albums.update_one({'_id': a['_id']}, \n",
+ " {'$set': {'artist_name': a['artists'][0]['name'],\n",
+ " 'artist_id': a['artists'][0]['id']}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 94,
+ "metadata": {
+ "collapsed": false,
+ "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",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>1</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>2pCqZLeavM2BMovJXsJEIV</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Let It Be (Remastered)</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>2Pqkn9Dq2DFtdfkKAeqgMd</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Abbey Road (Remastered)</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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>5</th>\n",
+ " <td>03Qh833fEdVT30Pfs93ea6</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles (Remastered)</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",
+ " </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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>8</th>\n",
+ " <td>0PYyrqs9NXtxPhf0CZkq2L</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Revolver (Remastered)</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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>10</th>\n",
+ " <td>19K3IHYeVkUTjcBHGfbCOi</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Help! (Remastered)</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",
+ " </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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>1DBkJIEoeHrTX4WCBQGcCi</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The King Of Limbs</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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>15</th>\n",
+ " <td>7gDXyW16byCQOgK965BRzn</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Please Please Me (Remastered)</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>16</th>\n",
+ " <td>6vuykQgDLUCiZ7YggIpLM9</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>A Moon Shaped Pool</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>17</th>\n",
+ " <td>47xaqCsJcYFWqD1gwujl1T</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>TKOL RMX 1234567</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>18</th>\n",
+ " <td>7eyQXxuf2nGj9d2367Gi5f</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>19</th>\n",
+ " <td>36lJLPoPPOKNFddTAcirnc</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows Disk 2</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>20</th>\n",
+ " <td>6Eo5EkmdLvZrONzi046iC2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Com Lag: 2+2=5</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>21</th>\n",
+ " <td>1oW3v5Har9mvXnGk0x4fHm</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Hail To the Thief</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>22</th>\n",
+ " <td>6svTt5o2lUgIrgYDKVmdnD</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>I Might Be Wrong</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>23</th>\n",
+ " <td>6V9YnBmFjWmXCBaUVRCVXP</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Amnesiac</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>24</th>\n",
+ " <td>19RUXBFyM4PpmrLRdtqWbp</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Kid A</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>25</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>OK Computer</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>26</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Bends</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>27</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "0 5XfJmldgWzrc1AIdbBaVZn The Beatles \n",
+ "1 5ju5Ouzan3QwXqQt1Tihbh The Beatles \n",
+ "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n",
+ "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n",
+ "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n",
+ "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n",
+ "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n",
+ "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n",
+ "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n",
+ "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n",
+ "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n",
+ "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n",
+ "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n",
+ "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead \n",
+ "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n",
+ "15 7gDXyW16byCQOgK965BRzn The Beatles \n",
+ "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead \n",
+ "17 47xaqCsJcYFWqD1gwujl1T Radiohead \n",
+ "18 7eyQXxuf2nGj9d2367Gi5f Radiohead \n",
+ "19 36lJLPoPPOKNFddTAcirnc Radiohead \n",
+ "20 6Eo5EkmdLvZrONzi046iC2 Radiohead \n",
+ "21 1oW3v5Har9mvXnGk0x4fHm Radiohead \n",
+ "22 6svTt5o2lUgIrgYDKVmdnD Radiohead \n",
+ "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead \n",
+ "24 19RUXBFyM4PpmrLRdtqWbp Radiohead \n",
+ "25 7dxKtc08dYeRVHt3p9CZJn Radiohead \n",
+ "26 500FEaUzn8lN9zWFyZG5C2 Radiohead \n",
+ "27 6400dnyeDyD2mIFHfkwHXN Radiohead \n",
+ "\n",
+ " name \n",
+ "0 Live At The Hollywood Bowl \n",
+ "1 1 (Remastered) \n",
+ "2 Let It Be (Remastered) \n",
+ "3 Abbey Road (Remastered) \n",
+ "4 Yellow Submarine (Remastered) \n",
+ "5 The Beatles (Remastered) \n",
+ "6 Magical Mystery Tour (Remastered) \n",
+ "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... \n",
+ "8 Revolver (Remastered) \n",
+ "9 Rubber Soul (Remastered) \n",
+ "10 Help! (Remastered) \n",
+ "11 Beatles For Sale (Remastered) \n",
+ "12 A Hard Day's Night (Remastered) \n",
+ "13 The King Of Limbs \n",
+ "14 With The Beatles (Remastered) \n",
+ "15 Please Please Me (Remastered) \n",
+ "16 A Moon Shaped Pool \n",
+ "17 TKOL RMX 1234567 \n",
+ "18 In Rainbows \n",
+ "19 In Rainbows Disk 2 \n",
+ "20 Com Lag: 2+2=5 \n",
+ "21 Hail To the Thief \n",
+ "22 I Might Be Wrong \n",
+ "23 Amnesiac \n",
+ "24 Kid A \n",
+ "25 OK Computer \n",
+ "26 The Bends \n",
+ "27 Pablo Honey "
+ ]
+ },
+ "execution_count": 94,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.DataFrame(list(albums.find({}, ['name', 'artist_name'])))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "According to the [Spotify documentation](https://developer.spotify.com/web-api/object-model/#track-object), some objects returned have only a bit of the data, and contain a `href` field for where to find the rest. The track details in the album documents fit that bill, so let's find the full track information.\n",
+ "\n",
+ "While doing this, not that Spotify will rate-limit the requests, so we have to include a loop to respect the timeout and retry the requests after the appropriate time."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def get_tracks(album_id):\n",
+ " album = albums.find_one({'_id': album_id})\n",
+ " for t in album['tracks']['items']:\n",
+ " for _ in range(10):\n",
+ " try:\n",
+ " with urllib.request.urlopen(t['href']) as f:\n",
+ " track = json.loads(f.read().decode('utf-8'))\n",
+ " track['_id'] = track['id']\n",
+ " track['album'] = album_id\n",
+ " tracks.replace_one({'_id': track['_id']}, track, upsert=True)\n",
+ " break\n",
+ " except urllib.error.HTTPError as e:\n",
+ " print(\"Rate limited. Pausing for\", e.info()['Retry-After'])\n",
+ " time.sleep(int(e.info()['Retry-After']) + 0.5)\n",
+ " continue"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 88,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Rate limited. Pausing for 1\n",
+ "Rate limited. Pausing for 0\n",
+ "Rate limited. Pausing for 4\n",
+ "Rate limited. Pausing for 3\n",
+ "Rate limited. Pausing for 0\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "383"
+ ]
+ },
+ "execution_count": 88,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "for album in albums.find():\n",
+ " get_tracks(album['_id'])\n",
+ "tracks.find().count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 89,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': '150EAeMGWJRubuH8zyx7h8',\n",
+ " 'album': {'album_type': 'album',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/album/5XfJmldgWzrc1AIdbBaVZn'},\n",
+ " 'href': 'https://api.spotify.com/v1/albums/5XfJmldgWzrc1AIdbBaVZn',\n",
+ " 'id': '5XfJmldgWzrc1AIdbBaVZn',\n",
+ " 'images': [{'height': 640,\n",
+ " 'url': 'https://i.scdn.co/image/1b1879c1dd1613586f9bcd1bdc51aa45146a86be',\n",
+ " 'width': 640},\n",
+ " {'height': 300,\n",
+ " 'url': 'https://i.scdn.co/image/72d45bffa9869ebf00fcbdda25eb664c819abe64',\n",
+ " 'width': 300},\n",
+ " {'height': 64,\n",
+ " 'url': 'https://i.scdn.co/image/05db8fdf0740cbf6bf8d38cb85505b0bc2874ce0',\n",
+ " 'width': 64}],\n",
+ " 'name': 'Live At The Hollywood Bowl',\n",
+ " 'type': 'album',\n",
+ " 'uri': 'spotify:album:5XfJmldgWzrc1AIdbBaVZn'},\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 192053,\n",
+ " 'explicit': False,\n",
+ " 'external_ids': {'isrc': 'GBUM71603957'},\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/150EAeMGWJRubuH8zyx7h8'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/150EAeMGWJRubuH8zyx7h8',\n",
+ " 'id': '150EAeMGWJRubuH8zyx7h8',\n",
+ " 'name': \"She's A Woman - Live / Remastered\",\n",
+ " 'popularity': 44,\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/37806a7d82c5d2a8b76447afa25ae1e317e9ce04?cid=null',\n",
+ " 'track_number': 2,\n",
+ " 'type': 'track',\n",
+ " 'uri': 'spotify:track:150EAeMGWJRubuH8zyx7h8'}"
+ ]
+ },
+ "execution_count": 89,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tracks.find_one()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Tag tracks with artist<a name=\"tagtrackwithartist\"></a>\n",
+ "Again, make an easy tag for the artist of each track.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 95,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "for t in tracks.find({}, ['artists']):\n",
+ " tracks.update_one({'_id': t['_id']}, \n",
+ " {'$set': {'artist_name': t['artists'][0]['name'],\n",
+ " 'artist_id': t['artists'][0]['id']}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 258,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'George Martin', 'Radiohead', 'The Beatles'}"
+ ]
+ },
+ "execution_count": 258,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "set(t['artist_name'] for t in tracks.find({}))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 96,
+ "metadata": {
+ "collapsed": false,
+ "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>album_id</th>\n",
+ " <th>album_name</th>\n",
+ " <th>artist_name</th>\n",
+ " <th>track_id</th>\n",
+ " <th>track_name</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>4edArG2VehvJdwOZfYOxtK</td>\n",
+ " <td>Twist And Shout - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>1</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>150EAeMGWJRubuH8zyx7h8</td>\n",
+ " <td>She's A Woman - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1fVeHYkyMxrjbjRAD9uWsZ</td>\n",
+ " <td>Dizzy Miss Lizzy - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0GRplBEB2FWCKutwMmS6nY</td>\n",
+ " <td>Ticket To Ride - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>4</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1eVymk74iroqhsZxm0Vy3g</td>\n",
+ " <td>Can't Buy Me Love - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>5</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>2p5a9gu6NECVSvBtGSU1vm</td>\n",
+ " <td>Things We Said Today - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>6</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1HyLh5cctOnP186CBi8bhm</td>\n",
+ " <td>Roll Over Beethoven - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>7</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>7fZEWm7TAL2oZDyiYrrgnk</td>\n",
+ " <td>Boys - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>8</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>21nhooOxso7CCoHPE73w4L</td>\n",
+ " <td>A Hard Day's Night - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>9</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1alcPfZWUHh01l4Fnoo5Jt</td>\n",
+ " <td>Help! - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>10</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>24gUDXSQysdnTaRpbWtYlK</td>\n",
+ " <td>All My Loving - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>11</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>2VmFFbXSJzYxzEJSAeI0lM</td>\n",
+ " <td>She Loves You - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>12</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>6b8lhQ86u5MddlmXulslpD</td>\n",
+ " <td>Long Tall Sally - Live / Remastered</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1oKfZ5MTCSrv07hsHqJ0JS</td>\n",
+ " <td>You Can't Do That - Live / Bonus Track</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>14</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>04gBqA2mubcTgFqL9Domlj</td>\n",
+ " <td>I Want To Hold Your Hand - Live / Bonus Track</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>15</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>79QDgDoBbS7pCrOjIH7ByA</td>\n",
+ " <td>Everybody’s Trying To Be My Baby - Live / Bonu...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>16</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1yV2I5c6efVSqSiuv9H2AD</td>\n",
+ " <td>Baby's In Black - Live / Bonus Track</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>17</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>5JT7CoUSGNk7mMNkHMQjqr</td>\n",
+ " <td>Love Me Do - Mono / Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>18</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>2Q2Gu7Bv8iLenuygtBgDUw</td>\n",
+ " <td>From Me To You - Mono / Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>19</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>2Fk411Ix3qnMG8t8Qa74ZX</td>\n",
+ " <td>She Loves You - Mono / Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>20</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>4DRBaZ760gyk7LWnaJFqsJ</td>\n",
+ " <td>I Want To Hold Your Hand - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>21</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>7pQAq14Z73YUFMtxCyt0bG</td>\n",
+ " <td>Can't Buy Me Love - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>22</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0mNQUZEATk2uItMUtiLWK5</td>\n",
+ " <td>A Hard Day's Night - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>23</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0Gm34HBxrXlaAf1jdJMjx2</td>\n",
+ " <td>I Feel Fine - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>24</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>3nhJDVdUrm6DnDW4iBfpKz</td>\n",
+ " <td>Eight Days A Week - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>25</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>6pkjW5srxjzRSKKMrl7et8</td>\n",
+ " <td>Ticket To Ride - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>26</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1dfuJYDSIc41cw5RPsaCF1</td>\n",
+ " <td>Help! - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>27</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>63uskN0xLezVg4281wzeQn</td>\n",
+ " <td>Yesterday - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>28</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0vXGSlE4ft3n5JHZMHHSIj</td>\n",
+ " <td>Day Tripper - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>29</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0Lckblu9CJUXOeMV0XY3b9</td>\n",
+ " <td>We Can Work It Out - Remastered 2015</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>...</th>\n",
+ " <td>...</td>\n",
+ " <td>...</td>\n",
+ " <td>...</td>\n",
+ " <td>...</td>\n",
+ " <td>...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>353</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>53aFGAl0Vebwp2bo8wtdWR</td>\n",
+ " <td>Fitter Happier</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>354</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>6PBHfI3G8MlQ8qdItoVoxL</td>\n",
+ " <td>Electioneering</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>355</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>0R332cdlS9LyE0Ge2PSlVC</td>\n",
+ " <td>Climbing Up the Walls</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>356</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>1bSpwPhAxZwlR2enJJsv7U</td>\n",
+ " <td>No Surprises</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>357</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>6n7GUf2h8D2Ad2wUy5s7nE</td>\n",
+ " <td>Lucky</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>358</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
+ " <td>The Tourist</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>359</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>05evePUsIT1cmIURp1hgu6</td>\n",
+ " <td>Planet Telex</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>360</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>3aDUSpF3LexOr1lFKvPV2h</td>\n",
+ " <td>The Bends</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>361</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>5jafMI8FLibnjkYTZ33m0c</td>\n",
+ " <td>High And Dry</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>362</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>045sp2JToyTaaKyXkGejPy</td>\n",
+ " <td>Fake Plastic Trees</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>363</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>0OT4Rhd9cw1yajN9ZxL6qL</td>\n",
+ " <td>Bones</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>364</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4QbQ55kHcRNho6XLaPctT1</td>\n",
+ " <td>(Nice Dream)</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>365</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4SE81CrzH0qPA8KHqM9Syz</td>\n",
+ " <td>Just</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>366</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4dPKQxaraW6CG1rTBzV6DW</td>\n",
+ " <td>My Iron Lung</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>367</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>7wB2VenWR6rchtLwawreIg</td>\n",
+ " <td>Bullet Proof ... I Wish I Was</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>368</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>6JzzI3YxHCcjZ7MCQS2YS1</td>\n",
+ " <td>Black Star</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>369</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4HtPAkZnSyGtNvBnfDc2nw</td>\n",
+ " <td>Sulk</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>370</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>5gz38AxRkD6Ywxd4fr2pLj</td>\n",
+ " <td>Street Spirit (Fade Out)</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>371</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>1MyqLTRhgyWPw7v107BEuI</td>\n",
+ " <td>You</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>372</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>6b2oQwSGFkzsMtQruIWm2p</td>\n",
+ " <td>Creep</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>373</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>71wIOoaoVMUwskK5yCXZL4</td>\n",
+ " <td>How Do You?</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>374</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>2zYmvi3w2T8a9Ckrv21bvW</td>\n",
+ " <td>Stop Whispering</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>375</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>3ovbSnT5NNhl1gzMcw1NRZ</td>\n",
+ " <td>Thinking About You</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>376</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4NUc1M0CS7b6zvWoyvibju</td>\n",
+ " <td>Anyone Can Play Guitar</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>377</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4nklmaiY4gfQI3SB1sLGsd</td>\n",
+ " <td>Ripcord</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>378</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>11qDTSr3Dj4TkPnBcIOqEJ</td>\n",
+ " <td>Vegetable</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>379</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>4D6ZExVvYLZxhcAvifX5px</td>\n",
+ " <td>Prove Yourself</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>380</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>48IEDejXX5LH8TAC3VIGpc</td>\n",
+ " <td>I Can't</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>381</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>2B5P22cfUadACK7jLQegU6</td>\n",
+ " <td>Lurgee</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>382</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>6qttbImnJ5wuA8AtDKEy18</td>\n",
+ " <td>Blow Out</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "<p>383 rows × 5 columns</p>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " album_id album_name artist_name \\\n",
+ "0 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "1 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "2 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "3 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "4 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "5 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "6 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "7 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "8 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "9 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "10 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "11 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "12 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "13 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "14 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "15 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "16 5XfJmldgWzrc1AIdbBaVZn Live At The Hollywood Bowl The Beatles \n",
+ "17 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "18 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "19 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "20 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "21 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "22 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "23 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "24 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "25 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "26 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "27 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "28 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ "29 5ju5Ouzan3QwXqQt1Tihbh 1 (Remastered) The Beatles \n",
+ ".. ... ... ... \n",
+ "353 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "354 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "355 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "356 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "357 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "358 7dxKtc08dYeRVHt3p9CZJn OK Computer Radiohead \n",
+ "359 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "360 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "361 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "362 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "363 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "364 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "365 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "366 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "367 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "368 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "369 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "370 500FEaUzn8lN9zWFyZG5C2 The Bends Radiohead \n",
+ "371 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "372 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "373 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "374 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "375 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "376 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "377 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "378 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "379 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "380 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "381 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "382 6400dnyeDyD2mIFHfkwHXN Pablo Honey Radiohead \n",
+ "\n",
+ " track_id track_name \n",
+ "0 4edArG2VehvJdwOZfYOxtK Twist And Shout - Live / Remastered \n",
+ "1 150EAeMGWJRubuH8zyx7h8 She's A Woman - Live / Remastered \n",
+ "2 1fVeHYkyMxrjbjRAD9uWsZ Dizzy Miss Lizzy - Live / Remastered \n",
+ "3 0GRplBEB2FWCKutwMmS6nY Ticket To Ride - Live / Remastered \n",
+ "4 1eVymk74iroqhsZxm0Vy3g Can't Buy Me Love - Live / Remastered \n",
+ "5 2p5a9gu6NECVSvBtGSU1vm Things We Said Today - Live / Remastered \n",
+ "6 1HyLh5cctOnP186CBi8bhm Roll Over Beethoven - Live / Remastered \n",
+ "7 7fZEWm7TAL2oZDyiYrrgnk Boys - Live / Remastered \n",
+ "8 21nhooOxso7CCoHPE73w4L A Hard Day's Night - Live / Remastered \n",
+ "9 1alcPfZWUHh01l4Fnoo5Jt Help! - Live / Remastered \n",
+ "10 24gUDXSQysdnTaRpbWtYlK All My Loving - Live / Remastered \n",
+ "11 2VmFFbXSJzYxzEJSAeI0lM She Loves You - Live / Remastered \n",
+ "12 6b8lhQ86u5MddlmXulslpD Long Tall Sally - Live / Remastered \n",
+ "13 1oKfZ5MTCSrv07hsHqJ0JS You Can't Do That - Live / Bonus Track \n",
+ "14 04gBqA2mubcTgFqL9Domlj I Want To Hold Your Hand - Live / Bonus Track \n",
+ "15 79QDgDoBbS7pCrOjIH7ByA Everybody’s Trying To Be My Baby - Live / Bonu... \n",
+ "16 1yV2I5c6efVSqSiuv9H2AD Baby's In Black - Live / Bonus Track \n",
+ "17 5JT7CoUSGNk7mMNkHMQjqr Love Me Do - Mono / Remastered 2015 \n",
+ "18 2Q2Gu7Bv8iLenuygtBgDUw From Me To You - Mono / Remastered 2015 \n",
+ "19 2Fk411Ix3qnMG8t8Qa74ZX She Loves You - Mono / Remastered 2015 \n",
+ "20 4DRBaZ760gyk7LWnaJFqsJ I Want To Hold Your Hand - Remastered 2015 \n",
+ "21 7pQAq14Z73YUFMtxCyt0bG Can't Buy Me Love - Remastered 2015 \n",
+ "22 0mNQUZEATk2uItMUtiLWK5 A Hard Day's Night - Remastered 2015 \n",
+ "23 0Gm34HBxrXlaAf1jdJMjx2 I Feel Fine - Remastered 2015 \n",
+ "24 3nhJDVdUrm6DnDW4iBfpKz Eight Days A Week - Remastered 2015 \n",
+ "25 6pkjW5srxjzRSKKMrl7et8 Ticket To Ride - Remastered 2015 \n",
+ "26 1dfuJYDSIc41cw5RPsaCF1 Help! - Remastered 2015 \n",
+ "27 63uskN0xLezVg4281wzeQn Yesterday - Remastered 2015 \n",
+ "28 0vXGSlE4ft3n5JHZMHHSIj Day Tripper - Remastered 2015 \n",
+ "29 0Lckblu9CJUXOeMV0XY3b9 We Can Work It Out - Remastered 2015 \n",
+ ".. ... ... \n",
+ "353 53aFGAl0Vebwp2bo8wtdWR Fitter Happier \n",
+ "354 6PBHfI3G8MlQ8qdItoVoxL Electioneering \n",
+ "355 0R332cdlS9LyE0Ge2PSlVC Climbing Up the Walls \n",
+ "356 1bSpwPhAxZwlR2enJJsv7U No Surprises \n",
+ "357 6n7GUf2h8D2Ad2wUy5s7nE Lucky \n",
+ "358 75YUnz58ajMo2VIIuUFvOV The Tourist \n",
+ "359 05evePUsIT1cmIURp1hgu6 Planet Telex \n",
+ "360 3aDUSpF3LexOr1lFKvPV2h The Bends \n",
+ "361 5jafMI8FLibnjkYTZ33m0c High And Dry \n",
+ "362 045sp2JToyTaaKyXkGejPy Fake Plastic Trees \n",
+ "363 0OT4Rhd9cw1yajN9ZxL6qL Bones \n",
+ "364 4QbQ55kHcRNho6XLaPctT1 (Nice Dream) \n",
+ "365 4SE81CrzH0qPA8KHqM9Syz Just \n",
+ "366 4dPKQxaraW6CG1rTBzV6DW My Iron Lung \n",
+ "367 7wB2VenWR6rchtLwawreIg Bullet Proof ... I Wish I Was \n",
+ "368 6JzzI3YxHCcjZ7MCQS2YS1 Black Star \n",
+ "369 4HtPAkZnSyGtNvBnfDc2nw Sulk \n",
+ "370 5gz38AxRkD6Ywxd4fr2pLj Street Spirit (Fade Out) \n",
+ "371 1MyqLTRhgyWPw7v107BEuI You \n",
+ "372 6b2oQwSGFkzsMtQruIWm2p Creep \n",
+ "373 71wIOoaoVMUwskK5yCXZL4 How Do You? \n",
+ "374 2zYmvi3w2T8a9Ckrv21bvW Stop Whispering \n",
+ "375 3ovbSnT5NNhl1gzMcw1NRZ Thinking About You \n",
+ "376 4NUc1M0CS7b6zvWoyvibju Anyone Can Play Guitar \n",
+ "377 4nklmaiY4gfQI3SB1sLGsd Ripcord \n",
+ "378 11qDTSr3Dj4TkPnBcIOqEJ Vegetable \n",
+ "379 4D6ZExVvYLZxhcAvifX5px Prove Yourself \n",
+ "380 48IEDejXX5LH8TAC3VIGpc I Can't \n",
+ "381 2B5P22cfUadACK7jLQegU6 Lurgee \n",
+ "382 6qttbImnJ5wuA8AtDKEy18 Blow Out \n",
+ "\n",
+ "[383 rows x 5 columns]"
+ ]
+ },
+ "execution_count": 96,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.DataFrame([{'album_id': a['id'], \n",
+ " 'album_name': a['name'],\n",
+ " 'track_id': t['id'],\n",
+ " 'track_name': t['name'],\n",
+ " 'artist_name': t['artist_name']}\n",
+ " for a in albums.find()\n",
+ " for tid in a['tracks']['items']\n",
+ " for t in tracks.find({'_id': tid['id']})])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Get full track data<a name=\"fulltrackdata\"></a>\n",
+ "The full audio analysis requires an API token to get the data. We use the client token to retreive an authorisation token, which will last for about ten minutes.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "def get_spotify_auth_token():\n",
+ " auth_url = 'https://accounts.spotify.com/api/token'\n",
+ " auth_data = urllib.parse.urlencode({'grant_type': 'client_credentials'}).encode('utf-8')\n",
+ " auth_id = base64.standard_b64encode((config['spotify']['client_id'] + \\\n",
+ " ':' + config['spotify']['client_secret']).encode('utf-8')).decode('utf-8)')\n",
+ " auth_headers = {'Authorization': 'Basic ' + auth_id}\n",
+ " auth_request = urllib.request.Request(auth_url, data=auth_data, headers=auth_headers)\n",
+ " with urllib.request.urlopen(auth_request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " return response['token_type'], response['access_token']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "def get_audio_features(track_ids, auth_type, auth_token):\n",
+ " url = 'https://api.spotify.com/v1/audio-features?ids={ids}'.format(ids=','.join(track_ids))\n",
+ " headers = {'Authorization': auth_type + ' ' + auth_token}\n",
+ " request = urllib.request.Request(url, headers=headers, method='GET')\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " for track in response['audio_features']:\n",
+ " tracks.update_one({'_id': track['id']}, {'$set': track})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 97,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "a_type, a_token = get_spotify_auth_token()\n",
+ "for a in albums.find({}, []):\n",
+ " track_ids = [t['_id'] for t in tracks.find({'album.id': a['_id']}, [])]\n",
+ " get_audio_features(track_ids, a_type, a_token)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 98,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': '150EAeMGWJRubuH8zyx7h8',\n",
+ " 'acousticness': 0.00675,\n",
+ " 'album': {'album_type': 'album',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/album/5XfJmldgWzrc1AIdbBaVZn'},\n",
+ " 'href': 'https://api.spotify.com/v1/albums/5XfJmldgWzrc1AIdbBaVZn',\n",
+ " 'id': '5XfJmldgWzrc1AIdbBaVZn',\n",
+ " 'images': [{'height': 640,\n",
+ " 'url': 'https://i.scdn.co/image/1b1879c1dd1613586f9bcd1bdc51aa45146a86be',\n",
+ " 'width': 640},\n",
+ " {'height': 300,\n",
+ " 'url': 'https://i.scdn.co/image/72d45bffa9869ebf00fcbdda25eb664c819abe64',\n",
+ " 'width': 300},\n",
+ " {'height': 64,\n",
+ " 'url': 'https://i.scdn.co/image/05db8fdf0740cbf6bf8d38cb85505b0bc2874ce0',\n",
+ " 'width': 64}],\n",
+ " 'name': 'Live At The Hollywood Bowl',\n",
+ " 'type': 'album',\n",
+ " 'uri': 'spotify:album:5XfJmldgWzrc1AIdbBaVZn'},\n",
+ " 'analysis_url': 'https://api.spotify.com/v1/audio-analysis/150EAeMGWJRubuH8zyx7h8',\n",
+ " 'artist_id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'artist_name': 'The Beatles',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'danceability': 0.188,\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 192053,\n",
+ " 'energy': 0.885,\n",
+ " 'explicit': False,\n",
+ " 'external_ids': {'isrc': 'GBUM71603957'},\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/150EAeMGWJRubuH8zyx7h8'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/150EAeMGWJRubuH8zyx7h8',\n",
+ " 'id': '150EAeMGWJRubuH8zyx7h8',\n",
+ " 'instrumentalness': 2.42e-05,\n",
+ " 'key': 9,\n",
+ " 'liveness': 0.85,\n",
+ " 'loudness': -8.189,\n",
+ " 'mode': 1,\n",
+ " 'name': \"She's A Woman - Live / Remastered\",\n",
+ " 'popularity': 44,\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/37806a7d82c5d2a8b76447afa25ae1e317e9ce04?cid=null',\n",
+ " 'speechiness': 0.0662,\n",
+ " 'tempo': 175.86,\n",
+ " 'time_signature': 4,\n",
+ " 'track_href': 'https://api.spotify.com/v1/tracks/150EAeMGWJRubuH8zyx7h8',\n",
+ " 'track_number': 2,\n",
+ " 'type': 'audio_features',\n",
+ " 'uri': 'spotify:track:150EAeMGWJRubuH8zyx7h8',\n",
+ " 'valence': 0.562}"
+ ]
+ },
+ "execution_count": 98,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tracks.find_one()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 99,
+ "metadata": {
+ "collapsed": false,
+ "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>0</th>\n",
+ " <th>1</th>\n",
+ " <th>2</th>\n",
+ " <th>3</th>\n",
+ " <th>4</th>\n",
+ " <th>5</th>\n",
+ " <th>6</th>\n",
+ " <th>7</th>\n",
+ " <th>8</th>\n",
+ " <th>9</th>\n",
+ " <th>...</th>\n",
+ " <th>220</th>\n",
+ " <th>221</th>\n",
+ " <th>222</th>\n",
+ " <th>223</th>\n",
+ " <th>224</th>\n",
+ " <th>225</th>\n",
+ " <th>226</th>\n",
+ " <th>227</th>\n",
+ " <th>228</th>\n",
+ " <th>229</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>_id</th>\n",
+ " <td>150EAeMGWJRubuH8zyx7h8</td>\n",
+ " <td>24gUDXSQysdnTaRpbWtYlK</td>\n",
+ " <td>6b8lhQ86u5MddlmXulslpD</td>\n",
+ " <td>79QDgDoBbS7pCrOjIH7ByA</td>\n",
+ " <td>5JT7CoUSGNk7mMNkHMQjqr</td>\n",
+ " <td>2Q2Gu7Bv8iLenuygtBgDUw</td>\n",
+ " <td>63uskN0xLezVg4281wzeQn</td>\n",
+ " <td>6Y6UBWhifUnkJIO2mdy0S3</td>\n",
+ " <td>0i4BFZcByXtcTFOafH5ebS</td>\n",
+ " <td>5GDVGBs8qW1Xl3Qi0vsxue</td>\n",
+ " <td>...</td>\n",
+ " <td>16aAwvjzWhM4Cgg5RYz2fA</td>\n",
+ " <td>63nTBScSLXWwyeizXi9Rmi</td>\n",
+ " <td>1hYuXMeJUOfoJFq0wBhzWV</td>\n",
+ " <td>43feVCF6QfqIt9LnLs9BAH</td>\n",
+ " <td>3NwEPV9MDr1z3KcHiAuz9d</td>\n",
+ " <td>2Iccm3cKBQHWt5yk0yX9nh</td>\n",
+ " <td>01n20rdBC5czKAhxmGREkr</td>\n",
+ " <td>5gnrZoSS7nbDYtHp32RFiI</td>\n",
+ " <td>5FBxWhG0nbBAF6lWgJFklM</td>\n",
+ " <td>4Z1fbYp0HuxLBje4MOZcSD</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>acousticness</th>\n",
+ " <td>0.00675</td>\n",
+ " <td>0.027</td>\n",
+ " <td>0.0336</td>\n",
+ " <td>0.0569</td>\n",
+ " <td>0.404</td>\n",
+ " <td>0.507</td>\n",
+ " <td>0.871</td>\n",
+ " <td>0.302</td>\n",
+ " <td>0.179</td>\n",
+ " <td>0.659</td>\n",
+ " <td>...</td>\n",
+ " <td>0.425</td>\n",
+ " <td>0.27</td>\n",
+ " <td>0.635</td>\n",
+ " <td>0.607</td>\n",
+ " <td>0.767</td>\n",
+ " <td>0.334</td>\n",
+ " <td>0.389</td>\n",
+ " <td>0.778</td>\n",
+ " <td>0.608</td>\n",
+ " <td>0.641</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>album</th>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:3WrFJ7ztb...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>analysis_url</th>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/150E...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/24gU...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/6b8l...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/79QD...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/5JT7...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/2Q2G...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/63us...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/6Y6U...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/0i4B...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/5GDV...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/16aA...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/63nT...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/1hYu...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/43fe...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/3NwE...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/2Icc...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/01n2...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/5gnr...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/5FBx...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/4Z1f...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artist_id</th>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>...</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " <td>3WrFJ7ztbogyGnTHbHJFl2</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artist_name</th>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>...</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>The Beatles</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artists</th>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " <td>[{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>available_markets</th>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>danceability</th>\n",
+ " <td>0.188</td>\n",
+ " <td>0.21</td>\n",
+ " <td>0.371</td>\n",
+ " <td>0.195</td>\n",
+ " <td>0.524</td>\n",
+ " <td>0.581</td>\n",
+ " <td>0.401</td>\n",
+ " <td>0.449</td>\n",
+ " <td>0.291</td>\n",
+ " <td>0.54</td>\n",
+ " <td>...</td>\n",
+ " <td>0.545</td>\n",
+ " <td>0.491</td>\n",
+ " <td>0.608</td>\n",
+ " <td>0.402</td>\n",
+ " <td>0.605</td>\n",
+ " <td>0.527</td>\n",
+ " <td>0.635</td>\n",
+ " <td>0.608</td>\n",
+ " <td>0.673</td>\n",
+ " <td>0.482</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>disc_number</th>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>...</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>duration_ms</th>\n",
+ " <td>192053</td>\n",
+ " <td>135253</td>\n",
+ " <td>124653</td>\n",
+ " <td>141427</td>\n",
+ " <td>140173</td>\n",
+ " <td>116160</td>\n",
+ " <td>125320</td>\n",
+ " <td>181413</td>\n",
+ " <td>145587</td>\n",
+ " <td>50467</td>\n",
+ " <td>...</td>\n",
+ " <td>169507</td>\n",
+ " <td>173947</td>\n",
+ " <td>177133</td>\n",
+ " <td>146440</td>\n",
+ " <td>146533</td>\n",
+ " <td>120853</td>\n",
+ " <td>124360</td>\n",
+ " <td>160520</td>\n",
+ " <td>117013</td>\n",
+ " <td>155227</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>energy</th>\n",
+ " <td>0.885</td>\n",
+ " <td>0.646</td>\n",
+ " <td>0.903</td>\n",
+ " <td>0.889</td>\n",
+ " <td>0.88</td>\n",
+ " <td>0.821</td>\n",
+ " <td>0.189</td>\n",
+ " <td>0.375</td>\n",
+ " <td>0.638</td>\n",
+ " <td>0.489</td>\n",
+ " <td>...</td>\n",
+ " <td>0.853</td>\n",
+ " <td>0.801</td>\n",
+ " <td>0.565</td>\n",
+ " <td>0.86</td>\n",
+ " <td>0.394</td>\n",
+ " <td>0.48</td>\n",
+ " <td>0.656</td>\n",
+ " <td>0.494</td>\n",
+ " <td>0.349</td>\n",
+ " <td>0.849</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>explicit</th>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>...</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>external_ids</th>\n",
+ " <td>{'isrc': 'GBUM71603957'}</td>\n",
+ " <td>{'isrc': 'GBUM71603949'}</td>\n",
+ " <td>{'isrc': 'GBUM71603954'}</td>\n",
+ " <td>{'isrc': 'GBUM71603963'}</td>\n",
+ " <td>{'isrc': 'GBUM71505907'}</td>\n",
+ " <td>{'isrc': 'GBUM71505896'}</td>\n",
+ " <td>{'isrc': 'GBUM71505917'}</td>\n",
+ " <td>{'isrc': 'GBUM71505911'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601711'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601712'}</td>\n",
+ " <td>...</td>\n",
+ " <td>{'isrc': 'GBAYE0601437'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601410'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601412'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601414'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601415'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601416'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601418'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601419'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601420'}</td>\n",
+ " <td>{'isrc': 'GBAYE0601423'}</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>external_urls</th>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/15...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/24...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/6b...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/79...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/5J...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/2Q...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/63...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/6Y...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/0i...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/5G...</td>\n",
+ " <td>...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/16...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/63...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/1h...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/43...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/3N...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/2I...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/01...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/5g...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/5F...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/4Z...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>href</th>\n",
+ " <td>https://api.spotify.com/v1/tracks/150EAeMGWJRu...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/24gUDXSQysdn...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6b8lhQ86u5Md...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/79QDgDoBbS7p...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5JT7CoUSGNk7...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2Q2Gu7Bv8iLe...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/63uskN0xLezV...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6Y6UBWhifUnk...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0i4BFZcByXtc...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5GDVGBs8qW1X...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/16aAwvjzWhM4...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/63nTBScSLXWw...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1hYuXMeJUOfo...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/43feVCF6QfqI...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3NwEPV9MDr1z...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2Iccm3cKBQHW...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/01n20rdBC5cz...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5gnrZoSS7nbD...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5FBxWhG0nbBA...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4Z1fbYp0HuxL...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>id</th>\n",
+ " <td>150EAeMGWJRubuH8zyx7h8</td>\n",
+ " <td>24gUDXSQysdnTaRpbWtYlK</td>\n",
+ " <td>6b8lhQ86u5MddlmXulslpD</td>\n",
+ " <td>79QDgDoBbS7pCrOjIH7ByA</td>\n",
+ " <td>5JT7CoUSGNk7mMNkHMQjqr</td>\n",
+ " <td>2Q2Gu7Bv8iLenuygtBgDUw</td>\n",
+ " <td>63uskN0xLezVg4281wzeQn</td>\n",
+ " <td>6Y6UBWhifUnkJIO2mdy0S3</td>\n",
+ " <td>0i4BFZcByXtcTFOafH5ebS</td>\n",
+ " <td>5GDVGBs8qW1Xl3Qi0vsxue</td>\n",
+ " <td>...</td>\n",
+ " <td>16aAwvjzWhM4Cgg5RYz2fA</td>\n",
+ " <td>63nTBScSLXWwyeizXi9Rmi</td>\n",
+ " <td>1hYuXMeJUOfoJFq0wBhzWV</td>\n",
+ " <td>43feVCF6QfqIt9LnLs9BAH</td>\n",
+ " <td>3NwEPV9MDr1z3KcHiAuz9d</td>\n",
+ " <td>2Iccm3cKBQHWt5yk0yX9nh</td>\n",
+ " <td>01n20rdBC5czKAhxmGREkr</td>\n",
+ " <td>5gnrZoSS7nbDYtHp32RFiI</td>\n",
+ " <td>5FBxWhG0nbBAF6lWgJFklM</td>\n",
+ " <td>4Z1fbYp0HuxLBje4MOZcSD</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>instrumentalness</th>\n",
+ " <td>2.42e-05</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0.000191</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>2.41e-06</td>\n",
+ " <td>0</td>\n",
+ " <td>0.0019</td>\n",
+ " <td>...</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0.00127</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>7.74e-06</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>key</th>\n",
+ " <td>9</td>\n",
+ " <td>1</td>\n",
+ " <td>7</td>\n",
+ " <td>9</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>9</td>\n",
+ " <td>5</td>\n",
+ " <td>...</td>\n",
+ " <td>11</td>\n",
+ " <td>4</td>\n",
+ " <td>2</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>2</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>2</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>liveness</th>\n",
+ " <td>0.85</td>\n",
+ " <td>0.897</td>\n",
+ " <td>0.818</td>\n",
+ " <td>0.448</td>\n",
+ " <td>0.154</td>\n",
+ " <td>0.108</td>\n",
+ " <td>0.0968</td>\n",
+ " <td>0.144</td>\n",
+ " <td>0.101</td>\n",
+ " <td>0.457</td>\n",
+ " <td>...</td>\n",
+ " <td>0.266</td>\n",
+ " <td>0.0665</td>\n",
+ " <td>0.0601</td>\n",
+ " <td>0.736</td>\n",
+ " <td>0.0967</td>\n",
+ " <td>0.0702</td>\n",
+ " <td>0.0828</td>\n",
+ " <td>0.0926</td>\n",
+ " <td>0.38</td>\n",
+ " <td>0.0414</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>loudness</th>\n",
+ " <td>-8.189</td>\n",
+ " <td>-7.962</td>\n",
+ " <td>-5.959</td>\n",
+ " <td>-6.01</td>\n",
+ " <td>-3.865</td>\n",
+ " <td>-4.387</td>\n",
+ " <td>-11.189</td>\n",
+ " <td>-9.329</td>\n",
+ " <td>-7.854</td>\n",
+ " <td>-12.276</td>\n",
+ " <td>...</td>\n",
+ " <td>-8.369</td>\n",
+ " <td>-9.835</td>\n",
+ " <td>-11.06</td>\n",
+ " <td>-10.31</td>\n",
+ " <td>-11.33</td>\n",
+ " <td>-9.61</td>\n",
+ " <td>-8.5</td>\n",
+ " <td>-12.211</td>\n",
+ " <td>-12.414</td>\n",
+ " <td>-9.198</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>mode</th>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>...</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>name</th>\n",
+ " <td>She's A Woman - Live / Remastered</td>\n",
+ " <td>All My Loving - Live / Remastered</td>\n",
+ " <td>Long Tall Sally - Live / Remastered</td>\n",
+ " <td>Everybody’s Trying To Be My Baby - Live / Bonu...</td>\n",
+ " <td>Love Me Do - Mono / Remastered 2015</td>\n",
+ " <td>From Me To You - Mono / Remastered 2015</td>\n",
+ " <td>Yesterday - Remastered 2015</td>\n",
+ " <td>Something - Remastered 2015</td>\n",
+ " <td>I Me Mine - Remastered 2009</td>\n",
+ " <td>Dig It - Remastered 2009</td>\n",
+ " <td>...</td>\n",
+ " <td>Money (That's What I Want) - Remastered 2009</td>\n",
+ " <td>I Saw Her Standing There - Remastered 2009</td>\n",
+ " <td>Anna (Go To Him) - Remastered 2009</td>\n",
+ " <td>Boys - Remastered 2009</td>\n",
+ " <td>Ask Me Why - Remastered 2009</td>\n",
+ " <td>Please Please Me - Remastered 2009</td>\n",
+ " <td>P.S. I Love You - Remastered 2009</td>\n",
+ " <td>Baby It's You - Remastered 2009</td>\n",
+ " <td>Do You Want To Know A Secret - Remastered 2009</td>\n",
+ " <td>Twist And Shout - Remastered 2009</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>popularity</th>\n",
+ " <td>44</td>\n",
+ " <td>42</td>\n",
+ " <td>40</td>\n",
+ " <td>39</td>\n",
+ " <td>54</td>\n",
+ " <td>51</td>\n",
+ " <td>54</td>\n",
+ " <td>49</td>\n",
+ " <td>45</td>\n",
+ " <td>41</td>\n",
+ " <td>...</td>\n",
+ " <td>40</td>\n",
+ " <td>52</td>\n",
+ " <td>43</td>\n",
+ " <td>41</td>\n",
+ " <td>40</td>\n",
+ " <td>46</td>\n",
+ " <td>42</td>\n",
+ " <td>42</td>\n",
+ " <td>47</td>\n",
+ " <td>63</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>preview_url</th>\n",
+ " <td>https://p.scdn.co/mp3-preview/37806a7d82c5d2a8...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/4b3b1c542e6c13cf...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/d6796e399d626e81...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5aefe05e2ce3a3b4...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/afae97f4c5d9519d...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/ee020cf9697bbb80...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/e638596e63c97034...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5de6d78267784637...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/303eee3d81c6f5d2...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/7fcb17fdd273bca3...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/2466870a5bc5a887...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/a4d434ad1d3143f7...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/1c36a4f850ce035e...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/c84bcc2dd65c3d9b...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/f42256fa5367c68f...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/c7974d03d8cd26de...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5ef1f2ba07489648...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/d7eeb1f68c39066d...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5bd705943290818c...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/b7e3bc96b46e4dcc...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>speechiness</th>\n",
+ " <td>0.0662</td>\n",
+ " <td>0.0337</td>\n",
+ " <td>0.047</td>\n",
+ " <td>0.0538</td>\n",
+ " <td>0.0987</td>\n",
+ " <td>0.0318</td>\n",
+ " <td>0.0287</td>\n",
+ " <td>0.0286</td>\n",
+ " <td>0.0554</td>\n",
+ " <td>0.117</td>\n",
+ " <td>...</td>\n",
+ " <td>0.0394</td>\n",
+ " <td>0.0361</td>\n",
+ " <td>0.0336</td>\n",
+ " <td>0.0504</td>\n",
+ " <td>0.0378</td>\n",
+ " <td>0.028</td>\n",
+ " <td>0.0291</td>\n",
+ " <td>0.0345</td>\n",
+ " <td>0.0368</td>\n",
+ " <td>0.0452</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>tempo</th>\n",
+ " <td>175.86</td>\n",
+ " <td>168.772</td>\n",
+ " <td>91.268</td>\n",
+ " <td>175.738</td>\n",
+ " <td>148.058</td>\n",
+ " <td>136.145</td>\n",
+ " <td>94.509</td>\n",
+ " <td>133.845</td>\n",
+ " <td>185.235</td>\n",
+ " <td>157.03</td>\n",
+ " <td>...</td>\n",
+ " <td>128.816</td>\n",
+ " <td>160.109</td>\n",
+ " <td>109.286</td>\n",
+ " <td>142.445</td>\n",
+ " <td>133.942</td>\n",
+ " <td>139.388</td>\n",
+ " <td>134.435</td>\n",
+ " <td>112.421</td>\n",
+ " <td>124.451</td>\n",
+ " <td>124.631</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>time_signature</th>\n",
+ " <td>4</td>\n",
+ " <td>5</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " <td>3</td>\n",
+ " <td>...</td>\n",
+ " <td>1</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>track_href</th>\n",
+ " <td>https://api.spotify.com/v1/tracks/150EAeMGWJRu...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/24gUDXSQysdn...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6b8lhQ86u5Md...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/79QDgDoBbS7p...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5JT7CoUSGNk7...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2Q2Gu7Bv8iLe...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/63uskN0xLezV...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6Y6UBWhifUnk...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0i4BFZcByXtc...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5GDVGBs8qW1X...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/16aAwvjzWhM4...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/63nTBScSLXWw...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1hYuXMeJUOfo...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/43feVCF6QfqI...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3NwEPV9MDr1z...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2Iccm3cKBQHW...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/01n20rdBC5cz...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5gnrZoSS7nbD...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/5FBxWhG0nbBA...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4Z1fbYp0HuxL...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>track_number</th>\n",
+ " <td>2</td>\n",
+ " <td>11</td>\n",
+ " <td>13</td>\n",
+ " <td>16</td>\n",
+ " <td>1</td>\n",
+ " <td>2</td>\n",
+ " <td>11</td>\n",
+ " <td>24</td>\n",
+ " <td>4</td>\n",
+ " <td>5</td>\n",
+ " <td>...</td>\n",
+ " <td>14</td>\n",
+ " <td>1</td>\n",
+ " <td>3</td>\n",
+ " <td>5</td>\n",
+ " <td>6</td>\n",
+ " <td>7</td>\n",
+ " <td>9</td>\n",
+ " <td>10</td>\n",
+ " <td>11</td>\n",
+ " <td>14</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>type</th>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>...</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>uri</th>\n",
+ " <td>spotify:track:150EAeMGWJRubuH8zyx7h8</td>\n",
+ " <td>spotify:track:24gUDXSQysdnTaRpbWtYlK</td>\n",
+ " <td>spotify:track:6b8lhQ86u5MddlmXulslpD</td>\n",
+ " <td>spotify:track:79QDgDoBbS7pCrOjIH7ByA</td>\n",
+ " <td>spotify:track:5JT7CoUSGNk7mMNkHMQjqr</td>\n",
+ " <td>spotify:track:2Q2Gu7Bv8iLenuygtBgDUw</td>\n",
+ " <td>spotify:track:63uskN0xLezVg4281wzeQn</td>\n",
+ " <td>spotify:track:6Y6UBWhifUnkJIO2mdy0S3</td>\n",
+ " <td>spotify:track:0i4BFZcByXtcTFOafH5ebS</td>\n",
+ " <td>spotify:track:5GDVGBs8qW1Xl3Qi0vsxue</td>\n",
+ " <td>...</td>\n",
+ " <td>spotify:track:16aAwvjzWhM4Cgg5RYz2fA</td>\n",
+ " <td>spotify:track:63nTBScSLXWwyeizXi9Rmi</td>\n",
+ " <td>spotify:track:1hYuXMeJUOfoJFq0wBhzWV</td>\n",
+ " <td>spotify:track:43feVCF6QfqIt9LnLs9BAH</td>\n",
+ " <td>spotify:track:3NwEPV9MDr1z3KcHiAuz9d</td>\n",
+ " <td>spotify:track:2Iccm3cKBQHWt5yk0yX9nh</td>\n",
+ " <td>spotify:track:01n20rdBC5czKAhxmGREkr</td>\n",
+ " <td>spotify:track:5gnrZoSS7nbDYtHp32RFiI</td>\n",
+ " <td>spotify:track:5FBxWhG0nbBAF6lWgJFklM</td>\n",
+ " <td>spotify:track:4Z1fbYp0HuxLBje4MOZcSD</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>valence</th>\n",
+ " <td>0.562</td>\n",
+ " <td>0.707</td>\n",
+ " <td>0.692</td>\n",
+ " <td>0.639</td>\n",
+ " <td>0.761</td>\n",
+ " <td>0.968</td>\n",
+ " <td>0.348</td>\n",
+ " <td>0.466</td>\n",
+ " <td>0.535</td>\n",
+ " <td>0.663</td>\n",
+ " <td>...</td>\n",
+ " <td>0.92</td>\n",
+ " <td>0.971</td>\n",
+ " <td>0.835</td>\n",
+ " <td>0.825</td>\n",
+ " <td>0.606</td>\n",
+ " <td>0.708</td>\n",
+ " <td>0.78</td>\n",
+ " <td>0.889</td>\n",
+ " <td>0.636</td>\n",
+ " <td>0.942</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "<p>33 rows × 230 columns</p>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " 0 \\\n",
+ "_id 150EAeMGWJRubuH8zyx7h8 \n",
+ "acousticness 0.00675 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/150E... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.188 \n",
+ "disc_number 1 \n",
+ "duration_ms 192053 \n",
+ "energy 0.885 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71603957'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/15... \n",
+ "href https://api.spotify.com/v1/tracks/150EAeMGWJRu... \n",
+ "id 150EAeMGWJRubuH8zyx7h8 \n",
+ "instrumentalness 2.42e-05 \n",
+ "key 9 \n",
+ "liveness 0.85 \n",
+ "loudness -8.189 \n",
+ "mode 1 \n",
+ "name She's A Woman - Live / Remastered \n",
+ "popularity 44 \n",
+ "preview_url https://p.scdn.co/mp3-preview/37806a7d82c5d2a8... \n",
+ "speechiness 0.0662 \n",
+ "tempo 175.86 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/150EAeMGWJRu... \n",
+ "track_number 2 \n",
+ "type audio_features \n",
+ "uri spotify:track:150EAeMGWJRubuH8zyx7h8 \n",
+ "valence 0.562 \n",
+ "\n",
+ " 1 \\\n",
+ "_id 24gUDXSQysdnTaRpbWtYlK \n",
+ "acousticness 0.027 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/24gU... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.21 \n",
+ "disc_number 1 \n",
+ "duration_ms 135253 \n",
+ "energy 0.646 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71603949'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/24... \n",
+ "href https://api.spotify.com/v1/tracks/24gUDXSQysdn... \n",
+ "id 24gUDXSQysdnTaRpbWtYlK \n",
+ "instrumentalness 0 \n",
+ "key 1 \n",
+ "liveness 0.897 \n",
+ "loudness -7.962 \n",
+ "mode 0 \n",
+ "name All My Loving - Live / Remastered \n",
+ "popularity 42 \n",
+ "preview_url https://p.scdn.co/mp3-preview/4b3b1c542e6c13cf... \n",
+ "speechiness 0.0337 \n",
+ "tempo 168.772 \n",
+ "time_signature 5 \n",
+ "track_href https://api.spotify.com/v1/tracks/24gUDXSQysdn... \n",
+ "track_number 11 \n",
+ "type audio_features \n",
+ "uri spotify:track:24gUDXSQysdnTaRpbWtYlK \n",
+ "valence 0.707 \n",
+ "\n",
+ " 2 \\\n",
+ "_id 6b8lhQ86u5MddlmXulslpD \n",
+ "acousticness 0.0336 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/6b8l... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.371 \n",
+ "disc_number 1 \n",
+ "duration_ms 124653 \n",
+ "energy 0.903 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71603954'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/6b... \n",
+ "href https://api.spotify.com/v1/tracks/6b8lhQ86u5Md... \n",
+ "id 6b8lhQ86u5MddlmXulslpD \n",
+ "instrumentalness 0 \n",
+ "key 7 \n",
+ "liveness 0.818 \n",
+ "loudness -5.959 \n",
+ "mode 1 \n",
+ "name Long Tall Sally - Live / Remastered \n",
+ "popularity 40 \n",
+ "preview_url https://p.scdn.co/mp3-preview/d6796e399d626e81... \n",
+ "speechiness 0.047 \n",
+ "tempo 91.268 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/6b8lhQ86u5Md... \n",
+ "track_number 13 \n",
+ "type audio_features \n",
+ "uri spotify:track:6b8lhQ86u5MddlmXulslpD \n",
+ "valence 0.692 \n",
+ "\n",
+ " 3 \\\n",
+ "_id 79QDgDoBbS7pCrOjIH7ByA \n",
+ "acousticness 0.0569 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/79QD... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.195 \n",
+ "disc_number 1 \n",
+ "duration_ms 141427 \n",
+ "energy 0.889 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71603963'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/79... \n",
+ "href https://api.spotify.com/v1/tracks/79QDgDoBbS7p... \n",
+ "id 79QDgDoBbS7pCrOjIH7ByA \n",
+ "instrumentalness 0 \n",
+ "key 9 \n",
+ "liveness 0.448 \n",
+ "loudness -6.01 \n",
+ "mode 1 \n",
+ "name Everybody’s Trying To Be My Baby - Live / Bonu... \n",
+ "popularity 39 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5aefe05e2ce3a3b4... \n",
+ "speechiness 0.0538 \n",
+ "tempo 175.738 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/79QDgDoBbS7p... \n",
+ "track_number 16 \n",
+ "type audio_features \n",
+ "uri spotify:track:79QDgDoBbS7pCrOjIH7ByA \n",
+ "valence 0.639 \n",
+ "\n",
+ " 4 \\\n",
+ "_id 5JT7CoUSGNk7mMNkHMQjqr \n",
+ "acousticness 0.404 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/5JT7... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.524 \n",
+ "disc_number 1 \n",
+ "duration_ms 140173 \n",
+ "energy 0.88 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71505907'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/5J... \n",
+ "href https://api.spotify.com/v1/tracks/5JT7CoUSGNk7... \n",
+ "id 5JT7CoUSGNk7mMNkHMQjqr \n",
+ "instrumentalness 0.000191 \n",
+ "key 0 \n",
+ "liveness 0.154 \n",
+ "loudness -3.865 \n",
+ "mode 1 \n",
+ "name Love Me Do - Mono / Remastered 2015 \n",
+ "popularity 54 \n",
+ "preview_url https://p.scdn.co/mp3-preview/afae97f4c5d9519d... \n",
+ "speechiness 0.0987 \n",
+ "tempo 148.058 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/5JT7CoUSGNk7... \n",
+ "track_number 1 \n",
+ "type audio_features \n",
+ "uri spotify:track:5JT7CoUSGNk7mMNkHMQjqr \n",
+ "valence 0.761 \n",
+ "\n",
+ " 5 \\\n",
+ "_id 2Q2Gu7Bv8iLenuygtBgDUw \n",
+ "acousticness 0.507 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/2Q2G... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.581 \n",
+ "disc_number 1 \n",
+ "duration_ms 116160 \n",
+ "energy 0.821 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71505896'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/2Q... \n",
+ "href https://api.spotify.com/v1/tracks/2Q2Gu7Bv8iLe... \n",
+ "id 2Q2Gu7Bv8iLenuygtBgDUw \n",
+ "instrumentalness 0 \n",
+ "key 0 \n",
+ "liveness 0.108 \n",
+ "loudness -4.387 \n",
+ "mode 1 \n",
+ "name From Me To You - Mono / Remastered 2015 \n",
+ "popularity 51 \n",
+ "preview_url https://p.scdn.co/mp3-preview/ee020cf9697bbb80... \n",
+ "speechiness 0.0318 \n",
+ "tempo 136.145 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/2Q2Gu7Bv8iLe... \n",
+ "track_number 2 \n",
+ "type audio_features \n",
+ "uri spotify:track:2Q2Gu7Bv8iLenuygtBgDUw \n",
+ "valence 0.968 \n",
+ "\n",
+ " 6 \\\n",
+ "_id 63uskN0xLezVg4281wzeQn \n",
+ "acousticness 0.871 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/63us... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.401 \n",
+ "disc_number 1 \n",
+ "duration_ms 125320 \n",
+ "energy 0.189 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71505917'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/63... \n",
+ "href https://api.spotify.com/v1/tracks/63uskN0xLezV... \n",
+ "id 63uskN0xLezVg4281wzeQn \n",
+ "instrumentalness 0 \n",
+ "key 0 \n",
+ "liveness 0.0968 \n",
+ "loudness -11.189 \n",
+ "mode 1 \n",
+ "name Yesterday - Remastered 2015 \n",
+ "popularity 54 \n",
+ "preview_url https://p.scdn.co/mp3-preview/e638596e63c97034... \n",
+ "speechiness 0.0287 \n",
+ "tempo 94.509 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/63uskN0xLezV... \n",
+ "track_number 11 \n",
+ "type audio_features \n",
+ "uri spotify:track:63uskN0xLezVg4281wzeQn \n",
+ "valence 0.348 \n",
+ "\n",
+ " 7 \\\n",
+ "_id 6Y6UBWhifUnkJIO2mdy0S3 \n",
+ "acousticness 0.302 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/6Y6U... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.449 \n",
+ "disc_number 1 \n",
+ "duration_ms 181413 \n",
+ "energy 0.375 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBUM71505911'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/6Y... \n",
+ "href https://api.spotify.com/v1/tracks/6Y6UBWhifUnk... \n",
+ "id 6Y6UBWhifUnkJIO2mdy0S3 \n",
+ "instrumentalness 2.41e-06 \n",
+ "key 0 \n",
+ "liveness 0.144 \n",
+ "loudness -9.329 \n",
+ "mode 1 \n",
+ "name Something - Remastered 2015 \n",
+ "popularity 49 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5de6d78267784637... \n",
+ "speechiness 0.0286 \n",
+ "tempo 133.845 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/6Y6UBWhifUnk... \n",
+ "track_number 24 \n",
+ "type audio_features \n",
+ "uri spotify:track:6Y6UBWhifUnkJIO2mdy0S3 \n",
+ "valence 0.466 \n",
+ "\n",
+ " 8 \\\n",
+ "_id 0i4BFZcByXtcTFOafH5ebS \n",
+ "acousticness 0.179 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/0i4B... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.291 \n",
+ "disc_number 1 \n",
+ "duration_ms 145587 \n",
+ "energy 0.638 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601711'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/0i... \n",
+ "href https://api.spotify.com/v1/tracks/0i4BFZcByXtc... \n",
+ "id 0i4BFZcByXtcTFOafH5ebS \n",
+ "instrumentalness 0 \n",
+ "key 9 \n",
+ "liveness 0.101 \n",
+ "loudness -7.854 \n",
+ "mode 0 \n",
+ "name I Me Mine - Remastered 2009 \n",
+ "popularity 45 \n",
+ "preview_url https://p.scdn.co/mp3-preview/303eee3d81c6f5d2... \n",
+ "speechiness 0.0554 \n",
+ "tempo 185.235 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/0i4BFZcByXtc... \n",
+ "track_number 4 \n",
+ "type audio_features \n",
+ "uri spotify:track:0i4BFZcByXtcTFOafH5ebS \n",
+ "valence 0.535 \n",
+ "\n",
+ " 9 \\\n",
+ "_id 5GDVGBs8qW1Xl3Qi0vsxue \n",
+ "acousticness 0.659 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/5GDV... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.54 \n",
+ "disc_number 1 \n",
+ "duration_ms 50467 \n",
+ "energy 0.489 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601712'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/5G... \n",
+ "href https://api.spotify.com/v1/tracks/5GDVGBs8qW1X... \n",
+ "id 5GDVGBs8qW1Xl3Qi0vsxue \n",
+ "instrumentalness 0.0019 \n",
+ "key 5 \n",
+ "liveness 0.457 \n",
+ "loudness -12.276 \n",
+ "mode 1 \n",
+ "name Dig It - Remastered 2009 \n",
+ "popularity 41 \n",
+ "preview_url https://p.scdn.co/mp3-preview/7fcb17fdd273bca3... \n",
+ "speechiness 0.117 \n",
+ "tempo 157.03 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/5GDVGBs8qW1X... \n",
+ "track_number 5 \n",
+ "type audio_features \n",
+ "uri spotify:track:5GDVGBs8qW1Xl3Qi0vsxue \n",
+ "valence 0.663 \n",
+ "\n",
+ " ... \\\n",
+ "_id ... \n",
+ "acousticness ... \n",
+ "album ... \n",
+ "analysis_url ... \n",
+ "artist_id ... \n",
+ "artist_name ... \n",
+ "artists ... \n",
+ "available_markets ... \n",
+ "danceability ... \n",
+ "disc_number ... \n",
+ "duration_ms ... \n",
+ "energy ... \n",
+ "explicit ... \n",
+ "external_ids ... \n",
+ "external_urls ... \n",
+ "href ... \n",
+ "id ... \n",
+ "instrumentalness ... \n",
+ "key ... \n",
+ "liveness ... \n",
+ "loudness ... \n",
+ "mode ... \n",
+ "name ... \n",
+ "popularity ... \n",
+ "preview_url ... \n",
+ "speechiness ... \n",
+ "tempo ... \n",
+ "time_signature ... \n",
+ "track_href ... \n",
+ "track_number ... \n",
+ "type ... \n",
+ "uri ... \n",
+ "valence ... \n",
+ "\n",
+ " 220 \\\n",
+ "_id 16aAwvjzWhM4Cgg5RYz2fA \n",
+ "acousticness 0.425 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/16aA... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.545 \n",
+ "disc_number 1 \n",
+ "duration_ms 169507 \n",
+ "energy 0.853 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601437'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/16... \n",
+ "href https://api.spotify.com/v1/tracks/16aAwvjzWhM4... \n",
+ "id 16aAwvjzWhM4Cgg5RYz2fA \n",
+ "instrumentalness 0 \n",
+ "key 11 \n",
+ "liveness 0.266 \n",
+ "loudness -8.369 \n",
+ "mode 0 \n",
+ "name Money (That's What I Want) - Remastered 2009 \n",
+ "popularity 40 \n",
+ "preview_url https://p.scdn.co/mp3-preview/2466870a5bc5a887... \n",
+ "speechiness 0.0394 \n",
+ "tempo 128.816 \n",
+ "time_signature 1 \n",
+ "track_href https://api.spotify.com/v1/tracks/16aAwvjzWhM4... \n",
+ "track_number 14 \n",
+ "type audio_features \n",
+ "uri spotify:track:16aAwvjzWhM4Cgg5RYz2fA \n",
+ "valence 0.92 \n",
+ "\n",
+ " 221 \\\n",
+ "_id 63nTBScSLXWwyeizXi9Rmi \n",
+ "acousticness 0.27 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/63nT... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.491 \n",
+ "disc_number 1 \n",
+ "duration_ms 173947 \n",
+ "energy 0.801 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601410'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/63... \n",
+ "href https://api.spotify.com/v1/tracks/63nTBScSLXWw... \n",
+ "id 63nTBScSLXWwyeizXi9Rmi \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.0665 \n",
+ "loudness -9.835 \n",
+ "mode 1 \n",
+ "name I Saw Her Standing There - Remastered 2009 \n",
+ "popularity 52 \n",
+ "preview_url https://p.scdn.co/mp3-preview/a4d434ad1d3143f7... \n",
+ "speechiness 0.0361 \n",
+ "tempo 160.109 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/63nTBScSLXWw... \n",
+ "track_number 1 \n",
+ "type audio_features \n",
+ "uri spotify:track:63nTBScSLXWwyeizXi9Rmi \n",
+ "valence 0.971 \n",
+ "\n",
+ " 222 \\\n",
+ "_id 1hYuXMeJUOfoJFq0wBhzWV \n",
+ "acousticness 0.635 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/1hYu... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.608 \n",
+ "disc_number 1 \n",
+ "duration_ms 177133 \n",
+ "energy 0.565 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601412'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/1h... \n",
+ "href https://api.spotify.com/v1/tracks/1hYuXMeJUOfo... \n",
+ "id 1hYuXMeJUOfoJFq0wBhzWV \n",
+ "instrumentalness 0 \n",
+ "key 2 \n",
+ "liveness 0.0601 \n",
+ "loudness -11.06 \n",
+ "mode 1 \n",
+ "name Anna (Go To Him) - Remastered 2009 \n",
+ "popularity 43 \n",
+ "preview_url https://p.scdn.co/mp3-preview/1c36a4f850ce035e... \n",
+ "speechiness 0.0336 \n",
+ "tempo 109.286 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/1hYuXMeJUOfo... \n",
+ "track_number 3 \n",
+ "type audio_features \n",
+ "uri spotify:track:1hYuXMeJUOfoJFq0wBhzWV \n",
+ "valence 0.835 \n",
+ "\n",
+ " 223 \\\n",
+ "_id 43feVCF6QfqIt9LnLs9BAH \n",
+ "acousticness 0.607 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/43fe... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.402 \n",
+ "disc_number 1 \n",
+ "duration_ms 146440 \n",
+ "energy 0.86 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601414'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/43... \n",
+ "href https://api.spotify.com/v1/tracks/43feVCF6QfqI... \n",
+ "id 43feVCF6QfqIt9LnLs9BAH \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.736 \n",
+ "loudness -10.31 \n",
+ "mode 1 \n",
+ "name Boys - Remastered 2009 \n",
+ "popularity 41 \n",
+ "preview_url https://p.scdn.co/mp3-preview/c84bcc2dd65c3d9b... \n",
+ "speechiness 0.0504 \n",
+ "tempo 142.445 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/43feVCF6QfqI... \n",
+ "track_number 5 \n",
+ "type audio_features \n",
+ "uri spotify:track:43feVCF6QfqIt9LnLs9BAH \n",
+ "valence 0.825 \n",
+ "\n",
+ " 224 \\\n",
+ "_id 3NwEPV9MDr1z3KcHiAuz9d \n",
+ "acousticness 0.767 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/3NwE... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.605 \n",
+ "disc_number 1 \n",
+ "duration_ms 146533 \n",
+ "energy 0.394 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601415'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/3N... \n",
+ "href https://api.spotify.com/v1/tracks/3NwEPV9MDr1z... \n",
+ "id 3NwEPV9MDr1z3KcHiAuz9d \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.0967 \n",
+ "loudness -11.33 \n",
+ "mode 1 \n",
+ "name Ask Me Why - Remastered 2009 \n",
+ "popularity 40 \n",
+ "preview_url https://p.scdn.co/mp3-preview/f42256fa5367c68f... \n",
+ "speechiness 0.0378 \n",
+ "tempo 133.942 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/3NwEPV9MDr1z... \n",
+ "track_number 6 \n",
+ "type audio_features \n",
+ "uri spotify:track:3NwEPV9MDr1z3KcHiAuz9d \n",
+ "valence 0.606 \n",
+ "\n",
+ " 225 \\\n",
+ "_id 2Iccm3cKBQHWt5yk0yX9nh \n",
+ "acousticness 0.334 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/2Icc... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.527 \n",
+ "disc_number 1 \n",
+ "duration_ms 120853 \n",
+ "energy 0.48 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601416'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/2I... \n",
+ "href https://api.spotify.com/v1/tracks/2Iccm3cKBQHW... \n",
+ "id 2Iccm3cKBQHWt5yk0yX9nh \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.0702 \n",
+ "loudness -9.61 \n",
+ "mode 1 \n",
+ "name Please Please Me - Remastered 2009 \n",
+ "popularity 46 \n",
+ "preview_url https://p.scdn.co/mp3-preview/c7974d03d8cd26de... \n",
+ "speechiness 0.028 \n",
+ "tempo 139.388 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/2Iccm3cKBQHW... \n",
+ "track_number 7 \n",
+ "type audio_features \n",
+ "uri spotify:track:2Iccm3cKBQHWt5yk0yX9nh \n",
+ "valence 0.708 \n",
+ "\n",
+ " 226 \\\n",
+ "_id 01n20rdBC5czKAhxmGREkr \n",
+ "acousticness 0.389 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/01n2... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.635 \n",
+ "disc_number 1 \n",
+ "duration_ms 124360 \n",
+ "energy 0.656 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601418'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/01... \n",
+ "href https://api.spotify.com/v1/tracks/01n20rdBC5cz... \n",
+ "id 01n20rdBC5czKAhxmGREkr \n",
+ "instrumentalness 0.00127 \n",
+ "key 2 \n",
+ "liveness 0.0828 \n",
+ "loudness -8.5 \n",
+ "mode 1 \n",
+ "name P.S. I Love You - Remastered 2009 \n",
+ "popularity 42 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5ef1f2ba07489648... \n",
+ "speechiness 0.0291 \n",
+ "tempo 134.435 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/01n20rdBC5cz... \n",
+ "track_number 9 \n",
+ "type audio_features \n",
+ "uri spotify:track:01n20rdBC5czKAhxmGREkr \n",
+ "valence 0.78 \n",
+ "\n",
+ " 227 \\\n",
+ "_id 5gnrZoSS7nbDYtHp32RFiI \n",
+ "acousticness 0.778 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/5gnr... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.608 \n",
+ "disc_number 1 \n",
+ "duration_ms 160520 \n",
+ "energy 0.494 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601419'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/5g... \n",
+ "href https://api.spotify.com/v1/tracks/5gnrZoSS7nbD... \n",
+ "id 5gnrZoSS7nbDYtHp32RFiI \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.0926 \n",
+ "loudness -12.211 \n",
+ "mode 0 \n",
+ "name Baby It's You - Remastered 2009 \n",
+ "popularity 42 \n",
+ "preview_url https://p.scdn.co/mp3-preview/d7eeb1f68c39066d... \n",
+ "speechiness 0.0345 \n",
+ "tempo 112.421 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/5gnrZoSS7nbD... \n",
+ "track_number 10 \n",
+ "type audio_features \n",
+ "uri spotify:track:5gnrZoSS7nbDYtHp32RFiI \n",
+ "valence 0.889 \n",
+ "\n",
+ " 228 \\\n",
+ "_id 5FBxWhG0nbBAF6lWgJFklM \n",
+ "acousticness 0.608 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/5FBx... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.673 \n",
+ "disc_number 1 \n",
+ "duration_ms 117013 \n",
+ "energy 0.349 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601420'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/5F... \n",
+ "href https://api.spotify.com/v1/tracks/5FBxWhG0nbBA... \n",
+ "id 5FBxWhG0nbBAF6lWgJFklM \n",
+ "instrumentalness 0 \n",
+ "key 4 \n",
+ "liveness 0.38 \n",
+ "loudness -12.414 \n",
+ "mode 1 \n",
+ "name Do You Want To Know A Secret - Remastered 2009 \n",
+ "popularity 47 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5bd705943290818c... \n",
+ "speechiness 0.0368 \n",
+ "tempo 124.451 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/5FBxWhG0nbBA... \n",
+ "track_number 11 \n",
+ "type audio_features \n",
+ "uri spotify:track:5FBxWhG0nbBAF6lWgJFklM \n",
+ "valence 0.636 \n",
+ "\n",
+ " 229 \n",
+ "_id 4Z1fbYp0HuxLBje4MOZcSD \n",
+ "acousticness 0.641 \n",
+ "album {'artists': [{'uri': 'spotify:artist:3WrFJ7ztb... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/4Z1f... \n",
+ "artist_id 3WrFJ7ztbogyGnTHbHJFl2 \n",
+ "artist_name The Beatles \n",
+ "artists [{'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CH, CL, CO, C... \n",
+ "danceability 0.482 \n",
+ "disc_number 1 \n",
+ "duration_ms 155227 \n",
+ "energy 0.849 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0601423'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/4Z... \n",
+ "href https://api.spotify.com/v1/tracks/4Z1fbYp0HuxL... \n",
+ "id 4Z1fbYp0HuxLBje4MOZcSD \n",
+ "instrumentalness 7.74e-06 \n",
+ "key 2 \n",
+ "liveness 0.0414 \n",
+ "loudness -9.198 \n",
+ "mode 1 \n",
+ "name Twist And Shout - Remastered 2009 \n",
+ "popularity 63 \n",
+ "preview_url https://p.scdn.co/mp3-preview/b7e3bc96b46e4dcc... \n",
+ "speechiness 0.0452 \n",
+ "tempo 124.631 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/4Z1fbYp0HuxL... \n",
+ "track_number 14 \n",
+ "type audio_features \n",
+ "uri spotify:track:4Z1fbYp0HuxLBje4MOZcSD \n",
+ "valence 0.942 \n",
+ "\n",
+ "[33 rows x 230 columns]"
+ ]
+ },
+ "execution_count": 99,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "beatles_tracks = pd.DataFrame(list(tracks.find({'artist_id': beatles_id})))\n",
+ "beatles_tracks.T"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "metadata": {
+ "collapsed": false,
+ "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>0</th>\n",
+ " <th>1</th>\n",
+ " <th>2</th>\n",
+ " <th>3</th>\n",
+ " <th>4</th>\n",
+ " <th>5</th>\n",
+ " <th>6</th>\n",
+ " <th>7</th>\n",
+ " <th>8</th>\n",
+ " <th>9</th>\n",
+ " <th>...</th>\n",
+ " <th>136</th>\n",
+ " <th>137</th>\n",
+ " <th>138</th>\n",
+ " <th>139</th>\n",
+ " <th>140</th>\n",
+ " <th>141</th>\n",
+ " <th>142</th>\n",
+ " <th>143</th>\n",
+ " <th>144</th>\n",
+ " <th>145</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>_id</th>\n",
+ " <td>2nTsKOXIVGDf2iPeVQO2Gm</td>\n",
+ " <td>19yGmm9FjEZdZc5j98WDe4</td>\n",
+ " <td>4Na0siMtWOW9pJoWJ1Ponv</td>\n",
+ " <td>4aOAzvRdOsZSwZIgwcdeL0</td>\n",
+ " <td>3SVAN3BRByDmHOhKyIDxfC</td>\n",
+ " <td>53aFGAl0Vebwp2bo8wtdWR</td>\n",
+ " <td>6PBHfI3G8MlQ8qdItoVoxL</td>\n",
+ " <td>0R332cdlS9LyE0Ge2PSlVC</td>\n",
+ " <td>1bSpwPhAxZwlR2enJJsv7U</td>\n",
+ " <td>6n7GUf2h8D2Ad2wUy5s7nE</td>\n",
+ " <td>...</td>\n",
+ " <td>69pwmeyvQMuHMtkCmpEWhQ</td>\n",
+ " <td>4DPQvbgSM0IdX4O3HOACwL</td>\n",
+ " <td>4DE6Wkt9fW7R5e9gJGWQim</td>\n",
+ " <td>1NgvIjkEjkhcIR1pp5Qsir</td>\n",
+ " <td>7xqeIdLJSf3bgmZ7vUvHrE</td>\n",
+ " <td>1HQYo8C5L0qd1p5f1anXPS</td>\n",
+ " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
+ " <td>2YsJM80gRMAhCikUkNZT3G</td>\n",
+ " <td>3OsUjkcv1C1v5udFhgRSFg</td>\n",
+ " <td>05evePUsIT1cmIURp1hgu6</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>acousticness</th>\n",
+ " <td>0.0377</td>\n",
+ " <td>0.0498</td>\n",
+ " <td>0.229</td>\n",
+ " <td>0.000124</td>\n",
+ " <td>0.0626</td>\n",
+ " <td>0.813</td>\n",
+ " <td>0.00267</td>\n",
+ " <td>0.0971</td>\n",
+ " <td>0.0577</td>\n",
+ " <td>0.053</td>\n",
+ " <td>...</td>\n",
+ " <td>0.315</td>\n",
+ " <td>0.827</td>\n",
+ " <td>0.0496</td>\n",
+ " <td>0.674</td>\n",
+ " <td>0.0352</td>\n",
+ " <td>0.719</td>\n",
+ " <td>0.921</td>\n",
+ " <td>0.992</td>\n",
+ " <td>0.00792</td>\n",
+ " <td>0.0206</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>album</th>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " <td>{'artists': [{'uri': 'spotify:artist:4Z8W4fKeB...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>analysis_url</th>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/2nTs...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/19yG...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/4Na0...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/4aOA...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/3SVA...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/53aF...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/6PBH...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/0R33...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/1bSp...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/6n7G...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/69pw...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/4DPQ...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/4DE6...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/1Ngv...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/7xqe...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/1HQY...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/0COi...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/2YsJ...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/3OsU...</td>\n",
+ " <td>https://api.spotify.com/v1/audio-analysis/05ev...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artist_id</th>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>...</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " <td>4Z8W4fKeB5YxbusRsdQVPb</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artist_name</th>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>...</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Radiohead</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>artists</th>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " <td>[{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>available_markets</th>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " <td>[AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>danceability</th>\n",
+ " <td>0.252</td>\n",
+ " <td>0.316</td>\n",
+ " <td>0.293</td>\n",
+ " <td>0.352</td>\n",
+ " <td>0.36</td>\n",
+ " <td>0.432</td>\n",
+ " <td>0.185</td>\n",
+ " <td>0.172</td>\n",
+ " <td>0.255</td>\n",
+ " <td>0.206</td>\n",
+ " <td>...</td>\n",
+ " <td>0.168</td>\n",
+ " <td>0.157</td>\n",
+ " <td>0.403</td>\n",
+ " <td>0.375</td>\n",
+ " <td>0.615</td>\n",
+ " <td>0.645</td>\n",
+ " <td>0.134</td>\n",
+ " <td>0.327</td>\n",
+ " <td>0.306</td>\n",
+ " <td>0.429</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>disc_number</th>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>...</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>duration_ms</th>\n",
+ " <td>387213</td>\n",
+ " <td>267693</td>\n",
+ " <td>267187</td>\n",
+ " <td>299560</td>\n",
+ " <td>264067</td>\n",
+ " <td>117333</td>\n",
+ " <td>230627</td>\n",
+ " <td>285200</td>\n",
+ " <td>229120</td>\n",
+ " <td>258813</td>\n",
+ " <td>...</td>\n",
+ " <td>356333</td>\n",
+ " <td>222600</td>\n",
+ " <td>315973</td>\n",
+ " <td>211000</td>\n",
+ " <td>309093</td>\n",
+ " <td>275800</td>\n",
+ " <td>200483</td>\n",
+ " <td>52695</td>\n",
+ " <td>287880</td>\n",
+ " <td>259200</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>energy</th>\n",
+ " <td>0.849</td>\n",
+ " <td>0.592</td>\n",
+ " <td>0.276</td>\n",
+ " <td>0.674</td>\n",
+ " <td>0.505</td>\n",
+ " <td>0.391</td>\n",
+ " <td>0.889</td>\n",
+ " <td>0.655</td>\n",
+ " <td>0.393</td>\n",
+ " <td>0.4</td>\n",
+ " <td>...</td>\n",
+ " <td>0.302</td>\n",
+ " <td>0.145</td>\n",
+ " <td>0.757</td>\n",
+ " <td>0.634</td>\n",
+ " <td>0.931</td>\n",
+ " <td>0.462</td>\n",
+ " <td>0.129</td>\n",
+ " <td>0.225</td>\n",
+ " <td>0.872</td>\n",
+ " <td>0.88</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>explicit</th>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>...</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " <td>False</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>external_ids</th>\n",
+ " <td>{'isrc': 'GBAYE9701376'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701377'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701372'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701374'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701368'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701373'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701371'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701370'}</td>\n",
+ " <td>{'isrc': 'GBAYE9700386'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701375'}</td>\n",
+ " <td>...</td>\n",
+ " <td>{'isrc': 'GBAYE0000813'}</td>\n",
+ " <td>{'isrc': 'GBAYE0000814'}</td>\n",
+ " <td>{'isrc': 'GBAYE0001033'}</td>\n",
+ " <td>{'isrc': 'GBAYE0000816'}</td>\n",
+ " <td>{'isrc': 'GBAYE0000817'}</td>\n",
+ " <td>{'isrc': 'GBAYE0000818'}</td>\n",
+ " <td>{'isrc': 'GBAYE0800814'}</td>\n",
+ " <td>{'isrc': 'GBAYE0800815'}</td>\n",
+ " <td>{'isrc': 'GBAYE9701274'}</td>\n",
+ " <td>{'isrc': 'GBAYE9400059'}</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>external_urls</th>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/2n...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/19...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/4N...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/4a...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/3S...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/53...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/6P...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/0R...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/1b...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/6n...</td>\n",
+ " <td>...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/69...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/4D...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/4D...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/1N...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/7x...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/1H...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/0C...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/2Y...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/3O...</td>\n",
+ " <td>{'spotify': 'https://open.spotify.com/track/05...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>href</th>\n",
+ " <td>https://api.spotify.com/v1/tracks/2nTsKOXIVGDf...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/19yGmm9FjEZd...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4Na0siMtWOW9...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4aOAzvRdOsZS...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3SVAN3BRByDm...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/53aFGAl0Vebw...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6PBHfI3G8MlQ...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0R332cdlS9Ly...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1bSpwPhAxZwl...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6n7GUf2h8D2A...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/69pwmeyvQMuH...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4DPQvbgSM0Id...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4DE6Wkt9fW7R...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1NgvIjkEjkhc...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/7xqeIdLJSf3b...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1HQYo8C5L0qd...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0COiZ7ncho2y...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2YsJM80gRMAh...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3OsUjkcv1C1v...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/05evePUsIT1c...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>id</th>\n",
+ " <td>2nTsKOXIVGDf2iPeVQO2Gm</td>\n",
+ " <td>19yGmm9FjEZdZc5j98WDe4</td>\n",
+ " <td>4Na0siMtWOW9pJoWJ1Ponv</td>\n",
+ " <td>4aOAzvRdOsZSwZIgwcdeL0</td>\n",
+ " <td>3SVAN3BRByDmHOhKyIDxfC</td>\n",
+ " <td>53aFGAl0Vebwp2bo8wtdWR</td>\n",
+ " <td>6PBHfI3G8MlQ8qdItoVoxL</td>\n",
+ " <td>0R332cdlS9LyE0Ge2PSlVC</td>\n",
+ " <td>1bSpwPhAxZwlR2enJJsv7U</td>\n",
+ " <td>6n7GUf2h8D2Ad2wUy5s7nE</td>\n",
+ " <td>...</td>\n",
+ " <td>69pwmeyvQMuHMtkCmpEWhQ</td>\n",
+ " <td>4DPQvbgSM0IdX4O3HOACwL</td>\n",
+ " <td>4DE6Wkt9fW7R5e9gJGWQim</td>\n",
+ " <td>1NgvIjkEjkhcIR1pp5Qsir</td>\n",
+ " <td>7xqeIdLJSf3bgmZ7vUvHrE</td>\n",
+ " <td>1HQYo8C5L0qd1p5f1anXPS</td>\n",
+ " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
+ " <td>2YsJM80gRMAhCikUkNZT3G</td>\n",
+ " <td>3OsUjkcv1C1v5udFhgRSFg</td>\n",
+ " <td>05evePUsIT1cmIURp1hgu6</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>instrumentalness</th>\n",
+ " <td>0.00592</td>\n",
+ " <td>0.00139</td>\n",
+ " <td>0.119</td>\n",
+ " <td>0.12</td>\n",
+ " <td>9.22e-05</td>\n",
+ " <td>0.00363</td>\n",
+ " <td>0.0981</td>\n",
+ " <td>0.128</td>\n",
+ " <td>0.00361</td>\n",
+ " <td>0.638</td>\n",
+ " <td>...</td>\n",
+ " <td>0.79</td>\n",
+ " <td>0.886</td>\n",
+ " <td>0.848</td>\n",
+ " <td>0.828</td>\n",
+ " <td>2.37e-05</td>\n",
+ " <td>0.291</td>\n",
+ " <td>0.697</td>\n",
+ " <td>0.813</td>\n",
+ " <td>0.8</td>\n",
+ " <td>0.698</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>key</th>\n",
+ " <td>5</td>\n",
+ " <td>0</td>\n",
+ " <td>7</td>\n",
+ " <td>9</td>\n",
+ " <td>7</td>\n",
+ " <td>9</td>\n",
+ " <td>9</td>\n",
+ " <td>11</td>\n",
+ " <td>5</td>\n",
+ " <td>11</td>\n",
+ " <td>...</td>\n",
+ " <td>6</td>\n",
+ " <td>6</td>\n",
+ " <td>7</td>\n",
+ " <td>0</td>\n",
+ " <td>3</td>\n",
+ " <td>2</td>\n",
+ " <td>7</td>\n",
+ " <td>7</td>\n",
+ " <td>2</td>\n",
+ " <td>9</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>liveness</th>\n",
+ " <td>0.0545</td>\n",
+ " <td>0.103</td>\n",
+ " <td>0.167</td>\n",
+ " <td>0.18</td>\n",
+ " <td>0.172</td>\n",
+ " <td>0.155</td>\n",
+ " <td>0.291</td>\n",
+ " <td>0.195</td>\n",
+ " <td>0.113</td>\n",
+ " <td>0.111</td>\n",
+ " <td>...</td>\n",
+ " <td>0.11</td>\n",
+ " <td>0.109</td>\n",
+ " <td>0.305</td>\n",
+ " <td>0.135</td>\n",
+ " <td>0.0914</td>\n",
+ " <td>0.34</td>\n",
+ " <td>0.13</td>\n",
+ " <td>0.106</td>\n",
+ " <td>0.261</td>\n",
+ " <td>0.607</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>loudness</th>\n",
+ " <td>-6.501</td>\n",
+ " <td>-8.916</td>\n",
+ " <td>-11.353</td>\n",
+ " <td>-9.018</td>\n",
+ " <td>-9.129</td>\n",
+ " <td>-14.99</td>\n",
+ " <td>-5.491</td>\n",
+ " <td>-7.476</td>\n",
+ " <td>-10.654</td>\n",
+ " <td>-9.813</td>\n",
+ " <td>...</td>\n",
+ " <td>-11.645</td>\n",
+ " <td>-21.359</td>\n",
+ " <td>-9.931</td>\n",
+ " <td>-10.543</td>\n",
+ " <td>-7.8</td>\n",
+ " <td>-12.124</td>\n",
+ " <td>-16.128</td>\n",
+ " <td>-16.341</td>\n",
+ " <td>-7.313</td>\n",
+ " <td>-8.013</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>mode</th>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>...</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>0</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>name</th>\n",
+ " <td>Paranoid Android</td>\n",
+ " <td>Subterranean Homesick Alien</td>\n",
+ " <td>Exit Music (For a Film)</td>\n",
+ " <td>Let Down</td>\n",
+ " <td>Karma Police</td>\n",
+ " <td>Fitter Happier</td>\n",
+ " <td>Electioneering</td>\n",
+ " <td>Climbing Up the Walls</td>\n",
+ " <td>No Surprises</td>\n",
+ " <td>Lucky</td>\n",
+ " <td>...</td>\n",
+ " <td>How To Disappear Completely</td>\n",
+ " <td>Treefingers</td>\n",
+ " <td>Optimistic</td>\n",
+ " <td>In Limbo</td>\n",
+ " <td>Idioteque</td>\n",
+ " <td>Morning Bell</td>\n",
+ " <td>Motion Picture Soundtrack</td>\n",
+ " <td>Untitled</td>\n",
+ " <td>Airbag</td>\n",
+ " <td>Planet Telex</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>popularity</th>\n",
+ " <td>61</td>\n",
+ " <td>50</td>\n",
+ " <td>57</td>\n",
+ " <td>54</td>\n",
+ " <td>67</td>\n",
+ " <td>46</td>\n",
+ " <td>48</td>\n",
+ " <td>49</td>\n",
+ " <td>65</td>\n",
+ " <td>52</td>\n",
+ " <td>...</td>\n",
+ " <td>52</td>\n",
+ " <td>47</td>\n",
+ " <td>48</td>\n",
+ " <td>45</td>\n",
+ " <td>53</td>\n",
+ " <td>45</td>\n",
+ " <td>50</td>\n",
+ " <td>42</td>\n",
+ " <td>53</td>\n",
+ " <td>50</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>preview_url</th>\n",
+ " <td>https://p.scdn.co/mp3-preview/d68bd7fa4f0bd86e...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/1c569ba75765a530...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/60c34f0bff7c5073...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/68c98db9439a6627...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5a09f5390e2862af...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/750e3f7cde8f9135...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/f45691770c6e5fb1...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5b1e45987b96b274...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/de1369604de29117...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/2471315d277d1a81...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/a7631fa65da16818...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/5e8736b134c6e7ed...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/e5a71bda0881bc08...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/064459c760ca9917...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/60519b188756b8af...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/ba6c14284148fc52...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/7fe3e39385451ae9...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/081becd2c8928041...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/d0f6278fcf67c3c7...</td>\n",
+ " <td>https://p.scdn.co/mp3-preview/4635aeb3172535b2...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>speechiness</th>\n",
+ " <td>0.0581</td>\n",
+ " <td>0.0296</td>\n",
+ " <td>0.0351</td>\n",
+ " <td>0.031</td>\n",
+ " <td>0.026</td>\n",
+ " <td>0.242</td>\n",
+ " <td>0.0743</td>\n",
+ " <td>0.042</td>\n",
+ " <td>0.0278</td>\n",
+ " <td>0.0324</td>\n",
+ " <td>...</td>\n",
+ " <td>0.0344</td>\n",
+ " <td>0.0354</td>\n",
+ " <td>0.0371</td>\n",
+ " <td>0.0317</td>\n",
+ " <td>0.24</td>\n",
+ " <td>0.0319</td>\n",
+ " <td>0.0341</td>\n",
+ " <td>0.067</td>\n",
+ " <td>0.05</td>\n",
+ " <td>0.109</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>tempo</th>\n",
+ " <td>163.704</td>\n",
+ " <td>150.537</td>\n",
+ " <td>121.603</td>\n",
+ " <td>102.489</td>\n",
+ " <td>74.807</td>\n",
+ " <td>123.538</td>\n",
+ " <td>77.555</td>\n",
+ " <td>78.653</td>\n",
+ " <td>76.426</td>\n",
+ " <td>133.442</td>\n",
+ " <td>...</td>\n",
+ " <td>102.041</td>\n",
+ " <td>138.305</td>\n",
+ " <td>157.957</td>\n",
+ " <td>89.752</td>\n",
+ " <td>137.544</td>\n",
+ " <td>142.137</td>\n",
+ " <td>93.668</td>\n",
+ " <td>63.422</td>\n",
+ " <td>167.946</td>\n",
+ " <td>148.965</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>time_signature</th>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>...</td>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " <td>4</td>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " <td>5</td>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " <td>4</td>\n",
+ " <td>3</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>track_href</th>\n",
+ " <td>https://api.spotify.com/v1/tracks/2nTsKOXIVGDf...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/19yGmm9FjEZd...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4Na0siMtWOW9...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4aOAzvRdOsZS...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3SVAN3BRByDm...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/53aFGAl0Vebw...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6PBHfI3G8MlQ...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0R332cdlS9Ly...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1bSpwPhAxZwl...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/6n7GUf2h8D2A...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/69pwmeyvQMuH...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4DPQvbgSM0Id...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/4DE6Wkt9fW7R...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1NgvIjkEjkhc...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/7xqeIdLJSf3b...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/1HQYo8C5L0qd...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/0COiZ7ncho2y...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/2YsJM80gRMAh...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/3OsUjkcv1C1v...</td>\n",
+ " <td>https://api.spotify.com/v1/tracks/05evePUsIT1c...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>track_number</th>\n",
+ " <td>2</td>\n",
+ " <td>3</td>\n",
+ " <td>4</td>\n",
+ " <td>5</td>\n",
+ " <td>6</td>\n",
+ " <td>7</td>\n",
+ " <td>8</td>\n",
+ " <td>9</td>\n",
+ " <td>10</td>\n",
+ " <td>11</td>\n",
+ " <td>...</td>\n",
+ " <td>4</td>\n",
+ " <td>5</td>\n",
+ " <td>6</td>\n",
+ " <td>7</td>\n",
+ " <td>8</td>\n",
+ " <td>9</td>\n",
+ " <td>10</td>\n",
+ " <td>11</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>type</th>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>...</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " <td>audio_features</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>uri</th>\n",
+ " <td>spotify:track:2nTsKOXIVGDf2iPeVQO2Gm</td>\n",
+ " <td>spotify:track:19yGmm9FjEZdZc5j98WDe4</td>\n",
+ " <td>spotify:track:4Na0siMtWOW9pJoWJ1Ponv</td>\n",
+ " <td>spotify:track:4aOAzvRdOsZSwZIgwcdeL0</td>\n",
+ " <td>spotify:track:3SVAN3BRByDmHOhKyIDxfC</td>\n",
+ " <td>spotify:track:53aFGAl0Vebwp2bo8wtdWR</td>\n",
+ " <td>spotify:track:6PBHfI3G8MlQ8qdItoVoxL</td>\n",
+ " <td>spotify:track:0R332cdlS9LyE0Ge2PSlVC</td>\n",
+ " <td>spotify:track:1bSpwPhAxZwlR2enJJsv7U</td>\n",
+ " <td>spotify:track:6n7GUf2h8D2Ad2wUy5s7nE</td>\n",
+ " <td>...</td>\n",
+ " <td>spotify:track:69pwmeyvQMuHMtkCmpEWhQ</td>\n",
+ " <td>spotify:track:4DPQvbgSM0IdX4O3HOACwL</td>\n",
+ " <td>spotify:track:4DE6Wkt9fW7R5e9gJGWQim</td>\n",
+ " <td>spotify:track:1NgvIjkEjkhcIR1pp5Qsir</td>\n",
+ " <td>spotify:track:7xqeIdLJSf3bgmZ7vUvHrE</td>\n",
+ " <td>spotify:track:1HQYo8C5L0qd1p5f1anXPS</td>\n",
+ " <td>spotify:track:0COiZ7ncho2yi4HotbzgPv</td>\n",
+ " <td>spotify:track:2YsJM80gRMAhCikUkNZT3G</td>\n",
+ " <td>spotify:track:3OsUjkcv1C1v5udFhgRSFg</td>\n",
+ " <td>spotify:track:05evePUsIT1cmIURp1hgu6</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>valence</th>\n",
+ " <td>0.202</td>\n",
+ " <td>0.337</td>\n",
+ " <td>0.183</td>\n",
+ " <td>0.131</td>\n",
+ " <td>0.311</td>\n",
+ " <td>0.728</td>\n",
+ " <td>0.328</td>\n",
+ " <td>0.211</td>\n",
+ " <td>0.126</td>\n",
+ " <td>0.195</td>\n",
+ " <td>...</td>\n",
+ " <td>0.202</td>\n",
+ " <td>0.0585</td>\n",
+ " <td>0.572</td>\n",
+ " <td>0.49</td>\n",
+ " <td>0.539</td>\n",
+ " <td>0.39</td>\n",
+ " <td>0.0425</td>\n",
+ " <td>0.0782</td>\n",
+ " <td>0.642</td>\n",
+ " <td>0.272</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "<p>33 rows × 146 columns</p>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " 0 \\\n",
+ "_id 2nTsKOXIVGDf2iPeVQO2Gm \n",
+ "acousticness 0.0377 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/2nTs... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.252 \n",
+ "disc_number 1 \n",
+ "duration_ms 387213 \n",
+ "energy 0.849 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701376'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/2n... \n",
+ "href https://api.spotify.com/v1/tracks/2nTsKOXIVGDf... \n",
+ "id 2nTsKOXIVGDf2iPeVQO2Gm \n",
+ "instrumentalness 0.00592 \n",
+ "key 5 \n",
+ "liveness 0.0545 \n",
+ "loudness -6.501 \n",
+ "mode 1 \n",
+ "name Paranoid Android \n",
+ "popularity 61 \n",
+ "preview_url https://p.scdn.co/mp3-preview/d68bd7fa4f0bd86e... \n",
+ "speechiness 0.0581 \n",
+ "tempo 163.704 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/2nTsKOXIVGDf... \n",
+ "track_number 2 \n",
+ "type audio_features \n",
+ "uri spotify:track:2nTsKOXIVGDf2iPeVQO2Gm \n",
+ "valence 0.202 \n",
+ "\n",
+ " 1 \\\n",
+ "_id 19yGmm9FjEZdZc5j98WDe4 \n",
+ "acousticness 0.0498 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/19yG... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.316 \n",
+ "disc_number 1 \n",
+ "duration_ms 267693 \n",
+ "energy 0.592 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701377'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/19... \n",
+ "href https://api.spotify.com/v1/tracks/19yGmm9FjEZd... \n",
+ "id 19yGmm9FjEZdZc5j98WDe4 \n",
+ "instrumentalness 0.00139 \n",
+ "key 0 \n",
+ "liveness 0.103 \n",
+ "loudness -8.916 \n",
+ "mode 1 \n",
+ "name Subterranean Homesick Alien \n",
+ "popularity 50 \n",
+ "preview_url https://p.scdn.co/mp3-preview/1c569ba75765a530... \n",
+ "speechiness 0.0296 \n",
+ "tempo 150.537 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/19yGmm9FjEZd... \n",
+ "track_number 3 \n",
+ "type audio_features \n",
+ "uri spotify:track:19yGmm9FjEZdZc5j98WDe4 \n",
+ "valence 0.337 \n",
+ "\n",
+ " 2 \\\n",
+ "_id 4Na0siMtWOW9pJoWJ1Ponv \n",
+ "acousticness 0.229 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/4Na0... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.293 \n",
+ "disc_number 1 \n",
+ "duration_ms 267187 \n",
+ "energy 0.276 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701372'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/4N... \n",
+ "href https://api.spotify.com/v1/tracks/4Na0siMtWOW9... \n",
+ "id 4Na0siMtWOW9pJoWJ1Ponv \n",
+ "instrumentalness 0.119 \n",
+ "key 7 \n",
+ "liveness 0.167 \n",
+ "loudness -11.353 \n",
+ "mode 1 \n",
+ "name Exit Music (For a Film) \n",
+ "popularity 57 \n",
+ "preview_url https://p.scdn.co/mp3-preview/60c34f0bff7c5073... \n",
+ "speechiness 0.0351 \n",
+ "tempo 121.603 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/4Na0siMtWOW9... \n",
+ "track_number 4 \n",
+ "type audio_features \n",
+ "uri spotify:track:4Na0siMtWOW9pJoWJ1Ponv \n",
+ "valence 0.183 \n",
+ "\n",
+ " 3 \\\n",
+ "_id 4aOAzvRdOsZSwZIgwcdeL0 \n",
+ "acousticness 0.000124 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/4aOA... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.352 \n",
+ "disc_number 1 \n",
+ "duration_ms 299560 \n",
+ "energy 0.674 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701374'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/4a... \n",
+ "href https://api.spotify.com/v1/tracks/4aOAzvRdOsZS... \n",
+ "id 4aOAzvRdOsZSwZIgwcdeL0 \n",
+ "instrumentalness 0.12 \n",
+ "key 9 \n",
+ "liveness 0.18 \n",
+ "loudness -9.018 \n",
+ "mode 1 \n",
+ "name Let Down \n",
+ "popularity 54 \n",
+ "preview_url https://p.scdn.co/mp3-preview/68c98db9439a6627... \n",
+ "speechiness 0.031 \n",
+ "tempo 102.489 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/4aOAzvRdOsZS... \n",
+ "track_number 5 \n",
+ "type audio_features \n",
+ "uri spotify:track:4aOAzvRdOsZSwZIgwcdeL0 \n",
+ "valence 0.131 \n",
+ "\n",
+ " 4 \\\n",
+ "_id 3SVAN3BRByDmHOhKyIDxfC \n",
+ "acousticness 0.0626 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/3SVA... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.36 \n",
+ "disc_number 1 \n",
+ "duration_ms 264067 \n",
+ "energy 0.505 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701368'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/3S... \n",
+ "href https://api.spotify.com/v1/tracks/3SVAN3BRByDm... \n",
+ "id 3SVAN3BRByDmHOhKyIDxfC \n",
+ "instrumentalness 9.22e-05 \n",
+ "key 7 \n",
+ "liveness 0.172 \n",
+ "loudness -9.129 \n",
+ "mode 1 \n",
+ "name Karma Police \n",
+ "popularity 67 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5a09f5390e2862af... \n",
+ "speechiness 0.026 \n",
+ "tempo 74.807 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/3SVAN3BRByDm... \n",
+ "track_number 6 \n",
+ "type audio_features \n",
+ "uri spotify:track:3SVAN3BRByDmHOhKyIDxfC \n",
+ "valence 0.311 \n",
+ "\n",
+ " 5 \\\n",
+ "_id 53aFGAl0Vebwp2bo8wtdWR \n",
+ "acousticness 0.813 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/53aF... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.432 \n",
+ "disc_number 1 \n",
+ "duration_ms 117333 \n",
+ "energy 0.391 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701373'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/53... \n",
+ "href https://api.spotify.com/v1/tracks/53aFGAl0Vebw... \n",
+ "id 53aFGAl0Vebwp2bo8wtdWR \n",
+ "instrumentalness 0.00363 \n",
+ "key 9 \n",
+ "liveness 0.155 \n",
+ "loudness -14.99 \n",
+ "mode 1 \n",
+ "name Fitter Happier \n",
+ "popularity 46 \n",
+ "preview_url https://p.scdn.co/mp3-preview/750e3f7cde8f9135... \n",
+ "speechiness 0.242 \n",
+ "tempo 123.538 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/53aFGAl0Vebw... \n",
+ "track_number 7 \n",
+ "type audio_features \n",
+ "uri spotify:track:53aFGAl0Vebwp2bo8wtdWR \n",
+ "valence 0.728 \n",
+ "\n",
+ " 6 \\\n",
+ "_id 6PBHfI3G8MlQ8qdItoVoxL \n",
+ "acousticness 0.00267 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/6PBH... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.185 \n",
+ "disc_number 1 \n",
+ "duration_ms 230627 \n",
+ "energy 0.889 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701371'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/6P... \n",
+ "href https://api.spotify.com/v1/tracks/6PBHfI3G8MlQ... \n",
+ "id 6PBHfI3G8MlQ8qdItoVoxL \n",
+ "instrumentalness 0.0981 \n",
+ "key 9 \n",
+ "liveness 0.291 \n",
+ "loudness -5.491 \n",
+ "mode 0 \n",
+ "name Electioneering \n",
+ "popularity 48 \n",
+ "preview_url https://p.scdn.co/mp3-preview/f45691770c6e5fb1... \n",
+ "speechiness 0.0743 \n",
+ "tempo 77.555 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/6PBHfI3G8MlQ... \n",
+ "track_number 8 \n",
+ "type audio_features \n",
+ "uri spotify:track:6PBHfI3G8MlQ8qdItoVoxL \n",
+ "valence 0.328 \n",
+ "\n",
+ " 7 \\\n",
+ "_id 0R332cdlS9LyE0Ge2PSlVC \n",
+ "acousticness 0.0971 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/0R33... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.172 \n",
+ "disc_number 1 \n",
+ "duration_ms 285200 \n",
+ "energy 0.655 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701370'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/0R... \n",
+ "href https://api.spotify.com/v1/tracks/0R332cdlS9Ly... \n",
+ "id 0R332cdlS9LyE0Ge2PSlVC \n",
+ "instrumentalness 0.128 \n",
+ "key 11 \n",
+ "liveness 0.195 \n",
+ "loudness -7.476 \n",
+ "mode 0 \n",
+ "name Climbing Up the Walls \n",
+ "popularity 49 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5b1e45987b96b274... \n",
+ "speechiness 0.042 \n",
+ "tempo 78.653 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/0R332cdlS9Ly... \n",
+ "track_number 9 \n",
+ "type audio_features \n",
+ "uri spotify:track:0R332cdlS9LyE0Ge2PSlVC \n",
+ "valence 0.211 \n",
+ "\n",
+ " 8 \\\n",
+ "_id 1bSpwPhAxZwlR2enJJsv7U \n",
+ "acousticness 0.0577 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/1bSp... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.255 \n",
+ "disc_number 1 \n",
+ "duration_ms 229120 \n",
+ "energy 0.393 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9700386'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/1b... \n",
+ "href https://api.spotify.com/v1/tracks/1bSpwPhAxZwl... \n",
+ "id 1bSpwPhAxZwlR2enJJsv7U \n",
+ "instrumentalness 0.00361 \n",
+ "key 5 \n",
+ "liveness 0.113 \n",
+ "loudness -10.654 \n",
+ "mode 1 \n",
+ "name No Surprises \n",
+ "popularity 65 \n",
+ "preview_url https://p.scdn.co/mp3-preview/de1369604de29117... \n",
+ "speechiness 0.0278 \n",
+ "tempo 76.426 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/1bSpwPhAxZwl... \n",
+ "track_number 10 \n",
+ "type audio_features \n",
+ "uri spotify:track:1bSpwPhAxZwlR2enJJsv7U \n",
+ "valence 0.126 \n",
+ "\n",
+ " 9 \\\n",
+ "_id 6n7GUf2h8D2Ad2wUy5s7nE \n",
+ "acousticness 0.053 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/6n7G... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.206 \n",
+ "disc_number 1 \n",
+ "duration_ms 258813 \n",
+ "energy 0.4 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701375'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/6n... \n",
+ "href https://api.spotify.com/v1/tracks/6n7GUf2h8D2A... \n",
+ "id 6n7GUf2h8D2Ad2wUy5s7nE \n",
+ "instrumentalness 0.638 \n",
+ "key 11 \n",
+ "liveness 0.111 \n",
+ "loudness -9.813 \n",
+ "mode 0 \n",
+ "name Lucky \n",
+ "popularity 52 \n",
+ "preview_url https://p.scdn.co/mp3-preview/2471315d277d1a81... \n",
+ "speechiness 0.0324 \n",
+ "tempo 133.442 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/6n7GUf2h8D2A... \n",
+ "track_number 11 \n",
+ "type audio_features \n",
+ "uri spotify:track:6n7GUf2h8D2Ad2wUy5s7nE \n",
+ "valence 0.195 \n",
+ "\n",
+ " ... \\\n",
+ "_id ... \n",
+ "acousticness ... \n",
+ "album ... \n",
+ "analysis_url ... \n",
+ "artist_id ... \n",
+ "artist_name ... \n",
+ "artists ... \n",
+ "available_markets ... \n",
+ "danceability ... \n",
+ "disc_number ... \n",
+ "duration_ms ... \n",
+ "energy ... \n",
+ "explicit ... \n",
+ "external_ids ... \n",
+ "external_urls ... \n",
+ "href ... \n",
+ "id ... \n",
+ "instrumentalness ... \n",
+ "key ... \n",
+ "liveness ... \n",
+ "loudness ... \n",
+ "mode ... \n",
+ "name ... \n",
+ "popularity ... \n",
+ "preview_url ... \n",
+ "speechiness ... \n",
+ "tempo ... \n",
+ "time_signature ... \n",
+ "track_href ... \n",
+ "track_number ... \n",
+ "type ... \n",
+ "uri ... \n",
+ "valence ... \n",
+ "\n",
+ " 136 \\\n",
+ "_id 69pwmeyvQMuHMtkCmpEWhQ \n",
+ "acousticness 0.315 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/69pw... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.168 \n",
+ "disc_number 1 \n",
+ "duration_ms 356333 \n",
+ "energy 0.302 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0000813'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/69... \n",
+ "href https://api.spotify.com/v1/tracks/69pwmeyvQMuH... \n",
+ "id 69pwmeyvQMuHMtkCmpEWhQ \n",
+ "instrumentalness 0.79 \n",
+ "key 6 \n",
+ "liveness 0.11 \n",
+ "loudness -11.645 \n",
+ "mode 0 \n",
+ "name How To Disappear Completely \n",
+ "popularity 52 \n",
+ "preview_url https://p.scdn.co/mp3-preview/a7631fa65da16818... \n",
+ "speechiness 0.0344 \n",
+ "tempo 102.041 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/69pwmeyvQMuH... \n",
+ "track_number 4 \n",
+ "type audio_features \n",
+ "uri spotify:track:69pwmeyvQMuHMtkCmpEWhQ \n",
+ "valence 0.202 \n",
+ "\n",
+ " 137 \\\n",
+ "_id 4DPQvbgSM0IdX4O3HOACwL \n",
+ "acousticness 0.827 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/4DPQ... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.157 \n",
+ "disc_number 1 \n",
+ "duration_ms 222600 \n",
+ "energy 0.145 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0000814'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/4D... \n",
+ "href https://api.spotify.com/v1/tracks/4DPQvbgSM0Id... \n",
+ "id 4DPQvbgSM0IdX4O3HOACwL \n",
+ "instrumentalness 0.886 \n",
+ "key 6 \n",
+ "liveness 0.109 \n",
+ "loudness -21.359 \n",
+ "mode 1 \n",
+ "name Treefingers \n",
+ "popularity 47 \n",
+ "preview_url https://p.scdn.co/mp3-preview/5e8736b134c6e7ed... \n",
+ "speechiness 0.0354 \n",
+ "tempo 138.305 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/4DPQvbgSM0Id... \n",
+ "track_number 5 \n",
+ "type audio_features \n",
+ "uri spotify:track:4DPQvbgSM0IdX4O3HOACwL \n",
+ "valence 0.0585 \n",
+ "\n",
+ " 138 \\\n",
+ "_id 4DE6Wkt9fW7R5e9gJGWQim \n",
+ "acousticness 0.0496 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/4DE6... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.403 \n",
+ "disc_number 1 \n",
+ "duration_ms 315973 \n",
+ "energy 0.757 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0001033'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/4D... \n",
+ "href https://api.spotify.com/v1/tracks/4DE6Wkt9fW7R... \n",
+ "id 4DE6Wkt9fW7R5e9gJGWQim \n",
+ "instrumentalness 0.848 \n",
+ "key 7 \n",
+ "liveness 0.305 \n",
+ "loudness -9.931 \n",
+ "mode 0 \n",
+ "name Optimistic \n",
+ "popularity 48 \n",
+ "preview_url https://p.scdn.co/mp3-preview/e5a71bda0881bc08... \n",
+ "speechiness 0.0371 \n",
+ "tempo 157.957 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/4DE6Wkt9fW7R... \n",
+ "track_number 6 \n",
+ "type audio_features \n",
+ "uri spotify:track:4DE6Wkt9fW7R5e9gJGWQim \n",
+ "valence 0.572 \n",
+ "\n",
+ " 139 \\\n",
+ "_id 1NgvIjkEjkhcIR1pp5Qsir \n",
+ "acousticness 0.674 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/1Ngv... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.375 \n",
+ "disc_number 1 \n",
+ "duration_ms 211000 \n",
+ "energy 0.634 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0000816'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/1N... \n",
+ "href https://api.spotify.com/v1/tracks/1NgvIjkEjkhc... \n",
+ "id 1NgvIjkEjkhcIR1pp5Qsir \n",
+ "instrumentalness 0.828 \n",
+ "key 0 \n",
+ "liveness 0.135 \n",
+ "loudness -10.543 \n",
+ "mode 1 \n",
+ "name In Limbo \n",
+ "popularity 45 \n",
+ "preview_url https://p.scdn.co/mp3-preview/064459c760ca9917... \n",
+ "speechiness 0.0317 \n",
+ "tempo 89.752 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/1NgvIjkEjkhc... \n",
+ "track_number 7 \n",
+ "type audio_features \n",
+ "uri spotify:track:1NgvIjkEjkhcIR1pp5Qsir \n",
+ "valence 0.49 \n",
+ "\n",
+ " 140 \\\n",
+ "_id 7xqeIdLJSf3bgmZ7vUvHrE \n",
+ "acousticness 0.0352 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/7xqe... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.615 \n",
+ "disc_number 1 \n",
+ "duration_ms 309093 \n",
+ "energy 0.931 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0000817'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/7x... \n",
+ "href https://api.spotify.com/v1/tracks/7xqeIdLJSf3b... \n",
+ "id 7xqeIdLJSf3bgmZ7vUvHrE \n",
+ "instrumentalness 2.37e-05 \n",
+ "key 3 \n",
+ "liveness 0.0914 \n",
+ "loudness -7.8 \n",
+ "mode 1 \n",
+ "name Idioteque \n",
+ "popularity 53 \n",
+ "preview_url https://p.scdn.co/mp3-preview/60519b188756b8af... \n",
+ "speechiness 0.24 \n",
+ "tempo 137.544 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/7xqeIdLJSf3b... \n",
+ "track_number 8 \n",
+ "type audio_features \n",
+ "uri spotify:track:7xqeIdLJSf3bgmZ7vUvHrE \n",
+ "valence 0.539 \n",
+ "\n",
+ " 141 \\\n",
+ "_id 1HQYo8C5L0qd1p5f1anXPS \n",
+ "acousticness 0.719 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/1HQY... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.645 \n",
+ "disc_number 1 \n",
+ "duration_ms 275800 \n",
+ "energy 0.462 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0000818'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/1H... \n",
+ "href https://api.spotify.com/v1/tracks/1HQYo8C5L0qd... \n",
+ "id 1HQYo8C5L0qd1p5f1anXPS \n",
+ "instrumentalness 0.291 \n",
+ "key 2 \n",
+ "liveness 0.34 \n",
+ "loudness -12.124 \n",
+ "mode 1 \n",
+ "name Morning Bell \n",
+ "popularity 45 \n",
+ "preview_url https://p.scdn.co/mp3-preview/ba6c14284148fc52... \n",
+ "speechiness 0.0319 \n",
+ "tempo 142.137 \n",
+ "time_signature 5 \n",
+ "track_href https://api.spotify.com/v1/tracks/1HQYo8C5L0qd... \n",
+ "track_number 9 \n",
+ "type audio_features \n",
+ "uri spotify:track:1HQYo8C5L0qd1p5f1anXPS \n",
+ "valence 0.39 \n",
+ "\n",
+ " 142 \\\n",
+ "_id 0COiZ7ncho2yi4HotbzgPv \n",
+ "acousticness 0.921 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/0COi... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.134 \n",
+ "disc_number 1 \n",
+ "duration_ms 200483 \n",
+ "energy 0.129 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0800814'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/0C... \n",
+ "href https://api.spotify.com/v1/tracks/0COiZ7ncho2y... \n",
+ "id 0COiZ7ncho2yi4HotbzgPv \n",
+ "instrumentalness 0.697 \n",
+ "key 7 \n",
+ "liveness 0.13 \n",
+ "loudness -16.128 \n",
+ "mode 1 \n",
+ "name Motion Picture Soundtrack \n",
+ "popularity 50 \n",
+ "preview_url https://p.scdn.co/mp3-preview/7fe3e39385451ae9... \n",
+ "speechiness 0.0341 \n",
+ "tempo 93.668 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/0COiZ7ncho2y... \n",
+ "track_number 10 \n",
+ "type audio_features \n",
+ "uri spotify:track:0COiZ7ncho2yi4HotbzgPv \n",
+ "valence 0.0425 \n",
+ "\n",
+ " 143 \\\n",
+ "_id 2YsJM80gRMAhCikUkNZT3G \n",
+ "acousticness 0.992 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/2YsJ... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.327 \n",
+ "disc_number 1 \n",
+ "duration_ms 52695 \n",
+ "energy 0.225 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE0800815'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/2Y... \n",
+ "href https://api.spotify.com/v1/tracks/2YsJM80gRMAh... \n",
+ "id 2YsJM80gRMAhCikUkNZT3G \n",
+ "instrumentalness 0.813 \n",
+ "key 7 \n",
+ "liveness 0.106 \n",
+ "loudness -16.341 \n",
+ "mode 1 \n",
+ "name Untitled \n",
+ "popularity 42 \n",
+ "preview_url https://p.scdn.co/mp3-preview/081becd2c8928041... \n",
+ "speechiness 0.067 \n",
+ "tempo 63.422 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/2YsJM80gRMAh... \n",
+ "track_number 11 \n",
+ "type audio_features \n",
+ "uri spotify:track:2YsJM80gRMAhCikUkNZT3G \n",
+ "valence 0.0782 \n",
+ "\n",
+ " 144 \\\n",
+ "_id 3OsUjkcv1C1v5udFhgRSFg \n",
+ "acousticness 0.00792 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/3OsU... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.306 \n",
+ "disc_number 1 \n",
+ "duration_ms 287880 \n",
+ "energy 0.872 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9701274'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/3O... \n",
+ "href https://api.spotify.com/v1/tracks/3OsUjkcv1C1v... \n",
+ "id 3OsUjkcv1C1v5udFhgRSFg \n",
+ "instrumentalness 0.8 \n",
+ "key 2 \n",
+ "liveness 0.261 \n",
+ "loudness -7.313 \n",
+ "mode 1 \n",
+ "name Airbag \n",
+ "popularity 53 \n",
+ "preview_url https://p.scdn.co/mp3-preview/d0f6278fcf67c3c7... \n",
+ "speechiness 0.05 \n",
+ "tempo 167.946 \n",
+ "time_signature 4 \n",
+ "track_href https://api.spotify.com/v1/tracks/3OsUjkcv1C1v... \n",
+ "track_number 1 \n",
+ "type audio_features \n",
+ "uri spotify:track:3OsUjkcv1C1v5udFhgRSFg \n",
+ "valence 0.642 \n",
+ "\n",
+ " 145 \n",
+ "_id 05evePUsIT1cmIURp1hgu6 \n",
+ "acousticness 0.0206 \n",
+ "album {'artists': [{'uri': 'spotify:artist:4Z8W4fKeB... \n",
+ "analysis_url https://api.spotify.com/v1/audio-analysis/05ev... \n",
+ "artist_id 4Z8W4fKeB5YxbusRsdQVPb \n",
+ "artist_name Radiohead \n",
+ "artists [{'uri': 'spotify:artist:4Z8W4fKeB5YxbusRsdQVP... \n",
+ "available_markets [AD, AR, AT, AU, BE, BG, BO, BR, CA, CH, CL, C... \n",
+ "danceability 0.429 \n",
+ "disc_number 1 \n",
+ "duration_ms 259200 \n",
+ "energy 0.88 \n",
+ "explicit False \n",
+ "external_ids {'isrc': 'GBAYE9400059'} \n",
+ "external_urls {'spotify': 'https://open.spotify.com/track/05... \n",
+ "href https://api.spotify.com/v1/tracks/05evePUsIT1c... \n",
+ "id 05evePUsIT1cmIURp1hgu6 \n",
+ "instrumentalness 0.698 \n",
+ "key 9 \n",
+ "liveness 0.607 \n",
+ "loudness -8.013 \n",
+ "mode 0 \n",
+ "name Planet Telex \n",
+ "popularity 50 \n",
+ "preview_url https://p.scdn.co/mp3-preview/4635aeb3172535b2... \n",
+ "speechiness 0.109 \n",
+ "tempo 148.965 \n",
+ "time_signature 3 \n",
+ "track_href https://api.spotify.com/v1/tracks/05evePUsIT1c... \n",
+ "track_number 1 \n",
+ "type audio_features \n",
+ "uri spotify:track:05evePUsIT1cmIURp1hgu6 \n",
+ "valence 0.272 \n",
+ "\n",
+ "[33 rows x 146 columns]"
+ ]
+ },
+ "execution_count": 101,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "radiohead_tracks = pd.DataFrame(list(tracks.find({'artist_id': radiohead_id})))\n",
+ "radiohead_tracks.T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "How happy are the Beatles and Radiohead tracks?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 100,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xac493e2c>"
+ ]
+ },
+ "execution_count": 100,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xac82d3ac>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "beatles_tracks['valence'].hist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 102,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xac3993ec>"
+ ]
+ },
+ "execution_count": 102,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xac8a5dec>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "radiohead_tracks['valence'].hist()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Lyrics search<a name=\"lyricssearch\"></a>\n",
+ "Now to find the lyrics for each track. \n",
+ "\n",
+ "We start by searching for the Genius ID for the artists.\n",
+ "\n",
+ "Note that Genius doesn't like Python-generated requests to its API, so we set the header to pretend to be a command-line `curl` request.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def genius_artist_search(artist_name, per_page=20):\n",
+ " query = urllib.parse.urlencode({'q': artist_name,\n",
+ " 'per_page': str(per_page)\n",
+ " })\n",
+ " headers = {'Accept': 'application/json',\n",
+ " 'Authorization': 'Bearer ' + config['genius']['token'],\n",
+ " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n",
+ " request = urllib.request.Request('https://api.genius.com/search?{}'.format(query), \n",
+ " headers=headers,\n",
+ " method='GET')\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " return response"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 59,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "586"
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "response = genius_artist_search('the beatles')\n",
+ "beatles_genius_id = [hit['result']['primary_artist']['id'] for hit in response['response']['hits']][0]\n",
+ "beatles_genius_id"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 103,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "604"
+ ]
+ },
+ "execution_count": 103,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "response = genius_artist_search('radiohead')\n",
+ "radiohead_genius_id = [hit['result']['primary_artist']['id'] for hit in response['response']['hits']][0]\n",
+ "radiohead_genius_id"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We can now get the song information for each track for each artist. Note that Genius keeps lots of things to do with artists, including sleeve notes and the like. We're just after the lyrics."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def genius_song_search(artist_id):\n",
+ " songs = pd.DataFrame()\n",
+ " page = 1\n",
+ " while page:\n",
+ " query = urllib.parse.urlencode({'page': page, 'per_page': 20})\n",
+ " headers = {'Accept': 'application/json',\n",
+ " 'Authorization': 'Bearer ' + config['genius']['token'],\n",
+ " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n",
+ " request = urllib.request.Request('https://api.genius.com/artists/{id}/songs?{query}'.format(id=artist_id,\n",
+ " query=query), \n",
+ " headers=headers,\n",
+ " method='GET')\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " page = response['response']['next_page']\n",
+ " for song in response['response']['songs']:\n",
+ " if song['path'].endswith('lyrics'):\n",
+ " song['_id'] = song['id']\n",
+ " genius_tracks.replace_one({'_id': song['id']}, song, upsert=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 61,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "402"
+ ]
+ },
+ "execution_count": 61,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "genius_song_search(beatles_genius_id)\n",
+ "genius_tracks.find().count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "611"
+ ]
+ },
+ "execution_count": 104,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "genius_song_search(radiohead_genius_id)\n",
+ "genius_tracks.find().count()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': 123816,\n",
+ " 'annotation_count': 5,\n",
+ " 'api_path': '/songs/123816',\n",
+ " 'ctitle': 'act naturally',\n",
+ " 'full_title': 'Act Naturally by\\xa0The\\xa0Beatles',\n",
+ " 'header_image_thumbnail_url': 'https://images.genius.com/adbf27acc77a06acfa4a506086952f31.300x300x1.jpg',\n",
+ " 'header_image_url': 'https://images.genius.com/adbf27acc77a06acfa4a506086952f31.600x600x1.jpg',\n",
+ " 'id': 123816,\n",
+ " 'lyrics': \"they're gonna put me in the movies they're gonna make a big star out of me we'll make a film about a man that's sad and lonely and all i gotta do is act naturally well, i'll bet you i'm gonna be a big star might win an oscar you can never tell the movies gonna make me a big star cos i can play the part so well well i hope you'll come and see me in the movies then i know that you will plainly see the biggest fool that ever hit the big time and all i gotta do is act naturally we'll make the scene about a man that's sad and lonely and begging down upon his bended knee i'll play the part and i won't need rehearsing all i gotta do is act naturally\",\n",
+ " 'lyrics_owner_id': 22533,\n",
+ " 'path': '/The-beatles-act-naturally-lyrics',\n",
+ " 'primary_artist': {'api_path': '/artists/586',\n",
+ " 'header_image_url': 'https://images.genius.com/b82dbb78926a812abfa10886ac84c1a8.1000x523x1.jpg',\n",
+ " 'id': 586,\n",
+ " 'image_url': 'https://images.genius.com/ad1f59e8a03be4eb521e88015d15d6e8.200x200x1.jpg',\n",
+ " 'is_meme_verified': False,\n",
+ " 'is_verified': False,\n",
+ " 'name': 'The Beatles',\n",
+ " 'url': 'https://genius.com/artists/The-beatles'},\n",
+ " 'pyongs_count': 2,\n",
+ " 'song_art_image_thumbnail_url': 'https://images.genius.com/adbf27acc77a06acfa4a506086952f31.300x300x1.jpg',\n",
+ " 'stats': {'hot': False, 'unreviewed_annotations': 0},\n",
+ " 'title': 'Act Naturally',\n",
+ " 'url': 'https://genius.com/The-beatles-act-naturally-lyrics'}"
+ ]
+ },
+ "execution_count": 105,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "genius_tracks.find_one()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 106,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "<div>\n",
+ "<table border=\"1\" class=\"dataframe\">\n",
+ " <thead>\n",
+ " <tr style=\"text-align: right;\">\n",
+ " <th></th>\n",
+ " <th>0</th>\n",
+ " <th>1</th>\n",
+ " <th>2</th>\n",
+ " <th>3</th>\n",
+ " <th>4</th>\n",
+ " <th>5</th>\n",
+ " <th>6</th>\n",
+ " <th>7</th>\n",
+ " <th>8</th>\n",
+ " <th>9</th>\n",
+ " <th>...</th>\n",
+ " <th>601</th>\n",
+ " <th>602</th>\n",
+ " <th>603</th>\n",
+ " <th>604</th>\n",
+ " <th>605</th>\n",
+ " <th>606</th>\n",
+ " <th>607</th>\n",
+ " <th>608</th>\n",
+ " <th>609</th>\n",
+ " <th>610</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>_id</th>\n",
+ " <td>123816</td>\n",
+ " <td>210315</td>\n",
+ " <td>210712</td>\n",
+ " <td>1497768</td>\n",
+ " <td>106576</td>\n",
+ " <td>210540</td>\n",
+ " <td>123533</td>\n",
+ " <td>1274297</td>\n",
+ " <td>210284</td>\n",
+ " <td>524428</td>\n",
+ " <td>...</td>\n",
+ " <td>63102</td>\n",
+ " <td>1039606</td>\n",
+ " <td>2469509</td>\n",
+ " <td>2904512</td>\n",
+ " <td>196343</td>\n",
+ " <td>65924</td>\n",
+ " <td>2913460</td>\n",
+ " <td>115809</td>\n",
+ " <td>114477</td>\n",
+ " <td>642622</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>annotation_count</th>\n",
+ " <td>5</td>\n",
+ " <td>1</td>\n",
+ " <td>2</td>\n",
+ " <td>1</td>\n",
+ " <td>12</td>\n",
+ " <td>0</td>\n",
+ " <td>5</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>1</td>\n",
+ " <td>...</td>\n",
+ " <td>5</td>\n",
+ " <td>1</td>\n",
+ " <td>8</td>\n",
+ " <td>0</td>\n",
+ " <td>9</td>\n",
+ " <td>8</td>\n",
+ " <td>0</td>\n",
+ " <td>7</td>\n",
+ " <td>4</td>\n",
+ " <td>1</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>api_path</th>\n",
+ " <td>/songs/123816</td>\n",
+ " <td>/songs/210315</td>\n",
+ " <td>/songs/210712</td>\n",
+ " <td>/songs/1497768</td>\n",
+ " <td>/songs/106576</td>\n",
+ " <td>/songs/210540</td>\n",
+ " <td>/songs/123533</td>\n",
+ " <td>/songs/1274297</td>\n",
+ " <td>/songs/210284</td>\n",
+ " <td>/songs/524428</td>\n",
+ " <td>...</td>\n",
+ " <td>/songs/63102</td>\n",
+ " <td>/songs/1039606</td>\n",
+ " <td>/songs/2469509</td>\n",
+ " <td>/songs/2904512</td>\n",
+ " <td>/songs/196343</td>\n",
+ " <td>/songs/65924</td>\n",
+ " <td>/songs/2913460</td>\n",
+ " <td>/songs/115809</td>\n",
+ " <td>/songs/114477</td>\n",
+ " <td>/songs/642622</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>ctitle</th>\n",
+ " <td>act naturally</td>\n",
+ " <td>a little rhyme</td>\n",
+ " <td>all things must pass</td>\n",
+ " <td>all together on the wireless machine</td>\n",
+ " <td>and your bird can sing</td>\n",
+ " <td>aint she sweet</td>\n",
+ " <td>and i love her</td>\n",
+ " <td>bad to me</td>\n",
+ " <td>beatle greetings</td>\n",
+ " <td>NaN</td>\n",
+ " <td>...</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>full_title</th>\n",
+ " <td>Act Naturally by The Beatles</td>\n",
+ " <td>A Little Rhyme by The Beatles (Ft. John & Rodn...</td>\n",
+ " <td>All Things Must Pass by The Beatles</td>\n",
+ " <td>All Together on the Wireless Machine by The Be...</td>\n",
+ " <td>And Your Bird Can Sing by The Beatles</td>\n",
+ " <td>Ain't She Sweet by The Beatles</td>\n",
+ " <td>And I Love Her by The Beatles</td>\n",
+ " <td>Bad to Me by The Beatles</td>\n",
+ " <td>Beatle Greetings by The Beatles (Ft. George Ha...</td>\n",
+ " <td>Everyone Needs Someone To Hate by On A Friday ...</td>\n",
+ " <td>...</td>\n",
+ " <td>The National Anthem by Radiohead</td>\n",
+ " <td>These Are My Twisted Words by Radiohead</td>\n",
+ " <td>Tinker Tailor Soldier Sailor Rich Man Poor Man...</td>\n",
+ " <td>To Be A Brilliant Light by On A Friday (Ft. Ra...</td>\n",
+ " <td>True Love Waits by Radiohead</td>\n",
+ " <td>Weird Fishes / Arpeggi by Radiohead</td>\n",
+ " <td>What Is It That You Say by On A Friday (Ft. Ra...</td>\n",
+ " <td>Where I End and You Begin by Radiohead</td>\n",
+ " <td>You and Whose Army? by Radiohead</td>\n",
+ " <td>You Never Wash Up After Yourself by Radiohead</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>header_image_thumbnail_url</th>\n",
+ " <td>https://images.genius.com/adbf27acc77a06acfa4a...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/77f6f3871295b6069761...</td>\n",
+ " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
+ " <td>https://images.genius.com/59b22781e23136c9c464...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/view.jpg</td>\n",
+ " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
+ " <td>https://images.genius.com/6f304f07098a410106d9...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/486acf44f6ac31cc8352...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://images.genius.com/672520006c5c85e87a29...</td>\n",
+ " <td>https://images.genius.com/4b253f662678407c1a66...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/0d2b320176188d7579f9...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/525c7ac8ba19f54cb8a5...</td>\n",
+ " <td>https://images.genius.com/76967c29fe8fa254f540...</td>\n",
+ " <td>https://images.genius.com/5ccb8a89b0f674962982...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/1359924238_...</td>\n",
+ " <td>https://images.rapgenius.com/0d14d86aec456da16...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>header_image_url</th>\n",
+ " <td>https://images.genius.com/adbf27acc77a06acfa4a...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/77f6f3871295b6069761...</td>\n",
+ " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
+ " <td>https://images.genius.com/59b22781e23136c9c464...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/view.jpg</td>\n",
+ " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
+ " <td>https://images.genius.com/6f304f07098a410106d9...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/486acf44f6ac31cc8352...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://images.genius.com/672520006c5c85e87a29...</td>\n",
+ " <td>https://images.genius.com/4b253f662678407c1a66...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/0d2b320176188d7579f9...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/525c7ac8ba19f54cb8a5...</td>\n",
+ " <td>https://images.genius.com/76967c29fe8fa254f540...</td>\n",
+ " <td>https://images.genius.com/5ccb8a89b0f674962982...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/1359924238_...</td>\n",
+ " <td>https://images.rapgenius.com/0d14d86aec456da16...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>id</th>\n",
+ " <td>123816</td>\n",
+ " <td>210315</td>\n",
+ " <td>210712</td>\n",
+ " <td>1497768</td>\n",
+ " <td>106576</td>\n",
+ " <td>210540</td>\n",
+ " <td>123533</td>\n",
+ " <td>1274297</td>\n",
+ " <td>210284</td>\n",
+ " <td>524428</td>\n",
+ " <td>...</td>\n",
+ " <td>63102</td>\n",
+ " <td>1039606</td>\n",
+ " <td>2469509</td>\n",
+ " <td>2904512</td>\n",
+ " <td>196343</td>\n",
+ " <td>65924</td>\n",
+ " <td>2913460</td>\n",
+ " <td>115809</td>\n",
+ " <td>114477</td>\n",
+ " <td>642622</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>lyrics</th>\n",
+ " <td>they're gonna put me in the movies they're gon...</td>\n",
+ " <td>now, for the final number, john's got a card i...</td>\n",
+ " <td>sunrise doesn't last all morning a cloudburst ...</td>\n",
+ " <td>when i was sitting on my piano one day a magic...</td>\n",
+ " <td>you tell me that you've got everything you wan...</td>\n",
+ " <td>oh ain't she sweet well see her walking down t...</td>\n",
+ " <td>i give her all my love that's all i do and if ...</td>\n",
+ " <td>if you ever leave me, i'll be sad and blue don...</td>\n",
+ " <td>i'm ringo and i play the drums i'm paul and i ...</td>\n",
+ " <td>NaN</td>\n",
+ " <td>...</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>lyrics_owner_id</th>\n",
+ " <td>22533</td>\n",
+ " <td>250962</td>\n",
+ " <td>250962</td>\n",
+ " <td>1549345</td>\n",
+ " <td>121577</td>\n",
+ " <td>250962</td>\n",
+ " <td>46871</td>\n",
+ " <td>1549345</td>\n",
+ " <td>250962</td>\n",
+ " <td>389740</td>\n",
+ " <td>...</td>\n",
+ " <td>11637</td>\n",
+ " <td>1549345</td>\n",
+ " <td>104344</td>\n",
+ " <td>2726776</td>\n",
+ " <td>179127</td>\n",
+ " <td>11637</td>\n",
+ " <td>2726776</td>\n",
+ " <td>2726776</td>\n",
+ " <td>116340</td>\n",
+ " <td>1158811</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>path</th>\n",
+ " <td>/The-beatles-act-naturally-lyrics</td>\n",
+ " <td>/The-beatles-a-little-rhyme-lyrics</td>\n",
+ " <td>/The-beatles-all-things-must-pass-lyrics</td>\n",
+ " <td>/The-beatles-all-together-on-the-wireless-mach...</td>\n",
+ " <td>/The-beatles-and-your-bird-can-sing-lyrics</td>\n",
+ " <td>/The-beatles-aint-she-sweet-lyrics</td>\n",
+ " <td>/The-beatles-and-i-love-her-lyrics</td>\n",
+ " <td>/The-beatles-bad-to-me-lyrics</td>\n",
+ " <td>/The-beatles-beatle-greetings-lyrics</td>\n",
+ " <td>/On-a-friday-everyone-needs-someone-to-hate-ly...</td>\n",
+ " <td>...</td>\n",
+ " <td>/Radiohead-the-national-anthem-lyrics</td>\n",
+ " <td>/Radiohead-these-are-my-twisted-words-lyrics</td>\n",
+ " <td>/Radiohead-tinker-tailor-soldier-sailor-rich-m...</td>\n",
+ " <td>/On-a-friday-to-be-a-brilliant-light-lyrics</td>\n",
+ " <td>/Radiohead-true-love-waits-lyrics</td>\n",
+ " <td>/Radiohead-weird-fishes-arpeggi-lyrics</td>\n",
+ " <td>/On-a-friday-what-is-it-that-you-say-lyrics</td>\n",
+ " <td>/Radiohead-where-i-end-and-you-begin-lyrics</td>\n",
+ " <td>/Radiohead-you-and-whose-army-lyrics</td>\n",
+ " <td>/Radiohead-you-never-wash-up-after-yourself-ly...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>primary_artist</th>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/The-beatle...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/On-a-frida...</td>\n",
+ " <td>...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/On-a-frida...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/On-a-frida...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " <td>{'url': 'https://genius.com/artists/Radiohead'...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>pyongs_count</th>\n",
+ " <td>2</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>2</td>\n",
+ " <td>NaN</td>\n",
+ " <td>15</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>NaN</td>\n",
+ " <td>...</td>\n",
+ " <td>5</td>\n",
+ " <td>NaN</td>\n",
+ " <td>15</td>\n",
+ " <td>NaN</td>\n",
+ " <td>24</td>\n",
+ " <td>19</td>\n",
+ " <td>NaN</td>\n",
+ " <td>5</td>\n",
+ " <td>4</td>\n",
+ " <td>NaN</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>song_art_image_thumbnail_url</th>\n",
+ " <td>https://images.genius.com/adbf27acc77a06acfa4a...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/77f6f3871295b6069761...</td>\n",
+ " <td>https://images.genius.com/ad1f59e8a03be4eb521e...</td>\n",
+ " <td>https://images.genius.com/59b22781e23136c9c464...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/view.jpg</td>\n",
+ " <td>https://images.genius.com/68c11c7f5b6b66194d77...</td>\n",
+ " <td>https://images.genius.com/6f304f07098a410106d9...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/110537_cda_...</td>\n",
+ " <td>https://images.genius.com/486acf44f6ac31cc8352...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://images.genius.com/672520006c5c85e87a29...</td>\n",
+ " <td>https://images.genius.com/4b253f662678407c1a66...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/0d2b320176188d7579f9...</td>\n",
+ " <td>https://images.genius.com/c9cf30826b50b5096664...</td>\n",
+ " <td>https://images.genius.com/525c7ac8ba19f54cb8a5...</td>\n",
+ " <td>https://images.genius.com/76967c29fe8fa254f540...</td>\n",
+ " <td>https://images.genius.com/5ccb8a89b0f674962982...</td>\n",
+ " <td>https://s3.amazonaws.com/rapgenius/1359924238_...</td>\n",
+ " <td>https://images.rapgenius.com/0d14d86aec456da16...</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>stats</th>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'pageviews': 554...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>...</td>\n",
+ " <td>{'unreviewed_annotations': 1, 'pageviews': 231...</td>\n",
+ " <td>{'unreviewed_annotations': 1, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 5, 'pageviews': 501...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'pageviews': 853...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'pageviews': 343...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " <td>{'unreviewed_annotations': 2, 'pageviews': 107...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'pageviews': 138...</td>\n",
+ " <td>{'unreviewed_annotations': 0, 'hot': False}</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>title</th>\n",
+ " <td>Act Naturally</td>\n",
+ " <td>A Little Rhyme</td>\n",
+ " <td>All Things Must Pass</td>\n",
+ " <td>All Together on the Wireless Machine</td>\n",
+ " <td>And Your Bird Can Sing</td>\n",
+ " <td>Ain't She Sweet</td>\n",
+ " <td>And I Love Her</td>\n",
+ " <td>Bad to Me</td>\n",
+ " <td>Beatle Greetings</td>\n",
+ " <td>Everyone Needs Someone To Hate</td>\n",
+ " <td>...</td>\n",
+ " <td>The National Anthem</td>\n",
+ " <td>These Are My Twisted Words</td>\n",
+ " <td>Tinker Tailor Soldier Sailor Rich Man Poor Man...</td>\n",
+ " <td>To Be A Brilliant Light</td>\n",
+ " <td>True Love Waits</td>\n",
+ " <td>Weird Fishes / Arpeggi</td>\n",
+ " <td>What Is It That You Say</td>\n",
+ " <td>Where I End and You Begin</td>\n",
+ " <td>You and Whose Army?</td>\n",
+ " <td>You Never Wash Up After Yourself</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>url</th>\n",
+ " <td>https://genius.com/The-beatles-act-naturally-l...</td>\n",
+ " <td>https://genius.com/The-beatles-a-little-rhyme-...</td>\n",
+ " <td>https://genius.com/The-beatles-all-things-must...</td>\n",
+ " <td>https://genius.com/The-beatles-all-together-on...</td>\n",
+ " <td>https://genius.com/The-beatles-and-your-bird-c...</td>\n",
+ " <td>https://genius.com/The-beatles-aint-she-sweet-...</td>\n",
+ " <td>https://genius.com/The-beatles-and-i-love-her-...</td>\n",
+ " <td>https://genius.com/The-beatles-bad-to-me-lyrics</td>\n",
+ " <td>https://genius.com/The-beatles-beatle-greeting...</td>\n",
+ " <td>https://genius.com/On-a-friday-everyone-needs-...</td>\n",
+ " <td>...</td>\n",
+ " <td>https://genius.com/Radiohead-the-national-anth...</td>\n",
+ " <td>https://genius.com/Radiohead-these-are-my-twis...</td>\n",
+ " <td>https://genius.com/Radiohead-tinker-tailor-sol...</td>\n",
+ " <td>https://genius.com/On-a-friday-to-be-a-brillia...</td>\n",
+ " <td>https://genius.com/Radiohead-true-love-waits-l...</td>\n",
+ " <td>https://genius.com/Radiohead-weird-fishes-arpe...</td>\n",
+ " <td>https://genius.com/On-a-friday-what-is-it-that...</td>\n",
+ " <td>https://genius.com/Radiohead-where-i-end-and-y...</td>\n",
+ " <td>https://genius.com/Radiohead-you-and-whose-arm...</td>\n",
+ " <td>https://genius.com/Radiohead-you-never-wash-up...</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "<p>17 rows × 611 columns</p>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " 0 \\\n",
+ "_id 123816 \n",
+ "annotation_count 5 \n",
+ "api_path /songs/123816 \n",
+ "ctitle act naturally \n",
+ "full_title Act Naturally by The Beatles \n",
+ "header_image_thumbnail_url https://images.genius.com/adbf27acc77a06acfa4a... \n",
+ "header_image_url https://images.genius.com/adbf27acc77a06acfa4a... \n",
+ "id 123816 \n",
+ "lyrics they're gonna put me in the movies they're gon... \n",
+ "lyrics_owner_id 22533 \n",
+ "path /The-beatles-act-naturally-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count 2 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/adbf27acc77a06acfa4a... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title Act Naturally \n",
+ "url https://genius.com/The-beatles-act-naturally-l... \n",
+ "\n",
+ " 1 \\\n",
+ "_id 210315 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/210315 \n",
+ "ctitle a little rhyme \n",
+ "full_title A Little Rhyme by The Beatles (Ft. John & Rodn... \n",
+ "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "header_image_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "id 210315 \n",
+ "lyrics now, for the final number, john's got a card i... \n",
+ "lyrics_owner_id 250962 \n",
+ "path /The-beatles-a-little-rhyme-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title A Little Rhyme \n",
+ "url https://genius.com/The-beatles-a-little-rhyme-... \n",
+ "\n",
+ " 2 \\\n",
+ "_id 210712 \n",
+ "annotation_count 2 \n",
+ "api_path /songs/210712 \n",
+ "ctitle all things must pass \n",
+ "full_title All Things Must Pass by The Beatles \n",
+ "header_image_thumbnail_url https://images.genius.com/77f6f3871295b6069761... \n",
+ "header_image_url https://images.genius.com/77f6f3871295b6069761... \n",
+ "id 210712 \n",
+ "lyrics sunrise doesn't last all morning a cloudburst ... \n",
+ "lyrics_owner_id 250962 \n",
+ "path /The-beatles-all-things-must-pass-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/77f6f3871295b6069761... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title All Things Must Pass \n",
+ "url https://genius.com/The-beatles-all-things-must... \n",
+ "\n",
+ " 3 \\\n",
+ "_id 1497768 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/1497768 \n",
+ "ctitle all together on the wireless machine \n",
+ "full_title All Together on the Wireless Machine by The Be... \n",
+ "header_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
+ "header_image_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
+ "id 1497768 \n",
+ "lyrics when i was sitting on my piano one day a magic... \n",
+ "lyrics_owner_id 1549345 \n",
+ "path /The-beatles-all-together-on-the-wireless-mach... \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/ad1f59e8a03be4eb521e... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title All Together on the Wireless Machine \n",
+ "url https://genius.com/The-beatles-all-together-on... \n",
+ "\n",
+ " 4 \\\n",
+ "_id 106576 \n",
+ "annotation_count 12 \n",
+ "api_path /songs/106576 \n",
+ "ctitle and your bird can sing \n",
+ "full_title And Your Bird Can Sing by The Beatles \n",
+ "header_image_thumbnail_url https://images.genius.com/59b22781e23136c9c464... \n",
+ "header_image_url https://images.genius.com/59b22781e23136c9c464... \n",
+ "id 106576 \n",
+ "lyrics you tell me that you've got everything you wan... \n",
+ "lyrics_owner_id 121577 \n",
+ "path /The-beatles-and-your-bird-can-sing-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count 2 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/59b22781e23136c9c464... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title And Your Bird Can Sing \n",
+ "url https://genius.com/The-beatles-and-your-bird-c... \n",
+ "\n",
+ " 5 \\\n",
+ "_id 210540 \n",
+ "annotation_count 0 \n",
+ "api_path /songs/210540 \n",
+ "ctitle aint she sweet \n",
+ "full_title Ain't She Sweet by The Beatles \n",
+ "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/view.jpg \n",
+ "header_image_url https://s3.amazonaws.com/rapgenius/view.jpg \n",
+ "id 210540 \n",
+ "lyrics oh ain't she sweet well see her walking down t... \n",
+ "lyrics_owner_id 250962 \n",
+ "path /The-beatles-aint-she-sweet-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/view.jpg \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title Ain't She Sweet \n",
+ "url https://genius.com/The-beatles-aint-she-sweet-... \n",
+ "\n",
+ " 6 \\\n",
+ "_id 123533 \n",
+ "annotation_count 5 \n",
+ "api_path /songs/123533 \n",
+ "ctitle and i love her \n",
+ "full_title And I Love Her by The Beatles \n",
+ "header_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
+ "header_image_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
+ "id 123533 \n",
+ "lyrics i give her all my love that's all i do and if ... \n",
+ "lyrics_owner_id 46871 \n",
+ "path /The-beatles-and-i-love-her-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count 15 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/68c11c7f5b6b66194d77... \n",
+ "stats {'unreviewed_annotations': 0, 'pageviews': 554... \n",
+ "title And I Love Her \n",
+ "url https://genius.com/The-beatles-and-i-love-her-... \n",
+ "\n",
+ " 7 \\\n",
+ "_id 1274297 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/1274297 \n",
+ "ctitle bad to me \n",
+ "full_title Bad to Me by The Beatles \n",
+ "header_image_thumbnail_url https://images.genius.com/6f304f07098a410106d9... \n",
+ "header_image_url https://images.genius.com/6f304f07098a410106d9... \n",
+ "id 1274297 \n",
+ "lyrics if you ever leave me, i'll be sad and blue don... \n",
+ "lyrics_owner_id 1549345 \n",
+ "path /The-beatles-bad-to-me-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/6f304f07098a410106d9... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title Bad to Me \n",
+ "url https://genius.com/The-beatles-bad-to-me-lyrics \n",
+ "\n",
+ " 8 \\\n",
+ "_id 210284 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/210284 \n",
+ "ctitle beatle greetings \n",
+ "full_title Beatle Greetings by The Beatles (Ft. George Ha... \n",
+ "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "header_image_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "id 210284 \n",
+ "lyrics i'm ringo and i play the drums i'm paul and i ... \n",
+ "lyrics_owner_id 250962 \n",
+ "path /The-beatles-beatle-greetings-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/The-beatle... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/110537_cda_... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title Beatle Greetings \n",
+ "url https://genius.com/The-beatles-beatle-greeting... \n",
+ "\n",
+ " 9 \\\n",
+ "_id 524428 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/524428 \n",
+ "ctitle NaN \n",
+ "full_title Everyone Needs Someone To Hate by On A Friday ... \n",
+ "header_image_thumbnail_url https://images.genius.com/486acf44f6ac31cc8352... \n",
+ "header_image_url https://images.genius.com/486acf44f6ac31cc8352... \n",
+ "id 524428 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 389740 \n",
+ "path /On-a-friday-everyone-needs-someone-to-hate-ly... \n",
+ "primary_artist {'url': 'https://genius.com/artists/On-a-frida... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/486acf44f6ac31cc8352... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title Everyone Needs Someone To Hate \n",
+ "url https://genius.com/On-a-friday-everyone-needs-... \n",
+ "\n",
+ " ... \\\n",
+ "_id ... \n",
+ "annotation_count ... \n",
+ "api_path ... \n",
+ "ctitle ... \n",
+ "full_title ... \n",
+ "header_image_thumbnail_url ... \n",
+ "header_image_url ... \n",
+ "id ... \n",
+ "lyrics ... \n",
+ "lyrics_owner_id ... \n",
+ "path ... \n",
+ "primary_artist ... \n",
+ "pyongs_count ... \n",
+ "song_art_image_thumbnail_url ... \n",
+ "stats ... \n",
+ "title ... \n",
+ "url ... \n",
+ "\n",
+ " 601 \\\n",
+ "_id 63102 \n",
+ "annotation_count 5 \n",
+ "api_path /songs/63102 \n",
+ "ctitle NaN \n",
+ "full_title The National Anthem by Radiohead \n",
+ "header_image_thumbnail_url https://images.genius.com/672520006c5c85e87a29... \n",
+ "header_image_url https://images.genius.com/672520006c5c85e87a29... \n",
+ "id 63102 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 11637 \n",
+ "path /Radiohead-the-national-anthem-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 5 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/672520006c5c85e87a29... \n",
+ "stats {'unreviewed_annotations': 1, 'pageviews': 231... \n",
+ "title The National Anthem \n",
+ "url https://genius.com/Radiohead-the-national-anth... \n",
+ "\n",
+ " 602 \\\n",
+ "_id 1039606 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/1039606 \n",
+ "ctitle NaN \n",
+ "full_title These Are My Twisted Words by Radiohead \n",
+ "header_image_thumbnail_url https://images.genius.com/4b253f662678407c1a66... \n",
+ "header_image_url https://images.genius.com/4b253f662678407c1a66... \n",
+ "id 1039606 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 1549345 \n",
+ "path /Radiohead-these-are-my-twisted-words-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/4b253f662678407c1a66... \n",
+ "stats {'unreviewed_annotations': 1, 'hot': False} \n",
+ "title These Are My Twisted Words \n",
+ "url https://genius.com/Radiohead-these-are-my-twis... \n",
+ "\n",
+ " 603 \\\n",
+ "_id 2469509 \n",
+ "annotation_count 8 \n",
+ "api_path /songs/2469509 \n",
+ "ctitle NaN \n",
+ "full_title Tinker Tailor Soldier Sailor Rich Man Poor Man... \n",
+ "header_image_thumbnail_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "header_image_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "id 2469509 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 104344 \n",
+ "path /Radiohead-tinker-tailor-soldier-sailor-rich-m... \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 15 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "stats {'unreviewed_annotations': 5, 'pageviews': 501... \n",
+ "title Tinker Tailor Soldier Sailor Rich Man Poor Man... \n",
+ "url https://genius.com/Radiohead-tinker-tailor-sol... \n",
+ "\n",
+ " 604 \\\n",
+ "_id 2904512 \n",
+ "annotation_count 0 \n",
+ "api_path /songs/2904512 \n",
+ "ctitle NaN \n",
+ "full_title To Be A Brilliant Light by On A Friday (Ft. Ra... \n",
+ "header_image_thumbnail_url https://images.genius.com/0d2b320176188d7579f9... \n",
+ "header_image_url https://images.genius.com/0d2b320176188d7579f9... \n",
+ "id 2904512 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 2726776 \n",
+ "path /On-a-friday-to-be-a-brilliant-light-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/On-a-frida... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/0d2b320176188d7579f9... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title To Be A Brilliant Light \n",
+ "url https://genius.com/On-a-friday-to-be-a-brillia... \n",
+ "\n",
+ " 605 \\\n",
+ "_id 196343 \n",
+ "annotation_count 9 \n",
+ "api_path /songs/196343 \n",
+ "ctitle NaN \n",
+ "full_title True Love Waits by Radiohead \n",
+ "header_image_thumbnail_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "header_image_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "id 196343 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 179127 \n",
+ "path /Radiohead-true-love-waits-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 24 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/c9cf30826b50b5096664... \n",
+ "stats {'unreviewed_annotations': 0, 'pageviews': 853... \n",
+ "title True Love Waits \n",
+ "url https://genius.com/Radiohead-true-love-waits-l... \n",
+ "\n",
+ " 606 \\\n",
+ "_id 65924 \n",
+ "annotation_count 8 \n",
+ "api_path /songs/65924 \n",
+ "ctitle NaN \n",
+ "full_title Weird Fishes / Arpeggi by Radiohead \n",
+ "header_image_thumbnail_url https://images.genius.com/525c7ac8ba19f54cb8a5... \n",
+ "header_image_url https://images.genius.com/525c7ac8ba19f54cb8a5... \n",
+ "id 65924 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 11637 \n",
+ "path /Radiohead-weird-fishes-arpeggi-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 19 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/525c7ac8ba19f54cb8a5... \n",
+ "stats {'unreviewed_annotations': 0, 'pageviews': 343... \n",
+ "title Weird Fishes / Arpeggi \n",
+ "url https://genius.com/Radiohead-weird-fishes-arpe... \n",
+ "\n",
+ " 607 \\\n",
+ "_id 2913460 \n",
+ "annotation_count 0 \n",
+ "api_path /songs/2913460 \n",
+ "ctitle NaN \n",
+ "full_title What Is It That You Say by On A Friday (Ft. Ra... \n",
+ "header_image_thumbnail_url https://images.genius.com/76967c29fe8fa254f540... \n",
+ "header_image_url https://images.genius.com/76967c29fe8fa254f540... \n",
+ "id 2913460 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 2726776 \n",
+ "path /On-a-friday-what-is-it-that-you-say-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/On-a-frida... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.genius.com/76967c29fe8fa254f540... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title What Is It That You Say \n",
+ "url https://genius.com/On-a-friday-what-is-it-that... \n",
+ "\n",
+ " 608 \\\n",
+ "_id 115809 \n",
+ "annotation_count 7 \n",
+ "api_path /songs/115809 \n",
+ "ctitle NaN \n",
+ "full_title Where I End and You Begin by Radiohead \n",
+ "header_image_thumbnail_url https://images.genius.com/5ccb8a89b0f674962982... \n",
+ "header_image_url https://images.genius.com/5ccb8a89b0f674962982... \n",
+ "id 115809 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 2726776 \n",
+ "path /Radiohead-where-i-end-and-you-begin-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 5 \n",
+ "song_art_image_thumbnail_url https://images.genius.com/5ccb8a89b0f674962982... \n",
+ "stats {'unreviewed_annotations': 2, 'pageviews': 107... \n",
+ "title Where I End and You Begin \n",
+ "url https://genius.com/Radiohead-where-i-end-and-y... \n",
+ "\n",
+ " 609 \\\n",
+ "_id 114477 \n",
+ "annotation_count 4 \n",
+ "api_path /songs/114477 \n",
+ "ctitle NaN \n",
+ "full_title You and Whose Army? by Radiohead \n",
+ "header_image_thumbnail_url https://s3.amazonaws.com/rapgenius/1359924238_... \n",
+ "header_image_url https://s3.amazonaws.com/rapgenius/1359924238_... \n",
+ "id 114477 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 116340 \n",
+ "path /Radiohead-you-and-whose-army-lyrics \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count 4 \n",
+ "song_art_image_thumbnail_url https://s3.amazonaws.com/rapgenius/1359924238_... \n",
+ "stats {'unreviewed_annotations': 0, 'pageviews': 138... \n",
+ "title You and Whose Army? \n",
+ "url https://genius.com/Radiohead-you-and-whose-arm... \n",
+ "\n",
+ " 610 \n",
+ "_id 642622 \n",
+ "annotation_count 1 \n",
+ "api_path /songs/642622 \n",
+ "ctitle NaN \n",
+ "full_title You Never Wash Up After Yourself by Radiohead \n",
+ "header_image_thumbnail_url https://images.rapgenius.com/0d14d86aec456da16... \n",
+ "header_image_url https://images.rapgenius.com/0d14d86aec456da16... \n",
+ "id 642622 \n",
+ "lyrics NaN \n",
+ "lyrics_owner_id 1158811 \n",
+ "path /Radiohead-you-never-wash-up-after-yourself-ly... \n",
+ "primary_artist {'url': 'https://genius.com/artists/Radiohead'... \n",
+ "pyongs_count NaN \n",
+ "song_art_image_thumbnail_url https://images.rapgenius.com/0d14d86aec456da16... \n",
+ "stats {'unreviewed_annotations': 0, 'hot': False} \n",
+ "title You Never Wash Up After Yourself \n",
+ "url https://genius.com/Radiohead-you-never-wash-up... \n",
+ "\n",
+ "[17 rows x 611 columns]"
+ ]
+ },
+ "execution_count": 106,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "gsongs = pd.DataFrame(list(genius_tracks.find()))\n",
+ "gsongs.T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now we can get the lyrics for each song. We tidy it up as we go, to strip out formatting and the like.\n",
+ "\n",
+ "Note the use of [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) to strip out the HTML from the lyrics."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 116,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "def genius_lyrics(song_url):\n",
+ " headers = {'Accept': 'application/json',\n",
+ " 'Authorization': 'Bearer ' + config['genius']['token'],\n",
+ " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n",
+ " request = urllib.request.Request(song_url, headers=headers, method='GET')\n",
+ " html_doc = urllib.request.urlopen(request)\n",
+ " soup = BeautifulSoup(html_doc, 'html.parser')\n",
+ " lyrics = soup.find('lyrics').get_text()\n",
+ " l2 = re.sub('\\[[^\\]]*\\]', '', lyrics)\n",
+ " l3 = re.sub('\\[|\\]', '', l2)\n",
+ " l4 = re.sub('(\\s)+', ' ', l3)\n",
+ " return l4.strip().lower(), lyrics"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 153,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(\"oh ain't she sweet well see her walking down that street yes i ask you very confidentially ain't she sweet? oh ain't she nice well look her over once or twice yes i ask you very confidentially ain't she nice? just cast an eye in her direction oh me oh my ain't that perfection? oh i repeat well don't you think that's kind of neat? yes i ask you very confidentially ain't she sweet? oh ain't she sweet well see her walking down that street well i ask you very confidentially ain't she sweet? well i ask you very confidentially ain't she sweet?\",\n",
+ " \"\\n\\n[Chorus 1]]\\nOh ain't she sweet\\nWell see her walking down that street\\nYes I ask you very confidentially\\nAin't she sweet?\\n\\n[Chorus 2]\\nOh ain't she nice\\nWell look her over once or twice\\nYes I ask you very confidentially\\nAin't she nice?\\n\\n[Chorus 3]\\nJust cast an eye\\nIn her direction\\nOh me oh my\\nAin't that perfection?\\n\\n[Chorus 4]\\nOh I repeat\\nWell don't you think that's kind of neat?\\nYes I ask you very confidentially\\nAin't she sweet?\\n\\n[Chorus 1]\\n\\n[Chorus 2]\\n\\n[Chorus 3]\\n\\n[Chorus 4]\\n\\n[Chorus 1]\\nOh ain't she sweet\\nWell see her walking down that street\\nWell I ask you very confidentially\\nAin't she sweet?\\nWell I ask you very confidentially\\nAin't she sweet?\\n\\n\")"
+ ]
+ },
+ "execution_count": 153,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "assl = genius_lyrics('https://genius.com/The-beatles-aint-she-sweet-lyrics')\n",
+ "assl"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 259,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': 210315,\n",
+ " 'lyrics': 'now, for the final number, john\\'s got a card in his hand with a little rhyme on it. what is it? it\\'s from the form up a third at hemel hempstead oh! it says, \"dear george, john, ringo, paul, here\\'s hoping that you\\'ll please us all a beauty song and swinging voice, we leave it up to you, the choice we think you\\'re fab and really cool, so brighten up our lads at school\" dig this, for here\\'s paul, whistling \"clarabella\"',\n",
+ " 'original_lyrics': '\\n\\n[Speech]\\n\\n[Rodney Burke] Now, for the final number, John\\'s got a card in his hand with a little rhyme on it. What is it?\\n[John] It\\'s from the form up a third at Hemel Hempstead\\n[Rodney] Oh!\\n[John] It says, \"Dear George, John, Ringo, Paul, here\\'s hoping that you\\'ll please us all\\nA beauty song and swinging voice, we leave it up to you, the choice\\nWe think you\\'re fab and really cool, so brighten up our lads at school\"\\nDig this, for here\\'s Paul, whistling \"Clarabella\"\\n\\n',\n",
+ " 'title': 'A Little Rhyme'}"
+ ]
+ },
+ "execution_count": 259,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "for gsong in genius_tracks.find({}, ['url']):\n",
+ " lyrics, original_lyrics = genius_lyrics(gsong['url'])\n",
+ " genius_tracks.update_one({'_id': gsong['_id']}, \n",
+ " {'$set': {'lyrics': lyrics, 'original_lyrics': original_lyrics}})\n",
+ "genius_tracks.find_one({}, ['title', 'lyrics', 'original_lyrics'])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Matching datasets<a name=\"matchingdatasets\"></a>\n",
+ "Now it's time to match up the datasets. First, we simplify the titles of the tracks, to sidestep differences in punctuation, capitalisation, and the like.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 129,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "def canonical_name(text):\n",
+ " t1 = re.sub(' - .*', '', text) # Strip the \" - Remastered 2015\" suffix\n",
+ " t2 = re.sub('[^\\w\\s]', '', t1) # strip all characters except letters, numbers, and whitespace\n",
+ " t3 = re.sub('\\s+', ' ', t2) # collapse whitespace\n",
+ " return t3.lower() # convert to lowercase and return"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 130,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'a hard days night'"
+ ]
+ },
+ "execution_count": 130,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "canonical_name(\"A Hard Day's Night - Live / Remastered\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Add the simplified title to each track in the Spotify and Genius collections."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 131,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "for t in tracks.find():\n",
+ " tracks.update_one({'_id': t['_id']}, {'$set': {'ctitle': canonical_name(t['name'])}})\n",
+ "for t in genius_tracks.find():\n",
+ " genius_tracks.update_one({'_id': t['_id']}, {'$set': {'ctitle': canonical_name(t['title'])}})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Now to see what the differences are. Find the tracks that are in both collections, and tracks that are in only one."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 141,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(305, 294, 42)"
+ ]
+ },
+ "execution_count": 141,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n",
+ "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n",
+ "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n",
+ "len(in_both), len(genius_only), len(spotify_only)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 134,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'2 2 5 live at earls court',\n",
+ " 'a punch up at a wedding',\n",
+ " 'bloom blawan rmx',\n",
+ " 'bloom harmonic 313 rmx',\n",
+ " 'bloom jamie xx rework',\n",
+ " 'bloom mark pritchard rmx',\n",
+ " 'bloom objekt rmx',\n",
+ " 'bullet proof i wish i was',\n",
+ " 'codex illum sphere',\n",
+ " 'dollars cents',\n",
+ " 'dollars cents live',\n",
+ " 'everything in its right place live in france',\n",
+ " 'feral lone rmx',\n",
+ " 'fog again live',\n",
+ " 'give up the ghost brokenchord rmx',\n",
+ " 'give up the ghost thriller houseghost remix',\n",
+ " 'good evening mrs magpie modeselektor rmx',\n",
+ " 'i might be wrong live',\n",
+ " 'i will los angeles version',\n",
+ " 'idioteque live in oxford',\n",
+ " 'kansas city heyheyheyhey',\n",
+ " 'like spinning plates live',\n",
+ " 'little by little caribou rmx',\n",
+ " 'little by little shed',\n",
+ " 'lotus flower jacques greene rmx',\n",
+ " 'lotus flower sbtrkt rmx',\n",
+ " 'march of the meanies',\n",
+ " 'morning bell live in oxford',\n",
+ " 'morning mr magpie nathan fake rmx',\n",
+ " 'morning mr magpie pearson sound scavenger rmx',\n",
+ " 'packt like sardines in a crushed tin box',\n",
+ " 'pepperland',\n",
+ " 'pepperland laid waste',\n",
+ " 'remyxomatosis cristian vogel rmx',\n",
+ " 'revolution 1',\n",
+ " 'sea of holes',\n",
+ " 'sea of monsters',\n",
+ " 'sea of time',\n",
+ " 'separator anstam rmx',\n",
+ " 'separator four tet rmx',\n",
+ " 'skttrbrain four tet remix',\n",
+ " 'the national anthem live in france',\n",
+ " 'tkol altrice rmx',\n",
+ " 'true love waits live in oslo',\n",
+ " 'untitled',\n",
+ " 'when im sixty four'}"
+ ]
+ },
+ "execution_count": 134,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "spotify_only"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 135,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'1822',\n",
+ " 'a little rhyme',\n",
+ " 'a moon shaped pool tracklist album cover',\n",
+ " 'a picture of you',\n",
+ " 'a punchup at a wedding',\n",
+ " 'a reminder',\n",
+ " 'a shot of rhythm and blues',\n",
+ " 'across the universe wildlife version',\n",
+ " 'aint she sweet',\n",
+ " 'all things must pass',\n",
+ " 'all together on the wireless machine',\n",
+ " 'another beatles christmas record',\n",
+ " 'bad boy',\n",
+ " 'bad to me',\n",
+ " 'banana co',\n",
+ " 'beatle greetings',\n",
+ " 'beatles movie medley',\n",
+ " 'beautiful dreamer',\n",
+ " 'bebopalula',\n",
+ " 'because i know you love me so',\n",
+ " 'being for the benefit of mr kite take 7',\n",
+ " 'being for the benefit of mr kite takes 1 2',\n",
+ " 'being for the benefit of mr kitei want you shes so heavyhelter skelter',\n",
+ " 'besame mucho',\n",
+ " 'big boots',\n",
+ " 'big ideas',\n",
+ " 'bishops robes',\n",
+ " 'bitches talkin',\n",
+ " 'blackbirdyesterday',\n",
+ " 'blue moon of kentucky',\n",
+ " 'blue suede shoes',\n",
+ " 'bullet proofi wish i was',\n",
+ " 'burning bush',\n",
+ " 'can you take me back',\n",
+ " 'carol',\n",
+ " 'ceremony',\n",
+ " 'child of nature',\n",
+ " 'christmas time is here again',\n",
+ " 'cinnamon girl',\n",
+ " 'clarabella',\n",
+ " 'climbing up a bloody great hill',\n",
+ " 'coke babies',\n",
+ " 'come and get it',\n",
+ " 'come togetherdear prudence',\n",
+ " 'commonwealth',\n",
+ " 'crinsk dee night',\n",
+ " 'cry for a shadow',\n",
+ " 'crying waiting hoping',\n",
+ " 'cut a hole',\n",
+ " 'cuttooth',\n",
+ " 'dear wack',\n",
+ " 'dollars and cents',\n",
+ " 'dont ever change',\n",
+ " 'dont let me down',\n",
+ " 'down in eastern australia',\n",
+ " 'dream baby',\n",
+ " 'drive my carthe wordwhat youre doing',\n",
+ " 'eds scary song',\n",
+ " 'egyptian song',\n",
+ " 'eleanor rigbyjulia transition',\n",
+ " 'everybody lies through their teeth',\n",
+ " 'everyone needs someone to hate',\n",
+ " 'faithless the wonderboy',\n",
+ " 'falling in love again',\n",
+ " 'fasttrack',\n",
+ " 'final show',\n",
+ " 'fog',\n",
+ " 'follow me around',\n",
+ " 'four guys',\n",
+ " 'free as a bird',\n",
+ " 'from fluff to you',\n",
+ " 'from us to you',\n",
+ " 'get back aka no pakistanis',\n",
+ " 'give it up',\n",
+ " 'give peace a chance',\n",
+ " 'glad all over',\n",
+ " 'glass onion love remix',\n",
+ " 'gnik nus',\n",
+ " 'goodbye',\n",
+ " 'hallelujah i love her so',\n",
+ " 'happy song',\n",
+ " 'harry patch in memory of',\n",
+ " 'have a banana',\n",
+ " 'have a banana speech',\n",
+ " 'hear me lord harrison',\n",
+ " 'hello little girl',\n",
+ " 'here comes the sunthe inner light transition',\n",
+ " 'how can you be sure',\n",
+ " 'how do you do it',\n",
+ " 'how i made my millions',\n",
+ " 'i call your name',\n",
+ " 'i forgot to remember to forget',\n",
+ " 'i froze up',\n",
+ " 'i got a woman',\n",
+ " 'i got to find my baby',\n",
+ " 'i just dont understand',\n",
+ " 'i promise',\n",
+ " 'i want none of this',\n",
+ " 'i want to know',\n",
+ " 'if you love me baby',\n",
+ " 'if youve got trouble',\n",
+ " 'ill be on my way',\n",
+ " 'ill get you',\n",
+ " 'ill wear it proudly',\n",
+ " 'ill wind',\n",
+ " 'im coming up',\n",
+ " 'im down',\n",
+ " 'im gonna sit right down and cry over you',\n",
+ " 'im talking about you',\n",
+ " 'in spite of all the danger',\n",
+ " 'india',\n",
+ " 'india rubber',\n",
+ " 'inside my head',\n",
+ " 'its for you',\n",
+ " 'james bond theme',\n",
+ " 'jazz piano song',\n",
+ " 'jerusalem',\n",
+ " 'jingle bells',\n",
+ " 'john lennon vs bill oreilly',\n",
+ " 'johnny b goode',\n",
+ " 'junk',\n",
+ " 'just a rumour',\n",
+ " 'just a rumour speech',\n",
+ " 'kansas city',\n",
+ " 'keep strong',\n",
+ " 'keep your hands off my baby',\n",
+ " 'kid a tracklist album cover',\n",
+ " 'killer cars',\n",
+ " 'komm gib mir deine hand',\n",
+ " 'ladytron',\n",
+ " 'leave my kitten alone',\n",
+ " 'lend me your comb',\n",
+ " 'lets dance',\n",
+ " 'lewis mistreated',\n",
+ " 'lift',\n",
+ " 'like dreamers do',\n",
+ " 'lonesome tears in my eyes',\n",
+ " 'love',\n",
+ " 'love of the loved',\n",
+ " 'love these goon shows',\n",
+ " 'lozenge of love',\n",
+ " 'lucille',\n",
+ " 'lull',\n",
+ " 'mailman bring me no more blues',\n",
+ " 'manowar',\n",
+ " 'mantua',\n",
+ " 'maquiladora',\n",
+ " 'matchbox',\n",
+ " 'medley kansas cityhey hey hey hey',\n",
+ " 'medley rip it up shake rattle and roll blue suede shoes',\n",
+ " 'meeting in the aisle',\n",
+ " 'melatonin',\n",
+ " 'memphis',\n",
+ " 'memphis tennessee',\n",
+ " 'million dollar question',\n",
+ " 'missing links bootleg',\n",
+ " 'molasses',\n",
+ " 'moonlight',\n",
+ " 'moonlight bay',\n",
+ " 'movie medley',\n",
+ " 'mr b',\n",
+ " 'my bonnie',\n",
+ " 'my bonnie english intro',\n",
+ " 'my bonnie german intro',\n",
+ " 'no reply demo',\n",
+ " 'nobody does it better',\n",
+ " 'nobodys child',\n",
+ " 'not guilty',\n",
+ " 'nothin shakin',\n",
+ " 'nothin shakin but the leaves on the trees',\n",
+ " 'nothing touches me',\n",
+ " 'old brown shoe',\n",
+ " 'on the beach',\n",
+ " 'one and one is two',\n",
+ " 'ooh my arms',\n",
+ " 'ooh my arms speech',\n",
+ " 'ooh my soul',\n",
+ " 'open pick',\n",
+ " 'packt like sardines in a crushd tin box',\n",
+ " 'palo alto',\n",
+ " 'pantomime everywhere its christmas',\n",
+ " 'pearly',\n",
+ " 'pedro the fisherman',\n",
+ " 'permanent daylight',\n",
+ " 'phillipa chicken',\n",
+ " 'polyethylene parts 1 2',\n",
+ " 'pop is dead',\n",
+ " 'punchdrunk lovesick singalong',\n",
+ " 'rain',\n",
+ " 'ready teddy',\n",
+ " 'real love',\n",
+ " 'reminiscing',\n",
+ " 'revolution',\n",
+ " 'revolution i',\n",
+ " 'rhinestone cowboy',\n",
+ " 'riding on a bus',\n",
+ " 'rip it up medley',\n",
+ " 'ruby baby',\n",
+ " 'saints',\n",
+ " 'saints when the saints go marching in',\n",
+ " 'searchin',\n",
+ " 'september in the rain',\n",
+ " 'set fire to that lot',\n",
+ " 'set fire to that lot speech',\n",
+ " 'sgt peppers lonely hearts club band band documentary multimedia',\n",
+ " 'sgt peppers lonely hearts club band reprise',\n",
+ " 'sha la la la la',\n",
+ " 'shake rattle and roll',\n",
+ " 'shout',\n",
+ " 'sie liebt dich',\n",
+ " 'sing a song for you',\n",
+ " 'sinking ship',\n",
+ " 'slow down',\n",
+ " 'so how come no one loves me',\n",
+ " 'soldier of love',\n",
+ " 'some other guy',\n",
+ " 'somebody else',\n",
+ " 'someone else',\n",
+ " 'something with blue jay way transition',\n",
+ " 'somewhere',\n",
+ " 'sour milk sea',\n",
+ " 'spectre',\n",
+ " 'staircase',\n",
+ " 'stand by me',\n",
+ " 'step inside love',\n",
+ " 'step inside love los paranoias',\n",
+ " 'stranger in my arms',\n",
+ " 'strawberry fields forever take 1',\n",
+ " 'strawberry fields forever take 7 edit piece',\n",
+ " 'stupid car',\n",
+ " 'supercollider',\n",
+ " 'sure to fall',\n",
+ " 'sure to fall in love with you',\n",
+ " 'suzy parker',\n",
+ " 'swanee river',\n",
+ " 'sweet georgia brown',\n",
+ " 'sweet little sixteen',\n",
+ " 'take good care of my baby',\n",
+ " 'talk show host',\n",
+ " 'teddy boy',\n",
+ " 'tell me why ep',\n",
+ " 'thank you girl',\n",
+ " 'that means a lot',\n",
+ " 'thatll be the day',\n",
+ " 'thats alright mama',\n",
+ " 'the amazing sounds of orgy',\n",
+ " 'the beatles 1968 christmas record',\n",
+ " 'the beatles christmas record',\n",
+ " 'the beatles seventh christmas record',\n",
+ " 'the beatles third christmas record',\n",
+ " 'the butcher',\n",
+ " 'the daily mail',\n",
+ " 'the fool on the hill demo',\n",
+ " 'the fool on the hill take 4',\n",
+ " 'the happy rishikesh song',\n",
+ " 'the hippy hippy shake',\n",
+ " 'the honeymoon song',\n",
+ " 'the inner light',\n",
+ " 'the new generation',\n",
+ " 'the sheik of araby',\n",
+ " 'the thief',\n",
+ " 'the trickster',\n",
+ " 'these are my twisted words',\n",
+ " 'this boy',\n",
+ " 'three cool cats',\n",
+ " 'to be a brilliant light',\n",
+ " 'to know her is to love her',\n",
+ " 'too much monkey business',\n",
+ " 'transatlantic drawl',\n",
+ " 'union city blue',\n",
+ " 'untogether',\n",
+ " 'upside down',\n",
+ " 'watching rainbows',\n",
+ " 'what goes on girl',\n",
+ " 'what is it that you say',\n",
+ " 'what is that you say',\n",
+ " 'whatd i say',\n",
+ " 'whats the new mary jane',\n",
+ " 'when im sixtyfour',\n",
+ " 'when the saints go marchin in',\n",
+ " 'why',\n",
+ " 'wicked child',\n",
+ " 'wish you were here',\n",
+ " 'within you without youtomorrow never knows',\n",
+ " 'wonderwall',\n",
+ " 'words of love ep',\n",
+ " 'worrywort',\n",
+ " 'ya ya',\n",
+ " 'yes i am',\n",
+ " 'yes it is',\n",
+ " 'you know my name',\n",
+ " 'you know my name look up the number',\n",
+ " 'you know what to do',\n",
+ " 'you never wash up after yourself',\n",
+ " 'youll be mine',\n",
+ " 'young blood',\n",
+ " 'youve got a hold on me',\n",
+ " 'yove got to hide your love away'}"
+ ]
+ },
+ "execution_count": 135,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "genius_only"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true
+ },
+ "source": [
+ "Manually fix a couple of errors."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 453,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<pymongo.results.UpdateResult at 0xab71c734>"
+ ]
+ },
+ "execution_count": 453,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "genius_tracks.update_many({'ctitle': 'revolution i'}, \n",
+ " {'$set': {'ctitle': 'revolution 1'}})\n",
+ "genius_tracks.update_many({'ctitle': 'when im sixtyfour'}, \n",
+ " {'$set': {'ctitle': 'when im sixty four'}})\n",
+ "genius_tracks.update_many({'ctitle': 'packt like sardines in a crushd tin box'}, \n",
+ " {'$set': {'ctitle': 'packt like sardines in a crushed tin box'}})\n",
+ "genius_tracks.update_many({'ctitle': 'a punchup at a wedding'}, \n",
+ " {'$set': {'ctitle': 'a punch up at a wedding'}})\n",
+ "genius_tracks.update_many({'ctitle': 'dollars cents'}, \n",
+ " {'$set': {'ctitle': 'dollars and cents'}})\n",
+ "genius_tracks.update_many({'ctitle': 'bullet proofi wish i was'}, \n",
+ " {'$set': {'ctitle': 'bullet proof i wish i was'}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 454,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(306, 293, 41)"
+ ]
+ },
+ "execution_count": 454,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n",
+ "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n",
+ "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n",
+ "len(in_both), len(genius_only), len(spotify_only)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Copy the lyrics over<a name=\"copylyrics\"></a>\n",
+ "Now can can connect the tracks, let's copy across the lyrics from the Genius collection into the Spotify collection. We'll calculate the lyrical density at the same time.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 455,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "for t in tracks.find({}, ['ctitle', 'duration_ms']):\n",
+ " gts = genius_tracks.find({'ctitle': t['ctitle'], 'lyrics': {'$exists': True}}, ['lyrics', 'original_lyrics'])\n",
+ " for gt in gts:\n",
+ " tracks.update_one({'_id': t['_id']}, \n",
+ " {'$set': {'lyrics': gt['lyrics'], \n",
+ " 'original_lyrics': gt['original_lyrics'],\n",
+ " 'lyrical_density': 1000 * len(gt['lyrics'].split()) / t['duration_ms']}})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Sentiment analysis<a name=\"sentimentanalysis\"></a>\n",
+ "I couldn't find an easily-installable equivalent to the NRC corpus, so I'm using a sentiment analysis API endpoint from [Text Processing](http://text-processing.com/docs/sentiment.html).\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 456,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [],
+ "source": [
+ "for t in tracks.find({'lyrics': {'$exists': True}}, ['lyrics']):\n",
+ " text = t['lyrics']\n",
+ " if text:\n",
+ " query = urllib.parse.urlencode({'text': text}).encode('ascii')\n",
+ " headers = {'Accept': 'application/json',\n",
+ " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n",
+ " request = urllib.request.Request('http://text-processing.com/api/sentiment/', \n",
+ " headers=headers, data=query)\n",
+ " with urllib.request.urlopen(request) as f:\n",
+ " response = json.loads(f.read().decode('utf-8'))\n",
+ " tracks.update_one({'_id': t['_id']}, {'$set': {'sentiment': response}})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 173,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "dict_keys(['track_href', 'album', 'mode', 'tempo', 'loudness', 'id', 'valence', 'external_ids', 'artists', '_id', 'ctitle', 'sentiment', 'popularity', 'uri', 'energy', 'key', 'available_markets', 'href', 'original_lyrics', 'liveness', 'artist_name', 'external_urls', 'speechiness', 'track_number', 'name', 'analysis_url', 'lyrics', 'duration_ms', 'acousticness', 'preview_url', 'type', 'explicit', 'disc_number', 'danceability', 'time_signature', 'artist_id', 'instrumentalness'])"
+ ]
+ },
+ "execution_count": 173,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tracks.find_one({'sentiment': {'$exists': True}}).keys()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 214,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'_id': '2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'acousticness': 0.425,\n",
+ " 'album': {'album_type': 'album',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/album/03Qh833fEdVT30Pfs93ea6'},\n",
+ " 'href': 'https://api.spotify.com/v1/albums/03Qh833fEdVT30Pfs93ea6',\n",
+ " 'id': '03Qh833fEdVT30Pfs93ea6',\n",
+ " 'images': [{'height': 640,\n",
+ " 'url': 'https://i.scdn.co/image/d6028aea974c75961cb9cdc2263f5d8a8a6582bd',\n",
+ " 'width': 640},\n",
+ " {'height': 300,\n",
+ " 'url': 'https://i.scdn.co/image/adebae7bf6a4a441bc6a5a17ca840f77df6ed3b9',\n",
+ " 'width': 300},\n",
+ " {'height': 64,\n",
+ " 'url': 'https://i.scdn.co/image/3b0ddfadf13b9f3e74da93fcb21e4183a4d9fcc8',\n",
+ " 'width': 64}],\n",
+ " 'name': 'The Beatles (Remastered)',\n",
+ " 'type': 'album',\n",
+ " 'uri': 'spotify:album:03Qh833fEdVT30Pfs93ea6'},\n",
+ " 'analysis_url': 'https://api.spotify.com/v1/audio-analysis/2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'artist_id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'artist_name': 'The Beatles',\n",
+ " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n",
+ " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n",
+ " 'name': 'The Beatles',\n",
+ " 'type': 'artist',\n",
+ " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n",
+ " 'available_markets': ['AD',\n",
+ " 'AR',\n",
+ " 'AT',\n",
+ " 'AU',\n",
+ " 'BE',\n",
+ " 'BG',\n",
+ " 'BO',\n",
+ " 'BR',\n",
+ " 'CH',\n",
+ " 'CL',\n",
+ " 'CO',\n",
+ " 'CR',\n",
+ " 'CY',\n",
+ " 'CZ',\n",
+ " 'DE',\n",
+ " 'DK',\n",
+ " 'DO',\n",
+ " 'EC',\n",
+ " 'EE',\n",
+ " 'ES',\n",
+ " 'FI',\n",
+ " 'FR',\n",
+ " 'GB',\n",
+ " 'GR',\n",
+ " 'GT',\n",
+ " 'HK',\n",
+ " 'HN',\n",
+ " 'HU',\n",
+ " 'ID',\n",
+ " 'IE',\n",
+ " 'IS',\n",
+ " 'IT',\n",
+ " 'JP',\n",
+ " 'LI',\n",
+ " 'LT',\n",
+ " 'LU',\n",
+ " 'LV',\n",
+ " 'MC',\n",
+ " 'MT',\n",
+ " 'MY',\n",
+ " 'NI',\n",
+ " 'NL',\n",
+ " 'NO',\n",
+ " 'NZ',\n",
+ " 'PA',\n",
+ " 'PE',\n",
+ " 'PH',\n",
+ " 'PL',\n",
+ " 'PT',\n",
+ " 'PY',\n",
+ " 'SE',\n",
+ " 'SG',\n",
+ " 'SK',\n",
+ " 'SV',\n",
+ " 'TR',\n",
+ " 'TW',\n",
+ " 'UY'],\n",
+ " 'ctitle': 'wild honey pie',\n",
+ " 'danceability': 0.792,\n",
+ " 'disc_number': 1,\n",
+ " 'duration_ms': 52973,\n",
+ " 'energy': 0.763,\n",
+ " 'explicit': False,\n",
+ " 'external_ids': {'isrc': 'GBAYE0601648'},\n",
+ " 'external_urls': {'spotify': 'https://open.spotify.com/track/2ucFulEWapRAmTn7l6f5Q7'},\n",
+ " 'href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'id': '2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'instrumentalness': 0.627,\n",
+ " 'key': 2,\n",
+ " 'liveness': 0.789,\n",
+ " 'loudness': -11.185,\n",
+ " 'lyrics': 'honey pie honey pie i love you, honey pie',\n",
+ " 'mode': 1,\n",
+ " 'name': 'Wild Honey Pie - Remastered 2009',\n",
+ " 'original_lyrics': '\\n\\nHoney Pie\\nHoney Pie\\nI love you, Honey Pie\\n\\n',\n",
+ " 'popularity': 42,\n",
+ " 'preview_url': 'https://p.scdn.co/mp3-preview/ddebab4d5e87d46a499ce557405cfadf0330bd9c?cid=null',\n",
+ " 'sentiment': {'label': 'pos',\n",
+ " 'probability': {'neg': 0.39117763475308887,\n",
+ " 'neutral': 0.18873615212514983,\n",
+ " 'pos': 0.6088223652469111}},\n",
+ " 'speechiness': 0.0506,\n",
+ " 'tempo': 89.9,\n",
+ " 'time_signature': 4,\n",
+ " 'track_href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'track_number': 5,\n",
+ " 'type': 'audio_features',\n",
+ " 'uri': 'spotify:track:2ucFulEWapRAmTn7l6f5Q7',\n",
+ " 'valence': 0.153}"
+ ]
+ },
+ "execution_count": 214,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tracks.find_one({'sentiment': {'$exists': True}})"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Analysis<a name=\"analysis\"></a>\n",
+ "Finally, we can get to the analysis of the data!\n",
+ "\n",
+ "First, what are the lowest-valence songs, and what's the distribution of valences?\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 197,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>valence</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>1AVrv7FD10FoKW38oBiKRg</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Bloom (Blawan Rmx)</td>\n",
+ " <td>0.0325</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>1</th>\n",
+ " <td>4rkGGQEqxHIXVJ4oXjOHgF</td>\n",
+ " <td>George Martin</td>\n",
+ " <td>Sea Of Holes - Remastered 2009</td>\n",
+ " <td>0.0352</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>01ZpFhrMMqKPVCwyqXneVp</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>True Love Waits</td>\n",
+ " <td>0.0378</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>53RYTfkLiyZuUZHwJC3Wmm</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>We Suck Young Blood</td>\n",
+ " <td>0.0378</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>4</th>\n",
+ " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Blue Jay Way - Remastered 2009</td>\n",
+ " <td>0.0380</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>5</th>\n",
+ " <td>66Pyms4pYaHEcPHZ7DdMbE</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>TKOL (Altrice Rmx)</td>\n",
+ " <td>0.0383</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>6</th>\n",
+ " <td>3gKuywOm38axM8sJGq6Laq</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>MK 1</td>\n",
+ " <td>0.0391</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>7</th>\n",
+ " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Tourist</td>\n",
+ " <td>0.0400</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>8</th>\n",
+ " <td>0tKuiKb2mazZYdA6fPP7kI</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Good Evening Mrs Magpie (Modeselektor RMX)</td>\n",
+ " <td>0.0413</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>9</th>\n",
+ " <td>2PbwmAMaxIBIWis8XLViat</td>\n",
+ " <td>George Martin</td>\n",
+ " <td>Sea Of Monsters - Remastered 2009</td>\n",
+ " <td>0.0422</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>10</th>\n",
+ " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Motion Picture Soundtrack</td>\n",
+ " <td>0.0425</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>11</th>\n",
+ " <td>2uYSbsxAMmK1awUl06T7ix</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>MK 2</td>\n",
+ " <td>0.0437</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>12</th>\n",
+ " <td>4gq2bc2770XvbJdEtfUbmw</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Go Slowly</td>\n",
+ " <td>0.0453</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>5olWalQH1oVza5D6xJg4oX</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Sail To The Moon</td>\n",
+ " <td>0.0458</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>14</th>\n",
+ " <td>49JPfRfsAfjWYRN6lbC3my</td>\n",
+ " <td>George Martin</td>\n",
+ " <td>Pepperland Laid Waste - Remastered 2009</td>\n",
+ " <td>0.0459</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>15</th>\n",
+ " <td>3uxhyRdWVXp7GQvERQl6fA</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Videotape</td>\n",
+ " <td>0.0468</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>16</th>\n",
+ " <td>29yXMFKIrY1fFY4DYBVZCu</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Life In a Glasshouse</td>\n",
+ " <td>0.0516</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>17</th>\n",
+ " <td>3cual6JOG286qZJmCxKRAT</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Tinker Tailor Soldier Sailor Rich Man Poor Man...</td>\n",
+ " <td>0.0517</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>18</th>\n",
+ " <td>6f6pEjgfTtuRROmJ4a7Gf3</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Numbers</td>\n",
+ " <td>0.0545</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>19</th>\n",
+ " <td>0agoaPIy92gPZ6zRhqXarE</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Tomorrow Never Knows - Remastered 2009</td>\n",
+ " <td>0.0556</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "0 1AVrv7FD10FoKW38oBiKRg Radiohead \n",
+ "1 4rkGGQEqxHIXVJ4oXjOHgF George Martin \n",
+ "2 01ZpFhrMMqKPVCwyqXneVp Radiohead \n",
+ "3 53RYTfkLiyZuUZHwJC3Wmm Radiohead \n",
+ "4 0ttMfoND7IQqFSMVOPkELC The Beatles \n",
+ "5 66Pyms4pYaHEcPHZ7DdMbE Radiohead \n",
+ "6 3gKuywOm38axM8sJGq6Laq Radiohead \n",
+ "7 75YUnz58ajMo2VIIuUFvOV Radiohead \n",
+ "8 0tKuiKb2mazZYdA6fPP7kI Radiohead \n",
+ "9 2PbwmAMaxIBIWis8XLViat George Martin \n",
+ "10 0COiZ7ncho2yi4HotbzgPv Radiohead \n",
+ "11 2uYSbsxAMmK1awUl06T7ix Radiohead \n",
+ "12 4gq2bc2770XvbJdEtfUbmw Radiohead \n",
+ "13 5olWalQH1oVza5D6xJg4oX Radiohead \n",
+ "14 49JPfRfsAfjWYRN6lbC3my George Martin \n",
+ "15 3uxhyRdWVXp7GQvERQl6fA Radiohead \n",
+ "16 29yXMFKIrY1fFY4DYBVZCu Radiohead \n",
+ "17 3cual6JOG286qZJmCxKRAT Radiohead \n",
+ "18 6f6pEjgfTtuRROmJ4a7Gf3 Radiohead \n",
+ "19 0agoaPIy92gPZ6zRhqXarE The Beatles \n",
+ "\n",
+ " name valence \n",
+ "0 Bloom (Blawan Rmx) 0.0325 \n",
+ "1 Sea Of Holes - Remastered 2009 0.0352 \n",
+ "2 True Love Waits 0.0378 \n",
+ "3 We Suck Young Blood 0.0378 \n",
+ "4 Blue Jay Way - Remastered 2009 0.0380 \n",
+ "5 TKOL (Altrice Rmx) 0.0383 \n",
+ "6 MK 1 0.0391 \n",
+ "7 The Tourist 0.0400 \n",
+ "8 Good Evening Mrs Magpie (Modeselektor RMX) 0.0413 \n",
+ "9 Sea Of Monsters - Remastered 2009 0.0422 \n",
+ "10 Motion Picture Soundtrack 0.0425 \n",
+ "11 MK 2 0.0437 \n",
+ "12 Go Slowly 0.0453 \n",
+ "13 Sail To The Moon 0.0458 \n",
+ "14 Pepperland Laid Waste - Remastered 2009 0.0459 \n",
+ "15 Videotape 0.0468 \n",
+ "16 Life In a Glasshouse 0.0516 \n",
+ "17 Tinker Tailor Soldier Sailor Rich Man Poor Man... 0.0517 \n",
+ "18 The Numbers 0.0545 \n",
+ "19 Tomorrow Never Knows - Remastered 2009 0.0556 "
+ ]
+ },
+ "execution_count": 197,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.DataFrame(list(tracks.find({}, \n",
+ " ['artist_name', 'name', 'valence'], \n",
+ " sort=[('valence', pymongo.ASCENDING)], limit=20)))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 458,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>valence</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>83</th>\n",
+ " <td>0ttMfoND7IQqFSMVOPkELC</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Blue Jay Way - Remastered 2009</td>\n",
+ " <td>0.0380</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>180</th>\n",
+ " <td>0agoaPIy92gPZ6zRhqXarE</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Tomorrow Never Knows - Remastered 2009</td>\n",
+ " <td>0.0556</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>228</th>\n",
+ " <td>6ZrPbHp9kRmQj1tGLvna8U</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Revolution 9 - Remastered 2009</td>\n",
+ " <td>0.0963</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>207</th>\n",
+ " <td>27YZJHyTTDIurMqDu1v2ef</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Long, Long, Long - Remastered 2009</td>\n",
+ " <td>0.1350</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>2ucFulEWapRAmTn7l6f5Q7</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Wild Honey Pie - Remastered 2009</td>\n",
+ " <td>0.1530</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>196</th>\n",
+ " <td>4cLoL5KPfE1hAwfsO84FX7</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Because - Remastered 2009</td>\n",
+ " <td>0.1620</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>103</th>\n",
+ " <td>3ZFBeIyP41HhnALjxWy1pR</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>A Day In The Life - Remastered 2009</td>\n",
+ " <td>0.1620</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>36</th>\n",
+ " <td>7iABnSNZciNepqGtjMQxxd</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Come Together - Remastered 2015</td>\n",
+ " <td>0.1780</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>48</th>\n",
+ " <td>0MKqeOVdZcUFGJvWpGCKbG</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Come Together - Remastered 2009</td>\n",
+ " <td>0.1790</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>59</th>\n",
+ " <td>4gUUfLOH38XYU5Q3b2K4Go</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>It's All Too Much - Remastered 2009</td>\n",
+ " <td>0.1920</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "83 0ttMfoND7IQqFSMVOPkELC The Beatles \n",
+ "180 0agoaPIy92gPZ6zRhqXarE The Beatles \n",
+ "228 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n",
+ "207 27YZJHyTTDIurMqDu1v2ef The Beatles \n",
+ "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles \n",
+ "196 4cLoL5KPfE1hAwfsO84FX7 The Beatles \n",
+ "103 3ZFBeIyP41HhnALjxWy1pR The Beatles \n",
+ "36 7iABnSNZciNepqGtjMQxxd The Beatles \n",
+ "48 0MKqeOVdZcUFGJvWpGCKbG The Beatles \n",
+ "59 4gUUfLOH38XYU5Q3b2K4Go The Beatles \n",
+ "\n",
+ " name valence \n",
+ "83 Blue Jay Way - Remastered 2009 0.0380 \n",
+ "180 Tomorrow Never Knows - Remastered 2009 0.0556 \n",
+ "228 Revolution 9 - Remastered 2009 0.0963 \n",
+ "207 Long, Long, Long - Remastered 2009 0.1350 \n",
+ "0 Wild Honey Pie - Remastered 2009 0.1530 \n",
+ "196 Because - Remastered 2009 0.1620 \n",
+ "103 A Day In The Life - Remastered 2009 0.1620 \n",
+ "36 Come Together - Remastered 2015 0.1780 \n",
+ "48 Come Together - Remastered 2009 0.1790 \n",
+ "59 It's All Too Much - Remastered 2009 0.1920 "
+ ]
+ },
+ "execution_count": 458,
+ "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": "code",
+ "execution_count": 459,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xab484dec>"
+ ]
+ },
+ "execution_count": 459,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xac15c28c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "beatles_df['valence'].hist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 460,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>valence</th>\n",
+ " </tr>\n",
+ " </thead>\n",
+ " <tbody>\n",
+ " <tr>\n",
+ " <th>14</th>\n",
+ " <td>1AVrv7FD10FoKW38oBiKRg</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Bloom (Blawan Rmx)</td>\n",
+ " <td>0.0325</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>131</th>\n",
+ " <td>53RYTfkLiyZuUZHwJC3Wmm</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>We Suck Young Blood</td>\n",
+ " <td>0.0378</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>123</th>\n",
+ " <td>01ZpFhrMMqKPVCwyqXneVp</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>True Love Waits</td>\n",
+ " <td>0.0378</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>66Pyms4pYaHEcPHZ7DdMbE</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>TKOL (Altrice Rmx)</td>\n",
+ " <td>0.0383</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>20</th>\n",
+ " <td>3gKuywOm38axM8sJGq6Laq</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>MK 1</td>\n",
+ " <td>0.0391</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>117</th>\n",
+ " <td>75YUnz58ajMo2VIIuUFvOV</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Tourist</td>\n",
+ " <td>0.0400</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>15</th>\n",
+ " <td>0tKuiKb2mazZYdA6fPP7kI</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Good Evening Mrs Magpie (Modeselektor RMX)</td>\n",
+ " <td>0.0413</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>140</th>\n",
+ " <td>0COiZ7ncho2yi4HotbzgPv</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Motion Picture Soundtrack</td>\n",
+ " <td>0.0425</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>21</th>\n",
+ " <td>2uYSbsxAMmK1awUl06T7ix</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>MK 2</td>\n",
+ " <td>0.0437</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>143</th>\n",
+ " <td>4gq2bc2770XvbJdEtfUbmw</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Go Slowly</td>\n",
+ " <td>0.0453</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "14 1AVrv7FD10FoKW38oBiKRg Radiohead \n",
+ "131 53RYTfkLiyZuUZHwJC3Wmm Radiohead \n",
+ "123 01ZpFhrMMqKPVCwyqXneVp Radiohead \n",
+ "13 66Pyms4pYaHEcPHZ7DdMbE Radiohead \n",
+ "20 3gKuywOm38axM8sJGq6Laq Radiohead \n",
+ "117 75YUnz58ajMo2VIIuUFvOV Radiohead \n",
+ "15 0tKuiKb2mazZYdA6fPP7kI Radiohead \n",
+ "140 0COiZ7ncho2yi4HotbzgPv Radiohead \n",
+ "21 2uYSbsxAMmK1awUl06T7ix Radiohead \n",
+ "143 4gq2bc2770XvbJdEtfUbmw Radiohead \n",
+ "\n",
+ " name valence \n",
+ "14 Bloom (Blawan Rmx) 0.0325 \n",
+ "131 We Suck Young Blood 0.0378 \n",
+ "123 True Love Waits 0.0378 \n",
+ "13 TKOL (Altrice Rmx) 0.0383 \n",
+ "20 MK 1 0.0391 \n",
+ "117 The Tourist 0.0400 \n",
+ "15 Good Evening Mrs Magpie (Modeselektor RMX) 0.0413 \n",
+ "140 Motion Picture Soundtrack 0.0425 \n",
+ "21 MK 2 0.0437 \n",
+ "143 Go Slowly 0.0453 "
+ ]
+ },
+ "execution_count": 460,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "radiohead_df = pd.DataFrame(list(tracks.find({'artist_id': radiohead_id}, \n",
+ " ['artist_name', 'name', 'valence'])))\n",
+ "radiohead_df.sort_values('valence').head(10)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 461,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xab38d58c>"
+ ]
+ },
+ "execution_count": 461,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab35c70c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "radiohead_df['valence'].hist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 462,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xac0736ac>"
+ ]
+ },
+ "execution_count": 462,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xabfb7b8c>"
+ ]
+ },
+ "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.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 463,
+ "metadata": {
+ "collapsed": false,
+ "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>67</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>50</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>226</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>213</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>191</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>42</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>113</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>149</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>70</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>104</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",
+ "67 3VgxeWOGdUYvtX1j8C9VyV The Beatles \n",
+ "50 6gLmFcRwyQCQT23Df2Re9G The Beatles \n",
+ "226 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n",
+ "213 3EbGioQyKyf4dycuiPOg3k The Beatles \n",
+ "191 79QDgDoBbS7pCrOjIH7ByA The Beatles \n",
+ "42 4311wT21Et0q3vepFwXjTu The Beatles \n",
+ "113 3QbhVaulXxTyuAxHY3Pa5N The Beatles \n",
+ "149 3Aqo28W4LLAolYpN3duVJl The Beatles \n",
+ "70 3OSi8ehmSWLTD5KatlzX8r The Beatles \n",
+ "104 3wAOX1N5M0ta3QNsokmhJV The Beatles \n",
+ "\n",
+ " name neg neutral \\\n",
+ "67 I'm So Tired - Remastered 2009 0.892489 0.146302 \n",
+ "50 I Want You (She's So Heavy) - Remastered 2009 0.882642 0.091819 \n",
+ "226 Revolution 9 - Remastered 2009 0.873285 0.172322 \n",
+ "213 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.914332 \n",
+ "191 Everybody’s Trying To Be My Baby - Live / Bonu... 0.866985 0.914332 \n",
+ "42 One After 909 - Remastered 2009 0.865737 0.158470 \n",
+ "113 You Won't See Me - Remastered 2009 0.864585 0.247226 \n",
+ "149 I'll Cry Instead - Remastered 2009 0.863772 0.160516 \n",
+ "70 Don't Pass Me By - Remastered 2009 0.857831 0.120676 \n",
+ "104 I'm Only Sleeping - Remastered 2009 0.857651 0.269800 \n",
+ "\n",
+ " pos valence \n",
+ "67 0.107511 0.6300 \n",
+ "50 0.117358 0.4160 \n",
+ "226 0.126715 0.0963 \n",
+ "213 0.133015 0.9370 \n",
+ "191 0.133015 0.6390 \n",
+ "42 0.134263 0.9040 \n",
+ "113 0.135415 0.4620 \n",
+ "149 0.136228 0.9610 \n",
+ "70 0.142169 0.9480 \n",
+ "104 0.142349 0.7000 "
+ ]
+ },
+ "execution_count": 463,
+ "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": 464,
+ "metadata": {
+ "collapsed": false,
+ "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>23</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>60</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>19</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>87</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>9</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>25</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>5</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>14</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>43</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>57</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",
+ "23 11qDTSr3Dj4TkPnBcIOqEJ Radiohead Vegetable 0.883291 0.170371 \n",
+ "60 38WL6GlG9NHFiQS6JxV84r Radiohead Myxomatosis 0.864921 0.261355 \n",
+ "19 2zYmvi3w2T8a9Ckrv21bvW Radiohead Stop Whispering 0.855982 0.188600 \n",
+ "87 1w8QCSDH4QobcQeT4uMKLm Radiohead 4 Minute Warning 0.854820 0.516574 \n",
+ "9 3aDUSpF3LexOr1lFKvPV2h Radiohead The Bends 0.854244 0.533823 \n",
+ "25 48IEDejXX5LH8TAC3VIGpc Radiohead I Can't 0.849730 0.265375 \n",
+ "5 3SVAN3BRByDmHOhKyIDxfC Radiohead Karma Police 0.846129 0.100438 \n",
+ "14 4dPKQxaraW6CG1rTBzV6DW Radiohead My Iron Lung 0.845080 0.190863 \n",
+ "43 5SdmtFbNOD7Qej6jFCHkOM Radiohead Faust Arp 0.838532 0.167778 \n",
+ "57 77SPrxY5gn6VPrKPGrfLnM Radiohead There, There 0.835541 0.135951 \n",
+ "\n",
+ " pos valence \n",
+ "23 0.116709 0.399 \n",
+ "60 0.135079 0.560 \n",
+ "19 0.144018 0.279 \n",
+ "87 0.145180 0.219 \n",
+ "9 0.145756 0.315 \n",
+ "25 0.150270 0.269 \n",
+ "5 0.153871 0.311 \n",
+ "14 0.154920 0.643 \n",
+ "43 0.161468 0.224 \n",
+ "57 0.164459 0.726 "
+ ]
+ },
+ "execution_count": 464,
+ "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": 465,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab9bc38c>"
+ ]
+ },
+ "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": [
+ "Positivity and negativity are connected."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 466,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab27bd0c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.scatter(beatles_df['pos'], beatles_df['neg'], color='blue')\n",
+ "plt.scatter(radiohead_df['pos'], radiohead_df['neg'], color='red')\n",
+ "plt.xlabel('Sentiment positivity')\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": 467,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab33434c>"
+ ]
+ },
+ "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": 468,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xab4276cc>"
+ ]
+ },
+ "execution_count": 468,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\nAb0oopGefrdyAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab689f4c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "beatles_df.append(radiohead_df)['neutral'].hist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 469,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xab66dd6c>"
+ ]
+ },
+ "execution_count": 469,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n7gNX92lwWyYAVAQDvwS4Dz+QReA+/MB9+Gkw8AGgIujwS6AKHX6nupFF3s8Qmuno0WEN1psd7du3\nbp0GtmV/sZgOP9Dhp8HAx5KX9zOEZhpTU5s6/Bc4BpvNJOcEUqHSKQF660AWgQ4/0OGnwcAHgIqg\n0ikBOvxAFoEOP3TS4e95cKt8fKTrazndGwAXy5v7GPgAlgQfH0n2Ws18TvcGwMXy5r6uDXwzu1bS\ndk3WRp9z95u7da7Fjs/SCWXP4uDBlu66q9HRvv9y4DHturQ/87me/8lRrTznvJc8duTIuJYvX7Hg\nsc8deV6rlq/MfO45n/e5MY1d3Jx3n25c7fJZOml0ZeCb2RmS/kbS1ZJ+KOnbZna3uz/WjfMtdk8c\nbZV6yPVS2bM4eVLq69vQ0b6vHHlaf7x2U+Zzffnph/Tra698yWN7996h9R0859a9n8917rnsPXzH\ngh9v0Y2r3VZrmIGfQLdetH2TpMfd/YC7n5R0h6SNXTrXonf01Imil1AaZBHIIpw4MVb0EpaEblU6\nF0p6asb205r8JQBgiUv5Rrcprdawhsea835i6uGDu+f98D0U/KLtQ0eOaN/Jkwvu98ILL+hbx34k\nHWskOe+PzDRx6kWNL+v8Csps4XVm1eLqZRpZhMWaRco3uk35dGtYA321eT8xdevIrqTnXIqsG//U\nn5ldKWnQ3a9tb2+W5DNfuDWz8vwbgwCwiLi7ZTmuWwP/TEn7Nfmi7UFJ35L0fnd/NPnJAAAd6Uql\n4+4TZvY7ku5T3JbJsAeAAnXlCh8AUD5d/ywdM7vWzB4zs++b2Q1z7PPXZva4mQ2bWfZ3qpTcQlmY\n2QfMbE/7zy4z+8Ui1tkLnfxctPd7o5mdNLP39nJ9vdTh35ENZrbbzL5nZg/2eo290sHfkVVm9rX2\nrHjYzOoFLLPrzOxzZjZqZnvn2eflz01379ofTf5CeULSxZLOkjQs6bWz9nmXpH9tf/1mSQ91c01F\n/ekwiyslrWh/fW2Vs5ix339IulfSe4ted4E/FyskPSLpwvb2zxa97gKzuFHSTVM5SHpO0rKi196F\nLK6S1C9p7xzfzzQ3u32F38kbsDZKul2S3P2/Ja0ws9VdXlcRFszC3R9y9/H25kOafD/DUtTpG/M+\nIenLkp7t5eJ6rJMsPiDpK+7+jCS5+6Eer7FXOsmiJWl5++vlkp5z91M9XGNPuPsuSc/Ps0umudnt\ngX+6N2DNHmKz93nmNPssBZ1kMdNHJX2tqysqzoJZmNnPSdrk7n8nKdMtaItEJz8Xr5F0vpk9aGbf\nNrMP9Wx1vdVJFn8v6XVm9kNJeyR9qkdrK5tMc5NPyywhM3ubpI9o8n/rqmq7pJkd7lIe+gtZJukK\nSW+X9EpJ3zSzb7r7E8UuqxBbJO1x97eZ2c9L+nczW+/uR4te2GLQ7YH/jKR1M7bXth+bvc9FC+yz\nFHSShcxsvaRbJV3r7vP9L91i1kkWvyTpDjMzTXa17zKzk+5+T4/W2CudZPG0pEPufkLSCTP7hqTX\na7LvXko6yeItkv5cktz9STP7X0mvlfSdnqywPDLNzW5XOt+WdKmZXWxmZ0t6n6TZf2HvkfSb0vQ7\ndMfcfbTL6yrCglmY2TpJX5H0IXd/soA19sqCWbj7q9t/LtFkj//xJTjspc7+jtwt6SozO9PMztXk\ni3RL8X0tnWTxqKRrJKndWb9G0g96usreMc39f7aZ5mZXr/B9jjdgmdlvTX7bb3X3r5rZu83sCUnH\nNFllLDmdZCHpTySdL+mz7Svbk+6+5D50rsMsXnJIzxfZIx3+HXnMzHZK2itpQtKt7r6vwGV3RYc/\nFzdJus3M9mhyGP6hux8ubtXdYWZflLRB0iozG9Hk3UlnK+fc5I1XAFAR/CPmAFARDHwAqAgGPgBU\nBAMfACqCgQ8AFcHAB4CKYOADQEUw8AGgIv4PT8mX/sOFBA8AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab5d0a8c>"
+ ]
+ },
+ "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": 470,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>247</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>3</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>229</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>68</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>328</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>278</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>183</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>17</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>82</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>126</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",
+ "247 66cuLvkHsW7dNkfNk6gQP9 Radiohead 1.505262 1.991725 \n",
+ "3 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n",
+ "229 5SdmtFbNOD7Qej6jFCHkOM Radiohead 1.398920 1.411166 \n",
+ "68 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n",
+ "328 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n",
+ "278 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n",
+ "183 3aDUSpF3LexOr1lFKvPV2h Radiohead 1.239768 1.100731 \n",
+ "17 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n",
+ "82 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n",
+ "126 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n",
+ "\n",
+ " name neg valence \n",
+ "247 A Wolf At the Door 0.793363 0.3630 \n",
+ "3 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n",
+ "229 Faust Arp 0.838532 0.2240 \n",
+ "68 I'm So Tired - Remastered 2009 0.892489 0.6300 \n",
+ "328 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
+ "278 Her Majesty - Remastered 2009 0.556608 0.4900 \n",
+ "183 The Bends 0.854244 0.3150 \n",
+ "17 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n",
+ "82 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
+ "126 Help! - Remastered 2009 0.823915 0.7610 "
+ ]
+ },
+ "execution_count": 470,
+ "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": "code",
+ "execution_count": 471,
+ "metadata": {
+ "collapsed": false
+ },
+ "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": 472,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>3</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>67</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>226</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>201</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>17</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>81</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>125</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>9</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>164</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>21</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",
+ "3 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n",
+ "67 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n",
+ "226 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n",
+ "201 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n",
+ "17 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n",
+ "81 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n",
+ "125 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n",
+ "9 1alcPfZWUHh01l4Fnoo5Jt The Beatles 1.203416 1.332561 \n",
+ "164 2Iccm3cKBQHWt5yk0yX9nh The Beatles 1.200158 1.530785 \n",
+ "21 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.187438 1.651824 \n",
+ "\n",
+ " name neg valence \n",
+ "3 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n",
+ "67 I'm So Tired - Remastered 2009 0.892489 0.6300 \n",
+ "226 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
+ "201 Her Majesty - Remastered 2009 0.556608 0.4900 \n",
+ "17 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n",
+ "81 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
+ "125 Help! - Remastered 2009 0.823915 0.7610 \n",
+ "9 Help! - Live / Remastered 0.823915 0.5150 \n",
+ "164 Please Please Me - Remastered 2009 0.833068 0.7080 \n",
+ "21 Help! - Remastered 2015 0.823915 0.8100 "
+ ]
+ },
+ "execution_count": 472,
+ "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.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 473,
+ "metadata": {
+ "collapsed": false,
+ "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>331</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>279</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>309</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>315</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>317</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>330</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>82</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>326</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>232</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>265</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",
+ "331 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n",
+ "279 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
+ "309 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
+ "315 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
+ "317 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
+ "330 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n",
+ "82 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
+ "326 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
+ "232 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
+ "265 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n",
+ "\n",
+ " name neg valence scaled_ld gloom \n",
+ "331 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n",
+ "279 The Tourist 0.667864 0.0400 0.056658 0.471724 \n",
+ "309 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n",
+ "315 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n",
+ "317 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n",
+ "330 Codex 0.637942 0.0629 0.019385 0.465650 \n",
+ "82 Blue Jay Way - Remastered 2009 0.812490 0.0380 0.258755 0.461657 \n",
+ "326 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n",
+ "232 Videotape 0.652962 0.0468 0.105957 0.460694 \n",
+ "265 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 "
+ ]
+ },
+ "execution_count": 473,
+ "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": 474,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>331</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>279</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>309</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>315</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>317</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>330</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>326</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>232</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>265</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>251</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",
+ "331 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n",
+ "279 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
+ "309 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
+ "315 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
+ "317 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
+ "330 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n",
+ "326 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
+ "232 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
+ "265 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n",
+ "251 5AiNZnMDCWwujIENPj9PV9 Radiohead 0.489208 \n",
+ "\n",
+ " name neg valence scaled_ld gloom \n",
+ "331 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n",
+ "279 The Tourist 0.667864 0.0400 0.056658 0.471724 \n",
+ "309 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n",
+ "315 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n",
+ "317 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n",
+ "330 Codex 0.637942 0.0629 0.019385 0.465650 \n",
+ "326 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n",
+ "232 Videotape 0.652962 0.0468 0.105957 0.460694 \n",
+ "265 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 \n",
+ "251 Everything In Its Right Place 0.716829 0.0585 0.144992 0.454462 "
+ ]
+ },
+ "execution_count": 474,
+ "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": 475,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>82</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>328</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>102</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>204</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>285</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>271</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>53</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>272</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>34</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",
+ "82 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
+ "328 6ZrPbHp9kRmQj1tGLvna8U The Beatles 0.874479 \n",
+ "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles 0.169898 \n",
+ "102 3ZFBeIyP41HhnALjxWy1pR The Beatles 0.628310 \n",
+ "204 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n",
+ "285 27YZJHyTTDIurMqDu1v2ef The Beatles 0.429399 \n",
+ "271 4cLoL5KPfE1hAwfsO84FX7 The Beatles 0.325955 \n",
+ "53 71Ij3VBYQWMrng61Ae4tBu The Beatles 0.592658 \n",
+ "272 3jPXnX4SskFgAcC4YBKOwN The Beatles 0.273472 \n",
+ "34 7iABnSNZciNepqGtjMQxxd The Beatles 0.800176 \n",
+ "\n",
+ " name neg valence \\\n",
+ "82 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
+ "328 Revolution 9 - Remastered 2009 0.873285 0.0963 \n",
+ "0 Wild Honey Pie - Remastered 2009 0.391178 0.1530 \n",
+ "102 A Day In The Life - Remastered 2009 0.781296 0.1620 \n",
+ "204 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n",
+ "285 Long, Long, Long - Remastered 2009 0.524122 0.1350 \n",
+ "271 Because - Remastered 2009 0.466254 0.1620 \n",
+ "53 You Never Give Me Your Money - Remastered 2009 0.753448 0.2260 \n",
+ "272 Sun King - Remastered 2009 0.300809 0.1970 \n",
+ "34 Come Together - Remastered 2015 0.562552 0.1780 \n",
+ "\n",
+ " scaled_ld gloom \n",
+ "82 0.258755 0.461657 \n",
+ "328 0.286121 0.447499 \n",
+ "0 0.028026 0.417113 \n",
+ "102 0.195947 0.413445 \n",
+ "204 0.198372 0.412609 \n",
+ "285 0.123084 0.411522 \n",
+ "271 0.085191 0.403165 \n",
+ "53 0.182887 0.385121 \n",
+ "272 0.065966 0.384936 \n",
+ "34 0.258903 0.377414 "
+ ]
+ },
+ "execution_count": 475,
+ "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": 477,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>136</th>\n",
+ " <td>1e0hllQ23AG0QGFgezgLOq</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1.002650</td>\n",
+ " <td>Yesterday - Remastered 2009</td>\n",
+ " <td>0.852156</td>\n",
+ " <td>0.333</td>\n",
+ " <td>0.333071</td>\n",
+ " <td>0.364335</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>95</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>26</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",
+ "136 1e0hllQ23AG0QGFgezgLOq The Beatles 1.002650 \n",
+ "95 1Ipl1kvks5s6GKn6oqgzeY The Beatles 1.064324 \n",
+ "26 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n",
+ "\n",
+ " name neg valence scaled_ld \\\n",
+ "136 Yesterday - Remastered 2009 0.852156 0.333 0.333071 \n",
+ "95 She's Leaving Home - Remastered 2009 0.764553 0.377 0.355663 \n",
+ "26 Eleanor Rigby - Remastered 2015 0.803232 0.845 0.562401 \n",
+ "\n",
+ " gloom \n",
+ "136 0.364335 \n",
+ "95 0.336673 \n",
+ "26 0.259783 "
+ ]
+ },
+ "execution_count": 477,
+ "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": 478,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>63</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>160</th>\n",
+ " <td>16aAwvjzWhM4Cgg5RYz2fA</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>0.884919</td>\n",
+ " <td>Money (That's What I Want) - Remastered 2009</td>\n",
+ " <td>0.208469</td>\n",
+ " <td>0.920</td>\n",
+ " <td>0.289945</td>\n",
+ " <td>0.058624</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>57</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>300</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>203</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>293</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>44</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>299</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>39</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",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name lyrical_density \\\n",
+ "63 3fuEJBCK3kWnJHFTODR4cb The Beatles 1.608806 \n",
+ "160 16aAwvjzWhM4Cgg5RYz2fA The Beatles 0.884919 \n",
+ "57 3TEbDhNDU4NDXq0h86nGZ7 The Beatles 1.008850 \n",
+ "300 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n",
+ "203 4KIXWIzNcKzorNDgvMQwmD The Beatles 0.631592 \n",
+ "210 7cPPyMrSAQY7A686Cn9eUP The Beatles 0.891649 \n",
+ "293 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
+ "44 0cJ053ljI4BuP5P8tJnK5j The Beatles 0.893485 \n",
+ "299 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
+ "39 72Ob0wrObCXgvGYhFs8vip The Beatles 0.938049 \n",
+ "\n",
+ " name neg valence \\\n",
+ "63 Ob-La-Di, Ob-La-Da - Remastered 2009 0.080969 0.975 \n",
+ "160 Money (That's What I Want) - Remastered 2009 0.208469 0.920 \n",
+ "57 Hey Bulldog - Remastered 2009 0.239198 0.942 \n",
+ "300 Not A Second Time - Remastered 2009 0.773805 0.961 \n",
+ "203 Birthday - Remastered 2009 0.373731 0.916 \n",
+ "210 All My Loving - Remastered 2009 0.235023 0.891 \n",
+ "293 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
+ "44 For You Blue - Remastered 2009 0.471827 0.958 \n",
+ "299 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
+ "39 Across The Universe - Remastered 2009 0.295525 0.862 \n",
+ "\n",
+ " scaled_ld gloom \n",
+ "63 0.555112 0.028035 \n",
+ "160 0.289945 0.058624 \n",
+ "57 0.335342 0.059382 \n",
+ "300 0.136198 0.069540 \n",
+ "203 0.197149 0.070560 \n",
+ "210 0.292411 0.072925 \n",
+ "293 0.126365 0.082298 \n",
+ "44 0.293083 0.083988 \n",
+ "299 0.180406 0.087764 \n",
+ "39 0.309408 0.093370 "
+ ]
+ },
+ "execution_count": 478,
+ "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": 479,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>49</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>225</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>243</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>240</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>231</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>236</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>327</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>180</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>237</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>308</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",
+ "49 0eECFDnWy0RdjMmJ8NOeAL Radiohead 0.093389 \n",
+ "225 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n",
+ "243 77SPrxY5gn6VPrKPGrfLnM Radiohead 0.438813 \n",
+ "240 6CVdTDYoDbwYj4xn8u5Gha Radiohead 0.452573 \n",
+ "231 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n",
+ "236 6P67UTTr5qN7XYSSlj0n6X Radiohead 0.503609 \n",
+ "327 3OsUjkcv1C1v5udFhgRSFg Radiohead 0.329999 \n",
+ "180 53aFGAl0Vebwp2bo8wtdWR Radiohead 2.019892 \n",
+ "237 3STByesnbcQatiGHgwi1Tv Radiohead 0.622541 \n",
+ "308 3pcCifdPTc2BbqmWpEhtUd Radiohead 0.439692 \n",
+ "\n",
+ " name neg valence scaled_ld gloom \n",
+ "49 Feral 0.465216 0.751 0.000000 0.124500 \n",
+ "225 15 Step 0.835488 0.848 0.212783 0.148717 \n",
+ "243 There, There 0.835541 0.726 0.126532 0.172527 \n",
+ "240 Backdrifts 0.821532 0.724 0.131573 0.173889 \n",
+ "231 Jigsaw Falling Into Place 0.757225 0.818 0.314597 0.181482 \n",
+ "236 Paperbag Writer 0.754680 0.704 0.150268 0.182462 \n",
+ "327 Airbag 0.642348 0.642 0.086673 0.191323 \n",
+ "180 Fitter Happier 0.446841 0.728 0.705697 0.197693 \n",
+ "237 I Am a Wicked Child 0.763706 0.688 0.193834 0.199778 \n",
+ "308 Burn the Witch 0.582602 0.625 0.126854 0.200668 "
+ ]
+ },
+ "execution_count": 479,
+ "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": 480,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab2b9d2c>"
+ ]
+ },
+ "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": 481,
+ "metadata": {
+ "collapsed": false,
+ "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>16</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>21</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>26</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>37</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>42</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>71</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>104</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>132</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>133</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>135</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>138</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>139</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>140</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>144</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>145</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>149</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>150</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>152</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>154</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>155</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>156</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>159</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>201</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>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>225</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>231</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>273</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>292</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>293</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>295</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>297</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>299</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>300</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>301</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",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name lyrical_density \\\n",
+ "16 7pQAq14Z73YUFMtxCyt0bG The Beatles 1.516618 \n",
+ "21 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.651824 \n",
+ "26 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n",
+ "37 57n1teNb2tkcfiYagPmUWr The Beatles 0.885556 \n",
+ "42 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n",
+ "71 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n",
+ "104 77f3aNeabAbOaSB32Sd5QE The Beatles 1.620131 \n",
+ "132 67tvBtAhsfHBFpuqJ13ZUq The Beatles 0.924368 \n",
+ "133 1k9tpndMDRwLkNt67Dlg02 The Beatles 1.408837 \n",
+ "135 67VdmhC89bZ6yK2XRys0lA The Beatles 1.087652 \n",
+ "138 009oOX7tpCPLzRL9AFiBS8 The Beatles 1.242035 \n",
+ "139 5zs8tSd7ZvwBgr4NUmF5zM The Beatles 0.959827 \n",
+ "140 3mKtIanz0poYgLnRxZrfBO The Beatles 1.501767 \n",
+ "144 33BGv6xzxHh5E7v3r1hJLL The Beatles 1.314197 \n",
+ "145 69d54YOS8TOQiUYjX57XeA The Beatles 1.601816 \n",
+ "149 7KmRz1oKEwgj9qpfn72OfO The Beatles 1.509096 \n",
+ "150 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n",
+ "152 4dyALlslhDEzwSEr7GteXa The Beatles 1.246021 \n",
+ "154 5tNjuWwp6FxuWCrKQAMBTj The Beatles 0.959614 \n",
+ "155 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n",
+ "156 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n",
+ "159 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n",
+ "201 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n",
+ "209 1JPTCjLHEtqofOFmHsfiAH The Beatles 1.036117 \n",
+ "225 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n",
+ "231 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n",
+ "273 67jL5ZAf8hNsRZrfBHNuBT The Beatles 1.277562 \n",
+ "292 2YHzfuuDFXzoELxJnqM4at The Beatles 0.626500 \n",
+ "293 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
+ "295 4G5YzDD1nCUPwt5y1LQovF The Beatles 0.901370 \n",
+ "297 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n",
+ "299 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
+ "300 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n",
+ "301 33OXG0RTtw0ycGza22tnF6 The Beatles 1.022599 \n",
+ "\n",
+ " name neg valence \\\n",
+ "16 Can't Buy Me Love - Remastered 2015 0.738387 0.957 \n",
+ "21 Help! - Remastered 2015 0.823915 0.810 \n",
+ "26 Eleanor Rigby - Remastered 2015 0.803232 0.845 \n",
+ "37 Two Of Us - Remastered 2009 0.711080 0.923 \n",
+ "42 One After 909 - Remastered 2009 0.865737 0.904 \n",
+ "71 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n",
+ "104 Eleanor Rigby - Remastered 2009 0.803232 0.821 \n",
+ "132 Act Naturally - Remastered 2009 0.722619 0.946 \n",
+ "133 You Like Me Too Much - Remastered 2009 0.773406 0.900 \n",
+ "135 I've Just Seen A Face - Remastered 2009 0.805204 0.917 \n",
+ "138 No Reply - Remastered 2009 0.781942 0.873 \n",
+ "139 I'm A Loser - Remastered 2009 0.812114 0.843 \n",
+ "140 Baby's In Black - Remastered 2009 0.820088 0.862 \n",
+ "144 I Don't Want To Spoil The Party - Remastered 2009 0.817801 0.896 \n",
+ "145 A Hard Day's Night - Remastered 2009 0.833309 0.802 \n",
+ "149 Can't Buy Me Love - Remastered 2009 0.738387 0.854 \n",
+ "150 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n",
+ "152 You Can't Do That - Remastered 2009 0.727456 0.962 \n",
+ "154 It Won't Be Long - Remastered 2009 0.783388 0.868 \n",
+ "155 Don't Bother Me - Remastered 2009 0.824879 0.921 \n",
+ "156 Please Mister Postman - Remastered 2009 0.815201 0.962 \n",
+ "159 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n",
+ "201 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n",
+ "209 All I've Got To Do - Remastered 2009 0.721191 0.876 \n",
+ "225 15 Step 0.835488 0.848 \n",
+ "231 Jigsaw Falling Into Place 0.757225 0.818 \n",
+ "273 Mean Mr Mustard - Remastered 2009 0.700631 0.967 \n",
+ "292 What You're Doing - Remastered 2009 0.751989 0.831 \n",
+ "293 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
+ "295 Tell Me Why - Remastered 2009 0.849970 0.819 \n",
+ "297 Little Child - Remastered 2009 0.848886 0.878 \n",
+ "299 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
+ "300 Not A Second Time - Remastered 2009 0.773805 0.961 \n",
+ "301 Misery - Remastered 2009 0.814230 0.902 \n",
+ "\n",
+ " scaled_ld gloom \n",
+ "16 0.521343 0.202768 \n",
+ "21 0.570870 0.275942 \n",
+ "26 0.562401 0.259783 \n",
+ "37 0.290179 0.130498 \n",
+ "42 0.229005 0.136137 \n",
+ "71 0.234420 0.120451 \n",
+ "104 0.559261 0.264054 \n",
+ "132 0.304396 0.128762 \n",
+ "133 0.481862 0.212244 \n",
+ "135 0.364208 0.173016 \n",
+ "138 0.420761 0.201287 \n",
+ "139 0.317385 0.182462 \n",
+ "140 0.515903 0.244945 \n",
+ "144 0.447194 0.211604 \n",
+ "145 0.552552 0.274521 \n",
+ "149 0.518588 0.226602 \n",
+ "150 0.460024 0.209207 \n",
+ "152 0.422221 0.164551 \n",
+ "154 0.317307 0.169345 \n",
+ "155 0.331476 0.163120 \n",
+ "156 0.464786 0.199616 \n",
+ "159 0.369147 0.155179 \n",
+ "201 0.465502 0.197723 \n",
+ "209 0.345331 0.165114 \n",
+ "225 0.212783 0.148717 \n",
+ "231 0.314597 0.181482 \n",
+ "273 0.433774 0.161301 \n",
+ "292 0.195284 0.141424 \n",
+ "293 0.126365 0.082298 \n",
+ "295 0.295972 0.189498 \n",
+ "297 0.220555 0.141159 \n",
+ "299 0.180406 0.087764 \n",
+ "300 0.136198 0.069540 \n",
+ "301 0.340379 0.170895 "
+ ]
+ },
+ "execution_count": 481,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "results[(results['valence'] > 0.8) & (results['neg'] > 0.7)]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "That's intersting. 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": 484,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>150</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>71</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>293</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>156</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>42</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>299</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>155</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>201</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>159</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>297</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",
+ "150 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n",
+ "71 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n",
+ "293 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n",
+ "156 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n",
+ "42 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n",
+ "299 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n",
+ "155 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n",
+ "201 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n",
+ "159 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n",
+ "297 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n",
+ "\n",
+ " name neg valence \\\n",
+ "150 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n",
+ "71 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n",
+ "293 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n",
+ "156 Please Mister Postman - Remastered 2009 0.815201 0.962 \n",
+ "42 One After 909 - Remastered 2009 0.865737 0.904 \n",
+ "299 Hold Me Tight - Remastered 2009 0.804870 0.963 \n",
+ "155 Don't Bother Me - Remastered 2009 0.824879 0.921 \n",
+ "201 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n",
+ "159 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n",
+ "297 Little Child - Remastered 2009 0.848886 0.878 \n",
+ "\n",
+ " scaled_ld gloom complexity \n",
+ "150 0.460024 0.209207 0.830085 \n",
+ "71 0.234420 0.120451 0.813223 \n",
+ "293 0.126365 0.082298 0.812365 \n",
+ "156 0.464786 0.199616 0.784223 \n",
+ "42 0.229005 0.136137 0.782626 \n",
+ "299 0.180406 0.087764 0.775090 \n",
+ "155 0.331476 0.163120 0.759713 \n",
+ "201 0.465502 0.197723 0.754373 \n",
+ "159 0.369147 0.155179 0.751168 \n",
+ "297 0.220555 0.141159 0.745322 "
+ ]
+ },
+ "execution_count": 484,
+ "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": 485,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>222</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>204</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>309</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>317</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>326</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>224</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>279</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>315</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>232</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>82</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",
+ "222 6f6pEjgfTtuRROmJ4a7Gf3 Radiohead 0.393192 \n",
+ "204 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n",
+ "309 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n",
+ "317 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n",
+ "326 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n",
+ "224 3cual6JOG286qZJmCxKRAT Radiohead 0.332577 \n",
+ "279 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n",
+ "315 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n",
+ "232 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n",
+ "82 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n",
+ "\n",
+ " name neg valence \\\n",
+ "222 The Numbers 0.292008 0.0545 \n",
+ "204 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n",
+ "309 True Love Waits 0.532206 0.0378 \n",
+ "317 We Suck Young Blood 0.535358 0.0378 \n",
+ "326 Motion Picture Soundtrack 0.576808 0.0425 \n",
+ "224 Tinker Tailor Soldier Sailor Rich Man Poor Man... 0.477322 0.0517 \n",
+ "279 The Tourist 0.667864 0.0400 \n",
+ "315 Sail To The Moon 0.605798 0.0458 \n",
+ "232 Videotape 0.652962 0.0468 \n",
+ "82 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n",
+ "\n",
+ " scaled_ld gloom complexity \n",
+ "222 0.109821 0.436866 0.015914 \n",
+ "204 0.198372 0.412609 0.019104 \n",
+ "309 0.045911 0.471229 0.020117 \n",
+ "317 0.067027 0.466795 0.020237 \n",
+ "326 0.093690 0.460916 0.024514 \n",
+ "224 0.087617 0.453517 0.024678 \n",
+ "279 0.056658 0.471724 0.026715 \n",
+ "315 0.045189 0.469228 0.027746 \n",
+ "232 0.105957 0.460694 0.030559 \n",
+ "82 0.258755 0.461657 0.030875 "
+ ]
+ },
+ "execution_count": 485,
+ "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": 486,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "<matplotlib.axes._subplots.AxesSubplot at 0xab2e722c>"
+ ]
+ },
+ "execution_count": 486,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n95nZcuBBd3/VFOufN0/97i1beOlDD7F6+fLcwVPcvmcP77v1VpYuXVrqOPNB3eZt1+35SvWUNk/d\nzJaZ2ZLs8iLgbcAO4B6gka32fuBrvQ4uIiLFSumpvxB4MOupPwzc4+7fAT4DvM3MdgFvAW4pL2ax\nIvbPImYC9YpTaTuliZgJ4ubKY9aeurs/Blw1xfWHgLeWEUpERPKp5WECIs5JjZgJNP86lbZTmoiZ\nIG6uPGpZ1EVEqqqWRT1i/yxiJlCvOJW2U5qImSBurjxqWdRFRKqqlkU9Yv8sYiZQrziVtlOaiJkg\nbq48alnURUSqqpZFPWL/LGImUK84lbZTmoiZIG6uPGpZ1EVEqqqWRT1i/yxiJlCvOJW2U5qImSBu\nrjxqWdRFRKqqlkU9Yv8sYiZQrziVtlOaiJkgbq48alnURUSqqpZFPWL/LGImUK84lbZTmoiZIG6u\nPGpZ1EVEqqqWRT1i/yxiJlCvOJW2U5qImSBurjxqWdRFRKqqlkU9Yv8sYiZQrziVtlOaiJkgbq48\nalnURUSqqpZFPWL/LGImUK84lbZTmoiZIG6uPGYt6mZ2uZk9YGY/MbPHzOwj2fU3m9leM3sk+1lb\nflwREZnJrCeeBp4DPu7uLTNbDPzIzL6d3Xabu99WXrxyROyfRcwE6hWn0nZKEzETxM2Vx6xF3d07\nQCe7fMzMngBelN1sJWYTEZEe9dRTN7NhYDXwg+yqD5tZy8y+YGZLCs5Wmoj9s4iZQL3iVNpOaSJm\ngri58khpvwCQtV6+Cnw022P/HLDJ3d3MPgXcBnxwqvs2Gg2Gh4cBGBoa4uj+/bw0u63ZbgOwJru9\n6OXt27dz6aWXjv951Ww2abVa5ywDA1/uKvvxu8Wn2y6YbbnTafW0/uTl733vftaubbN8+XD2eG2A\nOS0fOtTh1a9uzrj+00+fYHi497x5l7s6nTbNZnPg76eoy61WK1Sefv3+pSw3m01GRkYAxutlHubu\ns69ktgD4OvBNd799ittfAtzr7qumuM0nj3H3li289KGHWL18ee7gKW7fs4f33XorS5cuLXWc+aDR\n2Mjw8Ma+j7t16zrWr99Wm3Hb7Y2MjGzs+7hSPWaGu/fc4k5tv3wJeHxiQTeziRX5BuDHvQ4uIiLF\nSpnSeDXwO8B1ZrZjwvTFz5rZTjNrAdcAHys5a2Ei9s8iZoKYvWJlShPxPRUxE8TNlUfK7JeHgAun\n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\nAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab2e3e4c>"
+ ]
+ },
+ "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": 487,
+ "metadata": {
+ "collapsed": false,
+ "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": 488,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "defaultdict(int,\n",
+ " {'03Qh833fEdVT30Pfs93ea6': 0.24623580565335346,\n",
+ " '0PYyrqs9NXtxPhf0CZkq2L': 0.23500175198141865,\n",
+ " '19K3IHYeVkUTjcBHGfbCOi': 0.22062175593822883,\n",
+ " '19RUXBFyM4PpmrLRdtqWbp': 0.3431302979758603,\n",
+ " '1DBkJIEoeHrTX4WCBQGcCi': 0.28205809775367074,\n",
+ " '1PULmKbHeOqlkIwcDMNwD4': 0.2284613266716491,\n",
+ " '1oW3v5Har9mvXnGk0x4fHm': 0.3137553965448286,\n",
+ " '2Pqkn9Dq2DFtdfkKAeqgMd': 0.2884934384506727,\n",
+ " '2pCqZLeavM2BMovJXsJEIV': 0.21860763995041954,\n",
+ " '36lJLPoPPOKNFddTAcirnc': 0.3821905201779125,\n",
+ " '3OdI6e43crvyAHhaqpxSyz': 0.21217853501580114,\n",
+ " '3nkEsxmIX0zRNXGAexaHAn': 0.15002262857925622,\n",
+ " '47bcKzmKgmMPHXNVOWpLiu': 0.17887638062333686,\n",
+ " '500FEaUzn8lN9zWFyZG5C2': 0.3411762104912796,\n",
+ " '5XfJmldgWzrc1AIdbBaVZn': 0.25065567867237876,\n",
+ " '5ju5Ouzan3QwXqQt1Tihbh': 0.22362482844412274,\n",
+ " '6400dnyeDyD2mIFHfkwHXN': 0.34531516064731943,\n",
+ " '6Eo5EkmdLvZrONzi046iC2': 0.25747581401566805,\n",
+ " '6P9yO0ukhOx3dvmhGKeYoC': 0.2684584850649835,\n",
+ " '6V9YnBmFjWmXCBaUVRCVXP': 0.373616798392821,\n",
+ " '6vuykQgDLUCiZ7YggIpLM9': 0.3823911679811044,\n",
+ " '71Mwd9tntFQYUk4k2DwA0D': 0.21540669157651765,\n",
+ " '7BgGBZndAvDlKOcwe5rscZ': 0.1751092911259364,\n",
+ " '7dxKtc08dYeRVHt3p9CZJn': 0.3527181960532056,\n",
+ " '7eyQXxuf2nGj9d2367Gi5f': 0.3242377357445757,\n",
+ " '7gDXyW16byCQOgK965BRzn': 0.17842009876737236})"
+ ]
+ },
+ "execution_count": 488,
+ "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": 489,
+ "metadata": {
+ "collapsed": false,
+ "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.178420</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.150023</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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>2Pqkn9Dq2DFtdfkKAeqgMd</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Abbey Road (Remastered)</td>\n",
+ " <td>1969-09-26</td>\n",
+ " <td>0.288493</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>2pCqZLeavM2BMovJXsJEIV</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Let It Be (Remastered)</td>\n",
+ " <td>1970-05-08</td>\n",
+ " <td>0.218608</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>27</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>1993-02-22</td>\n",
+ " <td>0.345315</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>26</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>1995-03-28</td>\n",
+ " <td>0.341176</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>25</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>1997-05-28</td>\n",
+ " <td>0.352718</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>24</th>\n",
+ " <td>19RUXBFyM4PpmrLRdtqWbp</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Kid A</td>\n",
+ " <td>2000-10-01</td>\n",
+ " <td>0.343130</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>1</th>\n",
+ " <td>5ju5Ouzan3QwXqQt1Tihbh</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>1 (Remastered)</td>\n",
+ " <td>2000-11-13</td>\n",
+ " <td>0.223625</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>22</th>\n",
+ " <td>6svTt5o2lUgIrgYDKVmdnD</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>I Might Be Wrong</td>\n",
+ " <td>2001-01-01</td>\n",
+ " <td>0.000000</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>23</th>\n",
+ " <td>6V9YnBmFjWmXCBaUVRCVXP</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Amnesiac</td>\n",
+ " <td>2001-03-12</td>\n",
+ " <td>0.373617</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>21</th>\n",
+ " <td>1oW3v5Har9mvXnGk0x4fHm</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Hail To the Thief</td>\n",
+ " <td>2003-01-01</td>\n",
+ " <td>0.313755</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>20</th>\n",
+ " <td>6Eo5EkmdLvZrONzi046iC2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Com Lag: 2+2=5</td>\n",
+ " <td>2004-03-24</td>\n",
+ " <td>0.257476</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>19</th>\n",
+ " <td>36lJLPoPPOKNFddTAcirnc</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows Disk 2</td>\n",
+ " <td>2007-01-01</td>\n",
+ " <td>0.382191</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>18</th>\n",
+ " <td>7eyQXxuf2nGj9d2367Gi5f</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows</td>\n",
+ " <td>2007-12-28</td>\n",
+ " <td>0.324238</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>1DBkJIEoeHrTX4WCBQGcCi</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The King Of Limbs</td>\n",
+ " <td>2011-02-18</td>\n",
+ " <td>0.282058</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>17</th>\n",
+ " <td>47xaqCsJcYFWqD1gwujl1T</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>TKOL RMX 1234567</td>\n",
+ " <td>2011-10-10</td>\n",
+ " <td>0.000000</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>16</th>\n",
+ " <td>6vuykQgDLUCiZ7YggIpLM9</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>A Moon Shaped Pool</td>\n",
+ " <td>2016-05-08</td>\n",
+ " <td>0.382391</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>0</th>\n",
+ " <td>5XfJmldgWzrc1AIdbBaVZn</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Live At The Hollywood Bowl</td>\n",
+ " <td>2016-09-09</td>\n",
+ " <td>0.250656</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "15 7gDXyW16byCQOgK965BRzn The Beatles \n",
+ "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n",
+ "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n",
+ "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n",
+ "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n",
+ "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n",
+ "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n",
+ "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n",
+ "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n",
+ "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n",
+ "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n",
+ "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n",
+ "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n",
+ "27 6400dnyeDyD2mIFHfkwHXN Radiohead \n",
+ "26 500FEaUzn8lN9zWFyZG5C2 Radiohead \n",
+ "25 7dxKtc08dYeRVHt3p9CZJn Radiohead \n",
+ "24 19RUXBFyM4PpmrLRdtqWbp Radiohead \n",
+ "1 5ju5Ouzan3QwXqQt1Tihbh The Beatles \n",
+ "22 6svTt5o2lUgIrgYDKVmdnD Radiohead \n",
+ "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead \n",
+ "21 1oW3v5Har9mvXnGk0x4fHm Radiohead \n",
+ "20 6Eo5EkmdLvZrONzi046iC2 Radiohead \n",
+ "19 36lJLPoPPOKNFddTAcirnc Radiohead \n",
+ "18 7eyQXxuf2nGj9d2367Gi5f Radiohead \n",
+ "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead \n",
+ "17 47xaqCsJcYFWqD1gwujl1T Radiohead \n",
+ "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead \n",
+ "0 5XfJmldgWzrc1AIdbBaVZn The Beatles \n",
+ "\n",
+ " name release_date gloom \n",
+ "15 Please Please Me (Remastered) 1963-03-22 0.178420 \n",
+ "14 With The Beatles (Remastered) 1963-11-22 0.150023 \n",
+ "12 A Hard Day's Night (Remastered) 1964-07-10 0.215407 \n",
+ "11 Beatles For Sale (Remastered) 1964-12-04 0.175109 \n",
+ "10 Help! (Remastered) 1965-08-06 0.220622 \n",
+ "9 Rubber Soul (Remastered) 1965-12-03 0.212179 \n",
+ "8 Revolver (Remastered) 1966-08-05 0.235002 \n",
+ "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... 1967-06-01 0.228461 \n",
+ "6 Magical Mystery Tour (Remastered) 1967-11-27 0.268458 \n",
+ "5 The Beatles (Remastered) 1968-11-22 0.246236 \n",
+ "4 Yellow Submarine (Remastered) 1969-01-17 0.178876 \n",
+ "3 Abbey Road (Remastered) 1969-09-26 0.288493 \n",
+ "2 Let It Be (Remastered) 1970-05-08 0.218608 \n",
+ "27 Pablo Honey 1993-02-22 0.345315 \n",
+ "26 The Bends 1995-03-28 0.341176 \n",
+ "25 OK Computer 1997-05-28 0.352718 \n",
+ "24 Kid A 2000-10-01 0.343130 \n",
+ "1 1 (Remastered) 2000-11-13 0.223625 \n",
+ "22 I Might Be Wrong 2001-01-01 0.000000 \n",
+ "23 Amnesiac 2001-03-12 0.373617 \n",
+ "21 Hail To the Thief 2003-01-01 0.313755 \n",
+ "20 Com Lag: 2+2=5 2004-03-24 0.257476 \n",
+ "19 In Rainbows Disk 2 2007-01-01 0.382191 \n",
+ "18 In Rainbows 2007-12-28 0.324238 \n",
+ "13 The King Of Limbs 2011-02-18 0.282058 \n",
+ "17 TKOL RMX 1234567 2011-10-10 0.000000 \n",
+ "16 A Moon Shaped Pool 2016-05-08 0.382391 \n",
+ "0 Live At The Hollywood Bowl 2016-09-09 0.250656 "
+ ]
+ },
+ "execution_count": 489,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "albums_df = pd.DataFrame(list(albums.find({}, ['release_date', 'name', 'artist_name'])))\n",
+ "\n",
+ "def try_date(d):\n",
+ " try:\n",
+ " return datetime.strptime(d, \"%Y-%m-%d\")\n",
+ " except ValueError:\n",
+ " return datetime.strptime(d, \"%Y\")\n",
+ "\n",
+ "albums_df['release_date'] = albums_df['release_date'].apply(lambda d: try_date(d))\n",
+ "albums_df['gloom'] = albums_df['_id'].apply(lambda i: album_glooms[i])\n",
+ "albums_df.sort_values('release_date', inplace=True)\n",
+ "albums_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 490,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab54a3ac>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(albums_df['release_date'], albums_df['gloom'])\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "One thing that's noticable is the split in time between the groups, and the much shorter period the Beatles were active for."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 491,
+ "metadata": {
+ "collapsed": false
+ },
+ "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.178420</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.150023</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",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>3</th>\n",
+ " <td>2Pqkn9Dq2DFtdfkKAeqgMd</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Abbey Road (Remastered)</td>\n",
+ " <td>1969-09-26</td>\n",
+ " <td>0.288493</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>2</th>\n",
+ " <td>2pCqZLeavM2BMovJXsJEIV</td>\n",
+ " <td>The Beatles</td>\n",
+ " <td>Let It Be (Remastered)</td>\n",
+ " <td>1970-05-08</td>\n",
+ " <td>0.218608</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name \\\n",
+ "15 7gDXyW16byCQOgK965BRzn The Beatles \n",
+ "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n",
+ "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n",
+ "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n",
+ "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n",
+ "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n",
+ "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n",
+ "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n",
+ "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n",
+ "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n",
+ "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n",
+ "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n",
+ "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n",
+ "\n",
+ " name release_date gloom \n",
+ "15 Please Please Me (Remastered) 1963-03-22 0.178420 \n",
+ "14 With The Beatles (Remastered) 1963-11-22 0.150023 \n",
+ "12 A Hard Day's Night (Remastered) 1964-07-10 0.215407 \n",
+ "11 Beatles For Sale (Remastered) 1964-12-04 0.175109 \n",
+ "10 Help! (Remastered) 1965-08-06 0.220622 \n",
+ "9 Rubber Soul (Remastered) 1965-12-03 0.212179 \n",
+ "8 Revolver (Remastered) 1966-08-05 0.235002 \n",
+ "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... 1967-06-01 0.228461 \n",
+ "6 Magical Mystery Tour (Remastered) 1967-11-27 0.268458 \n",
+ "5 The Beatles (Remastered) 1968-11-22 0.246236 \n",
+ "4 Yellow Submarine (Remastered) 1969-01-17 0.178876 \n",
+ "3 Abbey Road (Remastered) 1969-09-26 0.288493 \n",
+ "2 Let It Be (Remastered) 1970-05-08 0.218608 "
+ ]
+ },
+ "execution_count": 491,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n",
+ "beatles_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 492,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAD2CAYAAAAgRbdwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl8FdX5/9/nAoFEFsuqyKLEra4EquBXLVG/IdoqCNr+\nsGrz1VZwA1sCBYtWXBBrxaK1LqgoLv2ildrGVgm4REtb/RoJVizuLYpaFVDqAgRyn98fZ0Julntz\nl1lvnvfrNa/cOXcy85m5M8+c85znPMeICIqiKEo0iQUtQFEURckeNeKKoigRRo24oihKhFEjriiK\nEmHUiCuKokQYNeKKoigRJi0jbow50RjzmjHmDWPMrDa+H2OM+cwYs9pZLnNfqqIoitKSzu1tYIyJ\nAbcAJwAfAC8aY/4gIq+12PQ5ERnngUZFURQlCenUxI8E3hSR9SKyA1gKjG9jO+OqMkVRFKVd0jHi\newHvJaxvcMpacpQxZo0x5k/GmINcUacoiqKkpF13Spq8BAwRka+MMScBvwf2d2nfiqIoShLSMeLv\nA0MS1gc5ZbsQkS8SPj9hjLnVGNNbRDYnbmeM0UQtiqIoWSAibbqs03GnvAjsa4wZaowpACYBVYkb\nGGMGJHw+EjAtDXiCkKTLFVdckfL7sCxR0RklrapTdYZ5CVpnKtqtiYtIgzHmYmAF1ujfLSLrjDFT\n7NeyCDjdGHMBsAPYCvy/9varKIqi5E5aPnERWQ4c0KLsjoTPvwZ+7a40RVEUpT1CNWKztLQ0aAlp\nERWdEB2tqtNdVKe7hFmnac/f4urBjBE/j6coipIPGGOQHDo2FUVRlJCiRlxRFCXCqBFXFEWJMGrE\nFUVRIowacUVRlAijRlxRFCXCqBFXlAhTXV3N2LGnMXbsaVRXVwctRwkAjRNXlIhSXV3NhAkVbN36\ncwAKC2fx6KNLKC8vD1iZ4jap4sTViCtKRBk79jRWrhwHVDglSygrq2LFimVBylI8QAf7KIqi5Clu\nTQqhKIrPVFZOZtWqCrZuteuFhbOorFwSrCjFd9SdoigRprq6mgULFgHWqKs/PD9Rn7iiKIGhL5rc\nUSOuKEogaASNO6gRVxQlEDSCxh00OkVRFCVP0egURVE8QyNovEfdKYqieIp2bOaO+sQVRVEijPrE\nFUVR8hQ14oqiKBFGjbiiKEqEUSOuKIoSYdSIK4qiRBg14oqieIrOPuQtGmKoKIpnaO4Ud9AQQ6VD\nE5aaYFh0+MmCBYvYuvUsoAqoYuvWs3YN/FHcQYfdK3lNy5rgqlUVgdQEw6LDbzZu/Ah4DrjBKZnB\nxo0HBKgo/1AjruQ1tib4cxqz6G3dasv8Np5h0eE/nbEGvCKh7J6AtOQn6k5RFMUz+vbtk1aZkj1p\nGXFjzInGmNeMMW8YY2al2O4IY8wOY8xE9yQqSvZUVk6msHAWsARY4mTRm9xhdfhNGM877/omRCTl\ngjX0bwFDgS7AGuDAJNs9BfwRmJhkX6IofrN8+XIpK5soZWUTZfny5R1eh9+E6byXL18uhYUDBO4V\nuFcKCwcErikdHNvZpo1uN8TQGDMauEJETnLWZzs7/HmL7S4B6oEjgD+KyO/a2Je0dzxFURSviOpM\nQ7mGGO4FvJewvsEpSzzAQOBUEbkNaPNAiqIoivu4FZ2yEEj0lSc15HPnzt31ubS0lNLSUpckKIqi\npCYqMw3V1NRQU1OT1rbpulPmisiJznord4ox5p3Gj0Bf4EtgsohUtdiXulMURQmUKM40lNPMPsaY\nTsDrwAnAh8D/AWeIyLok298DPKY+cUVRFHfIyScuIg3AxcAK4FVgqYisM8ZMMca0FSukVlpRlNAy\nb948+vTZlz599mXevHlBy8kZTYClKEqHYd68eVx22fXAzU7JNK655ifMmTMnSFntohMlK4qiAH36\n7MvmzZeTGGLYu/fVbNr0VpCy2kWzGCpKnpJ3ow+VjFEjrigRpTEz4sqV41i5chwTJlSE0pCH6UVz\nyinHANNoTAMA05yy6KJZDBUlokQhM2LYUvB+8MHnQBlwtVNS5pRFFzXiiqJ4RjhfNHvTFES3N/DP\nwJS4gbpTFCWihDFDYKb47WoZM2YEcCcwzlnudMoiTLLMWF4saBbDvCJM2ek6KmH/DZYvXy4FBf12\nZQ0sKOi3S2cQGQXLyiY6xxNnuVfKyiZ6ekw3IEUWQ3WnKFkRNl9nR6W8vDwC13wHcHvCZ0s4XS3R\nQ90pSlY0fwCtMdcJcJWWLFiwiPr6hcDfgL9RX78w0PskH1xQLdGauKIogRBERsHy8nIefXRJQgKs\n6LcedcSmkhUt3SmFhbPUnaK0or37JIoZBYNAh90rnqAPoJIOep/kjhpxRVEUn3Hz5aVGXFEUxUfc\ndjeqEVcURfERtydk1iyGiqIoeYoacUVRPCVMWQz9ws94dHWnKIriGWEMRfUrWkY7NhUlz+iIoXbW\nN7wPTZkC96Gs7J9Z+4ZzJYwvlXRIZcR1xKai+EBHzTWzceNHwHPADU7JDDZuPCAwPfmYr0WNuKL4\nQD4aj/TojDXgFQll9wSkJT9RI64oimf07dsnrTK/CCJfi9eoEVcUH8hH45EOYTtvTYCV68G0Y1Pp\nwHTEjk3Q8waNTlEURYkUfg6718E+iuITHXHQC3TM8/Zz0hQ14kreEwYj0lgzW7lyHCtXjmPChIoO\nYdA66nn7SrLJN71Y0ImS84qwT9IrEsxkvG0R1Ql6cyWM5+3Hfev2fYdOlKy4TVQGr3Tc+GylLfy6\nb8vLy5kzZyo33ng1ANOnT/Xunktm3b1Y0Jp43hDGGlZbhEVnWFoEfhO28/brfvCzJq4+ccVX/PZP\nh2V288b45LKyKsrKqkLZavGCjnrefnZspluDPhF4DXgDmNXG9+OAl4E6oBY4Psl+sn4TKeEim5pG\nULWyKPjuFX+45pprBHruugehp1xzzTWuH8ftGj8pauLpGPAY8BYwFOgCrAEObLFNUcLnQ4G3kuwr\n65NQwkemxjEsrg2l42LvwUqBic5SGXl3Sjodm0cCb4rIegBjzFJgvFMzb6zNf5WwfXdgY4YNAiWC\nlJeXd4imsZJvHEpTVsUlNKXJdQ8/h/enY8T3At5LWN+ANezNMMacCswH9gD0yVZaEbY8GkrHw897\n0K9KjmshhiLye+D3xphjgPuBNpMGz507d9fn0tJSSktL3ZKghJx8TD6kRIuo3IM1NTXU1NSktW27\nuVOMMaOBuSJyorM+G+uf+XmK/3kbOFJENrUol/aOpyhu01ETMIWFsF3/eDxOXV0dACUlJcRi3gTp\n+ZUAK52OzU40dWwWYDs2v95im+KEzyOAt5PsK2vHvkYYKNkQtjjljsby5culc+deAqMFRkvnzr0C\nvf6rV6+V4cOnSlHRMikqWibDh0+V1avXun4cPzs2MwkxfB14E5jtlE0BJjuffwKsBVYDfwa+kWQ/\nWZ2APojhJAovVo2ICZbi4kMF+iaE9PWV4uJDA9HS0NAgw4dPFWhIuB9sWUNDg6vH8jPEMC2fuIgs\np4WPW0TuSPh8PXB9OvvKBh06HT6iMuxeCZb16z/CPrdVTkkF69ffH4iWuro61q07huZ5/2KsW3c0\ndXV1jBw5MhBduaK5U5SsiMqLNd8jYsLmb25JLLYDG8bXNFFyLNYQmJ4dO3amVZYrvt53yaroXizk\n4E4pKNh9l1+toGD30DbfsyEKbomWRMlNEcXrmw5RcDMWFu7Z6j4pLNwzEC0NDQ3SvfvJrdwpu+02\nznV3ioi79x25+sTdWnIz4v123awFBf1Cd7NmSxQexLaIqu58Igov0h49hrTS2KPHkMD0nHLK9QJT\nBB4QuF/gu9Kv39Pyn/8EJiktUhnxSCTAWrBgEfX1v6AxmUx9/S+8SybjM74mynGRKCU2CsOkEB2V\n/v27A9NoTEAG05wy//n8c6iuPgs7oPwt4G3gKeLxz5kwAbZvD0RWzqhPPGA2btyUVlkYicKw+3zu\ngK2snMyf//x9tm37FwDdut1KZeV9wYpqwbBhB/L2218HrnZKyhg2LJixIrNnA6wCTqGxLwf2Jh6f\nQa9e4zjrLFi6FDp1CkRe1kSiJh6WdKLesBOYQVNNZYZTprhBVFs66dC//yAGDjyJWGw/YrH9GDjw\nJPr3HxS0rGbYZ3cVcDlwOYWFqwJ5dp99Fv7wBzjggNadi3vvPZAHH4RNm+Dii63TJ1Ik87N4saCD\nfVrhV1Y1L4jCbxIFv3E2+BnznCtB3ydffilSXCzy2GOp+9e2bBEZMULk8st9l9guRL1jUyT4G8Er\notpBGBXddsRgn106O3fuE0qdmVJbWytduz6UYMDt0rXrUqmtrQ1aXqj48Y9FzjyzaT2VLfnoI5H9\n9hO56SafRbZD5I14VAxGtkTxBRWVGq6dBKBoV3gqFHkyCYDf1NbWSiz2YCsjDg/LpEm18pvfiLz9\ntkg8HrTSYO/vv/xFZM89RTZuTP9//vlPkUGDRB580DNZGRN5Ix4Vg9GRyPY38fuB7t27uJXO3r2L\nPT+u13zySYN06vSDVu6UwsLTZf78Bpk4UWSvvUT69RP59rdFrrpKpLpa5NNP/dUZZAVs61aRAw4Q\neeSRzP/3lVdE+vcXeeKJ7I+vceIJ5LsRj2JNPCrTs+WjEV+9WmSffUSOP365GHO8wFKBpWJMqdxy\nyx3Ntt2wQWTZMpGZM0W++U2R7t2tYfv+90V+/WuRl14Sqa/3TmuQz+7s2SKnn579///lLyJ9+4r8\n9a+Z/2/oEmC5tag7pTVRPrdrrrlGevcult69i9NyUQTxQPs1p2I6uPGyvucea1geftiuP/744zJq\n1HEyatRx8vjjj7f7/zt2iKxZI3LHHSLnnity8MEiu+0mcvTRItOnizz0kMi//uWeG6akZEyr37yk\nZIw7O0/Biy+KDBgg8u9/57afP/3J1sjXZpjoMFRzbLq5aMdma6IanZLNKNqgamWZvmy8INeX9bZt\nIlOm2Fr0q6+6q23LFpGnnhK59lqR8eOt8RswQGTcOJF580SefNJukw0lJUdLyyyGJSVHu3sCLdi+\nXeSQQ9zzaT/wgPWR/+tf6f+PGvEORBA3uRtkU8OKcqsjV3J5qN99V+SII0ROOy17Y5oJ8bg1WA89\nZGvnRx9ta+sHHSRyzjkit99ua/M7drS/L3ve0wWOc5bpnr+4r7hC5JRT3O3UXbhQZP/9RT7+OL3t\nwzZRsuIpnbEZ3ioSyu4JSEv6rF+/Ia2yRMrLy5kzZyo33mhH702fPjUvRk56yVNPwVlnQWWlXUzb\nc7u4ijEwdKhdvvtdW7ZjB7zyCrzwAvz1r/DLX8L778OIETBqVNMyqMVYo/Hjy3nyyaWInO/s+3bG\nj5/kmfaXX4Zbb4W6Onev1SWXwMcfw7e+BU8/DT16pN7e13s9mXX3YkFr4q1wq9nlt7spmxZEUDXx\nMLjiMj33eFxk/nwbHvf00z4KzYDNm23Ey1VX2QiYvn1FBg4UmTBB5LrrRJ56qkEOPdS/AUn19SIl\nJSKLF7u+axGxv8nkySLHH2/dW6nQjs0OhBtpdoMwjtnoDsInHiYXTrovk88+Ezn1VJHRo0Xee89H\ngTkSj9vY9N/8RmTaNJFDDqkVWJbwe9ulqOgRTwYkXXutyNix3sbG79xp3Vqnn24/J0N94iHBjxqc\nG2l2g+owzPT6BBGpELXw1FdesSMGL7rIdtBFmdraWikq8seIv/qqbQmsX9/+trk+19u22dr4lCnJ\nXxhqxEOAXzU4N37sqBiq4uKDpGW4X3HxQZ4e016bxQK1zrI4lNdGxNZg+/YVue++oJW4g1/5XXbu\nFBk1SuS229rf1q3nujHPymWXeXucRtSIZ4FfhtGN44TJZZAKO/CmeTil1wNvbrnlDjHmOIGHBB4S\nY45rNSAmaOrrRS65xCZpWrMmaDXusnr1Whk2rEJisQcElsruu5/n+uzyCxaIlJaKpPNecPO5/ugj\nG7GSLM+KXyM2NTolYNyYi69xgoamuRbDmS976NBBbN58KE3zLS5h6NBaz44Xj8e56661iDxJY9Zl\nkdO5664fccEFcWIxfzMxx+Nx6urqACgpKSEWi/Hhh/Cd78DXvgYvvmj/ZkLY59j8+OMNfPDBE8Tj\n+wAD2LLlDD7+eANwsCv7f/NNuPZaGzXj889J//6wYgUccwz06QNnntn8e9/y7Sez7l4sRKgm7mft\nNgzRE37g9zR7L7xQK926tfbJdur0iEyaVCtXXWWHnj/0kB3QsmaN7UjcutV9LatXr5Xhw6dKUdEy\nKSpaJsOHT5W77lorAweKXH11erXIlkRh2sLWNd/tcsIJOYyFT6ChQeTYY0V++cv0/8eLa7Z2rR3V\nmcaA2axBa+KZozHN7lNeXk5V1f0JNcf7Xb+mO3fCc8/BI4/Aww+3PeVWp06w556wbRv8/e+wcaOd\nECDxb5cu0LevXfr0Se9vUVHbmuLxOOeeewdr1iyksUWwZs2pnH/+j6iqWshJJ2VXhbz00vkJ0xZC\nfb0tC/d9+iWff76PK3u67TZoaICpUzP9zx3A7Qmfc+Pgg+HRR2H8eKiqgqOOynmXmZHMunuxoDXx\nwI7jBQ0NDVJbWyu1tbWBTkSwfbvNNveDH9iOwZEjbbjZunUNMmxYRauOtWHDKlLqjcdF/vMfkXfe\nsTk4nnjCDr1euNBOGHDBBSLf/a6NUDj8cJstsGtXkW7d7PDsww8XOeEEu82FF4r88Ie1UlDQukXQ\nrVtuURqFhXu08u8WFu6R9f68oOX93anTvTJ58rqc9/vOOyJ9+oisy3BXXvZ1Pf54dnlW0oF8qIn7\n7ftrPq0XbN1qy9w+rl/HcZu6ulc599w7eOONUgD2338JixdPoaTEHV9ne2zbZv2Ry5bBY4/BgQfC\naafBnDmwz66KXowuXf4BnACc75TdTpcuX6b0hxtjR+T16JG4r9SIwFdfta7Rb9pka/vxeOv/ydWH\nu337Vux0fo3MYPv23GuWbtKyRXv88TfwyScH5rRPETjvPJg50/7uYeGkk+DGG+HEE2HVKhg8uHUf\niCcks+5eLEQoi2GUolNE/PWr5xI6lovOL74Q+e1vRSZNEunVS2TMGJGbb049IMZGxDQPMfQ7Fa1X\noXY9egxpFe3To8cQF5XnTstnt2vXEdKr17acBuQsWiTyjW+kl7ulPT1e2JKbbhIZPHitHHJI8z6Q\nXKJyiHqIYT6P9Fu+fLl069ZfYK7AXOnWrX/oR2xmO4gjG51btthsdBMnivTsKVJWZhMwpZtiNKhU\nqC1pCnVMnvs7U8KUZjcZbT273bp9nLEbpJF337Uus7//PXtNXld4GhoaZMAAd1/aasSzxI/abVMc\n7YMSiz0ow4ZVZPzG9vv6JDPiBQWPyBNPJDfi6Q682bTJ5s0++WSRHj1EvvUtmw8jkym2GglLBIdX\ng47CkGY3FW3dm3vsUSOLFmW+r3jc3gtXXum+TjfxYqRq5I14lDv/UuFWM9vvnOTPP98g3bq11t2r\n11T52tcaZL/9RM47z3YGJro6Ro0qFzhTbD6NZQJnyqhR5SJiU3wuWmRzX/ToYXOHPPCAzSOSK2EI\n4bQtgua/URAtAr9p69mdOnWtnH125vtassR2Gns5E5EbeDGJdeSNuEg4HkS3ceuN7Vez+ssvRSor\n7YQBFRXL2nQPNDSIvPyy9QtOnGgjCIqLRc49t0H69fthK8Pfp895MmZMg/TqZaM5Hn5Y5PPP3dUd\nhnsniJQDYaHl9X/1VZG9985sHx98YOcLfeklbzS6SUNDg3TvfnKre71795M7rjslX0n2xi4oeCgj\nI+6HO+WZZ6wxPuMMW2tON9l/Q4NN6jRzZq3EYr9tda6x2MNyww218tVXrsrdRVhacbYTsvlvFLZO\nSL+Ix+3L/b330nvBxuO2ZfbTn7pzfD9e6k2tzkec5Xu7Wp3ZkLMRB04EXgPeAGa18f33gJedZRVw\naJL9ZH0S+UhDQ4N07XpGqzc2XCCrV2fqTvHGiH/2mc2hPGiQSFVVU3mm+cRra2slFnuwDSP+gCdp\nSRsJS3KwHj0Gt2HEB/uuIyyMHy8ye/aatF6wS5eKfP3r7efwTge/+kjcCFhIJCcjjh1i9hYwFOgC\nrAEObLHNaKCXNBn855PsK+uTyEcWLRLp0uU5gbObvbGLi38i/fuLvPBCevvx6sZ87DFrvKdMae2b\nzjTqw4smZjqExYjbl17vhJdeb1em4QuDqygbbrhBZNCgx9v9bT7+2Lrvnn/eneP6Ga3kVwKsdIz4\naOCJhPXZbdXGE77fHXgvyXc5nYjfePmA3HabyJAhIosXPydduvQSOETgEOnSpZcsX75cqqqsD/C5\n59LTmevEEol8/LF1mxQXJ59VJhvjeOGFPxIYI41+dPimXHjhj7LWmQ5hcae4/Rs17jMM55YNzz8v\n0r37v9q9hyZNsv0wbmHHDTQ/pt/jBrIhVyN+GrAoYf0s4OYU289I3L7Fd/6csQt4+YDccovI0KF2\nFpRUtegVK2xM7MqVqffnVm0zHrcx2QMGiMyYYTsyk5FNZ2pQub3DUlt1W0dYWhnt0dZ519eLFBbu\nkG7d9k/6jD36qJ0gw83+kqhOTJ7KiLs67N4YcxxwDnCMm/sNAq+Gw//qV3Zo7jPP2CHd55+/qFUS\no8bjlJXB735nh5MvXgwnn5xqz69g37cAmScY2rABLrgA1q+3w9iPOCL19s8+uxo4D6hySs7j2WdX\nM2dOe0eKASOdz2sz1pkNvqUEVVpRXV3NhAkVzrMEq1ZV8OijNlXyUUd1ZsyY/2XVqnlA8xTKmzfD\nRRfB0qVQWOienvnzL2fcuEnU19sEWAUFO5k//3L3DhAA6Rjx94EhCeuDnLJmGGMOAxYBJ4rIp8l2\nNnfu3F2fS0tLKS0tTVNq9LnpJrs88wzsvXd6/3PssfDHP8Ipp8Att9jc0y0ZM2YEK1deD9zslExj\nzJifpLX/eBzuvBMuu8xmg1u2DAoK0tMGzXODwz9Tbu1G7vSoksqYZUsUrmeqytCxx8KXX45gxYpl\nrf5v+nSYONHe/25iM2kuTcjDNDeUL/iamhpqamrS2zhZFV2aXCCdaOrYLMB2bH69xTZDgDeB0e3s\ny6/WR8647U5ZsEBk2LDWcwCm6ytds0Zkjz3sgIeWZNusfvNNOyPKqFGZZ17L9vqExbXhN165PsJ+\nPVOd95NPihx1VOv/efxxG0fu9niBKEMu7hQRaTDGXAyswLaF7xaRdcaYKc6OFwGXA72BW40xBtgh\nIkem/doJIW7OlvOLX8Add0BNDQwe3Pr7eFza/JzI4YfD00/D2LG2NjNlSlZSAJtze+FCuO46m/Vv\n2jSbYzsTojKbUL4TdleRbSVOSyhpaiWOHg0vv2zv50aXyZYtMHky3HsvdO/uu9xoksy6e7HQAUds\nXned7ZxJlmkv046Wt96ytZQbb2wqy6ST8e9/FzniCJsL++23czmzzAlLHpMgiHIkSS60lxLiyCNF\namqatp882aZsUJpD1Edsuh047xfz5tmJVDdsSL5NNiFP69fbF0OjnbYPymkCxc5yWqum+rZtIj/7\nmQ1bvOsuySkVaLaEJaNgUHiRrCrslZv23EjTpzfI+efbiUVWrGiQwYPdyZcTBkITJ+7mkq0RT5U4\nKaxcdZXIAQfYnA+pyNawffCByEEHiVx6qciwYYdKy4EkxcWH7tr2b3+z244fL/L++zmeWA4UFg5s\nda6FhQODE+QjXtTEo1C7T9Xns3r1Wtlnn6kSi9mc2wUFU+Xmmz2YFicA3P5tIm3EgxrpJ5J9zWnu\nXDtM+MMP2982FxfDJ5+IlJSIdOp0Z6v468LCPeSLL0R+/GPbIfrQQ8HUvhOJxXq1ch3FYr2CFeUT\nXnRsRiFOPNn97dVEGWHB7d8mlREP/fRsdXV17NhxNo0TzFpi7NhxFnV1dYwcOTLZv+bEvHnzuOyy\nprC9yy6znTNzUgRCi8DcuTZM75lnYMCA9o+Ty+TBffvazs6vfa0H8DTQy/nmKbZuHc5hh8HRR8Pa\ntXYy36ApKiriiy++pGmS2nqKinYLUpLiMQsWtD0Oom/fvs7Ufs2f6zfeGOPpc52PeDTpm7t06tTW\nu6Yz0nYghyvceOM9WANe4Sw3O2VtIwKXX24H5zz9dHoG3A169oxTUHAPcBsw0VnuA/bm5pvj3Hef\ndwa8urqasWNPY+zY06iurm53+9mzLwJ2JpTsdMq8JVOdXlBZOZnCwlnYePolTkz35NDtU3EHX3+b\nZFV0LxaydKe0NWN5ly4XygEHNMjChSKbN2e823bJpMMxHheZPVvksMNs3pFMyNV3ljydbfYJ6L3U\n7fdMNGHyG3fEjs1kkVP57k4R0Y7NZtiOzYkCDzjLBDnyyHJ57jmR733PTppbUWE78Nzy+1ZUVLS6\n+SoqKlptF4+LzJwpMny49VFnSq6+My+mgvJDt1+ERWeYXiZ+kirEcPXqtTJ8+FQpKnpEiooekcMP\nvzinyYTzmVRGPPQ+cYD6+i+AWuAwp+Q5duw4kGOPtcNyN260gwPOPht2280OhDnzTOjZM/tjfvDB\n59hh5Y3D1w91ypoQgZkzrfvkySdzcVtkn/ekpKSE/fdfwpo1p9LkHYuz//7PUlIyIVtBist4lYsn\nGrSdnqGk5GBeemkhdXV1zvpNxGKR8PCGiohcsc7AAuAKZ1lAYtqXvn1hxgx4/XW44QZrVIcOtcZ8\n9ersjrhx40fAOuB6Z1nnlFlEbH6HmprcDPiYMSOAO4FxznKnU5YesViMxYunMHz4jygqWkZR0TIO\nP/wSFi+e4ukDYTVOo9HnZ0fita/bb/90ZeVkCgpm0qizoGCm+o19pD3fcCwWY+TIkYwcOdI3Ax6G\nPhJXSVZF92IhS3dKNk3iDz6wg2GGDrUjFO++W+SLL9I/ZnHx8FbHLC4eLiLWhTJtmt1vrv54t5r7\nDQ0NUltrB0344VPMZnLmIFwKXuTxzlZHR3SniPjfD5KKqP4ORN0nnstEwDt3ivzpTyKnnCLSu7fI\nxRfbOR/bI1nHZjwuctFFdrjwp59mdTrNCIvPNlOy0R3EuYbp+oa9E9ILwvISbSRM90MmpDLikXCn\nNM9dXUXtuW/yAAAQpElEQVRj7up06NQJvvUtqKqCNWugd28oL7e+9AcegG3b2v6/oUP3AKbT5C6Y\nzpAhe3LRRfDSS7BiBey+e+7n5lYoUhBuCg1vy4zy8nJWrFjGihXLOogvHC699Grq6zsD5wPnU1/f\nmUsvvXrX93nn2giCZNbdiwUf3SmpqK8X+d3vRMaOtTPnVFaKvP56821s7b9QGqdNgyL5xjdekv/6\nL5EtW7I+dJvkWkMLqomYqe6g3ClRbD7nCz16DGn17PboMURE9H7IBKLuTvEy+91bb4nMmiXSv7/N\n7PfwwyLbt7eVr2WydO9eJf/5jyuHbUauRjxKTcQgXAod0Y0RFnr0GNyGER8sIsHdt1G8H1IZ8UiE\nGFp20DRce4drey0utnm1r7wSHn0Ubr0VLr44zmef9QfupSmA51RgArvt9m3cDOrxYsYXpTlhz7md\nz+y77xDq6qYnlExn332/HpgeyMP7IZl192IhJO6U9njkkVrp1Om3CcezS9eu7o+CdOPcotJEjIpO\nxT1SdWwG1empNfHAyG0i4EzYe2/o2jXGV181L287h0vwlJeXM2fOVG680XYYTZ8+NZQ1jY494KVj\n0v6cll2wnZ4AMz3Xk5ct32TW3YuFAEIMsyFZvpZhwypcj8F2o3YalRpulHz3ivd09JDTTCA/Qgyb\nZxRMN8QwG2KxGP36/Rv4PrDMWc6mX79/uz6qrHGuyrKyKsrKqrKqFTSv4dpaRmPNJ0xoWGLHJFkY\n4caNm1pt21ZZVPErfDKc/oE28c+dAtCz527ACcDeTsl/07PnHz05VlQ7WqqrqxOayZPbPYegJlfO\nVGe+6/CT1O6LncCMhK1nAAd4qqeycjKrVlWwdatdtxWJJa4fx1e3TbIquhcLEXGniETHRSGi8bap\nCIvOsOjwm1Tui2xSN7iBHx2bfs7sEwkjrvGk7eO31nQmZw4DYfGBhkWH36Q673x+sen0bCEhSm4O\nv7W+885rwAYap6+DabzzziDfjq9Eg1Tui6Dca34wZswIVq6cllAyjTFjfpJ0+5xIZt29WMhhxGa+\nvrGjSqrh1GEiLPdOWHQEQZRatG7htquIqNfE8/mNHVW6dOmSVlnQhOXeCYsOxU/angzDbSJhxJXw\nMX36OVx2WfPm4vTpHjUXcyQsbrGw6PCT6upqxo0725nxHp599myqqu7P++vgVxQMEB13ilcJsJTs\nCVOyfyWclJSMaeV2KykZE7QsX/BromRjv/cHY4xkc7wRI0qpqzuHxuHasISSkntYvbrGTXmK4ikd\nMU68T5992bz5chKf3d69r2bTpreClBU5jDGIiGnru0i4U9av35BWmaKElbzM2ZEGQ4fuwebNzQf0\nDB3q7YCejkYkjLjeCErU6ajJv+bPv5xx4yZRX2/TSBcU7GT+/MsDVpVfRCJ3yvz5l1NQsBObT/x2\nvREUJSI0ZjEsKxtIWdlAqqqW5v2Ly2/S8okbY04EFmKN/t0i8vMW3x8A3AOMAH4qIjcm2U9WPnHo\nmP5EJX9o6U4pLJzVIdwpijuk8om3a8SNMTHgDWw2qA+AF4FJIvJawjZ9gaHY6W8+9cKIK0rU0YqI\nki25GvHRwBUicpKzPhsb7vLzNra9AvhcjbiiKIp7pDLi6fjE9wLeS1jf4JT5il+5eaOKXh9F6ZhE\nomOz0Z+4cuU4Vq4cx4QJFWqoEtDrkxp9wSn5TDohhu8DQxLWBzllWTF37txdn0tLSyktLW33fzpq\neFa66PVJTkeNz1aCJ5c+kJqaGmpqatLaNh0j/iKwrzFmKPAhMAk4I8X2bfptGkk04oriNfqCU4Ig\n18pDywrulVdemXTbdo24iDQYYy4GVtAUYrjOGDPFfi2LjDEDgFqgBxA3xlwCHCQiX6SluB18TSaT\nQFSiCYK6PoqitI2vlYdkSVW8WMgyAZaI/zmJo5b/uSPmbE6HqP2OSn6gM/u0gd9pPLUZnh9oHm8l\nCCorJ/Pss4npBl6jsnKpJ8eKjBFXkqOdd6npiHm8lTDQBTjf+TzTs6OoEU9ClPzM2mpQlHCxYMEi\nZyIM+0zW13v3TKoRT4I2wxVFiQJqxPOAKLUaFKUj4OczGYmZfYLAzg04ifr6AwHbMRHmNJpRCYdU\nOh4d9d5087xzSoDlJlEy4iNGHENd3es0zVY9g5KSA1i9elWQshQlUmgKXneI/PRsQbB+/b+xBrwi\noezqwPQoShTRTnfviUQCrCAYOnRQWmWKoihBokY8CfPnX0pBwUxgCbCEgoKZzJ9/adCyFCVSVFZO\nprBwFo3Pke3gm7zre80wmTvqE0/BvHnzuPHGewCYPv0c5syZE7AiRYkeyTr41F+ePtqxmQV6gymK\nt4wdexorV46jqd9pCWVlVaxYsSxIWaFEOzazQDtkFEWJAmrEFUUJBB2k5g7qTkmCulMUxXs66kCg\nTFGfeJboDaYoShhQI64oihJhUhlxjRNXFEWJMGrEFUVRIowacUVRlAijRlxRFCXCqBFXFEWJMGrE\nFUXxFE1y5S0aYqgoimfooDl30DhxRVECQZNcuYPGiSuKouQpmgBLURTP0CRX3qPuFEVRPEVzEOWO\n+sQVRVEijPrEFUVR8hQ14oqiKBFGjbiiKEqEScuIG2NONMa8Zox5wxgzK8k2Nxtj3jTGrDHGDM9G\nTE1NTTb/5jtR0QnR0ao63UV1ukuYdbZrxI0xMeAWoBw4GDjDGHNgi21OAopFZD9gCnB7NmLCfKES\niYpOiI5W1ekuqtNdwqwznZr4kcCbIrJeRHYAS4HxLbYZD9wHICIvAL2MMQNcVaooiqK0Ih0jvhfw\nXsL6Bqcs1Tbvt7GNoiiK4jLtxokbY04DykVksrN+FnCkiExL2OYxYL6I/NVZfxL4iYisbrEvDRJX\nFEXJgmRx4ukMu38fGJKwPsgpa7nN4Ha2SSpCURRFyY503CkvAvsaY4YaYwqASUBVi22qgO8DGGNG\nA5+JyEeuKlUURVFa0W5NXEQajDEXAyuwRv9uEVlnjJliv5ZFIvK4MeZbxpi3gC+Bc7yVrSiKooDP\nuVMURVEUdwlkxKYxJhK+cSdGXnEJY0wkUh8bY3o4fyNxn0aBqFzLqOhMxDcjZYw51BhzsjGma5hT\nGTo6KwFEJB60nlQYY440xlwb9peNMeYoY8ydwBFBa0mFMWaEMeYR4AdgfYUBS2oTY8xwY8x5xpg9\ngtaSCmPMQcaYYyG81xLAGHOwMaYUwq0zGZ7XjIwxXwPmAUcD/wSON8bcJCLrvT52lswDyo0xL4lI\njTGmk4g0BC0qEWNMT2A+1ijeKyJxE9I8v8aY84BpwK1AXUivZx9gLvZ69gaed8pDpdUJLLgFGAms\nA0YbYxY5A+xCgzGmC1bnaOB1J9jhaRF5yRgTC0vlKGE0+vHAu8aYE4A/iEhtmHS2hx81uJ8A20Xk\ncOB/gP2BrT4cNyMSmvrPATcB18Cujt2w1XTnYB+QsSJyK4S6BjEEmCMit4nItjAZxQRuwF7C0cAP\ngbOxBWHTOhLoIyIjReQs7PO7MWBNbXEI0Mt55i8AdgA/NsYUhcww9gJ6iMiBwJnAJqDSGNM9ZDpT\n4olxMsac7kS0AMwVkR87n8cCe2Br40Pa/m//cHReACAiOx1/WDlwJ/CxMeaHznfxoH1lLa7pYuBj\noL9TfoMxZlLYrqkxphc2387/GWOON8ZUG2N+aoyZ6Hwf2DU1xnzHGHORs3p+wuC1T4B/GGMOCEha\nM5zreaGzuh0Yb4zp6QzCGwWcYIwpcbYN8nom6uwKDHdaMpuAbcBB2Bdk0DonGmN+6az2AY4yxuwm\nIp8Ay4BPgYudbSPhH3fViBtjuhtjlgEzgE1OE3+78903nfK7gW8Ds40xg9w8fpY6PzOWLk5tdg02\nhcA1wExjzG+NMYOCqum2cU07i8jr2Cb/cuwN9zrwHUdvWK5pJxHZAvwHuB84Ffg18CHwM2PM4UFc\n0wSdlcBm50GtT2htxYGBwFfO9oE8yC2u56fO774a+BmwALgN61IbDFxljNk/4OvZqDOGvR+fB35t\njBkGHAU8CowwxvQNSOdBxpjfAJcD04wxA0XkLeBvwI+czT7EGvLhxpg9Q9y6bUbORrzFTT4Y+EhE\nRovI/yZuJyLPiciRInIbcC32bT001+O7pVNEdhhjirAthX2wzasBQH8R2WCM6RQSrY031vXAlSJS\nKiJ3Ym/O7o72MOhs/O5nwOHAhyJSJSL3AI/TOolaUDoRS9z5/DrQ4Ke+dHU6zMeOxfieiNwPLMT2\nNR0dBp0iEheRT7H34w6sa/Il7IDAGLam66tOpwJ5J/C8iJQ4mkY5m90NHG2M2UdEdgIfYVsORX7p\nzBU3auLdEj4fhh1yj9O0+pkxZowxpptTFgMQkXVAf5onzfKa9nQeBxRgf8AXsQbxeGCIMeYwn/2j\nqbRe5mjdISJLEq7pP7AvoHdDonOOMeY4EXkXm5r4Ownb9gf+6pvKDO5Rh99iXVWdfK6NpXM9Bdu6\nOQ3AcVfsBfwjDDqNMVcYY44HNojIVOA7InIz8CbWfVHoo87GY/0D2390s7Gdw/thW1xgW96rsZUi\nRGQttnK53UedOZG1ETfGlBljVgLXG2POcIpXAx8aYxZjm1BbgEuB/zG2x1qMMeONMU9hmy6NzVnP\nyEDnTOAs4I/AYSIyJaH5+pmXGrPQOgv4oWNk4gnX9APCdU0vNcb8UER+BrxljPm5MeZ5bATIq15q\nzFQn9h5tbG0NAgb79eLOQOdsY8z5wCPAGGPM9caYP2NrvO+ESOcsYIpzf24zxozHBgzU4ripfNQ5\nSUQ2isiXxphuIlIPvIJtaSMinwFXAXsZY35ljFkLrAe2BOVKyxgRyXgB9gVewDY5S4AHsT7Gzlh/\nXS3Qxdn2bKwvtA9wAvB/wKnZHNdjnRXAr4CeznoMiPmhM8treivQE/vgvBTSa3o2thkbA3oAB2Jr\nRGHUeSvQ11nfBzgphDq/7+iMYTuMK0L8u9+Kbc3uj/UzTwxI5wPAT53vGvWNccr7JfxfP+C/gHF+\n6HT1nDO4OLuMGvYtdmvCdz/A1lZ3B74JPA2c6Xx3GLZTwxeDGBWdLmntFBGd+tu7o/Nw4PcR0Bmm\n+/NcR2f/hLL/xra4O/uhz/PzT/MinYNtqs9L+JE2A/s461OAOmCRsz4eWzuchfVHzXAutPH4x4yE\nzihpVZ2qMw90vgTc1+L//g1800ttfi3pXKTu2Lf/JVj/14FO+ULgf4G/YJsmh2KjDvZwvj/CuYBH\n+XIiEdEZJa2qU3Xmkc4/JejsAkwG9vZDp+fXIc2LNcT5ex3wkPO5E7aD6hhnfTBwL9AtsJOJiM4o\naVWdqjNPdN4DdA1Kp5dLWtEpYsPEwL7h9jHGlIvtud8iIquc787H9jzvSGefXhAVnRAdrarTXVSn\nu2SgcyuwMwiNnpPFm28K8GzC+pHAH0hoVoVhiYrOKGlVnapTdYZvyWhSCONk9jI2XeeH2ID4J4E3\nReTttHfkMVHRCdHRqjrdRXW6S1R0ekFGg32ci1SEHXF3BvCuiCwP20WKik6IjlbV6S6q012iotML\nssknfiG2J7hMnORWISUqOiE6WlWnu6hOd4mKTlfJeI5NE5Fk6VHRCdHRqjrdRXW6S1R0uo1OlKwo\nihJhwjZjjaIoipIBasQVRVEijBpxRVGUCKNGXFEUJcKoEVcURYkwasQVRVEijBpxRVGUCPP/AR7W\ncniwVSOpAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab29210c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(beatles_df['release_date'].values, beatles_df['gloom'].values, linestyle='-')\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "\n",
+ "for a in beatles_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'gloom': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['gloom'])\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 493,
+ "metadata": {
+ "collapsed": false
+ },
+ "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>27</th>\n",
+ " <td>6400dnyeDyD2mIFHfkwHXN</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Pablo Honey</td>\n",
+ " <td>1993-02-22</td>\n",
+ " <td>0.345315</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>26</th>\n",
+ " <td>500FEaUzn8lN9zWFyZG5C2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The Bends</td>\n",
+ " <td>1995-03-28</td>\n",
+ " <td>0.341176</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>25</th>\n",
+ " <td>7dxKtc08dYeRVHt3p9CZJn</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>OK Computer</td>\n",
+ " <td>1997-05-28</td>\n",
+ " <td>0.352718</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>24</th>\n",
+ " <td>19RUXBFyM4PpmrLRdtqWbp</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Kid A</td>\n",
+ " <td>2000-10-01</td>\n",
+ " <td>0.343130</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>23</th>\n",
+ " <td>6V9YnBmFjWmXCBaUVRCVXP</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Amnesiac</td>\n",
+ " <td>2001-03-12</td>\n",
+ " <td>0.373617</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>21</th>\n",
+ " <td>1oW3v5Har9mvXnGk0x4fHm</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Hail To the Thief</td>\n",
+ " <td>2003-01-01</td>\n",
+ " <td>0.313755</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>20</th>\n",
+ " <td>6Eo5EkmdLvZrONzi046iC2</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>Com Lag: 2+2=5</td>\n",
+ " <td>2004-03-24</td>\n",
+ " <td>0.257476</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>19</th>\n",
+ " <td>36lJLPoPPOKNFddTAcirnc</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows Disk 2</td>\n",
+ " <td>2007-01-01</td>\n",
+ " <td>0.382191</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>18</th>\n",
+ " <td>7eyQXxuf2nGj9d2367Gi5f</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>In Rainbows</td>\n",
+ " <td>2007-12-28</td>\n",
+ " <td>0.324238</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>13</th>\n",
+ " <td>1DBkJIEoeHrTX4WCBQGcCi</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>The King Of Limbs</td>\n",
+ " <td>2011-02-18</td>\n",
+ " <td>0.282058</td>\n",
+ " </tr>\n",
+ " <tr>\n",
+ " <th>16</th>\n",
+ " <td>6vuykQgDLUCiZ7YggIpLM9</td>\n",
+ " <td>Radiohead</td>\n",
+ " <td>A Moon Shaped Pool</td>\n",
+ " <td>2016-05-08</td>\n",
+ " <td>0.382391</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name name release_date \\\n",
+ "27 6400dnyeDyD2mIFHfkwHXN Radiohead Pablo Honey 1993-02-22 \n",
+ "26 500FEaUzn8lN9zWFyZG5C2 Radiohead The Bends 1995-03-28 \n",
+ "25 7dxKtc08dYeRVHt3p9CZJn Radiohead OK Computer 1997-05-28 \n",
+ "24 19RUXBFyM4PpmrLRdtqWbp Radiohead Kid A 2000-10-01 \n",
+ "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead Amnesiac 2001-03-12 \n",
+ "21 1oW3v5Har9mvXnGk0x4fHm Radiohead Hail To the Thief 2003-01-01 \n",
+ "20 6Eo5EkmdLvZrONzi046iC2 Radiohead Com Lag: 2+2=5 2004-03-24 \n",
+ "19 36lJLPoPPOKNFddTAcirnc Radiohead In Rainbows Disk 2 2007-01-01 \n",
+ "18 7eyQXxuf2nGj9d2367Gi5f Radiohead In Rainbows 2007-12-28 \n",
+ "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead The King Of Limbs 2011-02-18 \n",
+ "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead A Moon Shaped Pool 2016-05-08 \n",
+ "\n",
+ " gloom \n",
+ "27 0.345315 \n",
+ "26 0.341176 \n",
+ "25 0.352718 \n",
+ "24 0.343130 \n",
+ "23 0.373617 \n",
+ "21 0.313755 \n",
+ "20 0.257476 \n",
+ "19 0.382191 \n",
+ "18 0.324238 \n",
+ "13 0.282058 \n",
+ "16 0.382391 "
+ ]
+ },
+ "execution_count": 493,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]\n",
+ "radiohead_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 494,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\nGBHk/wNCRIpm/I+JMAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab24346c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['gloom'].values, linestyle='-')\n",
+ "\n",
+ "for a in radiohead_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'gloom': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['gloom'])\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Complexity per album<a name=\"complexityovertime\"></a>\n",
+ "Let's generate the same plots for \"complexity\" per album.\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 495,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "defaultdict(int,\n",
+ " {'03Qh833fEdVT30Pfs93ea6': 0.30313780757650094,\n",
+ " '0PYyrqs9NXtxPhf0CZkq2L': 0.39554610177908917,\n",
+ " '19K3IHYeVkUTjcBHGfbCOi': 0.4926787306023092,\n",
+ " '19RUXBFyM4PpmrLRdtqWbp': 0.19682403824100217,\n",
+ " '1DBkJIEoeHrTX4WCBQGcCi': 0.23682091199666255,\n",
+ " '1PULmKbHeOqlkIwcDMNwD4': 0.33137519763673373,\n",
+ " '1oW3v5Har9mvXnGk0x4fHm': 0.2989840032500176,\n",
+ " '2Pqkn9Dq2DFtdfkKAeqgMd': 0.2801541309531463,\n",
+ " '2pCqZLeavM2BMovJXsJEIV': 0.35466432570637396,\n",
+ " '36lJLPoPPOKNFddTAcirnc': 0.17041628698527087,\n",
+ " '3OdI6e43crvyAHhaqpxSyz': 0.44772169900647624,\n",
+ " '3nkEsxmIX0zRNXGAexaHAn': 0.5788171236704196,\n",
+ " '47bcKzmKgmMPHXNVOWpLiu': 0.2953681657492741,\n",
+ " '500FEaUzn8lN9zWFyZG5C2': 0.2361303334346605,\n",
+ " '5XfJmldgWzrc1AIdbBaVZn': 0.3887292504282335,\n",
+ " '5ju5Ouzan3QwXqQt1Tihbh': 0.40349206426460227,\n",
+ " '6400dnyeDyD2mIFHfkwHXN': 0.22536295726702718,\n",
+ " '6Eo5EkmdLvZrONzi046iC2': 0.3776567485151355,\n",
+ " '6P9yO0ukhOx3dvmhGKeYoC': 0.2752720160835255,\n",
+ " '6V9YnBmFjWmXCBaUVRCVXP': 0.1561887159181926,\n",
+ " '6vuykQgDLUCiZ7YggIpLM9': 0.12056755508379581,\n",
+ " '71Mwd9tntFQYUk4k2DwA0D': 0.5490106468656754,\n",
+ " '7BgGBZndAvDlKOcwe5rscZ': 0.5087387310808495,\n",
+ " '7dxKtc08dYeRVHt3p9CZJn': 0.1600362993556834,\n",
+ " '7eyQXxuf2nGj9d2367Gi5f': 0.29134666578005836,\n",
+ " '7gDXyW16byCQOgK965BRzn': 0.47916115082339855})"
+ ]
+ },
+ "execution_count": 495,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pipeline = [\n",
+ " {'$match': {'gloom': {'$exists': True}}},\n",
+ " {'$group': {'_id': '$album.id', 'avg_complexity': {'$avg': '$complexity'}}}]\n",
+ "album_complexities = collections.defaultdict(int, {a['_id']: a['avg_complexity'] for a in tracks.aggregate(pipeline)})\n",
+ "album_complexities"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 496,
+ "metadata": {
+ "collapsed": false,
+ "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",
+ " <th>complexity</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.178420</td>\n",
+ " <td>0.479161</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.150023</td>\n",
+ " <td>0.578817</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",
+ " <td>0.549011</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",
+ " <td>0.508739</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",
+ " <td>0.492679</td>\n",
+ " </tr>\n",
+ " </tbody>\n",
+ "</table>\n",
+ "</div>"
+ ],
+ "text/plain": [
+ " _id artist_name name \\\n",
+ "15 7gDXyW16byCQOgK965BRzn The Beatles Please Please Me (Remastered) \n",
+ "14 3nkEsxmIX0zRNXGAexaHAn The Beatles With The Beatles (Remastered) \n",
+ "12 71Mwd9tntFQYUk4k2DwA0D The Beatles A Hard Day's Night (Remastered) \n",
+ "11 7BgGBZndAvDlKOcwe5rscZ The Beatles Beatles For Sale (Remastered) \n",
+ "10 19K3IHYeVkUTjcBHGfbCOi The Beatles Help! (Remastered) \n",
+ "\n",
+ " release_date gloom complexity \n",
+ "15 1963-03-22 0.178420 0.479161 \n",
+ "14 1963-11-22 0.150023 0.578817 \n",
+ "12 1964-07-10 0.215407 0.549011 \n",
+ "11 1964-12-04 0.175109 0.508739 \n",
+ "10 1965-08-06 0.220622 0.492679 "
+ ]
+ },
+ "execution_count": 496,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "albums_df['complexity'] = albums_df['_id'].apply(lambda i: album_complexities[i])\n",
+ "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n",
+ "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]\n",
+ "albums_df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 497,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab32f0cc>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(beatles_df['release_date'].values, beatles_df['complexity'].values, linestyle='-')\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "\n",
+ "for a in beatles_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['complexity'])\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 498,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD2CAYAAAAzkveEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8FOW5wPHfEyACAtqA4AVveNeiRBSxaonVGGw1Cl6K\ntpaKFrRHPGrwIKWWKHLQeqOiHqX1QrWKF0SxKhGrwVKvgVAL5eLtoIh4QzkqSCB5zh/vLFlCNpfd\nmZ2dyfP9fOaT3dnZmffNzj47815FVTHGGBNPeWEnwBhjTHAsyBtjTIxZkDfGmBizIG+MMTFmQd4Y\nY2LMgrwxxsSYL0FeRAaLyDIRWSEiYxt5vbuIPCcii0TkXyLySz+Oa4wxpmmSaTt5EckDVgAnAKuB\nN4FhqrosaZsJQEdVHSciPYDlQC9V3ZzRwY0xxjTJjyv5AcDbqrpSVTcBM4DTGmyzBujqPe4KfGEB\n3hhjgtfeh33sBnyY9HwVLvAn+yPwNxFZDXQBfurDcY0xxjQjWxWv44B/ququQCFwh4h0ydKxjTGm\nzfLjSv4jYI+k5729dcmOASYBqOq7IvI+cCBQ1XBnImKD6RhjTCupqjS23o8r+TeBfUVkTxHJB4YB\nsxtssxQ4EUBEegH7A+81kdi0lgkTJqT93lxc4pSfOOXF8pP7S1vLT1MyvpJX1VoRuQR4HvejcY+q\nLhWRUe5lnQZMBu4TkX8CAvyXqq7N9NjGGGOa5kdxDao6Bzigwbq7kx5/Dpzqx7GMMca0XKx6vBYV\nFYWdBF/FKT9xygtYfnKd5adexp2h/CYimmtpMsaYXCYiaIAVr8YYY3KUBXljjIkxC/LGGBNjFuSN\nMSbGLMgbY0yMWZA3xpgYsyBvjDExZkHeGGNizIK8McbEmAV5Y4yJMQvyxhgTYxbkjYmJiooKTjrp\nDE466QwqKirCTo7JEb4MUCYig4Ep1I8nf0OD18cAPwMU6AAcBPRQ1a8a2ZcNUGZMK1VUVDBkyHA2\nbHBfvU6dxjJr1nRKSkpCTpnJhqYGKMs4yItIHrACOAFYjZspapiqLkux/SnAZap6YorXLcgb00on\nnXQGc+eWAsO9NdMpLp7N88/PDDNZJkuCHoVyAPC2qq5U1U3ADOC0JrY/B3jYh+MaY4xphh8zQ+0G\nfJj0fBUu8G9DRDoBg4H/8OG4xhhPWdlI5s8fzoYN7nmnTmMpK5sebqJMTvBl+r9WOBWY31hZfLLy\n8vItj4uKimI3y4sxfispKWHWrOncfPM0AMrKrDw+ziorK6msrGzRtn6UyQ8EylV1sPf8KtwE3jc0\nsu0TwKOqOqOJ/VmZvDHGtELQFa/tgOW4itePgTeAc1R1aYPtdgDeA3qr6oYm9mdB3hhjWqGpIJ9x\ncY2q1orIJcDz1DehXCoio9zLOs3b9HSgoqkAb4wxxl82kbcxxkScTeRtjDFtlAV5Y4yJMQvyxhgT\nYxbkjTEmxizIG2NMjFmQN8aYGLMgb4wxMWZB3hhjYsyCvDHGxJgFeWOMiTEL8sbEhM3xahpjY9cY\nEwM2x2vbFuhQw36zIG9M69kcr21b4AOUichgEVkmIitEZGyKbYpEpFpEFovIS34c15gEK6owpnEZ\njycvInnA7bhJQ1YDb4rIU6q6LGmbHYA7gJNU9SMR6ZHpcY1JaFhUMX/+8DZXVGFzvJpU/Jr+b4Kq\nnuw932b6PxG5GNhFVX/Xgv1ZcY1pFSuqcCoqKpLmeB3Zpn7k2rpAZ4YCdgM+THq+ChjQYJv9gQ5e\nMU0X4DZVfcCHYxtjPCUlJRbYzTb8CPItPc7hwI+A7YFXReRVVX0nS8c3MTZo0OHMnXtp0ppLGTTo\nv0JLjzG5xI8g/xGwR9Lz3t66ZKuAz1X1O+A7EXkZOAxoNMiXl5dveVxUVERRUZEPyTRxNW/eQuBX\nwGxvza+YN28h48eHmChjAlRZWUllZWWLtvWjTL4dsBxX8fox8AZwjqouTdrmQGAqMBjYDngd+Kmq\n/ruR/VmZvGkVK5M3bV2gZfKqWisilwDP45pk3qOqS0VklHtZp6nqMhGpAN4CaoFpjQV4Y9JhLUuM\nSc06Q5lYsJYlpi2zHq/GGBNjgfd4NcYYk5ssyBtjTIxZkDfGmBizIG9MTNggbaYxFuTTZF8ok0sS\ng7TNnVvK3LmlDBky3M5LA1jrmrTYBA0m11iHsLYt6AHK2pybb57mBXj3hdqwwa2zIG+MyTVWXGMM\n0S9+KysbSadOY4HpwHSv1+/IsJNlcoAV16TBimtyTyY9XisqKigtHUZNzYEA5OcvY/bsGZH7PK3X\nb9tlPV4DYF+o3JHpj+7hhx9LdfVy4CZvzRgKCw9g4cL5wSTYGJ9ZkDexlmmlY/fu+7J27dVbvb+g\nYCJffGHTHZhosGENjGnCnnv2btE6Y6LIlyAvIoNFZJmIrBCRsY28PkhEvhKRhd7yWz+OawxkXuk4\nefI48vOv3PL+/PwrmTx5XECpNSa7/Jg0JA9YgZs0ZDXwJjBMVZclbTMIKFPV0hbsz4prTKtlWkdi\ndSwmygItkxeRgcAEVT3Ze34VbrKQG5K2GQSMUdVTW7A/C/LGGNMKQZfJ7wZ8mPR8lbeuoaNFZJGI\nPCMiB/twXGOMMc3IVo/XBcAeqrpeRE4GngT2z9KxjTGmzfIjyH8E7JH0vLe3bgtV/Sbp8XMicqeI\nFKjq2sZ2WF5evuVxUVERRUVFPiTTxJmVqZu2pLKyksrKyhZt60eZfDtgOa7i9WPgDeAcVV2atE0v\nVf3EezwAeFRV90qxPyuTN61iPZBNWxfoAGWqWisilwDP48r471HVpSIyyr2s04AzReRiYBOwAfhp\npsc1JsEGjDMmNV/K5FV1DnBAg3V3Jz2+A7jDj2MZY4xpORtq2EReWdlI5s8fzoYN7rnrDDU93EQZ\nkyNs7BoTC1bxatoyG6DMGGNizAYoM6YNiPrEJyYYdiVvTAxYM9K2za7kTey19avYrZuRumCfqKMw\nbZsFeRN5iavYuXNLmTu3lCFDhkc+0Lf1Hy3jH2tCaSIvbp2hGha9zJ8/vNmiF2tGalKxIG9Mjknn\nR6ukpIRZs6YnNSO18njjWJA3WRNUW3a7inVKSkossJttWOsakxVBt/6IU2coayljWss6Q5nQnXTS\nGcydW0qiCAKmU1w8m+efnxlmsnJWnH60ksU1X2ELdBRKY4z/4lj0UlFRQWnpMGpqDgRg3rxhzJ49\nI3b5zDXWhDIiot6krqxsJPn5VwLTgenk519JWdnIsJNlsmjcuInU1LQHLgIuoqamPePGTQw7WbHn\ny5W8iAwGplA/nvwNKbY7EngF+KmqPuHHsduCdJrU5aZNwF1Jj01bsnLlGuAm6ovsYOVKC/JBy/hK\nXkTygNuBEuAQ4BwROTDFdtcD0bsMDVkcejPefPM0amqmAK8Cr1JTMyVyeTCZ2XPP3i1aZ/zlx5X8\nAOBtVV0JICIzgNOAZQ22Gw08DhzpwzGNMREzefI4SkvPo6bGPc/Pv5LJkx8IN1FtgB9Bfjfgw6Tn\nq3CBfwsR2RU4XVWP9+Z4Na0Qh3bgcciDyUxJSQmzZz+Q1LrmgQgWOUZPtlrXTAHGJj1vtKlPQnl5\n+ZbHRUVFFBUVBZKoqIhDb8Y45MFkLo6thsJQWVlJZWVli7bNuJ28iAwEylV1sPf8KtwE3jckbfNe\n4iHQA/gWGKmqsxvZn7WTN1lXV1dHdXU1AIWFheTlWcMzEx1BDzX8JrCviOwpIvnAMGCr4K2qfbxl\nb1y5/K8bC/DGhKG6egn9+1/GD3+4kh/+cCX9+19GdfWSsJNljC986fHqNaH8A/VNKK8XkVG4K/pp\nDba9F/hrqiaUdiVvsqmuro7+/S9j0aJEC2CAOvr1u4wFC6bYFb2JBBvWwJgUFixYwA9/uJL164du\ntb5z55m8/PJe9O/fP6SUGdNyNjOUMcbkmGz1Yrcgb9q0wsJC9t+/EqhLWlvHfvvNo7CwMJxEmdjL\n5mxmFuTTFPWxZIyTl5fHWWeNokOHy+jYcSadO89k++3/k4EDR1l5vAlMNnuxx2oUymwNYxqfsWTM\nCy/AlCmH8OabU9i82TWh3HnnPzBgQB6nnw6DB4ecQGMypao5tbgktd6cOXO0U6deCvcr3K+dOvXS\nOXPmpLWv5hQXD1UoUxjqLWVaXDw0kGOZ4CxYoLrTTqrz5m372rx5qr16qf7v/2Y/XXE2Z84cLS4e\nqsXFQwP7fkaB3/HKi5uNx9RUL4S1pBvkXeC9X0G95f7AAm9h4TEKPbZ8QNBDCwuPCeRYJhjvvKO6\nyy6qM2em3ubGG1WPPFL1u++yl644y+aFWBT4+YPXVJCPVXFN9rSn4ZCpcF9Iack9uT77z6efumKY\nq6+GoUNTb1dWBq++CpdfDnfemb30xVU6E5THWbaGeIhNzdKgQYcDl5KYlAIu9db5r0eP7i1a1xa5\n2X/O29JqoLT0vJyqmP76a/jxj+Gcc+Dii5veVgTuvdeV2z9ggyWaqEp1iR/WQkbFNdkpJ7fbztQK\nCwdtU2xWWDgo7GSpqurGjaonnaR64YWqdXUtf99bb6n26OH+mvTZ9yY4NFFcE5sr+c8//wLoC8z0\nlr7eOv8lRlQsLp5NcfHsrLSsiUqTzXfeeb9F67Ktrg5GjICOHeF//sddpbdU375w661wxhmwbl1w\naYy7ML43JkbDGhx++LFUVy/HlZUDjKGw8AAWLpzva/rC0LDJZqdOY3P2C9K16658880mkj+HLl06\n8PXXq8NMFldeCa+8AnPnQufO6e3j17+GNWtg5szW/UgYE7Q2MaxBjx69cBU6s71luLcu+qI0/d9+\n+/UBanBzud4F1HjrgtXUnc4tt8Azz8DTT6cf4MFdza9aBTffnGFijcmi2AT5srKRdOr0IFAKlNKp\n04OUlY0MO1ltzuTJV5OfX39a5efnMXny1YEes6nK3r/8BaZMgYoKKCjI7DjbbQePPw433QTz5vmQ\ncGOyIVVhfWsWYDBuTtcVwNhGXi8F/glUA1XAj5rYV9qVD3HtaBG1Cqtsfw6pKnsrKlR79lRdvNjf\n482Zo7rrrqqrV/u7X2PSRRMVr37MDJXnBfcTgNW4SUSGqeqypG06q+p673FfYJaq7ptif5ppmuIo\n19ueh6l7931Zu3Y8cKi35i26dXuS/PyneOIJOO44/4957bWufP/FF6FDB//3b0xrBDqevDf93wRV\nPdl7vs30fw22Pxq4VVUHpng9EkHegm7uOPDAASxfvj2QaPh+L3l5v2XmzGM5/fRgjllXB6ecAgcf\n7IpvjAlTU0Hejx6vuwEfJj1fBQxoJBGnA5OBnYFIR0QboCx31NXVsWnTwcC91FcxnUlBwUWUlv6A\noKqd8vJcB6kjjoCBA+HMMwM5TKvYPLWmMVk7C1T1SVU9CDgViHT/wSi1dom76upq1qwpZetTOY/1\n60u2BLygdO8Ojz3mes4uXx7ooZpl89SaVPy4kv8I2CPpeW9vXaNUdb6ItBeR7qraaG+l8vLyLY+L\nioooKipqUUKsCKVtqq3d3KJ1QTjiCJg0yXWUev112H77rBx2K3V1dYwYcfdW89QuWnQ6I0bYPLVx\nVVlZSWVlZcs2TlUj29IFaAe8A+wJ5AOLgIMabLNP0uPDgXeb2F9atcvZbIEStdYucVZbW6tdupyi\nUJvUusatq62tzUoa6upUhw9XPffc1g2X4Jeqqirt3HlmUv7d0rnz41pVVZX9BJmsI8hhDVS1FrgE\neB5YAsxQ1aUiMkpEEg3VzxCRxSKyEPgD8NNMj9tQNotQSkpKGD9+NAUFEykomMj48aPtriEkeXl5\n7LNPN9zgdIkhLc7jkEM2Ze0KVsSNUrl4sRsyIVesXw+XXAK33w4rV4adGhMWX74FqjpHVQ9Q1f1U\n9Xpv3d2qOs17/HtV/b6qHq6qx6lqlR/HDUtFRQWTJk1l7dqrWbv2aiZNmprT48nEWU0NbNhwJ+3b\n7wAsBhbTseMLXHPN5VlNR+fObriD8nJXbJNNqeap7dt3HldcUUhVFRx5JBx6KIwf74ZPrq3NbhpN\niFJd4oe1EIHimmxOUGKaduWVqqecovrcc7nREe7JJ1V3313100+ze9xXXlms7duP1o4dH9fOnR/X\nww67RBcurO8Ftnmz6j/+oXrVVarf/77rJPbLX7pJU77+OrtpNf6jLcwMpZq9npZhDKcb1968mZgz\nR7V3b9XPPgs7JVsbO1a1uNgF1my54w7VU06p1aqqKq2qqmq2PuK991Rvu82ls2tX1ZIS1dtvt+kO\no6rNBPlsyfb0f1bRu62PP3bT9730Utgp2damTapFRapXX5294+21l+orr6T3/nXrVB97zFUe9+ih\n2rev6m9+o/rqq6pZqrs2GWoqyFvbqjRke8RLa5e/tbo6OO88uPBCaGHr2qxq3x5mzHCzSj37bPDH\nmzED9twTjj46vfd36+Y6c91/vxtK+a673P/4wgthl13cOPyzZsE332Se1qjMixArqaJ/WAsRuJLP\n9pW11QFs7frrVY891l3B5rK//92Vfb//fnDHqK1VPeQQV3QVhHffVf3DH1RPPFG1S5f6Yp2VK1u/\nL7sj3Vq2JvIOPahvk6AIBHnV7JaRR+3LEeT/5rXXXOBMJ8iE4ZZbVPv3V92wIZj9z56tWliYnfb5\niWKdX/zCFesceqjq+PEtL9axi5V6fn+n20yQz2bgra1teSWXH6JS8RrkD9KXX6ruvbfqE0/4srus\nqKtTPfNM1ZEjg9n30UerPvqo//tuzubNqvPnu0rmQw5xP7znn+8+m1StdVyQv1ehylvubbNB3u8f\nvDYR5LN5tbtw4WLt12+0du48Uzt3nqn9+o3eqrlaWxbU1VpdnerZZ6v++tc+JDLL1q1TPeAA1fvu\n83e/lZWq++2X3VY8qSQX63Ttqjp4sGvxk3zHdfvtd6vI8QqPKDyiIsfr7bffHV6iQ+R3C702EeSz\ndStYW1ur/fqN3qYbfb9+o7PWjT6XBfU5/PGPrtXH+vWNv57rdzqLF7sijkWL/NtnSYn7v+Sadevc\n3UVysc5vflOr++1n35sEv1votaEgP1Sht7cM9T3Ib9yo+swzVdqxo40TksqcOXM0P3+nLSdvfv5O\nGQfdJUtcsPj3v1MfMwp1Fn/5i+o++7hip0wtWKC6226q332X+b6ClCjWGT68SkXse5Pg4lWZF7Pc\n46CKa/wYhTInbLcdwBdAYpblO9luu+7Nvm/9evjkk62XTz/ddt0nn7gmZDvuCBs3BpiRWNiEm8Q7\n8Th9GzbAsGEweTIcdFDj22zdxNS95+abp+XceELnnuuGFBg+3DVJzGRoneuvhyuuSJz3uatdOzjm\nGOjY0Q3LvH791q9v2uS+b21NWdlI5s+vn5OiU6exlJVND+RYsQjydXV1PPfcOuBFkieOePbZ03n0\n0To++ywvZfDevBl69dp66dkT9t3XnZzJ67/3PYBC+vefzqJFpycdq47Nm+exZs2QEHKfW26+eRo1\nNVNIBNyamukZBdwxY9zsSxdc4GMiQ3TzzfDDH8KNN8LYsentY8UKeOkl1w4/Ktz4Ott+b7p1m8e5\n5w7hBz9w7fFPPRXy88NMaXaUlJQwa9b0pKHRA5x0KNUlflgLaRTXVFVVKTywza0gPKJFRVV60UWq\nEya4iqDHH3ftl1escGWH6TQ9q694rR8nZOrUxbrPPqpDh6p+8EHr9xkXfpbJP/GEa03z1VdNbxeV\n4pqEDz5Q3Xln1RdfTO/9F1zgzueoaex7s3DhYv32W9Xp01UHDXKtdK64whXRmZYj7mXyVVVV2qHD\nw9sE+Q4dHgqsvK+xJpQbNqiWl6t27+467GzcGMihc5pfAXflSveFf+21lh83lyteG5o71w3LsGpV\n69734Yeq3/ue6uefB5OuoDXX9Pjtt1XHjVPddVfVo45SnTbNXYyZpgUe5IHBwDJgBTC2kdfPBf7p\nLfOBvk3sq9UZrK2t1T59hm9Tc9+nz/BQau7fecc1ITvooNwcWyVomQbcTZtUjznG/VDG2XXXqf7g\nB6o1NS1/z+WXuyXuNm1S/etfVYcMUd1hBzeuzssvhzMpSxQ0FeTFvZ4+EcnzgvsJwGrgTWCYqi5L\n2mYgsFRV14nIYKBcVQem2J+mk6aBAwfz+us9gES5+BMcddQXvPbanFbvyw+qrnLtsstcGexNN8HO\nO4eSlKzLdELp3/0OXnsN5szJrHIy19XVQWkp7Lcf3Hpr89t/8YXb9q23oHfv4NOXKz791E2afs89\nrg5txAhXeb3LLmGnLHeICKoqjb3mx1doAPC2qq5U1U3ADOC05A1U9TVVXec9fQ3YzYfjbqVbt+1x\nvzN7ecuJ3rpwiMDQobB0qftC9u0LU6e6kzTOMp1QurIS/vQn+POf4x3gweXvgQfgqafg0Ue3fq2x\ngbymTnXnVFsK8OAaQpSVwZIlMH06vPuuq4wvLXX/u02ZNeCKv1SX+C1dgDOAaUnPfw7c1sT2Y5K3\nb+T1tG5Xsl351toiiSVLXMVSv35urI84yrSj2GefufHhKyqykNgcsmDB1v0AGjuXZ82aqz16qC5f\nHm5ac8XXX6vee68bqK5XLzd5zNKlYacqPARcXHMGUKKqI73nPwcGqOqljWx7PHA7cKyqfplifzph\nwoQtz4uKiihq4XiyFRUVSU2SRgbWJKmiooIhQ7Zu4zprVvNNoFThoYfgyivhJz9xbZ27N9+UPzIW\nLFjAccetZMOGoVut79x5Ji+/vBf9+/dP+V5Vd2V20EHw+98HndLcc889rnnlG2/A0KFnMHfu3sD7\n3qt7s//+h3Dooefz2GOp95Gt8z/XLF/umpP++c/Qp49rbnv22dClS9gpC05lZSWVlZVbnl9zzTUp\ni2v8uJIfCMxJen4VjVe+Hgq8DezTzP4C+7XzS6bNBL/8UnX0aNd65I9/jObEDLW1riXEo4+6CSZO\nPlm1e/cqhfR6NU6ZonrkkW2zRVLCiBGqw4ap9uvXsMv7rtqhwye6YEHq90atGWkQampUn3pKtbRU\ndccd3f/zH/9oG5W1BNm6BmgHvAPsCeQDi4CDGmyzhxfgB7Zgf2lnNFvN6PxqC75woWsmNnCganV1\nAAn1ycaNLn333ut+nI47TrVbNzeXaWmpa7M9a5bqe+/V6mGHbVtcc9hhTRfXLFzoiivefTf9NEat\nCWVj1q93xXm9e09pcH7N165dX2/yvTaM79ZWr1a94QbV/fdXPfBA1d//XnXNmrBTFZxAg7zbP4OB\n5V4gv8pbNwoY6T3+I27MgYVANfBGE/tKK5PZvJJx47PsqDBQYaDm5++Y9rFqa11b4J49VS+9tPmO\nP0Fbt841VbvtNjd0bL9+qp06qR58sOq556reeKPqCy+kbqfdsMNLly6X6OjRqUfo/Ppr90V8+OH0\n0xynq9h331Xt0OErhae1fkjetdq/f9NzCUYlyGf7x7iuznV+PP98d3V/+umqTz+d+xPOtFbgQd7P\nJd0gn82TPIhBuD77TPXCC10Hmb/8ZdtbzCC+HB9/rPrss6qTJrkxz/fdV7VzZ9UBA1RHjVK96y7X\nGenbb1u33+QOL2+/Xavdu6e+Sh8+3N1WZyIqAa6lRo16TOEidUPyPqpwgU6d2vSQvFH4oQs7jf/3\nf6549Oij3ffsqqtcz/c4aBNB3u/xmZsSZFB55RV39Xz88Vu3tujYsadCuUK5duzYs1VfjtpadzI/\n8ojrTTh4sGuRUFCgesIJqmVlqg8+6FoABXGFc8MNqiedtO0P1wMPuFvpb77JbP9xCvKZtFDK9SKr\nXPqclixx533Pnq748f77Mz8Pw9RUkI/FAGXOZlzrzIQxwAEhpSV9Rx8Nb74Jd97pOlFdcAG8+OId\nfPddMdAXgO++K2bChFsbbT2xcSP8+99QXe2WRYvgn/90g6sVFrrl4ouhXz/YfXfXnj9ol1/uWhU9\n+GAdBx/sOkl16VLI5Zfn8cILsH2G3RnqR/Rzz4Mc0S9o1dXVrFhRxNZdWPJYsWIQ1dXVTbZQKikp\naTMtajJ18MGug+J//zc884xr3XT55W5C8wsugAEDsvPdyIbYBPkePXrhGvrM9tYMp0eP95t4R/qC\nDirt28Oll8JZZ0FZWR1VVb1xLU8TX/zTWbLkNL76qo633spj0aL6oL5ihWtGVljoAvmQIe5vQYFv\nyWu1Dh2grGwJI0bcTYcORYiA6nRGjx7FYYcdkvH+szqin0lbLv4Y5+e778iQIfDRR64Z5s9/7oZw\nvuAC93innUJNYuZSXeKHtRCBitfE8bJxa+wGX3t0m2aJ8Jh27FilRx2letFFqnffrfr666lnTsqm\nhv+bVEUQzbW6aYviPvNYrhcpqbpixcpKN7PVDjuonnGGq7vKhWkWU6EtlMmrRuMEaq2qqirt3Hnb\ntucdOz6ur7+eezPqNPZjO3Xq1Ebz0FZnBWpOqiF5TfZ99ZVrgHDkkW4mrvHjM2vqm8zPeNVmgnw2\nZesHJWpXdo1Vrh111PEW5FupuSF5Tfa99ZbqZZe5Ph1FRa7hQLp3zn6XPFiQ91m2i4YWLlysffoM\n17y8BzUv70Ht0+cXOXtl11iQP/HEIZH6oYqqON7J5qLvvnM9vQcPdi3ULr5Y9c03W9ez1u+WRk0F\n+dhUvGZTtucU/fTTVaxe/Rx1dXsDsHr1HD799Fwg80pLvzVWuTZmzHR69uzNiBGXsWLFIAD226+S\ne++9qNXDEJvGNRxPaf784S0aT8m03nbbuUYRZ50FH34I99/vHnfr5iprf/azHBuTKlX0D2shAlfy\n2W7vm0vti1si1RXltddeq9269dZu3XrrtddeG2IK4ydq50jc1Naq/u1vrlf4Djuonn22G001VWWt\nFdfkuGwX18ThC3zdddcpdNvyP4Nuet1114WdrNiIyjnSFoqU1q5180kffrjqHnuo/u53qu+/v+12\nzz77rB511PF61FHH67PPPpvRMS3IByCbJ2vY3cH9UFCwzzZBqKBgn7CTFRtROEeCGA4k11VXu0H9\nundXPfFE1YcecnNB17egmqmdO8/Ufv1GZ1TPZkE+BqJ+BWRBPni5fo5kc+iRXLNhgxuEr7hYtaCg\nVnv08LcIvXMfAAAQeElEQVQhQlNB3ipeTVaceuqxTJ+ePI/MpZx66pCU25vWy/VhDVauXNWidXHU\nsSMMG+aWp5+uZujQItIZuiIdvjRtEJHBIrJMRFaIyNhGXj9ARF4Rke9E5Ao/jhm2xubgDPJYpaXD\nmDt3NXPnrqa0dFjgx/Tb6tVfA8XARG8p9tYZv2TznEzHnnvujBtTarq3jPHWtS277uqGU8iaVJf4\nLV1wPxSJSUM64CYNObDBNj2A/rhv9xXN7C+t25Vsynb5Z2HhMV6l5UBv6aaFhccEdrwgRKViMKqi\nUybvzzwMUVZbW6t9+gzfprimT5/hgRTX+HElPwB4W1VXquomYAZwWoMfks9VdQFuqMjI27qdvGub\nnBgcKwhvv/1ei9blsrKykXTqNJbEVZwbnGpk2MmKjWyfk+koKSlh9uwZFBfvSnHxrsyePSOni5eC\nkpeXx047rQF+Acz0lvPYaac1gfQb8aNMfjfgw6Tnq3CB3/iktnYz7qO6yFtzhbcuOmykSAO5X2+Q\nLd26bQ+cAOzlrTmRbt3+GsixrOI1DdkfMrU9cCOJHrbOuACPFwz7ggcnF4fxNanVf16uh3KnTuMC\n+7z8CPIf4SbqTujtrUtbeXn5lsdFRUUUFRVlsjvfZfuqtH37Di1a15ZVVFQkfR4j29yPid0pRUum\nn1dlZSWVlZUt2zhVYX1LF6Ad9RWv+biK14NSbDsBKGtmf2lVPMSZq3jtkdRbtEdOV7xmu712FCod\nW+u6667TgoJ9tKBgH+sZbJpF0J2hgMHAcuBt4Cpv3ShgpPe4F67c/itgLfAB0CXFvtLOaK53BklX\nlFolhBFw/Wi5k0vnjg0BYVor8CDv55JukI/j1VyyXApCTQmjqWSmx8y1c8d6B7cN2Zo0JDYVr9ke\n/tfkjkwrHe3cMdmWzaGhYzOY9+eff9GidX6ZNGkS3bvvS/fu+zJp0qTAjgP1J8TcuaXMnVvKkCHD\nc7JHIzTdHj6oHpklJSWMHz+agoKJFBRMZPz40ZEO0FdccT5wKfU9Qy/11jUt13u8mnpZ7deQ6hI/\nrIU0i2uyWTmZ7TLTqPUWbew2NMgikUz3nWvFNaqtr3jNxTyY1LI5M1ToQX2bBKUZ5N0/rUxhqLeU\nBRYIs11mGrUg35gg8xC3itd0ZPP8N5nL5qQhsSmT37ZzQXw6g1hHl+BFvaPW559/ArwM3OStGcPn\nnx8QYopMUxJFjLfcMhGAK64IsIgxVfQPayECTSjDaOIW9SvNOXPmaPv2O2xpBtq+/Q45U1wTB215\nrPYosun/IsA6q6TW2A9S0D+MUf8RzFRUivTa+ueUYGXyJrJSXaFY2+9gReFuJgppzBYL8iayUp28\nFuRbJ50r3ly/u4zK3UY2+D3fbVNBPjbt5OMuWm2g/wWc4S3/Atz0fw3bfrt1/ojW/6dp6fSLqKio\nYNKkqaxdezVr117NpElTI/9/iLu6uvXAb4Hfeo8Dkir6h7VgV/LbiNJtbqqy9yCb+EVpbJ+WSOeK\nNwpXyVE6j4Pm92xv2JV8tEVh1p+EefMWAreRSCvc5q0D6Ev9TDh9fTvmuHETqalJTKpyETU17Rk3\nbqJv+zf+SAyvW1w8m+Li2YF1448CN7NbPolzFvIDm+0tNu3kTW4Lsq3/ypVrcO3Dhyeti26QT+d/\nFZW+FFHvj+CX2lqh4TlbW/ubYA6W6hK/NQtuqOFlwApgbIptbsMNRbwI6NfEvtK+ZYmrKN3mNpXW\noJrPxbGNeDr/K2ueGB1du+6+zTnbtevuae+PIFvX4AY5S0wa0sEL4gc22OZk4Bnv8VHAa03sL+2M\nxlmUvsBhTBriZ0sFY4LmyuQLkuquCgIrkxf3evpEZCAwQVVP9p5f5R3whqRt7gJeUtVHvOdLgSJV\n/aSR/WmmaTJtT1uf/s9ES0VFBaWlw6ipORCA/PxlzJ49I+3zVkRQVWnsNT/K5HfDzfqUsAoY0Mw2\nH3nrtgnyxqTDynpNlJSUlDB79oykC5PywM5fq3g1xpgQZOvCxI8g/xGwR9Lz3t66htvs3sw2W5SX\nl295XFRURFFRUaZpNMaY2KisrKSysrJF2/pRJt8ON4n3CcDHwBvAOaq6NGmbHwP/oao/8crwp6jq\nwBT7szJ5Y4xphUDL5FW1VkQuAZ7HtbS5R1WXisgo97JOU9VnReTHIvIO8C3Q/FxmxhhjMpbxlbzf\n7EreGGNap6kreRvWwBhjYsyCvDHGxJgFeWOMiTEL8sYYE2MW5I0xJsYsyBtjTIxZkDfGmBizIG+M\nMTFmQd4YY2LMgrwxxsSYBXljjIkxC/LGGBNjFuSNMSbGLMgbY0yMZRTkReR7IvK8iCwXkQoR2SHF\ndveIyCci8lYmx2tOS2dKiYo45SdOeQHLT66z/NTL9Er+KuAFVT0AeBEYl2K7+4DAJzO0DzZ3xSkv\nYPnJdZafepkG+dOA6d7j6cDpjW2kqvOBLzM8ljHGmFbKNMj3VNVPAFR1DdAz8yQZY4zxS7PT/4nI\nXKBX8ipAgd8C96tqQdK2X6hq9xT72RN4WlUPbeZ4NvefMca0UtoTeatqcarXvMrUXqr6iYjsDHya\nQRoTx2s0ocYYY1ov0+Ka2cAvvcfDgaea2Fa8xRhjTJZkGuRvAIpFZDlwAnA9gIjsIiJ/TWwkIg8B\nrwD7i8gHInJ+hsc1xhjTAs2WyRtj4kFERGPyhY9TXoIWyR6vIhKbYh8R6er9jUWeRKRd2Gnwi4js\nFXYafNZsHVyEbBd2AvwkIieKSP8g9h2ZIC8ifUXkFBHZLg6/4CJyuIg8DlwAEOU8icjRInItgKrW\nhp2eTHmfzQvAtXH40RKRgSLyIHCNiOwX5TyJyBEiMhO4VUROiHJeAESkUESeA2YB+wZxjJwP8t7Q\nCXcCDwIXApO95piRJCLdRWQqcCdwKN7VVVRPVhEZjusI91sROdtbF8krRnHGAw8DM1T1F4kfraje\naYnI94GpwDO41m8jgV94r0UmT95ncz1wF67Bxwe4Rh89wkxXukSknYhMA/4I3A08BBzkveZrXM75\nIA+MATaq6mG4D3V/YEOoKcrMjbgL94G4H63zINJXwB8BPwIGAzcDqOrmKAWQBO9uqiMwX1X/BFuu\ntNpH+E7rGGCZqj6MCyjrgZ+JyF6qqlH5nLz/fyVQrKrTgfuBfGBdiMlKm/d9nwMcp6pPAk8Ax4tI\nR1Wt8/NYORnkRWRvEensPZ2kqpd7j08CdgZ+JCJ7hJO61vPy08l7eomqXuo9/gz4t4gcEFLSWk1E\nzhGRa0TkNG/Vi8AaVX0eWCkiE731kbiaT8pPYkiOG4DdROQWEXkTmAhMF5Ezw0tlyyXlp9Rb9Tqw\nu4jsq6rfAnW4wPgryO1iQhEZJCJHJZ6r6hxV/VJEjgNeBfYG7hKRc0JLZCs0kp8nVHWD90NbC6wA\nOqfcQZpyKsiLyF5e+dSfgAdE5ABVXe+9VoS7qr8H+AlwlYj0Di2xLdAgPw8m58dTB+yKu7rK6dtn\n73b5IuC/gP8Ffu81hd1eVTd7m40CLhXXQW5TSEltkUbyc4OI/EpVv8F9XoXAGFU9BXgZGCwi+4eW\n4GY0kp+bvKK0j4G/A/eJyJPAEcBjQHsR6RhWepsiIl1F5AlcOfUoEfmetz4Rr9YC56vqAGAecIKI\n7BdOapvXRH5EZEsroWW4ZugdE6/5dfzQg3yDzIwBXlfVE4CXgIlemSKqWqmqA1T1f4D/xtWu51zZ\nfAvyc0jiRVVdjvsFP40c552IRwPXq+p9wH/gTsrjEnlW1SW4AJLoL3FySMltVor8HC8ig1X1cWCI\nqs7zNn8B2An4JpzUNq+R/PwaKAb6qerVwEXAdFU9FXgHOFRVvwstwU2rwd0h/hxYDZwFkCjGUNUl\nqvqSt+3LwPeAr0NIZ0ulyo96RWZ5qroKd9d1ZuI1vw4eepCn/pcrcXv/bwBVvR0YAJwrIr28bRLB\nZCluMLQPs57a5jWXn5+JSPJAbo8BPUWkXa7dOovIL7xbzMT4REtxRRntVfUF4F/AscCWOypVvRAY\nLiJfAof5XYmUiRbk55/AIBHZXVW/SnprMW68ppwK8i38fI4Xkd5eYJzlbfcj4LVcunNMysuOqroR\ndzf1Aq4I44jEXVQjaT4Rd0e8nhzSivzkqWqdFy/eBr71Oy2hfQFFpFjc4Gc3isjZ3i3/WqBQRA4T\nkcOAxcAeuF9qcLeYpSLyN9xt6NpcOVFbmZ+CpLfuBuyeKxWv3h3kLiLyEm6oip8BU0WkG+5HtSf1\nTb0ewbUI6O69t493W/p3XIXS9X5XIrVWGvk5kPr8HC8iC4GTgatU9f+ynoEG0sjPAXgtUERkgPe+\nEuDBsC8qUuTlDhHpoarfqWoNruz9U+BscFe4IrKduHblC4AfA1fn8GfTXH7qvEC/GegK7OV7wlQ1\n6wvuJHwdV0xRiGuy9msvk1cDfwXm48oPHwL+w3vficAbwOlhpNvH/FyS9N69gZPDzoOXlnbe3/1x\nQQCgHa6553SgA65O5DxgB+/1+4Frvcc7AAPCzoeP+dkXKA07Hz7mpwcwKOx8NJOXqcATDbYd4uVx\nX1wxbQegL3BK2PnwIT8dcfVa4I1A4PeStRYQidt2dVd2RwELVPUp77UXcM3vHlPViSLSR1Xf8157\nBUiUHf5NXWVL6DLIzz/w8uNVurwPvB9GHhLEtdGfCLQTkWeBbri6AlS1VkRG4+6cDsb9SA3BFdFM\nxt0qv+5tuw73IxwqH/PzDq78OlQ+5udzXEVlaFqQl/8EVovIIPXqRFR1logchGty2AU4XlX/hSuO\nCpVf+QGWqhfp/ZaV4hpxrTBW4f4Z4D6cYSKyt/e8PfAucKv3/H3vfSOBEUA15E5zrwzzcwE5lB8R\nGQQswBWJvYPL0yZcWe4A2NKm9xrgBlX9GzANOFZEXvfeVxlC0htl+cnd/LQwL3VAubck3ncWMB7X\neOFQdXVyoYtMfrJwG9MFeBL4T2AhcKC3fgquWOMfuN6sfXG98np5r18GvAkcGfatWMzzcxxwXtLz\nO4GLcR3PFnjr8nD9Ex4D9vLW7QjsFnb6LT/RyU8r8/IosHfS+44LO/1RzU+2/hl7eH+vBx7xHrfD\nVUAe6z3fHVd+uJ33vHPYH2JbyA+u88V21Jcp/gyY7D1eBIz2Hh8BPBx2ei0/0c1PK/PyUNjpjUt+\nslJco6ofeA+nAHuLSIm6W8x16ib5BteOdz2w2XtPTjWJShan/KjqelXdqPWte4pxPXEBzgcOEjc3\nwMO4O5ecZvnJXa3MS3UYaWyNqOQnq13PVXWNiNwD/AaoUFcxMQBXPtUBGKE50pSwJeKUH68CSXHz\n+c72Vn+Ny9v3gfdV9aOQktdqlp/cFae8QO7nJ6uThkh9w//Hca0BNuI6CLytqu9mLSE+iVN+RERw\nAz79Cdf9egTwBe6WM/Q2yK1l+cldccoL5H5+sn0lXydu4LGeQBGu/e6cbKbBT3HKj6qqiBTiyhX3\nBu5T1XtCTlbaLD+5K055gdzPT9an/xORMbg2vGPVdfeNtDjlR9yAb+cBt0Q9L2D5yWVxygvkdn7C\nCPJ5GnJXdz/FLT/GmHixibyNMSbGcmaEQGOMMf6zIG+MMTFmQd4YY2LMgrwxxsSYBXljjIkxC/LG\nGBNjFuSNMSbG/h+xnkxtSnobQQAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xac2330ac>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['complexity'].values, linestyle='-')\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "\n",
+ "for a in radiohead_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['complexity'])\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "That isn't what I was expecting. I was expecting the complexity to go up over time, as bands became more adept at contrasting lyrics and melody. It could be because high complexity requires high valence, and bands tend not to become more \"poppy\" over time.\n",
+ "\n",
+ "Let's test that, by also showing the valence of tracks and albums over time."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 499,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "pipeline = [\n",
+ " {'$match': {'valence': {'$exists': True}}},\n",
+ " {'$group': {'_id': '$album.id', 'avg_valence': {'$avg': '$valence'}}}]\n",
+ "album_valences = collections.defaultdict(int, {a['_id']: a['avg_valence'] for a in tracks.aggregate(pipeline)})\n",
+ "albums_df['valence'] = albums_df['_id'].apply(lambda i: album_valences[i])\n",
+ "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n",
+ "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 500,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab65560c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(beatles_df['release_date'].values, beatles_df['complexity'].values, linestyle='-', color='blue')\n",
+ "ax.plot_date(beatles_df['release_date'].values, beatles_df['valence'].values, linestyle='-', color='orange')\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "\n",
+ "for a in beatles_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['complexity'], color='blue')\n",
+ " ax.scatter(a.release_date, t['valence'], color='orange')\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 501,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0xab134c4c>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "fig, ax = plt.subplots()\n",
+ "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['complexity'].values, linestyle='-', color='blue')\n",
+ "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['valence'].values, linestyle='-', color='orange')\n",
+ "\n",
+ "fig.autofmt_xdate()\n",
+ "\n",
+ "for a in radiohead_df.itertuples():\n",
+ " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n",
+ " ax.scatter(a.release_date, t['complexity'], color='blue')\n",
+ " ax.scatter(a.release_date, t['valence'], color='orange')\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "It definitely looks like the Beatles changed style over time, with the _White Ablum_ / _Yellow Submarine_ (around 1969) being a glitch in the trend. _Hail to the Thief_ and _Com Lag_ are unusual albums for Radiohead."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Conclusion<a name=\"conclusion\"></a>\n",
+ "A couple of things have come out of this. \n",
+ "\n",
+ "One is that the original analysis is very sensitive to how the sentiment of lyrics is determined. That means I'm not too confident about the reliability of results from either fitteR-happieR or this notebook.\n",
+ "\n",
+ "Another is that the Beatles are undoubtedly better than Radiohead. The happiest Beatles sonds are happier than anything Radiohead have done, and their saddest songs are about as sad as Radiohead. In just about every measure, the Beatles' range of music is larger, and covers, Radiohead's.\n",
+ "\n",
+ "QED.\n",
+ "\n",
+ "## Next steps\n",
+ "The obvious next step is to analyse a different group. What would Queen or ELO look like? Is Adele more depressing than Radiohead?\n",
+ "\n",
+ "Another approach would be to apply some machine learning / data mining techniques, perhaps to train a better sentiment analyser, or to cluster songs into groups. Which songs by different artists are most similar to each other?\n",
+ "\n",
+ "* [Top](#top)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.4.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}