{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "import numpy as np\n", "import glob\n", "import re\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# read PSVs into DataFrame\n", "games = []\n", "files = glob.glob('cbb-play-data/*.psv')\n", "for f in files:\n", " df = pd.read_csv(f, sep='|')\n", " df['game_id'] = f.replace('.psv', '')\n", " games.append(df)\n", "\n", "print 'Read {0} games'.format(len(games))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Read 2530 games\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "games_df = pd.concat(games)\n", "\n", "# add event_id to maintain event order\n", "# we can use the index since pandas defaults to the Nth row of the file\n", "games_df['event_id'] = games_df.index\n", "\n", "# melt data into one column for home/away and another for event\n", "# maintain play order by sorting on event_id\n", "melted = pd.melt(games_df, id_vars=['event_id', 'game_id', 'time', 'score'],\n", " var_name='team', value_name='event')\n", "melted.sort_index(by=['game_id', 'event_id'], inplace=True)\n", "\n", "# drop rows with NaN events - an event only belongs to one team\n", "melted = melted[melted.event.notnull()]\n", "print melted[10:15]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " event_id game_id time score team \\\n", "10 10 cbb-play-data/323140038 17:56 3-4 away \n", "11 11 cbb-play-data/323140038 17:40 3-4 away \n", "801719 12 cbb-play-data/323140038 17:40 3-4 home \n", "801720 13 cbb-play-data/323140038 17:35 3-4 home \n", "14 14 cbb-play-data/323140038 17:35 3-4 away \n", "\n", " event \n", "10 Karl Cochran Defensive Rebound. \n", "11 Karl Cochran missed Three Point Jumper. \n", "801719 Askia Booker Defensive Rebound. \n", "801720 Askia Booker missed Jumper. \n", "14 Spencer Collins Defensive Rebound. \n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "# label whether three pointers were made or missed\n", "get_shot_result = lambda x: re.findall('(made|missed)', x)[0]\n", "shot3 = melted.event.str.contains('Three Point')\n", "melted['shot_result'] = melted[shot3].event.apply(get_shot_result)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "def criteria(df):\n", " \"\"\"Labels if the three pointer was preceded by an offensive rebound.\"\"\"\n", " df['after_oreb'] = ((df.event.str.contains('Three Point')) & \\\n", " df.event.shift(1).str.contains('Offensive Rebound'))\n", " df.after_oreb.fillna(False, inplace=True)\n", " return df\n", "\n", "melted = melted.groupby('game_id').apply(criteria)\n", "melted[melted.shot_result.notnull()].head(3)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
event_idgame_idtimescoreteameventshot_resultafter_oreb
801707 0 cbb-play-data/323140038 19:28 0-0 home Askia Booker missed Three Point Jumper. missed False
2 2 cbb-play-data/323140038 19:12 0-0 away Karl Cochran missed Three Point Jumper. missed False
5 5 cbb-play-data/323140038 18:43 3-2 away Spencer Collins made Three Point Jumper. Assi... made False
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ " event_id game_id time score team \\\n", "801707 0 cbb-play-data/323140038 19:28 0-0 home \n", "2 2 cbb-play-data/323140038 19:12 0-0 away \n", "5 5 cbb-play-data/323140038 18:43 3-2 away \n", "\n", " event shot_result \\\n", "801707 Askia Booker missed Three Point Jumper. missed \n", "2 Karl Cochran missed Three Point Jumper. missed \n", "5 Spencer Collins made Three Point Jumper. Assi... made \n", "\n", " after_oreb \n", "801707 False \n", "2 False \n", "5 False " ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "threes = melted[melted.shot_result.notnull()]\n", "attempts = threes.groupby(['shot_result', 'after_oreb']).size().unstack(0)\n", "attempts['perc'] = attempts.made.astype(float) / (attempts.made + attempts.missed)\n", "print attempts" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "shot_result made missed perc\n", "after_oreb \n", "False 28688 55956 0.338925\n", "True 2505 4692 0.348062\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "attempts.index = ['No', 'Yes']\n", "plt.figure(figsize=[8, 6])\n", "attempts.perc.plot(kind='bar')\n", "plt.ylabel('3P%')\n", "plt.xlabel('After Offensive Rebound?')\n", "plt.grid(False);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nzJgxeuqppxSNRtXT06Onn35a11xzTbynBcTdoEGD9K//+q9auXKlZs+eLUk6efJknGeFeCPoSFgr\nVqzQM888o8985jMaN26cnn322dhHG4FPsxUrVmjbtm36zne+owkTJmjfvn2aP39+vKeFOONjawCQ\nhLq6urR//35lZ2fHeypIEK59sQxwsZYuPft3Up/+Dubvfve7l3M6QMJZt26d7r//fn3wwQfq6OhQ\nS0uL/u7v/k7r1q2L99QQRxxyR8IZOnSohg0b1uviOI4ef/xx1dbWxnt6QNzV1NTolVde0ahRoyRJ\nfr9fb731VpxnhXhjDx0J57777ov9ffjwYS1btkxPPPGEKisr9c1vfjOOMwMSg8fj0ciRI3vdlpLC\n/tmnHf8FICG9++67evDBB5WXl6eTJ09qx44dqq2t1R/90R/Fe2pA3MycOVP79u3TxIkTtWrVKvX0\n9KitrU1LlizR5z//+XhPD3FG0JFw7rvvPhUUFOjqq69Wa2urli5dGju0CHyafe1rX1NZWZmuu+46\nvf766xo8eLBuvfVWDR8+XP/8z/8c7+khzjjLHQknJSVFgwYNksfjOeM+x3F0+PDhOMwKSAxHjx7V\nQw89pKamJs2fPz92qN1xHN17771xnh3iiffQkXA+/PDDeE8BSFgej0dDhw5Vd3e3jh49ynvniCHo\nAJAkmpqadO+992rOnDnasWOHrrrqqnhPCQmEQ+4AkCSKi4v1L//yL7rpppviPRUkIIIOAEnCGBP7\ngiXgk3jzBQCSBDHHuRB0AAAsQNABALAAQQcAwAIEHbhEa9euVUpKit54443YbZ2dnSosLNTUqVO1\nZcsW/fjHP77k5+nu7tZf//VfKzMzUzfccIPmzp2rSCQSu3/ZsmW68cYbNX/+fHV3d6ukpER+v1/P\nPvvsJT/3adOmTRuQx7niiivk9/uVm5uriooKHT169JzjFy5cqOeff35Anru/hg0bJknasmWLAoGA\nJk6cqLlz56q7u/uyzgPoL4IOXKLVq1dr9uzZWr16dey23/zmN8rNzdX27dvl9Xr1ox/96IIe0xij\nT34A5W//9m917Ngxvfnmm3rzzTc1d+5cVVRUxO7/8Y9/rI0bN+qpp57Sjh075DiOWlpadMstt1za\nC/yYrVu3DsjjXHXVVWppaVFra6uGDx+u+vr6c46Px8lgp59zyJAhampq0muvvaarrrpqQP8HCRhI\nBB24BEePHtUrr7yiuro6NTQ0SJJ27typBx54QI2NjfL7/frWt76lvXv3yu/364EHHpAkPfzwwyoo\nKFBeXp5qamokSR0dHcrKytKCBQs0adIkHThwIPY8XV1devLJJ/VP//RPsdAsXLhQV155pV588UV9\n/etf11tvvaUZM2boH//xHzV//nz953/+Z+xnNbdv365gMKhAIKAZM2bo4MGDkqRgMKhvfetbKiws\nVFZWlrZs2SJJev3111VYWCi/36+8vDzt3btX0kd7rZWVlVq/fn1sfgsXLtQLL7ygDz/8UPfff3/s\ntf3kJz85779hUVFR7PH37t2rmTNnKhAI6E/+5E96HfXYuHGj8vPzlZWVpX//93+XJJ04cUJ33HGH\ncnNzNWXKFIVCIUnSk08+qSVLlsS2nT17tjZv3hx7DQ8++KAmT56soqIivfPOO5Kkffv2qaioSLm5\nuXrwwQdj206dOlXXXHONJOmDDz7QkCFDzvuagLgwAC7a008/baqrq40xxhQXF5vt27cbY4x58skn\nzZIlS4wxxnR0dJiJEyfGtvnVr35l7rrrLmOMMdFo1MyePdts3rzZ7Nu3z6SkpJhXXnnljOd59dVX\njd/vP+P2e+65x/zwhz80xhjj8/nMu+++a4wxJhQKmdmzZxtjjOnu7jZFRUXm97//vTHGmDVr1piv\nfe1rxhhjgsGgue+++4wxxqxfv96UlJQYY4xZvHixWbVqlTHGmJMnT5rjx48bY4wZNmyYMcaYn//8\n52bBggXGGGM++OADk56ebk6cOGHq6+vN3//93xtjjDlx4oQJBAJm3759Z8z79OP09PSYiooK89hj\njxljjPniF79o2trajDHGbNu2zXzxi180xhizYMECM3PmTGOMMW1tbcbr9ZoTJ06YRx55xFRVVRlj\njNmzZ4/57Gc/a06cOGGefPJJs3jx4tjzzZ492/zHf/yHMcYYx3HML37xC2OMMX/zN38Tm++cOXPM\nU089ZYwx5rHHHovN8bSf/vSnZtq0aaanp+eM1wMkAr76FbgEq1ev1j333CNJuuWWW7R69WpNmTKl\n1yFz84lD5xs2bNCGDRvk9/slSceOHVN7e7vS09N13XXXqaCg4JLn9fHnfOONN/T666+rpKREkhSN\nRjV+/PjY/acP20+ZMkUdHR2SpM9//vP6/ve/rwMHDqiiokIZGRm9Hn/GjBn6xje+oe7ubv3yl7/U\nn/7pn+rKK6/Uhg0btGvXLj333HOSTv2efXt7u3w+X6/tjx8/Lr/fr0gkIp/Pp69//es6evSofvvb\n3/Z6i+CwfgRaAAADxElEQVT0+9WO4+grX/mKJCkjI0Of+9zntGfPHm3dulV33323JCkrK0vXXXed\n3nzzzXP+2wwaNEhf+tKXJJ3a+/71r38tSXr55Zf185//XJL053/+57GjKdKpcyIeeughtbS06Ior\nrjjn4wPxQtCBi/Tee+9p06ZNeu211+Q4jqLRqFJSUvTwww+fd9tvf/vbuuuuu3rd1tHRoaFDh551\n/PXXX6/9+/fr6NGjscPekrR9+3bNmTPnnM9ljNFNN92kl19++az3X3nllZJOnajW09MjSbr11lv1\nx3/8x/rFL36hWbNmqb6+Xl/4whdi2wwePFjBYFC/+tWv9Mwzz+jWW2+N3VdXV6fS0tJzzmnIkCFq\naWnR8ePHVVZWpsbGRpWUlGjkyJFqaWk557annX7r4ZP/w+Q4jlJTU3v9yM+JEydif3/8V/xSUlJi\nr/lc3njjDeXm5mr06NH9mhsQD7yHDlyk5557Tl/96lfV0dGhffv2af/+/fL5fHrppZd6ncR19dVX\n68iRI7HrZWVlWrFihY4dOyZJikQi6uzsPOdzDR06VAsWLNC9994bC9XKlSt1/PjxXqE9m6ysLHV2\ndmrbtm2SpJMnT2r37t3n3Oatt97ShAkTtGTJEn35y1/Wrl27zhjzZ3/2Z1qxYoVeeuklzZgxI/ba\nfvSjH8Ui+eabb6qrq6vP5xkyZIiWLVum73znOxo2bJgmTJgQ27s3xqi1tTX297PPPitjjPbu3au3\n3npL2dnZKi4u1qpVq2LPtX//fmVlZcnn82nnzp0yxigcDqu5ufmcr1c6dQb/mjVrJCn2mB//N/z4\nHjuQiAg6cJHWrFmjefPm9brt5ptvjp3tfjrqY8aM0bRp0zRp0iQ98MADKi0t1W233RY7AesrX/lK\n7GNb5zqb+x/+4R80ePBg3XDDDbrhhhv0/PPPxw4Rf3Jbx3Fi1wcNGqTnnntODzzwgCZPniy/36/f\n/va3Z32O09s888wzmjhxovx+v15//XV99atfPeM5pk+frs2bN6u0tFSpqacO9v3FX/yFbrzxRk2Z\nMkWTJk3SokWLzroH/PHHmTx5sjIyMvTMM89o1apVevzxxzV58mRNnDhR69ati43/7Gc/q4KCgtgR\ng0GDBukv//Iv9eGHHyo3N1eVlZX62c9+Jo/Ho2nTpmnChAm68cYb9Y1vfENTp04977/To48+qsce\ne0y5ubl6++23e43bv38/Z7cj4fHjLAAAWIA9dAAALEDQAQCwAEEHAMACBB0AAAsQdAAALEDQAQCw\nAEEHAMAC/w9FvjMQEwh2yQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "melted['minutes'] = melted.time.apply(lambda x: int(x.split(':')[0]))\n", "melted['seconds'] = melted.time.apply(lambda x: int(x.split(':')[1]))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "duped_cols = ['game_id', 'event_id', 'time', 'event']\n", "melted[melted.duplicated(cols=duped_cols)][:3]" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
event_idgame_idtimescoreteameventshot_resultafter_orebminutesseconds
801733 26 cbb-play-data/323140038 15:48 Colorado Full Timeout. home Colorado Full Timeout. NaN False 15 48
801758 51 cbb-play-data/323140038 11:50 Wofford Full Timeout. home Wofford Full Timeout. NaN False 11 50
801764 57 cbb-play-data/323140038 11:45 Colorado Full Timeout. home Colorado Full Timeout. NaN False 11 45
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ " event_id game_id time score \\\n", "801733 26 cbb-play-data/323140038 15:48 Colorado Full Timeout. \n", "801758 51 cbb-play-data/323140038 11:50 Wofford Full Timeout. \n", "801764 57 cbb-play-data/323140038 11:45 Colorado Full Timeout. \n", "\n", " team event shot_result after_oreb minutes seconds \n", "801733 home Colorado Full Timeout. NaN False 15 48 \n", "801758 home Wofford Full Timeout. NaN False 11 50 \n", "801764 home Colorado Full Timeout. NaN False 11 45 " ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "melted.drop_duplicates(cols=['game_id', 'event_id', 'event'], inplace=True)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "melted['period_end'] = melted.event.apply(lambda x: x.startswith('End of'))\n", "melted[melted.period_end].head(3)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
event_idgame_idtimescoreteameventshot_resultafter_orebminutessecondsperiod_end
133 133 cbb-play-data/323140038 0:00 End of the 1st Half. away End of the 1st Half. NaN False 0 0 True
305 305 cbb-play-data/323140038 0:00 End of the 2nd Half. away End of the 2nd Half. NaN False 0 0 True
462 155 cbb-play-data/323140041 0:00 End of the 1st Half. away End of the 1st Half. NaN False 0 0 True
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " event_id game_id time score team \\\n", "133 133 cbb-play-data/323140038 0:00 End of the 1st Half. away \n", "305 305 cbb-play-data/323140038 0:00 End of the 2nd Half. away \n", "462 155 cbb-play-data/323140041 0:00 End of the 1st Half. away \n", "\n", " event shot_result after_oreb minutes seconds period_end \n", "133 End of the 1st Half. NaN False 0 0 True \n", "305 End of the 2nd Half. NaN False 0 0 True \n", "462 End of the 1st Half. NaN False 0 0 True " ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "calculate_period = lambda x: x.shift(1).cumsum().fillna(0) + 1\n", "melted['period'] = melted.groupby('game_id').period_end.apply(calculate_period)\n", "melted[melted.period_end].head(3)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
event_idgame_idtimescoreteameventshot_resultafter_orebminutessecondsperiod_endperiod
133 133 cbb-play-data/323140038 0:00 End of the 1st Half. away End of the 1st Half. NaN False 0 0 True 1
305 305 cbb-play-data/323140038 0:00 End of the 2nd Half. away End of the 2nd Half. NaN False 0 0 True 2
462 155 cbb-play-data/323140041 0:00 End of the 1st Half. away End of the 1st Half. NaN False 0 0 True 1
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ " event_id game_id time score team \\\n", "133 133 cbb-play-data/323140038 0:00 End of the 1st Half. away \n", "305 305 cbb-play-data/323140038 0:00 End of the 2nd Half. away \n", "462 155 cbb-play-data/323140041 0:00 End of the 1st Half. away \n", "\n", " event shot_result after_oreb minutes seconds period_end \\\n", "133 End of the 1st Half. NaN False 0 0 True \n", "305 End of the 2nd Half. NaN False 0 0 True \n", "462 End of the 1st Half. NaN False 0 0 True \n", "\n", " period \n", "133 1 \n", "305 2 \n", "462 1 " ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "calculate_period = lambda x: x.shift(1).cumsum().fillna(0) + 1\n", "melted['period'] = melted.groupby('game_id').period_end.apply(calculate_period)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "melted.set_index('game_id', inplace=True)\n", "\n", "# 40min regulation game + (# periods - 2 halves) * 5min OTs\n", "gametime = lambda x: 40 + (x - 2) * 5\n", "melted['gametime'] = melted.groupby(level=0).period.max().apply(gametime)\n", "melted.reset_index('game_id', inplace=True)\n", "melted.groupby('gametime').game_id.nunique()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "gametime\n", "35 44\n", "40 2062\n", "45 373\n", "50 41\n", "55 8\n", "60 2\n", "dtype: int64" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "melted.loc[melted.gametime == 35, 'gametime'] = 40" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "def clock_to_secs_left(df):\n", " \"\"\"Calculates the total seconds left in the game.\"\"\"\n", " df['secs_left'] = np.nan\n", " df.loc[df.period == 1, 'secs_left'] = (df.minutes * 60) + 1200 + df.seconds\n", " df.loc[df.period > 1, 'secs_left'] = (df.minutes * 60) + df.seconds\n", " return df" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "clock_to_secs_left(melted)\n", "print melted[['game_id', 'time', 'event', 'period', 'secs_left']][:5]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " game_id time \\\n", "0 cbb-play-data/323140038 19:28 \n", "1 cbb-play-data/323140038 19:28 \n", "2 cbb-play-data/323140038 19:12 \n", "3 cbb-play-data/323140038 19:12 \n", "4 cbb-play-data/323140038 19:05 \n", "\n", " event period secs_left \n", "0 Askia Booker missed Three Point Jumper. 1 2368 \n", "1 Wofford Defensive Rebound. 1 2368 \n", "2 Karl Cochran missed Three Point Jumper. 1 2352 \n", "3 Spencer Dinwiddie Defensive Rebound. 1 2352 \n", "4 Askia Booker made Layup. Assisted by Spencer ... 1 2345 \n" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "melted['secs_elapsed'] = melted.secs_left.shift(1) - melted.secs_left\n", "\n", "mask = (melted.secs_elapsed >= 0) & (melted.secs_elapsed <= 7)\n", "threes_after_orebs = melted[melted.after_oreb & mask]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "grouped = threes_after_orebs.groupby(['shot_result', 'secs_elapsed']).size()\n", "grouped = grouped.unstack(0).fillna(0)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "grouped['attempts'] = grouped.made + grouped.missed\n", "grouped['percentage'] = grouped.made / grouped.attempts.astype(float)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "t = threes.shot_result.value_counts()\n", "t = float(t['made']) / (t['made'] + t['missed'])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure(figsize=(12.5, 7))\n", "\n", "plt.plot(grouped.percentage, label='O-Reb 3P%', color='#377EB8')\n", "plt.hlines(t, 0, 7, label='\"Normal\" 3P%', linestyles='--')\n", "plt.xlabel('Seconds Since Offensive Rebound')\n", "plt.xticks(np.arange(8))\n", "plt.ylabel('3-Point Percentage', labelpad=15)\n", "plt.grid(False)\n", "plt.legend(loc='lower right');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "convert = lambda x: True if x == 'made' else False\n", "\n", "normal_criteria = (melted.after_oreb == False) & melted.shot_result.notnull()\n", "normal = melted[normal_criteria].shot_result.apply(convert)\n", "\n", "after_criteria = (melted.after_oreb) & melted.shot_result.notnull() & \\\n", " (melted.secs_elapsed <= 7)\n", "after = melted[after_criteria].shot_result.apply(convert)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "print \"After O-Reb 3P%:\", after.mean()\n", "print \"Sample Size:\", len(after)\n", "print \"\\n\"\n", "print \"All other 3P%:\", normal.mean()\n", "print \"Sample Size:\", len(normal)\n", "print \"\\n\"\n", "print \"Absolute difference: %.4f\" % (after.mean() - normal.mean())" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "After O-Reb 3P%: 0.349338178043\n", "Sample Size: 3853\n", "\n", "\n", "All other 3P%: 0.338926769318\n", "Sample Size: 84623\n", "\n", "\n", "Absolute difference: 0.0104\n" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "m = normal - normal.mean()\n", "m2 = m**2\n", "print (m2.sum() / len(m2)), normal.std()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.224055414358 0.473347717939\n" ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "import pymc as pm" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "with pm.Model() as model:\n", " # no chance 3P% is out of this range\n", " p_normal = pm.Uniform(\"p_normal\", lower=0.3, upper=0.4)\n", " p_after = pm.Uniform(\"p_after\", lower=0.3, upper=0.4)\n", " model.deterministics.append(pm.Deterministic(\"p_delta\",p_after-p_normal))\n", " \n", " # scraped observations\n", " obs_normal = pm.Bernoulli(\"obs_normal\", p_normal, observed=normal.astype(int))\n", " obs_after = pm.Bernoulli(\"obs_after\", p_after, observed=after.astype(int)) \n", " \n", " m = pm.HamiltonianMC()\n", " print \"running...\"\n", " trace = pm.psample(1000, m)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "running...\n" ] } ], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "atrace = trace.combined()\n", "p_normal_samples = atrace['p_normal'][:]\n", "p_after_samples= atrace['p_after'][:]\n", "delta_samples = atrace['p_after']-atrace['p_normal']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.figure(figsize=(12.5, 10))\n", "\n", "ax = plt.subplot(311)\n", "plt.xlim(0.3, 0.4)\n", "plt.xticks(np.arange(0.3, 0.401, 0.01))\n", "plt.ylim(0, 300)\n", "plt.hist(p_normal_samples, histtype='stepfilled', bins=50, normed=True, \n", " color='#E41A1C', label='3P% \"Normal\"')\n", "plt.vlines(normal.mean(), 0, 300, linestyles='--', label='True \"Normal\" 3P%')\n", "plt.legend()\n", "plt.grid(False)\n", "\n", "ax = plt.subplot(312)\n", "plt.xlim(0.3, 0.4)\n", "plt.xticks(np.arange(0.3, 0.401, 0.01))\n", "plt.ylim(0, 300)\n", "plt.hist(p_after_samples, histtype='stepfilled', bins=50, normed=True,\n", " color='#4DAF4A', label='3P% After Off. Reb.')\n", "plt.vlines(after.mean(), 0, 300, linestyles='--',\n", " label='True 3P% After Off. Reb.')\n", "plt.legend()\n", "plt.grid(False)\n", "\n", "ax = plt.subplot(313)\n", "plt.xlim(-0.05, 0.05)\n", "plt.xticks(np.arange(-0.05, 0.051, 0.01))\n", "plt.ylim(0, 300)\n", "plt.hist(delta_samples, histtype='stepfilled', bins=50, normed=True,\n", " color='#377EB8', label='Delta')\n", "plt.vlines(0, 0, 300, linestyles='--', label='$H_0$ (No difference)')\n", "plt.legend()\n", "plt.grid(False);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nq9CTRAsKChg+fDhz5szB09OTCRMm8NJLLwHw4osv8swzz7Bw4cJyy15tqZzLf9FGREQQERFxY5GL\nyE0nLi5OSbqIiFQbSUlJJCUl2b3e667icunSJe69914GDhzIxIkTrzh+5MgRBg8ezIEDB0hISADg\nhRdeAOD3v/89cXFx9OjRo2yjmicmIpWgzw4RuRp9PkhVcuocdMMwiImJISQkpExyfuLECevPq1at\nomPHjgAMGTKEZcuWUVRUxOHDh/nxxx/p3r27zUGKyM2ruLgYi78/3h4ezg5FRESkSlxzisvOnTtZ\nsmQJnTp1Ijw8HIC//vWvLF26lH379mEymWjZsiULFiwAICQkhKioKEJCQnBzc2P+/Pl6GpSI2KS4\nuJhTZ84wy+zNny5ccHY4IiLiQBEREYwZM4aYmBhnh+JU1xxB/93vfkdpaSn79u0jJSWFlJQUBg4c\nyOLFi/n666/Zv38/q1evxt/f31pm6tSppKWl8f3333P33Xc7/AJEpPYzmUzU1x/7IlIDeXp6Yjab\nMZvNuLi4UL9+fev20qVLHdbuokWLGDduHEePHqVly5bW/cHBwfj7+1NYWGjd995779G3b1+HxXIj\nTCaTdXD3atfwW3379sXPzw8vLy/at2/Pu+++az22aNEiXF1dMZvNeHt7Ex4ezoYNG4BfnvfTs2dP\nGjVqxLPPPlumzoEDB7J3714HXGHFVHgVFxERZ2vTogXr164lOiqKx8eN49y5c84OSUTkmgoKCsjP\nzyc/P58WLVqwfv166/bIkSOt5xUXF1dZTKWlpcyZM8fmegzDqBbz/ufOnUtGRgZ5eXkkJibypz/9\niR9++MF6vFevXuTn55OTk0NMTAxRUVHk5OQQHx/PuHHjOHz4MKtXr2bPnj0ALF++nFatWtGlSxdn\nXZISdBGpOYICAvhHYiIF6zewctkyTp486eyQREQqJSkpCYvFwquvvkpgYCDjx48nMTGR3r17lznP\nxcWFn376CYCLFy/y7LPP0qJFCwICApgwYQIXrjL17/KR6MunG5tMJp599llee+01cnNzyy37xRdf\ncNttt9GwYUO6d+/Ol19+aT0WERHBtGnT6NWrF56envz000+4uLjw1ltv0aZNG7y8vHjppZc4dOgQ\nt99+Ow0bNuShhx7i0qVLAOTk5HDvvffi5+eHr68vgwcPvuqS3Fe7ht/q2LEj7u7u1m1PT0+8vLys\n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\neXzWIZSsjAxMOTkcO3+eC0VFzg5LRERqAHvluJriIiI37PtvvuGBc4V86efPBE9zlSXns/JyHd5G\n/3oedPvmWwZn57DCowGXiou5s0sXXv3LXxzetoiICDgoQd+0aRPt2rWjTZs2zNQT+URqjbS0NEY9\n8AAff/opjV1caOpatbPkZhfkO7yNW93d+bPZi2fMXjRxdWVDoyb0SjtE0pYtDm9bREQEHJCgl5SU\n8OSTT7Jp0yZSU1NZunQp3333nb2bqZWSkpKcHUK1oz4pX1X3S1FREa2bN6db5878tHUrEwsKuaee\nR5XGUBFfXLxg9zo71qlDO3d3CgoLef/99/nz5MlMmzqV8+fP270tR9H/oyupT8qnfimf+qV86hfH\nsXuCnpycTOvWrQkODsbd3Z2HHnqINWvW2LuZWklv9CupT8rnqH755z//ydy5c9m6dat13yeffMKc\nOXPIOHGCT83e/MPszQP16+Pr6uqQGGzx5cWLDqm3qasrp39MY9qf/kTqW2/z1uzZpKenO6QtR9D/\noyupT8qnfimf+qV86hfHsfv30xkZGTRr1sy6bbFY+O9//2vvZkTEBoZhsHHjRi5cuEBYWBi33HIL\nAI898gjdXVxZbAnCNG8ec155hZ27d9PL1ZWJZi/8qmFSXhVC3Ouw1b2OdbvPuXz+/e9/s3HNGjzc\n3GjVsSP9BwwgMjKSBg0aODFSERGpDeyeoJtMJntXKSJ2dvLkSQYNGlTusYN16nDk++8ZMGAAAEHu\n7nh5mjlhMvG/F5w/reNaMewrLuZsFcR4KDeXKVOm/N+Ozz9n/ltvWTeLiopwd3d3eBwiIlI72X2Z\nxV27dhEbG8umTZsAiI+Px8XFheeff956TuvWrTl06JA9mxURERERcapWrVqRlpZmcz12T9CLi4u5\n9dZb+fjjj2natCndu3dn6dKltG/f3p7NiIiIiIjUSnaf4uLm5sbf//537r77bkpKSoiJiVFyLiIi\nIiJSQU55kqiIiIiIiJTPrsssXu8BRWvWrKFz586Eh4fTtWtXPvnkkwqXrcls6Zfx48fj7+9Px44d\nqzLkKlHZfklPT6dv376EhobSoUMH5s6dW9WhO1Rl++XChQv06NGDsLAwQkJCyt7EWMPZ8n8Ifnk+\nQ3h4OIMHD66qkKuELf0SHBxMp06dCA8Pp3v37lUZtsPZ0i85OTkMHz6c9u3bExISwq5du6oydIeq\n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\nvobevXurtrZWpaWl6tmzZ5uu7wwk6AAA4JL3/WSwW7duqqqqsn7/3aoq0rdJZ5cuXZSdnd3sWPKW\n1NbWysfHR507d25zHcMwdM8992jFihUqKSlRfX29YmJiFB4ers8//9xmndWrV6uhoUHTpk2zHquu\nrtaqVatsJug+Po0HVsTExKhz5846depUk7LvtJZET5w4UX/961912223NTq+du1aXXXVVQ6boPqd\na665Rvfcc48eeughffTRR+rdu7fmzp2rP/3pT83WOX78eKN/+/v7q0ePHg6N62IxxAUAvAiTRAHH\nGD58uP7973/r0KFDqq6ubvSz5ePjo9tvv12LFi1SSUmJpG/HOm/bts1mW++9955ycnLU0NCgkpIS\n3XfffZo2bVqjBL21IRV//vOfNXLkSA0bNkxhYWE6d+6cvvjiC3300Ufq16+fzTqrVq1Senq6Dh06\nZP1at26d3n//fZtDSyIiInT06FFrLFFRUZo8ebLuu+8+nTlzRg0NDTpy5Ih27drVYqwXSktL0yef\nfKLf/OY3Ki8v15kzZ7R8+XKtXr1aS5cubbFue4eZLFq0SJmZmdq3b59uvfVWbdq0Sdu2bVN9fb2q\nq6tlsVhUUFBgvcabb76pL774QlVVVXr88cd14403un3pRRJ0APAitlZRANC67ydkAwYM0OOPP66J\nEydq4MCBGjduXKNzli5dqri4OI0dO1bdu3fXpEmTlJOTY7PtgoICTZ06VUFBQbriiisUEhJinazZ\n3PUvVFpaqhdeeEG/+93vJEl+fn5asWKFrr32Wt11111avnx5kzp79+5Vfn6+fvnLXyo8PNz6lZyc\nrLi4OK1Zs6bJGuDfjVUPCwvTqFGjJElvvPGGampqlJCQoNDQUN14443Wvya0ZQ3xuLg4ffzxxzp0\n6JBiY2PVq1cvvffee9q2bZt+8IMftPj6vzv21ltvaciQIS1e50I9evRQamqqli5dKrPZrA0bNujJ\nJ59UeHi4evfurWeffdaa/H83Bv22225TVFSUampq9MILL1jbCgwM1J49e9p8bUdhJ1EA8CLcX+EJ\neB/C27GTKAAAAHAJIUEHAAAAPAgJOgAAAOBBSNABwIukpaW5OwQAgJ2YJAoAAByKz3l4OyaJAgAA\nAJcQdhIFAAAOFRIS4vaNXgBnCgkJcWr7DHEBAAAAHIAhLgAAAIAXajFBz8/P1/jx4zV48GANGTLE\n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\n", "text": [ "" ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "print normal.std(), after.std(), p_normal_samples.std(), p_after_samples.std()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.473347717939 0.476822843387 0.0016462591967 0.00762804620874\n" ] } ], "prompt_number": 79 }, { "cell_type": "code", "collapsed": false, "input": [ "print (\"3P% after offensive rebounds was more successful \"\n", " \"in {0:.1f}% of simulations\").format((delta_trace > 0).mean() * 100)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3P% after offensive rebounds was more successful in 91.1% of simulations\n" ] } ], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }