{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Baseline model and assessment - Uses 100 days rather than cumsum versus unadjusted popularity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "\n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>track_id</th>\n",
       "      <th>popularity</th>\n",
       "      <th>all_streams</th>\n",
       "      <th>log_all_streams</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00kzys67XYXiB31cSP5jfo</td>\n",
       "      <td>40</td>\n",
       "      <td>2483</td>\n",
       "      <td>7.817223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00mc2RHScEYMEFlc7FRGaK</td>\n",
       "      <td>28</td>\n",
       "      <td>660</td>\n",
       "      <td>6.492240</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>04HzRAn3BJaIvmhpvc1GVT</td>\n",
       "      <td>51</td>\n",
       "      <td>5666</td>\n",
       "      <td>8.642239</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>04qrVtScdD4IBGSL5q6yEv</td>\n",
       "      <td>49</td>\n",
       "      <td>14832</td>\n",
       "      <td>9.604542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>09aaq7feVx9Jykdw0f00QU</td>\n",
       "      <td>52</td>\n",
       "      <td>8853</td>\n",
       "      <td>9.088512</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 track_id  popularity  all_streams  log_all_streams\n",
       "0  00kzys67XYXiB31cSP5jfo          40         2483         7.817223\n",
       "1  00mc2RHScEYMEFlc7FRGaK          28          660         6.492240\n",
       "2  04HzRAn3BJaIvmhpvc1GVT          51         5666         8.642239\n",
       "3  04qrVtScdD4IBGSL5q6yEv          49        14832         9.604542\n",
       "4  09aaq7feVx9Jykdw0f00QU          52         8853         9.088512"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_feather('../data/basemodel.feather')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5,\n",
       "       error_score=<function mean_squared_error at 0x7f2d9181fb70>,\n",
       "       estimator=Pipeline(memory=None,\n",
       "     steps=[('polynomialfeatures', PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)), ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False))]),\n",
       "       fit_params={}, iid=True, n_jobs=1,\n",
       "       param_grid={'polynomialfeatures__degree': array([0, 1, 2]), 'linearregression__normalize': [True, False]},\n",
       "       pre_dispatch='2*n_jobs', refit=True, scoring=None, verbose=0)"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.grid_search import GridSearchCV\n",
    "from sklearn.metrics import r2_score\n",
    "from sklearn.metrics import mean_squared_error\n",
    "model = LinearRegression(fit_intercept = True)\n",
    "x = df[['popularity']]\n",
    "y = df[['log_all_streams']]\n",
    "\n",
    "def PolynomialRegression(degree=2, **kwargs):\n",
    "    return make_pipeline(PolynomialFeatures(degree), LinearRegression(**kwargs))\n",
    "\n",
    "param_grid = {'polynomialfeatures__degree': np.arange(3), 'linearregression__normalize': [True, False]}\n",
    "\n",
    "grid = GridSearchCV(PolynomialRegression(), param_grid, cv = 5, error_score=mean_squared_error)\n",
    "grid.fit(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE: log_all_streams    8.756124\n",
      "dtype: float64\n",
      "Rsq: 0.3292778744281144\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nG+9a+PXqIa7cr5ekEUk/kzRU//57kq5p2uePJH2z/vWVku6MJK5rJH0t5+t1lqTtko5TbanvByWd\nUfTzq8e4cnt+SbpI0rmStk/b9peSVte/Xi3pKy1+7iRJz9Y/n1j/+sQssUTZYjez31DtIt0qSe7+\nprvva9rtckl/7zWbJQ2b2XsjiKtol0h6xt2bJ4Dlfr16jKsoR0saMrOjVUsMzzc9frlqL+KSdJek\nS8zMIoirCB+QtNndX3f3A5L+TdInm/Yp4vnVS1y5cfeHJb3UtHn68+g2SSta/OgySQ+4+0vu/rKk\nByRdliWWKBO7pNMlTUr6jpltNbNvmdnxTfuMSNo97fs99W1FxyVJF5rZ42b2QzM7s88xNbtS0h0t\nthdxvaZrF5eU8/Xy2i0c/0rSc5L2SnrF3e9v2u3Q9aonjVckvTOCuCTpU/Vyx11mdmo/Y6rbLuki\nM3unmR2nWuu8+bxFPL96iUsq9v/x3e6+V5Lqn9/VYp/g1y7WxH60am9pvuHuiyX9WrW3MdO1aj31\ne4hPL3E9qlq54bckfVXSWJ9jOsTMjpG0XNI/tXq4xbZchkR1iSv361Wvc14u6TRJ8yUdb2Z/0Lxb\nix/t6/XqMa57JC1093NUKz3cpj5z952SvqJaS/JfJT0u6UDTbrlfrx7jKuz/cRaCX7tYE/seSXvc\n/ZH693epllCb95n+6nyK+v+2tWtc7v6qu79W//o+SYNmNq/PcTV8TNKj7v7LFo8Vcb0a2sZV0PW6\nVNLP3H3S3fdL2iDpw037HLpe9bLIO3Tk2+zc43L3X7n7G/Vv/1bSb/c5psZ5b3X3c939ItWuw9NN\nuxTy/OoWV8H/j5L0y0ZJqv75hRb7BL92USZ2d/+FpN1mtqi+6RJJP23a7W5Jn6n3xl+g2tvWvUXH\nZWbvadRizew81a7xr/oZ1zRXqX25I/fr1UtcBV2v5yRdYGbH1c99iaSdTfvcLakxOuHTkjZ5vaer\nyLia6tbLmx/vFzN7V/3zAklX6Mi/ZyHPr25xFfz/KM18Hl0t6fst9tko6aNmdmL9XdtH69vmLo/e\n4rl8SPqQpHFJT6j29ulESddKurb+uEn6uqRnJG2TNBpJXNdJ2qHa28LNkj6cU1zHqfaEfce0bTFc\nr25xFXW9bpb0pGp12n+QdKykP5O0vP7421QrHe2S9F+STo8krlumXa8fS3p/TnH9u2qNmMclXRLR\n86tbXLk9v1R7Udkrab9qrfDPq9Yv8yPV3kn8SNJJ9X1HJX1r2s9+rv5c2yXps1ljYeYpACQmylIM\nAGDuSOwAkBgSOwAkhsQOAIkhsQNAYkjsAJAYEjsAJIbEDgCJ+X8dXgz9jR/ZswAAAABJRU5ErkJg\ngg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = grid.best_estimator_\n",
    "y_pred = model.predict(x)\n",
    "\n",
    "plt.scatter(y_pred, y_pred - y)\n",
    "plt.hlines(y = 0, xmin = 6, xmax = 10)\n",
    "\n",
    "rmse = np.sqrt(np.sum((y_pred - y)**2))\n",
    "print(f'RMSE: {rmse}')\n",
    "print(f'Rsq: {r2_score(y,y_pred)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f2d88c74ba8>"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nMWyWkItMWQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x,y)\n",
    "lim = plt.axis()\n",
    "plt.scatter(x,y_pred, c = 'red')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Next iteration\n",
    "* Evaluate outlier at 0 popularity. It seems to skew the results. It looks like linear would be a good fit here actually"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>track_id</th>\n",
       "      <th>popularity</th>\n",
       "      <th>all_streams</th>\n",
       "      <th>log_all_streams</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0A488iaPeDAUP5q7Jm3paF</td>\n",
       "      <td>0</td>\n",
       "      <td>3175</td>\n",
       "      <td>8.063063</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>1ekNZULmcBHp3WRNKft7ou</td>\n",
       "      <td>8</td>\n",
       "      <td>101</td>\n",
       "      <td>4.615121</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0DPXH5sPDVwjsqfgvmi1yt</td>\n",
       "      <td>26</td>\n",
       "      <td>358</td>\n",
       "      <td>5.880533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>1cinSNWNJeGVxMgUSNCHRT</td>\n",
       "      <td>27</td>\n",
       "      <td>1543</td>\n",
       "      <td>7.341484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>00mc2RHScEYMEFlc7FRGaK</td>\n",
       "      <td>28</td>\n",
       "      <td>660</td>\n",
       "      <td>6.492240</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0uc7dcChlOHGqfcgmQtD1k</td>\n",
       "      <td>29</td>\n",
       "      <td>1052</td>\n",
       "      <td>6.958448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0U1pfb8oRmhHazPuIOndaM</td>\n",
       "      <td>30</td>\n",
       "      <td>794</td>\n",
       "      <td>6.677083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>1ceX0RJWaTob6mJuENTUVG</td>\n",
       "      <td>32</td>\n",
       "      <td>157</td>\n",
       "      <td>5.056246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>17oEEVCQy3VGZuYIv4fk7g</td>\n",
       "      <td>34</td>\n",
       "      <td>115</td>\n",
       "      <td>4.744932</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>5FqevirebpKNGF5FQk60ey</td>\n",
       "      <td>35</td>\n",
       "      <td>22155</td>\n",
       "      <td>10.005818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>0YjlkuZpp05Z9aZsoeTL3S</td>\n",
       "      <td>36</td>\n",
       "      <td>1718</td>\n",
       "      <td>7.448916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>1TDS5WmnoAMCksGScA62rp</td>\n",
       "      <td>38</td>\n",
       "      <td>799</td>\n",
       "      <td>6.683361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0iHqFwZn8z4HvbjHJctOua</td>\n",
       "      <td>39</td>\n",
       "      <td>2213</td>\n",
       "      <td>7.702104</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0D19xrl4GXZWih4NX5Yue8</td>\n",
       "      <td>40</td>\n",
       "      <td>591</td>\n",
       "      <td>6.381816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>00kzys67XYXiB31cSP5jfo</td>\n",
       "      <td>40</td>\n",
       "      <td>2483</td>\n",
       "      <td>7.817223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>1qLi7TR7RUGedFwV9b8sot</td>\n",
       "      <td>41</td>\n",
       "      <td>2490</td>\n",
       "      <td>7.820038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>1dlip6LqrFE3cBdyMqQExf</td>\n",
       "      <td>41</td>\n",
       "      <td>611</td>\n",
       "      <td>6.415097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0e3y2auTf9hpAMlK9l9BWm</td>\n",
       "      <td>41</td>\n",
       "      <td>175</td>\n",
       "      <td>5.164786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0Qq6DG8zjPu8nl8AXi49lw</td>\n",
       "      <td>42</td>\n",
       "      <td>3868</td>\n",
       "      <td>8.260493</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>1QwgOsR7M0vVYO1mBZs9uP</td>\n",
       "      <td>44</td>\n",
       "      <td>1437</td>\n",
       "      <td>7.270313</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>1fNSjDh98pwR0HAkvIcDj3</td>\n",
       "      <td>44</td>\n",
       "      <td>15342</td>\n",
       "      <td>9.638349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0iHA83002w19QxhOIixKDy</td>\n",
       "      <td>44</td>\n",
       "      <td>22155</td>\n",
       "      <td>10.005818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0UvtpHJIvFGuCgJ9rV95Qe</td>\n",
       "      <td>44</td>\n",
       "      <td>5956</td>\n",
       "      <td>8.692154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0VUJYazoMnaZIu5HTQIuB6</td>\n",
       "      <td>44</td>\n",
       "      <td>2829</td>\n",
       "      <td>7.947679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0lvN2fIgifvC63C70WQZDz</td>\n",
       "      <td>45</td>\n",
       "      <td>454</td>\n",
       "      <td>6.118097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>0ySovENVdl0e50eJDdQMML</td>\n",
       "      <td>45</td>\n",
       "      <td>580</td>\n",
       "      <td>6.363028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0rIZGjN9oQTyAwByKpeGBf</td>\n",
       "      <td>46</td>\n",
       "      <td>3806</td>\n",
       "      <td>8.244334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0D6I50oBN4opIAaPp0MRrb</td>\n",
       "      <td>47</td>\n",
       "      <td>8446</td>\n",
       "      <td>9.041448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0bPSRn4crnh5f1JhELPlyL</td>\n",
       "      <td>47</td>\n",
       "      <td>8609</td>\n",
       "      <td>9.060563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>1Ea4QAgJoNCFHqNj7oCOon</td>\n",
       "      <td>47</td>\n",
       "      <td>580</td>\n",
       "      <td>6.363028</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>122lxLiuCUAdpaGOk2KSbe</td>\n",
       "      <td>48</td>\n",
       "      <td>2169</td>\n",
       "      <td>7.682022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0A1xaq9kcUeVZwXHDJAtH8</td>\n",
       "      <td>48</td>\n",
       "      <td>2263</td>\n",
       "      <td>7.724447</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0WYZBUsTyhUkaH2eQ6HUlU</td>\n",
       "      <td>48</td>\n",
       "      <td>523</td>\n",
       "      <td>6.259581</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0iUC7NOX8g5dXVRX61LmJW</td>\n",
       "      <td>49</td>\n",
       "      <td>2001</td>\n",
       "      <td>7.601402</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>1ONgRO7Mp49j33EAAMoK3i</td>\n",
       "      <td>49</td>\n",
       "      <td>1955</td>\n",
       "      <td>7.578145</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>04qrVtScdD4IBGSL5q6yEv</td>\n",
       "      <td>49</td>\n",
       "      <td>14832</td>\n",
       "      <td>9.604542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>1KVQsZPeztZ7GnpVfqAnFX</td>\n",
       "      <td>50</td>\n",
       "      <td>27939</td>\n",
       "      <td>10.237779</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0OmgaIr7HdNJpanSQbyKov</td>\n",
       "      <td>50</td>\n",
       "      <td>2165</td>\n",
       "      <td>7.680176</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0A500BtVTgViTjhWS07yEr</td>\n",
       "      <td>50</td>\n",
       "      <td>11059</td>\n",
       "      <td>9.311000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>04HzRAn3BJaIvmhpvc1GVT</td>\n",
       "      <td>51</td>\n",
       "      <td>5666</td>\n",
       "      <td>8.642239</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>09aaq7feVx9Jykdw0f00QU</td>\n",
       "      <td>52</td>\n",
       "      <td>8853</td>\n",
       "      <td>9.088512</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>0xhY4rD6Gj3djZRyT7T08b</td>\n",
       "      <td>53</td>\n",
       "      <td>1434</td>\n",
       "      <td>7.268223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>1imBH4y5b85vL1mFDxBp9N</td>\n",
       "      <td>54</td>\n",
       "      <td>34178</td>\n",
       "      <td>10.439337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>1OZWyPMwub90x2V6TzRIsz</td>\n",
       "      <td>54</td>\n",
       "      <td>9363</td>\n",
       "      <td>9.144521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0NsZlandaYpsQZ98GjymqZ</td>\n",
       "      <td>54</td>\n",
       "      <td>4063</td>\n",
       "      <td>8.309677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0rEwD7QVscNnz05ooEb0qB</td>\n",
       "      <td>55</td>\n",
       "      <td>3105</td>\n",
       "      <td>8.040769</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>1ie1M25b3I0Kvl1DQY6lbI</td>\n",
       "      <td>55</td>\n",
       "      <td>1824</td>\n",
       "      <td>7.508787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>1lLuhJSggOEPVfSgfa9r2n</td>\n",
       "      <td>55</td>\n",
       "      <td>1453</td>\n",
       "      <td>7.281386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0Tt81ZbYRH0Aj04CJBRYWK</td>\n",
       "      <td>58</td>\n",
       "      <td>8902</td>\n",
       "      <td>9.094031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>184HI8TB2GGFMkgOQvVwYW</td>\n",
       "      <td>58</td>\n",
       "      <td>9823</td>\n",
       "      <td>9.192482</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0Nw0Z2VXKuiFSikzWvgqR6</td>\n",
       "      <td>59</td>\n",
       "      <td>11839</td>\n",
       "      <td>9.379154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>1EDkPryAg1Sv2H2WNoKRLJ</td>\n",
       "      <td>60</td>\n",
       "      <td>3116</td>\n",
       "      <td>8.044305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>4n8df1lKaP8on42bdQJHcz</td>\n",
       "      <td>60</td>\n",
       "      <td>12822</td>\n",
       "      <td>9.458918</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0gOloXVox0hwdtty5VsCfS</td>\n",
       "      <td>62</td>\n",
       "      <td>39833</td>\n",
       "      <td>10.592451</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  track_id  popularity  all_streams  log_all_streams\n",
       "6   0A488iaPeDAUP5q7Jm3paF           0         3175         8.063063\n",
       "41  1ekNZULmcBHp3WRNKft7ou           8          101         4.615121\n",
       "11  0DPXH5sPDVwjsqfgvmi1yt          26          358         5.880533\n",
       "37  1cinSNWNJeGVxMgUSNCHRT          27         1543         7.341484\n",
       "1   00mc2RHScEYMEFlc7FRGaK          28          660         6.492240\n",
       "26  0uc7dcChlOHGqfcgmQtD1k          29         1052         6.958448\n",
       "25  0U1pfb8oRmhHazPuIOndaM          30          794         6.677083\n",
       "36  1ceX0RJWaTob6mJuENTUVG          32          157         5.056246\n",
       "34  17oEEVCQy3VGZuYIv4fk7g          34          115         4.744932\n",
       "53  5FqevirebpKNGF5FQk60ey          35        22155        10.005818\n",
       "31  0YjlkuZpp05Z9aZsoeTL3S          36         1718         7.448916\n",
       "51  1TDS5WmnoAMCksGScA62rp          38          799         6.683361\n",
       "15  0iHqFwZn8z4HvbjHJctOua          39         2213         7.702104\n",
       "9   0D19xrl4GXZWih4NX5Yue8          40          591         6.381816\n",
       "0   00kzys67XYXiB31cSP5jfo          40         2483         7.817223\n",
       "49  1qLi7TR7RUGedFwV9b8sot          41         2490         7.820038\n",
       "38  1dlip6LqrFE3cBdyMqQExf          41          611         6.415097\n",
       "12  0e3y2auTf9hpAMlK9l9BWm          41          175         5.164786\n",
       "21  0Qq6DG8zjPu8nl8AXi49lw          42         3868         8.260493\n",
       "50  1QwgOsR7M0vVYO1mBZs9uP          44         1437         7.270313\n",
       "42  1fNSjDh98pwR0HAkvIcDj3          44        15342         9.638349\n",
       "14  0iHA83002w19QxhOIixKDy          44        22155        10.005818\n",
       "27  0UvtpHJIvFGuCgJ9rV95Qe          44         5956         8.692154\n",
       "28  0VUJYazoMnaZIu5HTQIuB6          44         2829         7.947679\n",
       "17  0lvN2fIgifvC63C70WQZDz          45          454         6.118097\n",
       "32  0ySovENVdl0e50eJDdQMML          45          580         6.363028\n",
       "23  0rIZGjN9oQTyAwByKpeGBf          46         3806         8.244334\n",
       "10  0D6I50oBN4opIAaPp0MRrb          47         8446         9.041448\n",
       "8   0bPSRn4crnh5f1JhELPlyL          47         8609         9.060563\n",
       "39  1Ea4QAgJoNCFHqNj7oCOon          47          580         6.363028\n",
       "33  122lxLiuCUAdpaGOk2KSbe          48         2169         7.682022\n",
       "5   0A1xaq9kcUeVZwXHDJAtH8          48         2263         7.724447\n",
       "29  0WYZBUsTyhUkaH2eQ6HUlU          48          523         6.259581\n",
       "16  0iUC7NOX8g5dXVRX61LmJW          49         2001         7.601402\n",
       "47  1ONgRO7Mp49j33EAAMoK3i          49         1955         7.578145\n",
       "3   04qrVtScdD4IBGSL5q6yEv          49        14832         9.604542\n",
       "45  1KVQsZPeztZ7GnpVfqAnFX          50        27939        10.237779\n",
       "20  0OmgaIr7HdNJpanSQbyKov          50         2165         7.680176\n",
       "7   0A500BtVTgViTjhWS07yEr          50        11059         9.311000\n",
       "2   04HzRAn3BJaIvmhpvc1GVT          51         5666         8.642239\n",
       "4   09aaq7feVx9Jykdw0f00QU          52         8853         9.088512\n",
       "30  0xhY4rD6Gj3djZRyT7T08b          53         1434         7.268223\n",
       "44  1imBH4y5b85vL1mFDxBp9N          54        34178        10.439337\n",
       "48  1OZWyPMwub90x2V6TzRIsz          54         9363         9.144521\n",
       "18  0NsZlandaYpsQZ98GjymqZ          54         4063         8.309677\n",
       "22  0rEwD7QVscNnz05ooEb0qB          55         3105         8.040769\n",
       "43  1ie1M25b3I0Kvl1DQY6lbI          55         1824         7.508787\n",
       "46  1lLuhJSggOEPVfSgfa9r2n          55         1453         7.281386\n",
       "24  0Tt81ZbYRH0Aj04CJBRYWK          58         8902         9.094031\n",
       "35  184HI8TB2GGFMkgOQvVwYW          58         9823         9.192482\n",
       "19  0Nw0Z2VXKuiFSikzWvgqR6          59        11839         9.379154\n",
       "40  1EDkPryAg1Sv2H2WNoKRLJ          60         3116         8.044305\n",
       "52  4n8df1lKaP8on42bdQJHcz          60        12822         9.458918\n",
       "13  0gOloXVox0hwdtty5VsCfS          62        39833        10.592451"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sort_values('popularity')"
   ]
  }
 ],
 "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.6"
  },
  "widgets": {
   "state": {},
   "version": "1.1.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
