{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### This notebok describes the development of the stream predictor.\n",
    "\n",
    "The stream predictor will use the data we collect on tracks, to predict how many streams a song will reach.  \n",
    "\n",
    "Streams are found for Sony tracks using the filtr dataset, which is a tool owned by Sony that accesses the private stream data used for billing between Spotify and Sony.  We do not access that data ourselves currently, and may never do as we are not destined to be a pure Sony only tool.  \n",
    "\n",
    "### What is it\n",
    "\n",
    "Given a track, the stream predictor will classify a track into one of a number of buckets, where those buckets indicate the success of the track.\n",
    "\n",
    "##### Playlists\n",
    "\n",
    "The first iteration of the stream predictor considered playlist appearance and position to predict where a track may land. For example: if a track appears on 'Playlist A' at number 5, and then 'Playlist B' at number 10 the next week, that track could expect to be a 'moderate hit' reaching 10M streams in 150 days.\n",
    "\n",
    "We realised that our current dataset does not hold enough data to make this determination possible. In fact, attempting to find any tracks in filtr that shared playlist position early, proved very difficult.  So we have parked the idea of using playlist position at this time.\n",
    "\n",
    "We have added more playlists, to give more coverage so that in future we may have an improved dataset.\n",
    "\n",
    "Regardless, this is not big data.  The number of tracks we have is not large.\n",
    "\n",
    "##### Popularity\n",
    "\n",
    "We have been tracking songs for over 100 days however, so it is now plausible to consider a simple model that looks at early popularity.  And what that can indicate for stream success.  This model will only be indicative, and is designed to being the conversation with the A&R teams, to understand if they might find it valuable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from tracker import db\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "db.setup_session()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Engine(postgres://bot:***@whitelist.cbn1zk7uet6r.eu-west-1.rds.amazonaws.com:5432/whitelist)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "db.Session.get_bind()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need to create a table of track, date, popularity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "%pylab inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "google_api_key = 'AIzaSyBF9IkHkhlBQ4QINkPZYNerNQ43FD1JKGI'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def dfquery(sql):\n",
    "    return pd.read_sql(sql, con=db.Session.get_bind())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "spotify_query = \"\"\"\n",
    "with\n",
    "\n",
    "all_popularity as (\n",
    "  select\n",
    "    track_spyid,\n",
    "    json_agg(\n",
    "     ('['||current_date::date - as_of::date||','||value||']')::json order by as_of) vals\n",
    "  from spy_track_popularity\n",
    "  group by 1\n",
    "),\n",
    "\n",
    "playlists as (\n",
    "  select track_spyid, json_agg(distinct playlist_spyid) lists\n",
    "  from spy_playlist_track\n",
    "  group by 1\n",
    ")\n",
    "\n",
    "select\n",
    "  spy_tracks.spyid,\n",
    "  spy_tracks.data->'name' tune,\n",
    "  spy_tracks.data->'artists'->0->'name' artist,\n",
    "  spy_tracks.data->'external_urls'->>'spotify' link,\n",
    "  all_popularity.vals,\n",
    "  current_date as_of,\n",
    "  spy_tracks.first_seen,\n",
    "  playlists.lists,\n",
    "  coalesce(spy_tracks.tags, '[]'::jsonb) as \"track_tags\",\n",
    "  coalesce(sa.tags, '[]'::jsonb) as \"artist_tags\",\n",
    "  coalesce(sa.data->'genres', '[]'::jsonb) as \"artist_genres\",\n",
    "  coalesce((sa.data->'followers'->>'total')::int, 0) as \"artist_followers\",\n",
    "  spy_tracks.album_data->'label' as label_name,\n",
    "  spy_tracks.album_data->'copyrights' as copyrights\n",
    "\n",
    "from spy_tracks\n",
    "join all_popularity on all_popularity.track_spyid = spy_tracks.spyid\n",
    "join playlists on playlists.track_spyid = spy_tracks.spyid\n",
    "left join spy_artists sa on sa.spyid = spy_tracks.primary_artist_spyid\n",
    "order by 6 desc\n",
    "limit 10000\n",
    "\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_sql(\"\"\"\n",
    "select \n",
    "* \n",
    "from spy_track_popularity \n",
    "where as_of < '2016-11-15'\n",
    "\n",
    "\"\"\", con=db.Session.get_bind())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>as_of</th>\n",
       "      <th>2016-10-16 18:00:00</th>\n",
       "      <th>2016-10-17 16:00:00</th>\n",
       "      <th>2016-10-18 18:00:00</th>\n",
       "      <th>2016-10-19 16:00:00</th>\n",
       "      <th>2016-10-19 17:00:00</th>\n",
       "      <th>2016-10-20 20:00:00</th>\n",
       "      <th>2016-10-22 10:00:00</th>\n",
       "      <th>2016-10-22 11:00:00</th>\n",
       "      <th>2016-10-25 07:00:00</th>\n",
       "      <th>2016-10-28 08:00:00</th>\n",
       "      <th>...</th>\n",
       "      <th>2016-11-05 08:00:00</th>\n",
       "      <th>2016-11-06 08:00:00</th>\n",
       "      <th>2016-11-07 08:00:00</th>\n",
       "      <th>2016-11-08 08:00:00</th>\n",
       "      <th>2016-11-09 08:00:00</th>\n",
       "      <th>2016-11-10 08:00:00</th>\n",
       "      <th>2016-11-11 08:00:00</th>\n",
       "      <th>2016-11-12 08:00:00</th>\n",
       "      <th>2016-11-13 08:00:00</th>\n",
       "      <th>2016-11-14 08:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>track_spyid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>001BVhvaZTf2icV88rU3DA</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>00BewNzph6p90JLNda4s7E</th>\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",
       "      <td>...</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>01vXW7N434QDiktrEYr8OL</th>\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",
       "      <td>...</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>02pxstqdIA3YAkGkv1Enxc</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03GwrTwkp5dC2DereUpPec</th>\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",
       "      <td>...</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03NSrtpqfPPnatooKm9II3</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03qjALA7Esk2oUdQafLksU</th>\n",
       "      <td>43.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>53.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>...</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>04AYgtKFrpldRXe5y0LNGQ</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>57.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>66.0</td>\n",
       "      <td>66.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>70.0</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>06BpFi5mGe9vsqs4yM0dBe</th>\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>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>...</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>073A1FsNWqMxmdcRMeU57t</th>\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",
       "      <td>...</td>\n",
       "      <td>59.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>073wmqmf5KfrQiNukyuqrq</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>08JEs7dvDNb1ZsCTno1iHt</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>62.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>66.0</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>09ReKDctK8PpRx9Kbh0Iry</th>\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",
       "      <td>...</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>09UQu1bR1GnhkRH1gAO6gw</th>\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>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>47.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>...</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>09Z3CrRmReQLt4XH3OFBc6</th>\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",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>13.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>09kSgjUwANILn4Hgy75cuE</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>38.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>...</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0AKejOKlGdiB53QpwAeenO</th>\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>77.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>79.0</td>\n",
       "      <td>81.0</td>\n",
       "      <td>...</td>\n",
       "      <td>84.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>85.0</td>\n",
       "      <td>86.0</td>\n",
       "      <td>86.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0AvaN1Y5bv0C0xrDeDZjDh</th>\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",
       "      <td>...</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0B8B8cVRFIG1yznoQe7c9s</th>\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",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0BJNiNpYtqjhEvLS8OEwLZ</th>\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",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>54.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0BxAfKAWEtt4rw4dYhL6pA</th>\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",
       "      <td>...</td>\n",
       "      <td>39.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>43.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0C3U6XcIrIuYP3J0ZNLCiY</th>\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",
       "      <td>...</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0C5SPGlJkVNcAEwTQ6jYDE</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0CAfugmbafMWjFiBy8bdEf</th>\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",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>26.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0CDiPsPxx1Xtg5t3d3yoUW</th>\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",
       "      <td>...</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0CgErl5Gg9GzmlEjEhukGU</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0D9fggHpYQ7HvgGKqtIKDf</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0DPXH5sPDVwjsqfgvmi1yt</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0F6qnU0F2IXTPjWAx1SKYQ</th>\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",
       "      <td>...</td>\n",
       "      <td>43.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>45.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0FwXYnBXPFaHyeG7EOjVt5</th>\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",
       "      <td>...</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7nHWAqCYnCFSZ151t1VuC8</th>\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>40.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>40.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>...</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7o4WfzYXQA1zgguOVdsF6i</th>\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>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7omcWmDwbwr6BahKoFyVTe</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>14.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>35.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7pZsJo9EVCNQgoIAZDuBNM</th>\n",
       "      <td>44.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>...</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7pe2OKY04MW1Cunyqrai83</th>\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",
       "      <td>...</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7qDQhmvXb27hqKQxZ49GYr</th>\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",
       "      <td>...</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7qdgz117gc5StS0u2ViinE</th>\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",
       "      <td>...</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>53.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>54.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7qlshS5hOQMXd16RSU5TAA</th>\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",
       "      <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>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7qnzCgRJbl5DlQDqzsPkrG</th>\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",
       "      <td>...</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>34.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7qvMtWolAWBqEpAZMiS6JG</th>\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",
       "      <td>...</td>\n",
       "      <td>37.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7rdSgFebCeIdwpfqbUUOjy</th>\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",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7re2V782TU8hOtfUt95728</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>38.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>...</td>\n",
       "      <td>38.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>36.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7sXg1VmdnM1Ho3aJPya5SC</th>\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",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>26.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>27.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7szPJUFmkHGAFpg9WnahxV</th>\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>42.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>...</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>46.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7t3q4ghl6rphMXn0oOJhUr</th>\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>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>50.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>...</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>63.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7t6GSh0B5sI38sgwpTjrT8</th>\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",
       "      <td>...</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7tMbZ0RGW0jFsBw7ipEPEV</th>\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",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>46.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7tW9pGcZoNgnLKCyQX3Jva</th>\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",
       "      <td>...</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7uPZsTJJVdVrf9A9XTxNFP</th>\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",
       "      <td>...</td>\n",
       "      <td>50.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7uRBKpxTYDLRTJdYGjRgTr</th>\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",
       "      <td>...</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7vL1M0BHhpjbaKrwRimJ4L</th>\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>0.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>...</td>\n",
       "      <td>73.0</td>\n",
       "      <td>74.0</td>\n",
       "      <td>74.0</td>\n",
       "      <td>74.0</td>\n",
       "      <td>74.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>75.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7wDVkMbtB7JFKiC7W9E69T</th>\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",
       "      <td>...</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>40.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7wmtlHacG4UFPiihCrXW7K</th>\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>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>45.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>...</td>\n",
       "      <td>56.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>58.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7x2E5ZVHE87KYiPhXG9ga4</th>\n",
       "      <td>41.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>41.0</td>\n",
       "      <td>...</td>\n",
       "      <td>39.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7xKqy0J23zlKjwp9CR5Kpc</th>\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",
       "      <td>...</td>\n",
       "      <td>49.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7xQLWdYlaZXQwegmt4bYNQ</th>\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",
       "      <td>...</td>\n",
       "      <td>13.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>51.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7xYpTcnzikKWSVRJI6GAlu</th>\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>45.0</td>\n",
       "      <td>...</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>57.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7yopguXbVXyO8RtrVau2sy</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>14.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>39.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>...</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "      <td>37.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7zqhUgWpWzwYnT9eewPJEK</th>\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",
       "      <td>...</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>55.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7zv8Fey2BaVJe0PomkkA16</th>\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>52.0</td>\n",
       "      <td>59.0</td>\n",
       "      <td>...</td>\n",
       "      <td>64.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>66.0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>67.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>979 rows × 28 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "as_of                   2016-10-16 18:00:00  2016-10-17 16:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                  NaN                  NaN   \n",
       "01vXW7N434QDiktrEYr8OL                  NaN                  NaN   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                  NaN                  NaN   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 43.0                 44.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                  NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  NaN                  NaN   \n",
       "073A1FsNWqMxmdcRMeU57t                  NaN                  NaN   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                  NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry                  NaN                  NaN   \n",
       "09UQu1bR1GnhkRH1gAO6gw                  NaN                  NaN   \n",
       "09Z3CrRmReQLt4XH3OFBc6                  NaN                  NaN   \n",
       "09kSgjUwANILn4Hgy75cuE                  NaN                  NaN   \n",
       "0AKejOKlGdiB53QpwAeenO                  NaN                  NaN   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                  NaN                  NaN   \n",
       "0B8B8cVRFIG1yznoQe7c9s                  NaN                  NaN   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                  NaN                  NaN   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                  NaN                  NaN   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                  NaN                  NaN   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  NaN                  NaN   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                  NaN                  NaN   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                  NaN                  NaN   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                  NaN                  NaN   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                  NaN                  NaN   \n",
       "7o4WfzYXQA1zgguOVdsF6i                  NaN                  NaN   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 44.0                 45.0   \n",
       "7pe2OKY04MW1Cunyqrai83                  NaN                  NaN   \n",
       "7qDQhmvXb27hqKQxZ49GYr                  NaN                  NaN   \n",
       "7qdgz117gc5StS0u2ViinE                  NaN                  NaN   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                  NaN                  NaN   \n",
       "7qvMtWolAWBqEpAZMiS6JG                  NaN                  NaN   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  NaN                  NaN   \n",
       "7re2V782TU8hOtfUt95728                  NaN                  NaN   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                  NaN                  NaN   \n",
       "7t3q4ghl6rphMXn0oOJhUr                  NaN                  NaN   \n",
       "7t6GSh0B5sI38sgwpTjrT8                  NaN                  NaN   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                  NaN                  NaN   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                  NaN                  NaN   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                  NaN                  NaN   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                  NaN                  NaN   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                  NaN                  NaN   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  NaN                  NaN   \n",
       "7wmtlHacG4UFPiihCrXW7K                  NaN                  NaN   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 41.0                 41.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                  NaN                  NaN   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                  NaN                  NaN   \n",
       "7xYpTcnzikKWSVRJI6GAlu                  NaN                  NaN   \n",
       "7yopguXbVXyO8RtrVau2sy                  NaN                  NaN   \n",
       "7zqhUgWpWzwYnT9eewPJEK                  NaN                  NaN   \n",
       "7zv8Fey2BaVJe0PomkkA16                  NaN                  NaN   \n",
       "\n",
       "as_of                   2016-10-18 18:00:00  2016-10-19 16:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                  NaN                  NaN   \n",
       "01vXW7N434QDiktrEYr8OL                  NaN                  NaN   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                  NaN                  NaN   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 44.0                  NaN   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                  NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  NaN                  NaN   \n",
       "073A1FsNWqMxmdcRMeU57t                  NaN                  NaN   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                  NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry                  NaN                  NaN   \n",
       "09UQu1bR1GnhkRH1gAO6gw                  NaN                  NaN   \n",
       "09Z3CrRmReQLt4XH3OFBc6                  NaN                  NaN   \n",
       "09kSgjUwANILn4Hgy75cuE                  NaN                 10.0   \n",
       "0AKejOKlGdiB53QpwAeenO                  NaN                  NaN   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                  NaN                  NaN   \n",
       "0B8B8cVRFIG1yznoQe7c9s                  NaN                  NaN   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                  NaN                  NaN   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                  NaN                  NaN   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                  NaN                  NaN   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  NaN                  NaN   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                  NaN                  NaN   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                  NaN                  NaN   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                  NaN                  NaN   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                  NaN                  NaN   \n",
       "7o4WfzYXQA1zgguOVdsF6i                  NaN                  NaN   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 45.0                  NaN   \n",
       "7pe2OKY04MW1Cunyqrai83                  NaN                  NaN   \n",
       "7qDQhmvXb27hqKQxZ49GYr                  NaN                  NaN   \n",
       "7qdgz117gc5StS0u2ViinE                  NaN                  NaN   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                  NaN                  NaN   \n",
       "7qvMtWolAWBqEpAZMiS6JG                  NaN                  NaN   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  NaN                  NaN   \n",
       "7re2V782TU8hOtfUt95728                  NaN                  5.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                  NaN                  NaN   \n",
       "7t3q4ghl6rphMXn0oOJhUr                  NaN                  NaN   \n",
       "7t6GSh0B5sI38sgwpTjrT8                  NaN                  NaN   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                  NaN                  NaN   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                  NaN                  NaN   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                  NaN                  NaN   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                  NaN                  NaN   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                  NaN                  NaN   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  NaN                  NaN   \n",
       "7wmtlHacG4UFPiihCrXW7K                  NaN                  NaN   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 42.0                  NaN   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                  NaN                  NaN   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                  NaN                  NaN   \n",
       "7xYpTcnzikKWSVRJI6GAlu                  NaN                  NaN   \n",
       "7yopguXbVXyO8RtrVau2sy                  NaN                 14.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                  NaN                  NaN   \n",
       "7zv8Fey2BaVJe0PomkkA16                  NaN                  NaN   \n",
       "\n",
       "as_of                   2016-10-19 17:00:00  2016-10-20 20:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                  NaN                  NaN   \n",
       "01vXW7N434QDiktrEYr8OL                  NaN                  NaN   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                  NaN                  NaN   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 48.0                 48.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                  NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  NaN                  NaN   \n",
       "073A1FsNWqMxmdcRMeU57t                  NaN                  NaN   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                  NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry                  NaN                  NaN   \n",
       "09UQu1bR1GnhkRH1gAO6gw                  NaN                  NaN   \n",
       "09Z3CrRmReQLt4XH3OFBc6                  NaN                  NaN   \n",
       "09kSgjUwANILn4Hgy75cuE                 10.0                 10.0   \n",
       "0AKejOKlGdiB53QpwAeenO                  NaN                  NaN   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                  NaN                  NaN   \n",
       "0B8B8cVRFIG1yznoQe7c9s                  NaN                  NaN   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                  NaN                  NaN   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                  NaN                  NaN   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                  NaN                  NaN   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  NaN                  NaN   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                  NaN                  NaN   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                  NaN                  NaN   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                  NaN                  NaN   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                  NaN                  NaN   \n",
       "7o4WfzYXQA1zgguOVdsF6i                  NaN                  NaN   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 46.0                 46.0   \n",
       "7pe2OKY04MW1Cunyqrai83                  NaN                  NaN   \n",
       "7qDQhmvXb27hqKQxZ49GYr                  NaN                  NaN   \n",
       "7qdgz117gc5StS0u2ViinE                  NaN                  NaN   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                  NaN                  NaN   \n",
       "7qvMtWolAWBqEpAZMiS6JG                  NaN                  NaN   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  NaN                  NaN   \n",
       "7re2V782TU8hOtfUt95728                  5.0                  5.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                  NaN                  NaN   \n",
       "7t3q4ghl6rphMXn0oOJhUr                  NaN                  NaN   \n",
       "7t6GSh0B5sI38sgwpTjrT8                  NaN                  NaN   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                  NaN                  NaN   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                  NaN                  NaN   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                  NaN                  NaN   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                  NaN                  NaN   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                  NaN                  NaN   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  NaN                  NaN   \n",
       "7wmtlHacG4UFPiihCrXW7K                  NaN                  NaN   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 42.0                 42.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                  NaN                  NaN   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                  NaN                  NaN   \n",
       "7xYpTcnzikKWSVRJI6GAlu                  NaN                  NaN   \n",
       "7yopguXbVXyO8RtrVau2sy                 14.0                 14.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                  NaN                  NaN   \n",
       "7zv8Fey2BaVJe0PomkkA16                  NaN                  NaN   \n",
       "\n",
       "as_of                   2016-10-22 10:00:00  2016-10-22 11:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                  NaN                  NaN   \n",
       "01vXW7N434QDiktrEYr8OL                  NaN                  NaN   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                  NaN                  NaN   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 51.0                  NaN   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                  NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  0.0                  NaN   \n",
       "073A1FsNWqMxmdcRMeU57t                  NaN                  NaN   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                  NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry                  NaN                  NaN   \n",
       "09UQu1bR1GnhkRH1gAO6gw                  0.0                  NaN   \n",
       "09Z3CrRmReQLt4XH3OFBc6                  NaN                  NaN   \n",
       "09kSgjUwANILn4Hgy75cuE                 36.0                  NaN   \n",
       "0AKejOKlGdiB53QpwAeenO                 77.0                  NaN   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                  NaN                  NaN   \n",
       "0B8B8cVRFIG1yznoQe7c9s                  NaN                  NaN   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                  NaN                  NaN   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                  NaN                  NaN   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                  NaN                  NaN   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  NaN                  NaN   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                  NaN                  NaN   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                  NaN                  NaN   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                  NaN                  NaN   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 40.0                  NaN   \n",
       "7o4WfzYXQA1zgguOVdsF6i                  NaN                  NaN   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                  NaN                 48.0   \n",
       "7pe2OKY04MW1Cunyqrai83                  NaN                  NaN   \n",
       "7qDQhmvXb27hqKQxZ49GYr                  NaN                  NaN   \n",
       "7qdgz117gc5StS0u2ViinE                  NaN                  NaN   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                  NaN                  NaN   \n",
       "7qvMtWolAWBqEpAZMiS6JG                  NaN                  NaN   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  NaN                  NaN   \n",
       "7re2V782TU8hOtfUt95728                 36.0                  NaN   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                  NaN                  NaN   \n",
       "7t3q4ghl6rphMXn0oOJhUr                  0.0                  NaN   \n",
       "7t6GSh0B5sI38sgwpTjrT8                  NaN                  NaN   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                  NaN                  NaN   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                  NaN                  NaN   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                  NaN                  NaN   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                  NaN                  NaN   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                  NaN                  NaN   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  NaN                  NaN   \n",
       "7wmtlHacG4UFPiihCrXW7K                  0.0                  NaN   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                  NaN                 42.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                  NaN                  NaN   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                  NaN                  NaN   \n",
       "7xYpTcnzikKWSVRJI6GAlu                  NaN                  NaN   \n",
       "7yopguXbVXyO8RtrVau2sy                 37.0                  NaN   \n",
       "7zqhUgWpWzwYnT9eewPJEK                  NaN                  NaN   \n",
       "7zv8Fey2BaVJe0PomkkA16                  NaN                  NaN   \n",
       "\n",
       "as_of                   2016-10-25 07:00:00  2016-10-28 08:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                  NaN                  NaN   \n",
       "01vXW7N434QDiktrEYr8OL                  NaN                  NaN   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                  NaN                  NaN   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 53.0                 54.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                  NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  2.0                  3.0   \n",
       "073A1FsNWqMxmdcRMeU57t                  NaN                  NaN   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                  NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry                  NaN                  NaN   \n",
       "09UQu1bR1GnhkRH1gAO6gw                 47.0                 53.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6                  NaN                  NaN   \n",
       "09kSgjUwANILn4Hgy75cuE                 38.0                 39.0   \n",
       "0AKejOKlGdiB53QpwAeenO                 79.0                 81.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                  NaN                  NaN   \n",
       "0B8B8cVRFIG1yznoQe7c9s                  NaN                  NaN   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                  NaN                  NaN   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                  NaN                  NaN   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                  NaN                  NaN   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  NaN                  NaN   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                  NaN                  NaN   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                  NaN                  NaN   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                  NaN                  NaN   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 40.0                 41.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i                  NaN                  0.0   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 48.0                 49.0   \n",
       "7pe2OKY04MW1Cunyqrai83                  NaN                  NaN   \n",
       "7qDQhmvXb27hqKQxZ49GYr                  NaN                  NaN   \n",
       "7qdgz117gc5StS0u2ViinE                  NaN                  NaN   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                  NaN                  NaN   \n",
       "7qvMtWolAWBqEpAZMiS6JG                  NaN                  NaN   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  NaN                  NaN   \n",
       "7re2V782TU8hOtfUt95728                 38.0                 39.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                 42.0                 47.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr                 50.0                 59.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8                  NaN                  NaN   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                  NaN                  NaN   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                  NaN                  NaN   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                  NaN                  NaN   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                  NaN                  NaN   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                  0.0                 58.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  NaN                  NaN   \n",
       "7wmtlHacG4UFPiihCrXW7K                 45.0                 49.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 42.0                 41.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                  NaN                  NaN   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                  NaN                  NaN   \n",
       "7xYpTcnzikKWSVRJI6GAlu                  NaN                 45.0   \n",
       "7yopguXbVXyO8RtrVau2sy                 39.0                 40.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                  NaN                  NaN   \n",
       "7zv8Fey2BaVJe0PomkkA16                 52.0                 59.0   \n",
       "\n",
       "as_of                          ...           2016-11-05 08:00:00  \\\n",
       "track_spyid                    ...                                 \n",
       "001BVhvaZTf2icV88rU3DA         ...                           NaN   \n",
       "00BewNzph6p90JLNda4s7E         ...                          48.0   \n",
       "01vXW7N434QDiktrEYr8OL         ...                          26.0   \n",
       "02pxstqdIA3YAkGkv1Enxc         ...                           NaN   \n",
       "03GwrTwkp5dC2DereUpPec         ...                          48.0   \n",
       "03NSrtpqfPPnatooKm9II3         ...                           NaN   \n",
       "03qjALA7Esk2oUdQafLksU         ...                          57.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ         ...                           NaN   \n",
       "06BpFi5mGe9vsqs4yM0dBe         ...                           5.0   \n",
       "073A1FsNWqMxmdcRMeU57t         ...                          59.0   \n",
       "073wmqmf5KfrQiNukyuqrq         ...                           NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt         ...                           NaN   \n",
       "09ReKDctK8PpRx9Kbh0Iry         ...                          47.0   \n",
       "09UQu1bR1GnhkRH1gAO6gw         ...                          57.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6         ...                          12.0   \n",
       "09kSgjUwANILn4Hgy75cuE         ...                          37.0   \n",
       "0AKejOKlGdiB53QpwAeenO         ...                          84.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh         ...                          48.0   \n",
       "0B8B8cVRFIG1yznoQe7c9s         ...                           0.0   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ         ...                           0.0   \n",
       "0BxAfKAWEtt4rw4dYhL6pA         ...                          39.0   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY         ...                          48.0   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE         ...                           NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf         ...                           0.0   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW         ...                          28.0   \n",
       "0CgErl5Gg9GzmlEjEhukGU         ...                           NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf         ...                           NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt         ...                           NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ         ...                          43.0   \n",
       "0FwXYnBXPFaHyeG7EOjVt5         ...                          40.0   \n",
       "...                            ...                           ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8         ...                          39.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i         ...                          48.0   \n",
       "7omcWmDwbwr6BahKoFyVTe         ...                           NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM         ...                          50.0   \n",
       "7pe2OKY04MW1Cunyqrai83         ...                          59.0   \n",
       "7qDQhmvXb27hqKQxZ49GYr         ...                          53.0   \n",
       "7qdgz117gc5StS0u2ViinE         ...                          53.0   \n",
       "7qlshS5hOQMXd16RSU5TAA         ...                           NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG         ...                          33.0   \n",
       "7qvMtWolAWBqEpAZMiS6JG         ...                          37.0   \n",
       "7rdSgFebCeIdwpfqbUUOjy         ...                           0.0   \n",
       "7re2V782TU8hOtfUt95728         ...                          38.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC         ...                           NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV         ...                          47.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr         ...                          62.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8         ...                          57.0   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV         ...                           0.0   \n",
       "7tW9pGcZoNgnLKCyQX3Jva         ...                          58.0   \n",
       "7uPZsTJJVdVrf9A9XTxNFP         ...                          50.0   \n",
       "7uRBKpxTYDLRTJdYGjRgTr         ...                          39.0   \n",
       "7vL1M0BHhpjbaKrwRimJ4L         ...                          73.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T         ...                           7.0   \n",
       "7wmtlHacG4UFPiihCrXW7K         ...                          56.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4         ...                          39.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc         ...                          49.0   \n",
       "7xQLWdYlaZXQwegmt4bYNQ         ...                          13.0   \n",
       "7xYpTcnzikKWSVRJI6GAlu         ...                          56.0   \n",
       "7yopguXbVXyO8RtrVau2sy         ...                          38.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK         ...                          56.0   \n",
       "7zv8Fey2BaVJe0PomkkA16         ...                          64.0   \n",
       "\n",
       "as_of                   2016-11-06 08:00:00  2016-11-07 08:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  NaN   \n",
       "00BewNzph6p90JLNda4s7E                 48.0                 48.0   \n",
       "01vXW7N434QDiktrEYr8OL                 26.0                 26.0   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                 49.0                 49.0   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 57.0                 57.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                  NaN                 57.0   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  4.0                  4.0   \n",
       "073A1FsNWqMxmdcRMeU57t                 60.0                 60.0   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                  NaN                 62.0   \n",
       "09ReKDctK8PpRx9Kbh0Iry                 47.0                 47.0   \n",
       "09UQu1bR1GnhkRH1gAO6gw                 57.0                 57.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6                 12.0                 12.0   \n",
       "09kSgjUwANILn4Hgy75cuE                 37.0                 37.0   \n",
       "0AKejOKlGdiB53QpwAeenO                 85.0                 85.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                 48.0                 48.0   \n",
       "0B8B8cVRFIG1yznoQe7c9s                 30.0                 30.0   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                 13.0                 13.0   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                 41.0                 41.0   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                 48.0                 48.0   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                  0.0                  0.0   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                 28.0                 28.0   \n",
       "0CgErl5Gg9GzmlEjEhukGU                  NaN                  NaN   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                 44.0                 44.0   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                 40.0                 40.0   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 39.0                 39.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i                 48.0                 48.0   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                  NaN   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 50.0                 50.0   \n",
       "7pe2OKY04MW1Cunyqrai83                 59.0                 59.0   \n",
       "7qDQhmvXb27hqKQxZ49GYr                 53.0                 53.0   \n",
       "7qdgz117gc5StS0u2ViinE                 53.0                 53.0   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                 33.0                 33.0   \n",
       "7qvMtWolAWBqEpAZMiS6JG                 38.0                 38.0   \n",
       "7rdSgFebCeIdwpfqbUUOjy                  0.0                  0.0   \n",
       "7re2V782TU8hOtfUt95728                 37.0                 37.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                  NaN   \n",
       "7szPJUFmkHGAFpg9WnahxV                 47.0                 47.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr                 62.0                 62.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8                 57.0                 57.0   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                 22.0                 22.0   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                 58.0                 58.0   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                 49.0                 49.0   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                 39.0                 39.0   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                 74.0                 74.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T                  8.0                  8.0   \n",
       "7wmtlHacG4UFPiihCrXW7K                 57.0                 57.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 38.0                 38.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                 50.0                 50.0   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                 18.0                 18.0   \n",
       "7xYpTcnzikKWSVRJI6GAlu                 56.0                 56.0   \n",
       "7yopguXbVXyO8RtrVau2sy                 38.0                 38.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                 56.0                 56.0   \n",
       "7zv8Fey2BaVJe0PomkkA16                 65.0                 65.0   \n",
       "\n",
       "as_of                   2016-11-08 08:00:00  2016-11-09 08:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  NaN                  8.0   \n",
       "00BewNzph6p90JLNda4s7E                 48.0                 48.0   \n",
       "01vXW7N434QDiktrEYr8OL                 26.0                 26.0   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  NaN   \n",
       "03GwrTwkp5dC2DereUpPec                 50.0                 50.0   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 58.0                 58.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                 65.0                 65.0   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  4.0                  4.0   \n",
       "073A1FsNWqMxmdcRMeU57t                 61.0                 61.0   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  NaN   \n",
       "08JEs7dvDNb1ZsCTno1iHt                 64.0                 64.0   \n",
       "09ReKDctK8PpRx9Kbh0Iry                 46.0                 46.0   \n",
       "09UQu1bR1GnhkRH1gAO6gw                 58.0                 58.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6                 12.0                 12.0   \n",
       "09kSgjUwANILn4Hgy75cuE                 36.0                 36.0   \n",
       "0AKejOKlGdiB53QpwAeenO                 85.0                 85.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                 48.0                 48.0   \n",
       "0B8B8cVRFIG1yznoQe7c9s                 65.0                 65.0   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                 50.0                 50.0   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                 42.0                 42.0   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                 49.0                 49.0   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                 16.0                 16.0   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                 28.0                 28.0   \n",
       "0CgErl5Gg9GzmlEjEhukGU                 40.0                 40.0   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  NaN   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                 44.0                 44.0   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                 39.0                 39.0   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 39.0                 39.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i                 49.0                 49.0   \n",
       "7omcWmDwbwr6BahKoFyVTe                  NaN                 14.0   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 50.0                 50.0   \n",
       "7pe2OKY04MW1Cunyqrai83                 59.0                 59.0   \n",
       "7qDQhmvXb27hqKQxZ49GYr                 52.0                 52.0   \n",
       "7qdgz117gc5StS0u2ViinE                 53.0                 53.0   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  NaN   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                 33.0                 33.0   \n",
       "7qvMtWolAWBqEpAZMiS6JG                 39.0                 39.0   \n",
       "7rdSgFebCeIdwpfqbUUOjy                 39.0                 39.0   \n",
       "7re2V782TU8hOtfUt95728                 37.0                 37.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                  NaN                 26.0   \n",
       "7szPJUFmkHGAFpg9WnahxV                 47.0                 47.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr                 62.0                 62.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8                 57.0                 57.0   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                 43.0                 43.0   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                 58.0                 58.0   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                 49.0                 49.0   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                 39.0                 39.0   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                 74.0                 74.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T                 33.0                 33.0   \n",
       "7wmtlHacG4UFPiihCrXW7K                 58.0                 58.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 38.0                 38.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                 51.0                 51.0   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                 47.0                 47.0   \n",
       "7xYpTcnzikKWSVRJI6GAlu                 56.0                 56.0   \n",
       "7yopguXbVXyO8RtrVau2sy                 37.0                 37.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                 56.0                 56.0   \n",
       "7zv8Fey2BaVJe0PomkkA16                 65.0                 65.0   \n",
       "\n",
       "as_of                   2016-11-10 08:00:00  2016-11-11 08:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  8.0                  8.0   \n",
       "00BewNzph6p90JLNda4s7E                 48.0                 48.0   \n",
       "01vXW7N434QDiktrEYr8OL                 26.0                 26.0   \n",
       "02pxstqdIA3YAkGkv1Enxc                  NaN                  0.0   \n",
       "03GwrTwkp5dC2DereUpPec                 51.0                 51.0   \n",
       "03NSrtpqfPPnatooKm9II3                  NaN                  NaN   \n",
       "03qjALA7Esk2oUdQafLksU                 58.0                 58.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                 66.0                 66.0   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  4.0                  4.0   \n",
       "073A1FsNWqMxmdcRMeU57t                 61.0                 61.0   \n",
       "073wmqmf5KfrQiNukyuqrq                  NaN                  0.0   \n",
       "08JEs7dvDNb1ZsCTno1iHt                 65.0                 65.0   \n",
       "09ReKDctK8PpRx9Kbh0Iry                 46.0                 46.0   \n",
       "09UQu1bR1GnhkRH1gAO6gw                 58.0                 58.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6                 12.0                 12.0   \n",
       "09kSgjUwANILn4Hgy75cuE                 36.0                 36.0   \n",
       "0AKejOKlGdiB53QpwAeenO                 85.0                 85.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                 48.0                 48.0   \n",
       "0B8B8cVRFIG1yznoQe7c9s                 67.0                 67.0   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                 51.0                 51.0   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                 42.0                 42.0   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                 49.0                 49.0   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  NaN                  NaN   \n",
       "0CAfugmbafMWjFiBy8bdEf                 21.0                 21.0   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                 28.0                 28.0   \n",
       "0CgErl5Gg9GzmlEjEhukGU                 41.0                 41.0   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  NaN                  0.0   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  NaN                  NaN   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                 44.0                 44.0   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                 39.0                 39.0   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 38.0                 38.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i                 49.0                 49.0   \n",
       "7omcWmDwbwr6BahKoFyVTe                 15.0                 15.0   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 50.0                 50.0   \n",
       "7pe2OKY04MW1Cunyqrai83                 59.0                 59.0   \n",
       "7qDQhmvXb27hqKQxZ49GYr                 52.0                 52.0   \n",
       "7qdgz117gc5StS0u2ViinE                 53.0                 53.0   \n",
       "7qlshS5hOQMXd16RSU5TAA                  NaN                  0.0   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                 33.0                 33.0   \n",
       "7qvMtWolAWBqEpAZMiS6JG                 39.0                 39.0   \n",
       "7rdSgFebCeIdwpfqbUUOjy                 41.0                 41.0   \n",
       "7re2V782TU8hOtfUt95728                 37.0                 37.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                 27.0                 27.0   \n",
       "7szPJUFmkHGAFpg9WnahxV                 46.0                 46.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr                 62.0                 62.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8                 57.0                 57.0   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                 45.0                 45.0   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                 58.0                 58.0   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                 49.0                 49.0   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                 40.0                 40.0   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                 75.0                 75.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T                 35.0                 35.0   \n",
       "7wmtlHacG4UFPiihCrXW7K                 58.0                 58.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 38.0                 38.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                 51.0                 51.0   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                 48.0                 48.0   \n",
       "7xYpTcnzikKWSVRJI6GAlu                 57.0                 57.0   \n",
       "7yopguXbVXyO8RtrVau2sy                 37.0                 37.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                 56.0                 56.0   \n",
       "7zv8Fey2BaVJe0PomkkA16                 65.0                 65.0   \n",
       "\n",
       "as_of                   2016-11-12 08:00:00  2016-11-13 08:00:00  \\\n",
       "track_spyid                                                        \n",
       "001BVhvaZTf2icV88rU3DA                  9.0                 42.0   \n",
       "00BewNzph6p90JLNda4s7E                 48.0                 48.0   \n",
       "01vXW7N434QDiktrEYr8OL                 27.0                 29.0   \n",
       "02pxstqdIA3YAkGkv1Enxc                  0.0                  0.0   \n",
       "03GwrTwkp5dC2DereUpPec                 51.0                 52.0   \n",
       "03NSrtpqfPPnatooKm9II3                  0.0                  0.0   \n",
       "03qjALA7Esk2oUdQafLksU                 59.0                 59.0   \n",
       "04AYgtKFrpldRXe5y0LNGQ                 68.0                 70.0   \n",
       "06BpFi5mGe9vsqs4yM0dBe                  4.0                  4.0   \n",
       "073A1FsNWqMxmdcRMeU57t                 61.0                 62.0   \n",
       "073wmqmf5KfrQiNukyuqrq                  0.0                  0.0   \n",
       "08JEs7dvDNb1ZsCTno1iHt                 65.0                 66.0   \n",
       "09ReKDctK8PpRx9Kbh0Iry                 46.0                 46.0   \n",
       "09UQu1bR1GnhkRH1gAO6gw                 58.0                 59.0   \n",
       "09Z3CrRmReQLt4XH3OFBc6                 13.0                 13.0   \n",
       "09kSgjUwANILn4Hgy75cuE                 36.0                 36.0   \n",
       "0AKejOKlGdiB53QpwAeenO                 85.0                 86.0   \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                 48.0                 48.0   \n",
       "0B8B8cVRFIG1yznoQe7c9s                 68.0                 71.0   \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                 52.0                 54.0   \n",
       "0BxAfKAWEtt4rw4dYhL6pA                 42.0                 43.0   \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                 49.0                 50.0   \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  0.0                  0.0   \n",
       "0CAfugmbafMWjFiBy8bdEf                 24.0                 26.0   \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                 28.0                 28.0   \n",
       "0CgErl5Gg9GzmlEjEhukGU                 42.0                 44.0   \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  0.0                  0.0   \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  0.0                  0.0   \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                 44.0                 45.0   \n",
       "0FwXYnBXPFaHyeG7EOjVt5                 39.0                 39.0   \n",
       "...                                     ...                  ...   \n",
       "7nHWAqCYnCFSZ151t1VuC8                 38.0                 38.0   \n",
       "7o4WfzYXQA1zgguOVdsF6i                 49.0                 50.0   \n",
       "7omcWmDwbwr6BahKoFyVTe                 16.0                 35.0   \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 50.0                 49.0   \n",
       "7pe2OKY04MW1Cunyqrai83                 59.0                 60.0   \n",
       "7qDQhmvXb27hqKQxZ49GYr                 52.0                 52.0   \n",
       "7qdgz117gc5StS0u2ViinE                 54.0                 54.0   \n",
       "7qlshS5hOQMXd16RSU5TAA                  0.0                  0.0   \n",
       "7qnzCgRJbl5DlQDqzsPkrG                 33.0                 34.0   \n",
       "7qvMtWolAWBqEpAZMiS6JG                 40.0                 40.0   \n",
       "7rdSgFebCeIdwpfqbUUOjy                 43.0                 46.0   \n",
       "7re2V782TU8hOtfUt95728                 36.0                 36.0   \n",
       "7sXg1VmdnM1Ho3aJPya5SC                 27.0                 39.0   \n",
       "7szPJUFmkHGAFpg9WnahxV                 46.0                 46.0   \n",
       "7t3q4ghl6rphMXn0oOJhUr                 62.0                 63.0   \n",
       "7t6GSh0B5sI38sgwpTjrT8                 57.0                 57.0   \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                 46.0                 48.0   \n",
       "7tW9pGcZoNgnLKCyQX3Jva                 58.0                 58.0   \n",
       "7uPZsTJJVdVrf9A9XTxNFP                 49.0                 49.0   \n",
       "7uRBKpxTYDLRTJdYGjRgTr                 40.0                 40.0   \n",
       "7vL1M0BHhpjbaKrwRimJ4L                 75.0                 75.0   \n",
       "7wDVkMbtB7JFKiC7W9E69T                 37.0                 40.0   \n",
       "7wmtlHacG4UFPiihCrXW7K                 58.0                 58.0   \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 37.0                 37.0   \n",
       "7xKqy0J23zlKjwp9CR5Kpc                 51.0                 52.0   \n",
       "7xQLWdYlaZXQwegmt4bYNQ                 49.0                 51.0   \n",
       "7xYpTcnzikKWSVRJI6GAlu                 57.0                 57.0   \n",
       "7yopguXbVXyO8RtrVau2sy                 37.0                 37.0   \n",
       "7zqhUgWpWzwYnT9eewPJEK                 55.0                 55.0   \n",
       "7zv8Fey2BaVJe0PomkkA16                 66.0                 67.0   \n",
       "\n",
       "as_of                   2016-11-14 08:00:00  \n",
       "track_spyid                                  \n",
       "001BVhvaZTf2icV88rU3DA                 42.0  \n",
       "00BewNzph6p90JLNda4s7E                 48.0  \n",
       "01vXW7N434QDiktrEYr8OL                 29.0  \n",
       "02pxstqdIA3YAkGkv1Enxc                  0.0  \n",
       "03GwrTwkp5dC2DereUpPec                 52.0  \n",
       "03NSrtpqfPPnatooKm9II3                  0.0  \n",
       "03qjALA7Esk2oUdQafLksU                 59.0  \n",
       "04AYgtKFrpldRXe5y0LNGQ                 70.0  \n",
       "06BpFi5mGe9vsqs4yM0dBe                  4.0  \n",
       "073A1FsNWqMxmdcRMeU57t                 62.0  \n",
       "073wmqmf5KfrQiNukyuqrq                  0.0  \n",
       "08JEs7dvDNb1ZsCTno1iHt                 66.0  \n",
       "09ReKDctK8PpRx9Kbh0Iry                 46.0  \n",
       "09UQu1bR1GnhkRH1gAO6gw                 59.0  \n",
       "09Z3CrRmReQLt4XH3OFBc6                 13.0  \n",
       "09kSgjUwANILn4Hgy75cuE                 36.0  \n",
       "0AKejOKlGdiB53QpwAeenO                 86.0  \n",
       "0AvaN1Y5bv0C0xrDeDZjDh                 48.0  \n",
       "0B8B8cVRFIG1yznoQe7c9s                 71.0  \n",
       "0BJNiNpYtqjhEvLS8OEwLZ                 54.0  \n",
       "0BxAfKAWEtt4rw4dYhL6pA                 43.0  \n",
       "0C3U6XcIrIuYP3J0ZNLCiY                 50.0  \n",
       "0C5SPGlJkVNcAEwTQ6jYDE                  0.0  \n",
       "0CAfugmbafMWjFiBy8bdEf                 26.0  \n",
       "0CDiPsPxx1Xtg5t3d3yoUW                 28.0  \n",
       "0CgErl5Gg9GzmlEjEhukGU                 44.0  \n",
       "0D9fggHpYQ7HvgGKqtIKDf                  0.0  \n",
       "0DPXH5sPDVwjsqfgvmi1yt                  0.0  \n",
       "0F6qnU0F2IXTPjWAx1SKYQ                 45.0  \n",
       "0FwXYnBXPFaHyeG7EOjVt5                 39.0  \n",
       "...                                     ...  \n",
       "7nHWAqCYnCFSZ151t1VuC8                 38.0  \n",
       "7o4WfzYXQA1zgguOVdsF6i                 50.0  \n",
       "7omcWmDwbwr6BahKoFyVTe                 35.0  \n",
       "7pZsJo9EVCNQgoIAZDuBNM                 49.0  \n",
       "7pe2OKY04MW1Cunyqrai83                 60.0  \n",
       "7qDQhmvXb27hqKQxZ49GYr                 52.0  \n",
       "7qdgz117gc5StS0u2ViinE                 54.0  \n",
       "7qlshS5hOQMXd16RSU5TAA                  0.0  \n",
       "7qnzCgRJbl5DlQDqzsPkrG                 34.0  \n",
       "7qvMtWolAWBqEpAZMiS6JG                 40.0  \n",
       "7rdSgFebCeIdwpfqbUUOjy                 46.0  \n",
       "7re2V782TU8hOtfUt95728                 36.0  \n",
       "7sXg1VmdnM1Ho3aJPya5SC                 39.0  \n",
       "7szPJUFmkHGAFpg9WnahxV                 46.0  \n",
       "7t3q4ghl6rphMXn0oOJhUr                 63.0  \n",
       "7t6GSh0B5sI38sgwpTjrT8                 57.0  \n",
       "7tMbZ0RGW0jFsBw7ipEPEV                 48.0  \n",
       "7tW9pGcZoNgnLKCyQX3Jva                 58.0  \n",
       "7uPZsTJJVdVrf9A9XTxNFP                 49.0  \n",
       "7uRBKpxTYDLRTJdYGjRgTr                 40.0  \n",
       "7vL1M0BHhpjbaKrwRimJ4L                 75.0  \n",
       "7wDVkMbtB7JFKiC7W9E69T                 40.0  \n",
       "7wmtlHacG4UFPiihCrXW7K                 58.0  \n",
       "7x2E5ZVHE87KYiPhXG9ga4                 37.0  \n",
       "7xKqy0J23zlKjwp9CR5Kpc                 52.0  \n",
       "7xQLWdYlaZXQwegmt4bYNQ                 51.0  \n",
       "7xYpTcnzikKWSVRJI6GAlu                 57.0  \n",
       "7yopguXbVXyO8RtrVau2sy                 37.0  \n",
       "7zqhUgWpWzwYnT9eewPJEK                 55.0  \n",
       "7zv8Fey2BaVJe0PomkkA16                 67.0  \n",
       "\n",
       "[979 rows x 28 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.pivot(index='track_spyid', columns='as_of', values='value')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<pandas.core.groupby.DataFrameGroupBy object at 0x10d082f98>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('track_spyid')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "san_holo = pd.read_sql(\"\"\"select * from spy_track_popularity where track_spyid = '74Ru27B7Jx8mBt5MGvGLLv'\"\"\", con=db.Session.get_bind())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>track_spyid</th>\n",
       "      <th>as_of</th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-25 08:00:00</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-26 08:00:00</td>\n",
       "      <td>44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-27 08:00:00</td>\n",
       "      <td>48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-28 08:00:00</td>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-29 08:00:00</td>\n",
       "      <td>56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-30 08:00:00</td>\n",
       "      <td>56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-01 08:00:00</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-02 08:00:00</td>\n",
       "      <td>60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-03 08:00:00</td>\n",
       "      <td>61</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-04 08:00:00</td>\n",
       "      <td>62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-05 08:00:00</td>\n",
       "      <td>65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-06 08:00:00</td>\n",
       "      <td>66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-07 08:00:00</td>\n",
       "      <td>67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-08 08:00:00</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-09 08:00:00</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-10 08:00:00</td>\n",
       "      <td>68</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-12 08:00:00</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-12 09:00:00</td>\n",
       "      <td>71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-13 08:00:00</td>\n",
       "      <td>72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-14 08:00:00</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-16 08:00:00</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-17 08:00:00</td>\n",
       "      <td>75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-18 08:00:00</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-20 03:00:00</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-21 03:00:00</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-22 03:00:00</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-23 03:00:00</td>\n",
       "      <td>78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-24 03:00:00</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-25 03:00:00</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-26 03:00:00</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-15 03:00:00</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-16 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-17 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-18 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-19 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-20 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-21 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-22 03:00:00</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-23 03:00:00</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-24 03:00:00</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-25 03:00:00</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-26 03:00:00</td>\n",
       "      <td>84</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-27 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-28 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-29 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-30 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-31 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-01 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-02 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-03 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-04 03:00:00</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-05 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-06 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-07 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-08 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-08 22:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-09 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-10 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-11 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-12 03:00:00</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>79 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               track_spyid               as_of  value\n",
       "0   74Ru27B7Jx8mBt5MGvGLLv 2016-11-25 08:00:00     35\n",
       "1   74Ru27B7Jx8mBt5MGvGLLv 2016-11-26 08:00:00     44\n",
       "2   74Ru27B7Jx8mBt5MGvGLLv 2016-11-27 08:00:00     48\n",
       "3   74Ru27B7Jx8mBt5MGvGLLv 2016-11-28 08:00:00     54\n",
       "4   74Ru27B7Jx8mBt5MGvGLLv 2016-11-29 08:00:00     56\n",
       "5   74Ru27B7Jx8mBt5MGvGLLv 2016-11-30 08:00:00     56\n",
       "6   74Ru27B7Jx8mBt5MGvGLLv 2016-12-01 08:00:00     59\n",
       "7   74Ru27B7Jx8mBt5MGvGLLv 2016-12-02 08:00:00     60\n",
       "8   74Ru27B7Jx8mBt5MGvGLLv 2016-12-03 08:00:00     61\n",
       "9   74Ru27B7Jx8mBt5MGvGLLv 2016-12-04 08:00:00     62\n",
       "10  74Ru27B7Jx8mBt5MGvGLLv 2016-12-05 08:00:00     65\n",
       "11  74Ru27B7Jx8mBt5MGvGLLv 2016-12-06 08:00:00     66\n",
       "12  74Ru27B7Jx8mBt5MGvGLLv 2016-12-07 08:00:00     67\n",
       "13  74Ru27B7Jx8mBt5MGvGLLv 2016-12-08 08:00:00     68\n",
       "14  74Ru27B7Jx8mBt5MGvGLLv 2016-12-09 08:00:00     68\n",
       "15  74Ru27B7Jx8mBt5MGvGLLv 2016-12-10 08:00:00     68\n",
       "16  74Ru27B7Jx8mBt5MGvGLLv 2016-12-12 08:00:00     71\n",
       "17  74Ru27B7Jx8mBt5MGvGLLv 2016-12-12 09:00:00     71\n",
       "18  74Ru27B7Jx8mBt5MGvGLLv 2016-12-13 08:00:00     72\n",
       "19  74Ru27B7Jx8mBt5MGvGLLv 2016-12-14 08:00:00     73\n",
       "20  74Ru27B7Jx8mBt5MGvGLLv 2016-12-16 08:00:00     74\n",
       "21  74Ru27B7Jx8mBt5MGvGLLv 2016-12-17 08:00:00     75\n",
       "22  74Ru27B7Jx8mBt5MGvGLLv 2016-12-18 08:00:00     76\n",
       "23  74Ru27B7Jx8mBt5MGvGLLv 2016-12-20 03:00:00     77\n",
       "24  74Ru27B7Jx8mBt5MGvGLLv 2016-12-21 03:00:00     78\n",
       "25  74Ru27B7Jx8mBt5MGvGLLv 2016-12-22 03:00:00     78\n",
       "26  74Ru27B7Jx8mBt5MGvGLLv 2016-12-23 03:00:00     78\n",
       "27  74Ru27B7Jx8mBt5MGvGLLv 2016-12-24 03:00:00     79\n",
       "28  74Ru27B7Jx8mBt5MGvGLLv 2016-12-25 03:00:00     80\n",
       "29  74Ru27B7Jx8mBt5MGvGLLv 2016-12-26 03:00:00     80\n",
       "..                     ...                 ...    ...\n",
       "49  74Ru27B7Jx8mBt5MGvGLLv 2017-01-15 03:00:00     84\n",
       "50  74Ru27B7Jx8mBt5MGvGLLv 2017-01-16 03:00:00     85\n",
       "51  74Ru27B7Jx8mBt5MGvGLLv 2017-01-17 03:00:00     85\n",
       "52  74Ru27B7Jx8mBt5MGvGLLv 2017-01-18 03:00:00     85\n",
       "53  74Ru27B7Jx8mBt5MGvGLLv 2017-01-19 03:00:00     85\n",
       "54  74Ru27B7Jx8mBt5MGvGLLv 2017-01-20 03:00:00     85\n",
       "55  74Ru27B7Jx8mBt5MGvGLLv 2017-01-21 03:00:00     85\n",
       "56  74Ru27B7Jx8mBt5MGvGLLv 2017-01-22 03:00:00     85\n",
       "57  74Ru27B7Jx8mBt5MGvGLLv 2017-01-23 03:00:00     84\n",
       "58  74Ru27B7Jx8mBt5MGvGLLv 2017-01-24 03:00:00     84\n",
       "59  74Ru27B7Jx8mBt5MGvGLLv 2017-01-25 03:00:00     84\n",
       "60  74Ru27B7Jx8mBt5MGvGLLv 2017-01-26 03:00:00     84\n",
       "61  74Ru27B7Jx8mBt5MGvGLLv 2017-01-27 03:00:00     83\n",
       "62  74Ru27B7Jx8mBt5MGvGLLv 2017-01-28 03:00:00     83\n",
       "63  74Ru27B7Jx8mBt5MGvGLLv 2017-01-29 03:00:00     83\n",
       "64  74Ru27B7Jx8mBt5MGvGLLv 2017-01-30 03:00:00     83\n",
       "65  74Ru27B7Jx8mBt5MGvGLLv 2017-01-31 03:00:00     83\n",
       "66  74Ru27B7Jx8mBt5MGvGLLv 2017-02-01 03:00:00     83\n",
       "67  74Ru27B7Jx8mBt5MGvGLLv 2017-02-02 03:00:00     83\n",
       "68  74Ru27B7Jx8mBt5MGvGLLv 2017-02-03 03:00:00     83\n",
       "69  74Ru27B7Jx8mBt5MGvGLLv 2017-02-04 03:00:00     83\n",
       "70  74Ru27B7Jx8mBt5MGvGLLv 2017-02-05 03:00:00     82\n",
       "71  74Ru27B7Jx8mBt5MGvGLLv 2017-02-06 03:00:00     82\n",
       "72  74Ru27B7Jx8mBt5MGvGLLv 2017-02-07 03:00:00     82\n",
       "73  74Ru27B7Jx8mBt5MGvGLLv 2017-02-08 03:00:00     82\n",
       "74  74Ru27B7Jx8mBt5MGvGLLv 2017-02-08 22:00:00     82\n",
       "75  74Ru27B7Jx8mBt5MGvGLLv 2017-02-09 03:00:00     82\n",
       "76  74Ru27B7Jx8mBt5MGvGLLv 2017-02-10 03:00:00     82\n",
       "77  74Ru27B7Jx8mBt5MGvGLLv 2017-02-11 03:00:00     82\n",
       "78  74Ru27B7Jx8mBt5MGvGLLv 2017-02-12 03:00:00     82\n",
       "\n",
       "[79 rows x 3 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "san_holo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x10a55ad68>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a5b10b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "san_holo.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We begin our study using 'San Holo - Light' a track that we signed, and is doing well"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sh_id = '74Ru27B7Jx8mBt5MGvGLLv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>spyid</th>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>name</th>\n",
       "      <td>Light</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>first_seen</th>\n",
       "      <td>2016-11-25 08:19:26.845269</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>added_source</th>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>last_updated</th>\n",
       "      <td>2017-02-12 03:00:16.185152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>data</th>\n",
       "      <td>{'duration_ms': 240500, 'external_ids': {'isrc...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>tags</th>\n",
       "      <td>[signed]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>primary_artist_spyid</th>\n",
       "      <td>0jNDKefhfSbLR9sFvcPLHo</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>album_data</th>\n",
       "      <td>{'genres': [], 'external_ids': {'upc': '871885...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                      0\n",
       "spyid                                            74Ru27B7Jx8mBt5MGvGLLv\n",
       "name                                                              Light\n",
       "first_seen                                   2016-11-25 08:19:26.845269\n",
       "added_source                                                       None\n",
       "last_updated                                 2017-02-12 03:00:16.185152\n",
       "data                  {'duration_ms': 240500, 'external_ids': {'isrc...\n",
       "tags                                                           [signed]\n",
       "primary_artist_spyid                             0jNDKefhfSbLR9sFvcPLHo\n",
       "album_data            {'genres': [], 'external_ids': {'upc': '871885..."
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfquery(\"\"\"select * from spy_tracks where spyid = '74Ru27B7Jx8mBt5MGvGLLv'\"\"\").T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>playlist_spyid</th>\n",
       "      <th>track_spyid</th>\n",
       "      <th>added_at</th>\n",
       "      <th>first_seen</th>\n",
       "      <th>last_seen</th>\n",
       "      <th>first_position</th>\n",
       "      <th>last_position</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>New Music Friday UK</td>\n",
       "      <td>6LY8RIt0Wg6IkpJBtxP2xu</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-25 00:05:10</td>\n",
       "      <td>2016-11-25 08:21:11.993810</td>\n",
       "      <td>2016-12-01 08:21:22.118458</td>\n",
       "      <td>47</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Weekly Buzz</td>\n",
       "      <td>6Hw1sUOCpE59V7AlIIHhCz</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-11-28 03:31:39</td>\n",
       "      <td>2016-11-28 08:21:18.339023</td>\n",
       "      <td>2016-12-04 08:21:18.174934</td>\n",
       "      <td>37</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>The Needle - Current</td>\n",
       "      <td>7xom7CO8dOHxx9fnGwwrnO</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-05 20:11:40</td>\n",
       "      <td>2016-12-06 08:25:51.804072</td>\n",
       "      <td>2016-12-16 08:21:18.169110</td>\n",
       "      <td>77</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Wild Cards</td>\n",
       "      <td>03n3Y7ugrETGIdODxD1iFe</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-28 23:12:57</td>\n",
       "      <td>2016-12-29 03:00:10.975597</td>\n",
       "      <td>2017-02-12 03:00:16.191867</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Cool Tracks</td>\n",
       "      <td>6M9bQZk3grXylwzKiTWhe9</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2016-12-29 02:36:12</td>\n",
       "      <td>2016-12-29 03:00:18.601346</td>\n",
       "      <td>2017-02-12 03:00:09.434528</td>\n",
       "      <td>95</td>\n",
       "      <td>52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Tomorrow's Hits</td>\n",
       "      <td>6LHwwT5kakVUc7UqUuMLYT</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-01-11 15:21:29</td>\n",
       "      <td>2017-01-12 03:00:15.315981</td>\n",
       "      <td>2017-01-27 03:00:10.971737</td>\n",
       "      <td>16</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Good Vibes</td>\n",
       "      <td>3xgbBiNc7mh3erYsCl8Fwg</td>\n",
       "      <td>74Ru27B7Jx8mBt5MGvGLLv</td>\n",
       "      <td>2017-02-01 18:07:20</td>\n",
       "      <td>2017-02-08 22:20:47.965907</td>\n",
       "      <td>2017-02-12 03:00:06.812278</td>\n",
       "      <td>41</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   name          playlist_spyid             track_spyid  \\\n",
       "0   New Music Friday UK  6LY8RIt0Wg6IkpJBtxP2xu  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "1           Weekly Buzz  6Hw1sUOCpE59V7AlIIHhCz  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "2  The Needle - Current  7xom7CO8dOHxx9fnGwwrnO  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "3            Wild Cards  03n3Y7ugrETGIdODxD1iFe  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "4           Cool Tracks  6M9bQZk3grXylwzKiTWhe9  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "5       Tomorrow's Hits  6LHwwT5kakVUc7UqUuMLYT  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "6            Good Vibes  3xgbBiNc7mh3erYsCl8Fwg  74Ru27B7Jx8mBt5MGvGLLv   \n",
       "\n",
       "             added_at                 first_seen                  last_seen  \\\n",
       "0 2016-11-25 00:05:10 2016-11-25 08:21:11.993810 2016-12-01 08:21:22.118458   \n",
       "1 2016-11-28 03:31:39 2016-11-28 08:21:18.339023 2016-12-04 08:21:18.174934   \n",
       "2 2016-12-05 20:11:40 2016-12-06 08:25:51.804072 2016-12-16 08:21:18.169110   \n",
       "3 2016-12-28 23:12:57 2016-12-29 03:00:10.975597 2017-02-12 03:00:16.191867   \n",
       "4 2016-12-29 02:36:12 2016-12-29 03:00:18.601346 2017-02-12 03:00:09.434528   \n",
       "5 2017-01-11 15:21:29 2017-01-12 03:00:15.315981 2017-01-27 03:00:10.971737   \n",
       "6 2017-02-01 18:07:20 2017-02-08 22:20:47.965907 2017-02-12 03:00:06.812278   \n",
       "\n",
       "   first_position  last_position  \n",
       "0              47             47  \n",
       "1              37             37  \n",
       "2              77             58  \n",
       "3               1              1  \n",
       "4              95             52  \n",
       "5              16             24  \n",
       "6              41             12  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfquery(\"\"\"\n",
    "select p.name, pt.* from spy_playlist_track pt join spy_playlist p on pt.playlist_spyid = p.spyid where track_spyid = '74Ru27B7Jx8mBt5MGvGLLv' order by first_seen;\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We see that San Holo first came in on NMF on 25 Nov.  We look for other tracks that were identified then."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "same_tracks = dfquery(\"\"\"\n",
    "select spyid, name, album_data->'copyrights'->0->'text' as rights from spy_tracks where first_seen::date = '2016-11-25'\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     (C) 2016 Island Records, a division of Univers...\n",
       "1                                       2016 Ninja Tune\n",
       "2     2016 Weird Smiling licensed to Moshi Moshi Rec...\n",
       "3     (C) 2016 Fiction Records, a division of Univer...\n",
       "4     (P) 2016 John Legend Music, Inc. and Columbia ...\n",
       "5     (C) 2016 The Weeknd XO, Inc., Manufactured and...\n",
       "6              2016 The Van T's, distributed by Spinnup\n",
       "7     (P) 2016 RCA Records, a division of Sony Music...\n",
       "8                                       2016 RecordShop\n",
       "9     (C) 2016 The Weeknd XO, Inc., Manufactured and...\n",
       "10                                      2016 GS Believe\n",
       "11    2016 Firewheel LLP under exclusive licence to ...\n",
       "12                               2016 Armada Music B.V.\n",
       "13                                     While She Sleeps\n",
       "14                             2016 True Say Recordings\n",
       "15                 2016 BMG Rights Management (UK) Ltd.\n",
       "16                                           2016 Wiley\n",
       "17                                            2016 SHED\n",
       "18                            2016 SKELETON KEY RECORDS\n",
       "19                                 (C) 2016 EGA Records\n",
       "20    (C) 2016 Melodramatic Records Limited, Under E...\n",
       "21    (C) 2016 Circa Waves, under exclusive license ...\n",
       "22                                        2016 Decisive\n",
       "23                                       Future Classic\n",
       "24                                            2016 LVNA\n",
       "25    (P) 2016 Parkwood Entertainment LLC, under exc...\n",
       "26                              (C) 2016 DDM Recordings\n",
       "27                          2016 Götterfunk Productions\n",
       "28    (C) 2016 UMC, a division of Universal Music Op...\n",
       "29                                 2016 antigen records\n",
       "30                                      2016 Angel Haze\n",
       "31    2016 Warner Bros Records UK, A Warner Music Gr...\n",
       "32    (C) 2016 Promotone B.V., under exclusive licen...\n",
       "33                               2016 Artium Recordings\n",
       "34                                      2016 Juno Music\n",
       "35                                   2016 Lemon Records\n",
       "36                                           2016 Rando\n",
       "37                                    2016 Velociraptor\n",
       "38    2016 Disconap AB under exclusive licence to Wa...\n",
       "39                               2016 Honeycomb Records\n",
       "40    2016 TONSPIEL under exclusive license to Warne...\n",
       "41                             (C) 2016 Capitol Records\n",
       "42    (C) 2016 The Weeknd XO, Inc., Manufactured and...\n",
       "43                                         2016 bitbird\n",
       "44    (C) 2016 Island Records, a division of Univers...\n",
       "45    (C) 2016 Universal Studios and Republic Record...\n",
       "46                                      Kitsuné Musique\n",
       "47                                     2016 Bruno Major\n",
       "48    2016 MAXXIMIZE / under exclusive license to Sp...\n",
       "Name: rights, dtype: object"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "same_tracks['rights']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There are 43 tracks to consider. Let's look at those tracks popularity in filtr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    " links = [ \"\"\"<a href=\"https://admin.filtr.com/spotify/track/{0}\" target=\"_blank\">{0}</a>\"\"\".format(i) for i in same_tracks['spyid'] ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from IPython.core.display import display, HTML"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    " links = [ \"\"\"<a href=\"spotify:track:{0}\" target=\"_blank\">{0}</a>\"\"\".format(i) for i in same_tracks['spyid'] ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<a href=\"spotify:track:5vOfjFB3mf21TCnRVjLOkv\" target=\"_blank\">5vOfjFB3mf21TCnRVjLOkv</a><br/><a href=\"spotify:track:7fKIJYSroee3qsrdRqpbcB\" target=\"_blank\">7fKIJYSroee3qsrdRqpbcB</a><br/><a href=\"spotify:track:7hv0FgHpTiPcBn6iF4qCx7\" target=\"_blank\">7hv0FgHpTiPcBn6iF4qCx7</a><br/><a href=\"spotify:track:6Uso7dNt8mOkAYW4cFg40e\" target=\"_blank\">6Uso7dNt8mOkAYW4cFg40e</a><br/><a href=\"spotify:track:7Aw1KghNjxRhlw0OpQ6yXZ\" target=\"_blank\">7Aw1KghNjxRhlw0OpQ6yXZ</a><br/><a href=\"spotify:track:7y2SOXPaH6ORTya7ROEzy0\" target=\"_blank\">7y2SOXPaH6ORTya7ROEzy0</a><br/><a href=\"spotify:track:3TUVWvDnlrDOUfRkk4pQXa\" target=\"_blank\">3TUVWvDnlrDOUfRkk4pQXa</a><br/><a href=\"spotify:track:3lOlIkAsGdUIJN5e6P4ffq\" target=\"_blank\">3lOlIkAsGdUIJN5e6P4ffq</a><br/><a href=\"spotify:track:4xDVXSme867QEjwYCl8B39\" target=\"_blank\">4xDVXSme867QEjwYCl8B39</a><br/><a href=\"spotify:track:5HR4CYT5nPpFy8m9wJQgrr\" target=\"_blank\">5HR4CYT5nPpFy8m9wJQgrr</a><br/><a href=\"spotify:track:0vt0fMtBYAcw7A3mI0NyVZ\" target=\"_blank\">0vt0fMtBYAcw7A3mI0NyVZ</a><br/><a href=\"spotify:track:3Jl06JigvgG25BjVdwooiV\" target=\"_blank\">3Jl06JigvgG25BjVdwooiV</a><br/><a href=\"spotify:track:0e2oWCoIH83K3Y5S46oJ70\" target=\"_blank\">0e2oWCoIH83K3Y5S46oJ70</a><br/><a href=\"spotify:track:3SNVcSAIViySWS3uF1EuwP\" target=\"_blank\">3SNVcSAIViySWS3uF1EuwP</a><br/><a href=\"spotify:track:0ZLsjwPTQnPlky04w0QCje\" target=\"_blank\">0ZLsjwPTQnPlky04w0QCje</a><br/><a href=\"spotify:track:2w0gKzbk4bpumdOnXrELrR\" target=\"_blank\">2w0gKzbk4bpumdOnXrELrR</a><br/><a href=\"spotify:track:1iFIf5pxCV6MvaYLrppQjV\" target=\"_blank\">1iFIf5pxCV6MvaYLrppQjV</a><br/><a href=\"spotify:track:5rRFIbK356CZ9VcRb41oQp\" target=\"_blank\">5rRFIbK356CZ9VcRb41oQp</a><br/><a href=\"spotify:track:4GAi7vmQw1Ll1gCys0SFpm\" target=\"_blank\">4GAi7vmQw1Ll1gCys0SFpm</a><br/><a href=\"spotify:track:6HBYI9ycWjq3HYwbeNDiv1\" target=\"_blank\">6HBYI9ycWjq3HYwbeNDiv1</a><br/><a href=\"spotify:track:0kzPFxkaIA0NBfPC694Vxc\" target=\"_blank\">0kzPFxkaIA0NBfPC694Vxc</a><br/><a href=\"spotify:track:5QeTIrZNklRqQK4HfQE8wx\" target=\"_blank\">5QeTIrZNklRqQK4HfQE8wx</a><br/><a href=\"spotify:track:69coEuO99muRjEdYpdyUPc\" target=\"_blank\">69coEuO99muRjEdYpdyUPc</a><br/><a href=\"spotify:track:7G79UfK6c7RR7WfkqMqoYT\" target=\"_blank\">7G79UfK6c7RR7WfkqMqoYT</a><br/><a href=\"spotify:track:55wpKz63vhtbBf1tuUtza4\" target=\"_blank\">55wpKz63vhtbBf1tuUtza4</a><br/><a href=\"spotify:track:7tTElNyvXsfFcxDXIiH5cm\" target=\"_blank\">7tTElNyvXsfFcxDXIiH5cm</a><br/><a href=\"spotify:track:75NKoykJD8BsHHXGWdxHkS\" target=\"_blank\">75NKoykJD8BsHHXGWdxHkS</a><br/><a href=\"spotify:track:15wmpzx6H7yBY3d75zwJKC\" target=\"_blank\">15wmpzx6H7yBY3d75zwJKC</a><br/><a href=\"spotify:track:0M5KfAicvGStzODsexl2fi\" target=\"_blank\">0M5KfAicvGStzODsexl2fi</a><br/><a href=\"spotify:track:2vYI4uyFxjtAmPdibK79Dg\" target=\"_blank\">2vYI4uyFxjtAmPdibK79Dg</a><br/><a href=\"spotify:track:04p2sBeqH4LCjwcIDYx9Pi\" target=\"_blank\">04p2sBeqH4LCjwcIDYx9Pi</a><br/><a href=\"spotify:track:4LveSFeC3u1eVgXrohW7ag\" target=\"_blank\">4LveSFeC3u1eVgXrohW7ag</a><br/><a href=\"spotify:track:4s1zo9UgMnbe8ZopkhpnT8\" target=\"_blank\">4s1zo9UgMnbe8ZopkhpnT8</a><br/><a href=\"spotify:track:4RqxzFu3gu0KN4q5KB2axc\" target=\"_blank\">4RqxzFu3gu0KN4q5KB2axc</a><br/><a href=\"spotify:track:25PFvbXnubqIkpAaapKfif\" target=\"_blank\">25PFvbXnubqIkpAaapKfif</a><br/><a href=\"spotify:track:37f3ZYaQEhxYpkkGdVAkKh\" target=\"_blank\">37f3ZYaQEhxYpkkGdVAkKh</a><br/><a href=\"spotify:track:0Jw15U8Cyc88z898hsZgMA\" target=\"_blank\">0Jw15U8Cyc88z898hsZgMA</a><br/><a href=\"spotify:track:3ciXC6tRQYyUdmrMpmTKkG\" target=\"_blank\">3ciXC6tRQYyUdmrMpmTKkG</a><br/><a href=\"spotify:track:7tx0NDsCViutjOyd1c4A28\" target=\"_blank\">7tx0NDsCViutjOyd1c4A28</a><br/><a href=\"spotify:track:2sBd0mNdv9pLSXhboKAy2d\" target=\"_blank\">2sBd0mNdv9pLSXhboKAy2d</a><br/><a href=\"spotify:track:1cG0umU5TKStygKsPFZ9pY\" target=\"_blank\">1cG0umU5TKStygKsPFZ9pY</a><br/><a href=\"spotify:track:4LEMJknfFNWNpiqL8VGVsG\" target=\"_blank\">4LEMJknfFNWNpiqL8VGVsG</a><br/><a href=\"spotify:track:00xzzjRjiIhOXsagSUozdy\" target=\"_blank\">00xzzjRjiIhOXsagSUozdy</a><br/><a href=\"spotify:track:74Ru27B7Jx8mBt5MGvGLLv\" target=\"_blank\">74Ru27B7Jx8mBt5MGvGLLv</a><br/><a href=\"spotify:track:6WliFlIIEbzfcUK9WGHovc\" target=\"_blank\">6WliFlIIEbzfcUK9WGHovc</a><br/><a href=\"spotify:track:5qpddGBjns63fNDYWOxSjs\" target=\"_blank\">5qpddGBjns63fNDYWOxSjs</a><br/><a href=\"spotify:track:0bkNJm3BcQyHpytMI7a3TX\" target=\"_blank\">0bkNJm3BcQyHpytMI7a3TX</a><br/><a href=\"spotify:track:3TpXajg1nKzG3ngc9tBwrD\" target=\"_blank\">3TpXajg1nKzG3ngc9tBwrD</a><br/><a href=\"spotify:track:02fbPCPI1RZ6J58ZexOV1f\" target=\"_blank\">02fbPCPI1RZ6J58ZexOV1f</a>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(HTML(\"<br/>\".join(links)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    " links = [ i for i in same_tracks['rights'] ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    " links = [ \"\"\"<a href=\"spotify:track:{0}\" target=\"_blank\">{0}</a>\"\"\".format(i) for i in same_tracks['spyid'] ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(C) 2016 Island Records, a division of Universal Music Operations Limited\n",
      "2016 Ninja Tune\n",
      "2016 Weird Smiling licensed to Moshi Moshi Records\n",
      "(C) 2016 Fiction Records, a division of Universal Music Operations Limited.\n",
      "(P) 2016 John Legend Music, Inc. and Columbia Records, a division of Sony Music Entertainment\n",
      "(C) 2016 The Weeknd XO, Inc., Manufactured and Marketed by Republic Records, a Division of UMG Recordings, Inc.\n",
      "2016 The Van T's, distributed by Spinnup\n",
      "(P) 2016 RCA Records, a division of Sony Music Entertainment\n",
      "2016 RecordShop\n",
      "(C) 2016 The Weeknd XO, Inc., Manufactured and Marketed by Republic Records, a Division of UMG Recordings, Inc.\n",
      "2016 GS Believe\n",
      "2016 Firewheel LLP under exclusive licence to Parlophone Records Limited, a Warner Music Group company\n",
      "2016 Armada Music B.V.\n",
      "While She Sleeps\n",
      "2016 True Say Recordings\n",
      "2016 BMG Rights Management (UK) Ltd.\n",
      "2016 Wiley\n",
      "2016 SHED\n",
      "2016 SKELETON KEY RECORDS\n",
      "(C) 2016 EGA Records\n",
      "(C) 2016 Melodramatic Records Limited, Under Exclusive Licence to Mercury Records Limited\n",
      "(C) 2016 Circa Waves, under exclusive license to Virgin EMI Records, a division of Universal Music Operations Ltd.\n",
      "2016 Decisive\n",
      "Future Classic\n",
      "2016 LVNA\n",
      "(P) 2016 Parkwood Entertainment LLC, under exclusive license to Columbia Records, a Division of Sony Music Entertainment\n",
      "(C) 2016 DDM Recordings\n",
      "2016 Götterfunk Productions\n",
      "(C) 2016 UMC, a division of Universal Music Operations Ltd.\n",
      "2016 antigen records\n",
      "2016 Angel Haze\n",
      "2016 Warner Bros Records UK, A Warner Music Group company.\n",
      "(C) 2016 Promotone B.V., under exclusive licence to Universal International Music B.V.\n",
      "2016 Artium Recordings\n",
      "2016 Juno Music\n",
      "2016 Lemon Records\n",
      "2016 Rando\n",
      "2016 Velociraptor\n",
      "2016 Disconap AB under exclusive licence to Warner Music Sweden AB\n",
      "2016 Honeycomb Records\n",
      "2016 TONSPIEL under exclusive license to Warner Music Group Germany Holding GmbH / A Warner Music Group Company\n",
      "(C) 2016 Capitol Records\n",
      "(C) 2016 The Weeknd XO, Inc., Manufactured and Marketed by Republic Records, a Division of UMG Recordings, Inc.\n",
      "2016 bitbird\n",
      "(C) 2016 Island Records, a division of Universal Music Operations Limited\n",
      "(C) 2016 Universal Studios and Republic Records, a division of UMG Recordings, Inc.\n",
      "Kitsuné Musique\n",
      "2016 Bruno Major\n",
      "2016 MAXXIMIZE / under exclusive license to Spinnin' Records BV\n"
     ]
    }
   ],
   "source": [
    "print(\"\\n\".join(links))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "r = db.Session.execute(\"\"\"\n",
    "select spyid, min(spy_artist_metrics.followers), min(as_of) as rights from spy_tracks \n",
    "join spy_artist_metrics on primary_artist_spyid = artist_spyid\n",
    "where first_seen::date = '2016-11-25'\n",
    "group by 1\n",
    "order by 1 asc\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "data = r.fetchall()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>artist_spyid</th>\n",
       "      <th>as_of</th>\n",
       "      <th>popularity</th>\n",
       "      <th>followers</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3r17AfJCCUqC9Lf0OAc73G</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>72</td>\n",
       "      <td>422489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5Z3cYfm62l4JYDIihkXpQc</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>35</td>\n",
       "      <td>251</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2LRoIwlKmHjgvigdNGBHNo</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>63</td>\n",
       "      <td>5078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4UqXejsLj7uwZmzQ9vkmg8</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>47</td>\n",
       "      <td>3941</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6LuN9FCkKOj5PcnpouEgny</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>65</td>\n",
       "      <td>21935</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5WUlDfRSoLAfcVSX1WnrxN</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>92</td>\n",
       "      <td>2699245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>4nXezpatStChCEWVvYLjd5</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>60</td>\n",
       "      <td>50201</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7mKwhB3UiepqzM946jBOyi</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>35</td>\n",
       "      <td>1533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>7mg37PCD4PY9qHp6OzaTys</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>24</td>\n",
       "      <td>132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5CYSZBI4BEAeMeiYRiT1Xd</td>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>32</td>\n",
       "      <td>783</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             artist_spyid               as_of  popularity  followers\n",
       "0  3r17AfJCCUqC9Lf0OAc73G 2016-11-26 12:00:00          72     422489\n",
       "1  5Z3cYfm62l4JYDIihkXpQc 2016-11-26 12:00:00          35        251\n",
       "2  2LRoIwlKmHjgvigdNGBHNo 2016-11-26 12:00:00          63       5078\n",
       "3  4UqXejsLj7uwZmzQ9vkmg8 2016-11-26 12:00:00          47       3941\n",
       "4  6LuN9FCkKOj5PcnpouEgny 2016-11-26 12:00:00          65      21935\n",
       "5  5WUlDfRSoLAfcVSX1WnrxN 2016-11-26 12:00:00          92    2699245\n",
       "6  4nXezpatStChCEWVvYLjd5 2016-11-26 12:00:00          60      50201\n",
       "7  7mKwhB3UiepqzM946jBOyi 2016-11-26 12:00:00          35       1533\n",
       "8  7mg37PCD4PY9qHp6OzaTys 2016-11-26 12:00:00          24        132\n",
       "9  5CYSZBI4BEAeMeiYRiT1Xd 2016-11-26 12:00:00          32        783"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfquery(\"\"\"\n",
    "select * from spy_artist_metrics limit 10\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3983799\n",
      "156927\n",
      "0\n",
      "4097\n",
      "228020\n",
      "11\n",
      "168389\n",
      "57951\n",
      "55134\n",
      "4998\n",
      "7539\n",
      "541583\n",
      "119490\n",
      "87817\n",
      "145\n",
      "341\n",
      "346556\n",
      "75\n",
      "3766\n",
      "258991\n",
      "1416221\n",
      "61056\n",
      "1048\n",
      "370\n",
      "1767\n",
      "59972\n",
      "0\n",
      "11701\n",
      "1820342\n",
      "1110\n",
      "22\n",
      "3983799\n",
      "0\n",
      "24767\n",
      "7\n",
      "3651\n",
      "0\n",
      "236\n",
      "4958\n",
      "905\n",
      "76937\n",
      "26230\n",
      "1376898\n",
      "0\n",
      "881486\n",
      "8120\n",
      "0\n",
      "157850\n",
      "3983799\n"
     ]
    }
   ],
   "source": [
    "print(\"\\n\".join([ str(r[1]) for r in data ]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('3r17AfJCCUqC9Lf0OAc73G', datetime.datetime(2016, 11, 26, 12, 0), 72, 422489),\n",
       " ('5Z3cYfm62l4JYDIihkXpQc', datetime.datetime(2016, 11, 26, 12, 0), 35, 251),\n",
       " ('2LRoIwlKmHjgvigdNGBHNo', datetime.datetime(2016, 11, 26, 12, 0), 63, 5078),\n",
       " ('4UqXejsLj7uwZmzQ9vkmg8', datetime.datetime(2016, 11, 26, 12, 0), 47, 3941),\n",
       " ('6LuN9FCkKOj5PcnpouEgny', datetime.datetime(2016, 11, 26, 12, 0), 65, 21935),\n",
       " ('5WUlDfRSoLAfcVSX1WnrxN', datetime.datetime(2016, 11, 26, 12, 0), 92, 2699245),\n",
       " ('4nXezpatStChCEWVvYLjd5', datetime.datetime(2016, 11, 26, 12, 0), 60, 50201),\n",
       " ('7mKwhB3UiepqzM946jBOyi', datetime.datetime(2016, 11, 26, 12, 0), 35, 1533),\n",
       " ('7mg37PCD4PY9qHp6OzaTys', datetime.datetime(2016, 11, 26, 12, 0), 24, 132),\n",
       " ('5CYSZBI4BEAeMeiYRiT1Xd', datetime.datetime(2016, 11, 26, 12, 0), 32, 783)]"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.fetchall()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>as_of</th>\n",
       "      <th>followers</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-11-26 12:00:00</td>\n",
       "      <td>5295931</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-12-04 12:00:00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-12-06 00:00:00</td>\n",
       "      <td>5341350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-12-10 00:00:00</td>\n",
       "      <td>5357894</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-12-19 12:00:00</td>\n",
       "      <td>5439030</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2016-12-20 00:00:00</td>\n",
       "      <td>5443582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2016-12-30 00:00:00</td>\n",
       "      <td>5546940</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017-01-12 00:00:00</td>\n",
       "      <td>5661029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2017-01-13 00:00:00</td>\n",
       "      <td>5669910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2017-01-14 00:00:00</td>\n",
       "      <td>5678854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2017-01-15 00:00:00</td>\n",
       "      <td>5688718</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2017-01-22 00:00:00</td>\n",
       "      <td>5749603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2017-01-26 00:00:00</td>\n",
       "      <td>5781526</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2017-01-27 00:00:00</td>\n",
       "      <td>5789283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2017-01-28 00:00:00</td>\n",
       "      <td>5797720</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2017-01-29 00:00:00</td>\n",
       "      <td>5806964</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2017-01-30 00:00:00</td>\n",
       "      <td>5815989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2017-01-31 00:00:00</td>\n",
       "      <td>5823495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2017-02-01 00:00:00</td>\n",
       "      <td>5829634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2017-02-02 00:00:00</td>\n",
       "      <td>5836374</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2017-02-03 00:00:00</td>\n",
       "      <td>5843836</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>2017-02-04 00:00:00</td>\n",
       "      <td>5851304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2017-02-05 00:00:00</td>\n",
       "      <td>5859638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2017-02-06 00:00:00</td>\n",
       "      <td>5867593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>2017-02-07 00:00:00</td>\n",
       "      <td>5874396</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2017-02-08 00:00:00</td>\n",
       "      <td>5880787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2017-02-09 00:00:00</td>\n",
       "      <td>5887471</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2017-02-10 00:00:00</td>\n",
       "      <td>5895744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2017-02-11 00:00:00</td>\n",
       "      <td>5904606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2017-02-12 00:00:00</td>\n",
       "      <td>5914787</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 as_of  followers\n",
       "0  2016-11-26 12:00:00    5295931\n",
       "1  2016-12-04 12:00:00          0\n",
       "2  2016-12-06 00:00:00    5341350\n",
       "3  2016-12-10 00:00:00    5357894\n",
       "4  2016-12-19 12:00:00    5439030\n",
       "5  2016-12-20 00:00:00    5443582\n",
       "6  2016-12-30 00:00:00    5546940\n",
       "7  2017-01-12 00:00:00    5661029\n",
       "8  2017-01-13 00:00:00    5669910\n",
       "9  2017-01-14 00:00:00    5678854\n",
       "10 2017-01-15 00:00:00    5688718\n",
       "11 2017-01-22 00:00:00    5749603\n",
       "12 2017-01-26 00:00:00    5781526\n",
       "13 2017-01-27 00:00:00    5789283\n",
       "14 2017-01-28 00:00:00    5797720\n",
       "15 2017-01-29 00:00:00    5806964\n",
       "16 2017-01-30 00:00:00    5815989\n",
       "17 2017-01-31 00:00:00    5823495\n",
       "18 2017-02-01 00:00:00    5829634\n",
       "19 2017-02-02 00:00:00    5836374\n",
       "20 2017-02-03 00:00:00    5843836\n",
       "21 2017-02-04 00:00:00    5851304\n",
       "22 2017-02-05 00:00:00    5859638\n",
       "23 2017-02-06 00:00:00    5867593\n",
       "24 2017-02-07 00:00:00    5874396\n",
       "25 2017-02-08 00:00:00    5880787\n",
       "26 2017-02-09 00:00:00    5887471\n",
       "27 2017-02-10 00:00:00    5895744\n",
       "28 2017-02-11 00:00:00    5904606\n",
       "29 2017-02-12 00:00:00    5914787"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfquery(\"\"\"\n",
    "select as_of, followers \n",
    "from spy_tracks \n",
    "join spy_artist_metrics on primary_artist_spyid = artist_spyid\n",
    "where spyid = '7tTElNyvXsfFcxDXIiH5cm' \n",
    "order by 1 asc\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [],
   "source": [
    "spot_data=dfquery(\"\"\"\n",
    "with\n",
    "\n",
    "\n",
    "all_popularity as (\n",
    "  select\n",
    "    track_spyid,\n",
    "    json_agg(\n",
    "     value order by as_of) vals\n",
    "  from spy_track_popularity\n",
    "  where as_of < '2016-12-01'\n",
    "  group by 1\n",
    "),\n",
    "\n",
    "playlists as (\n",
    "  select track_spyid, json_agg(distinct playlist_spyid) lists\n",
    "  from spy_playlist_track\n",
    "  group by 1\n",
    ")\n",
    "\n",
    "select\n",
    "  spy_tracks.spyid,\n",
    "  spy_tracks.data->'name' tune,\n",
    "  spy_tracks.data->'artists'->0->'name' artist,\n",
    "  -- spy_tracks.data->'external_urls'->>'spotify' link,\n",
    "  all_popularity.vals\n",
    "  -- current_date as_of,\n",
    "  -- spy_tracks.first_seen,\n",
    "  -- playlists.lists,\n",
    "  -- coalesce(spy_tracks.tags, '[]'::jsonb) as \"track_tags\",\n",
    "  -- coalesce(sa.tags, '[]'::jsonb) as \"artist_tags\",\n",
    "  -- coalesce(sa.data->'genres', '[]'::jsonb) as \"artist_genres\",\n",
    "  -- coalesce((sa.data->'followers'->>'total')::int, 0) as \"artist_followers\",\n",
    "  -- spy_tracks.album_data->'label' as label_name,\n",
    "  -- spy_tracks.album_data->'copyrights' as copyrights\n",
    "\n",
    "from spy_tracks\n",
    "join all_popularity on all_popularity.track_spyid = spy_tracks.spyid\n",
    "join playlists on playlists.track_spyid = spy_tracks.spyid\n",
    "left join spy_artists sa on sa.spyid = spy_tracks.primary_artist_spyid\n",
    "where spy_tracks.first_seen::date = '2016-11-25'\n",
    "order by spy_tracks.spyid\n",
    "limit 10000\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "r = spot_data['vals']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [],
   "source": [
    "def stringit(arr):\n",
    "    return \",\".join(str(i) for i in arr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0,0,0,64,68,68\n",
      "36,40,42,47,49,49\n",
      "0,17,23,39,41,41\n",
      "0,0,1,40,42,42\n",
      "0,0,6,47,50,50\n",
      "32,33,33,33,33,33\n",
      "0,0,7,46,49,49\n",
      "0,0,1,38,41,41\n",
      "0,0,0,5,8,8\n",
      "0,0,0,35,37,37\n",
      "0,0,1,40,43,43\n",
      "0,0,34,64,67,67\n",
      "0,0,22,48,50,50\n",
      "0,0,6,45,47,47\n",
      "12,15,17,34,35,35\n",
      "0,0,0,36,37,37\n",
      "27,36,39,50,51,51\n",
      "0,0,22,40,42,42\n",
      "0,0,23,37,38,38\n",
      "0,0,6,36,39,39\n",
      "0,0,7,54,59,59\n",
      "36,38,40,43,44,44\n",
      "0,0,21,45,48,48\n",
      "0,0,0,33,34,34\n",
      "0,0,0,35,37,37\n",
      "0,0,28,55,58,58\n",
      "0,0,0,41,43,43\n",
      "19,27,30,41,42,42\n",
      "0,0,28,51,53,53\n",
      "0,1,2,36,37,37\n",
      "2,2,3,33,34,34\n",
      "0,0,0,68,73,73\n",
      "0,0,36,48,50,50\n",
      "0,0,21,44,46,46\n",
      "0,0,0,34,35,35\n",
      "0,0,1,40,41,41\n",
      "0,0,1,41,43,43\n",
      "25,31,34,40,41,41\n",
      "19,23,25,39,40,40\n",
      "0,0,0,34,35,35\n",
      "35,44,48,54,56,56\n",
      "0,0,4,49,51,51\n",
      "0,0,30,58,60,60\n",
      "0,0,0,39,40,40\n",
      "0,0,32,44,47,47\n",
      "0,0,1,3,4,4\n",
      "46,49,52,61,64,64\n",
      "0,0,26,56,59,59\n",
      "0,0,0,66,71,71\n"
     ]
    }
   ],
   "source": [
    "print('\\n'.join(stringit(row) for row in r)"
   ]
  },
  {
   "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.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
