{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<center><h1>Los Angeles Rams Special Plays</h1></center>","metadata":{}},{"cell_type":"markdown","source":"<center><h2>Table of Contents</h2></center>\n\n* [Importing Libraries](#0)\n* [Function to Load Video File](#1)\n* [Data Loading](#2)\n\n<h3>Kickoff Return Analysis</h3>\n\n* [Data Preparation: Kickoff Return](#3)\n* [Merging Data with Pro Football Focus Data for more insights](#4)\n* [Grouping Data by Below, Above 25 Yards & Lossing Yrads](#5)\n\n    <h3>Kickoff Return Below, Above - 25 Yards & Lossing Yrads Analysis</h3>\n    \n    * [Kickoff Return Below 25 Yards](#6)\n        * [Below 25 Yards 2018](#7)\n            * [Below 25 Yards 2018 More Insights](#8)\n        * [Below 25 Yards 2019](#10)\n            * [Below 25 Yards 2019 More Insights](#11)\n        * [Below 25 Yards 2020](#13)\n            * [Below 25 Yards 2020 More Insights](#14)\n    * [Kickoff Return Above 25 Yards](#16)\n        * [Above 25 Yards 2018](#17)\n            * [Above 25 Yards 2018 More Insights](#18)\n        * [Above 25 Yards 2019](#20)\n            * [Above 25 Yards 2019 More Insights](#21)\n        * [Above 25 Yards 2020](#23)\n            * [Above 25 Yards 2020 More Insights](#24)\n    * [Kickoff Return Lossing Yards](#26)\n        * [Lossing Yards](#27)\n            * [Lossing Yards. More Insights](#28)\n        \n        \n <h3>Stats of 32 NFL Teams</h3>\n \n* [Special Team Play Stats for 32 NFL Teams](https://www.kaggle.com/kushtrivedi14728/python-nfl-bigdatabowl-2022-eda) \n        \n <h3>Vanquishing Playoffs Teams 2021 - 2022</h3>\n \n   * [Kansas City Chiefs Special Plays](https://www.kaggle.com/kushtrivedi14728/kansas-city-chiefs-special-plays)\n   * [Green Bay Packers Special Plays](https://www.kaggle.com/kushtrivedi14728/green-bay-packers-special-plays)\n   * [Tampa Bay Buccaneers Special Plays](https://www.kaggle.com/kushtrivedi14728/tampa-bay-buccaneers-special-plays)\n   * [Dallas Cowboys Special Plays](https://www.kaggle.com/kushtrivedi14728/dallas-cowboys-special-plays)\n   * [Tennessee Titans Special Plays](https://www.kaggle.com/kushtrivedi14728/tennessee-titans-special-plays)","metadata":{}},{"cell_type":"markdown","source":"<a id=\"0\"></a> <br>\n# Import Libraries","metadata":{}},{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nfrom IPython.display import HTML\nfrom base64 import b64encode\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_kg_hide-output":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.073309Z","iopub.execute_input":"2022-01-02T03:54:36.073813Z","iopub.status.idle":"2022-01-02T03:54:36.116816Z","shell.execute_reply.started":"2022-01-02T03:54:36.073722Z","shell.execute_reply":"2022-01-02T03:54:36.115796Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='1'><li>Function to Load Video File</li></p>**","metadata":{}},{"cell_type":"code","source":"def playVideo(videoFile):\n    html = ''\n    video = open(videoFile,'rb').read()\n    src = 'data:video/mp4;base64,' + b64encode(video).decode()\n    html += '<video width=1100 controls autoplay loop><source src=\"%s\" type=\"video/mp4\"></video>' % src \n    return HTML(html)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.118656Z","iopub.execute_input":"2022-01-02T03:54:36.118975Z","iopub.status.idle":"2022-01-02T03:54:36.124168Z","shell.execute_reply.started":"2022-01-02T03:54:36.118932Z","shell.execute_reply":"2022-01-02T03:54:36.123499Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"2\"></a> <br>\n# Data Loading","metadata":{}},{"cell_type":"code","source":"extraPointsLA2018 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_ExtraPoint_2018.csv')\nextraPointsLA2019 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_ExtraPoint_2019.csv')\nextraPointsLA2020 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_ExtraPoint_2020.csv')\n\nfieldGoalsLA2018 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_FiledGoals_2018.csv')\nfieldGoalsLA2019 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_FiledGoals_2019.csv')\nfieldGoalsLA2020 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_FiledGoals_2020.csv')\n\nkickoffsLA2018 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Kickoffs_2018.csv')\nkickoffsLA2019 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Kickoffs_2019.csv')\nkickoffsLA2020 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Kickoffs_2020.csv')\n\npuntsLA2018 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Punts_2018.csv')\npuntsLA2019 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Punts_2019.csv')\npuntsLA2020 = pd.read_csv('../input/los-angeles-rams-special-play-2018-to-2020/LA_Punts_2020.csv')\n\npFFData = pd.read_csv('../input/nfl-big-data-bowl-2022/PFFScoutingData.csv')\npd.options.display.max_rows = 99999999","metadata":{"execution":{"iopub.status.busy":"2022-01-02T03:54:36.125214Z","iopub.execute_input":"2022-01-02T03:54:36.1259Z","iopub.status.idle":"2022-01-02T03:54:36.472523Z","shell.execute_reply.started":"2022-01-02T03:54:36.125843Z","shell.execute_reply":"2022-01-02T03:54:36.471605Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"3\"></a> <br>\n# Data Preparation for Kick of Return","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2018Above25Yards = kickoffsLA2018[(kickoffsLA2018.Result == 'Kickoff - Return') & (kickoffsLA2018.kickReturnYardage > 25)]\nLAKickoffReturn2019Above25Yards = kickoffsLA2019[(kickoffsLA2019.Result == 'Kickoff - Return') & (kickoffsLA2019.kickReturnYardage > 25) & (kickoffsLA2019.playResult > 0)]\nLAKickoffReturn2020Above25Yards = kickoffsLA2020[(kickoffsLA2020.Result == 'Kickoff - Return') & (kickoffsLA2020.kickReturnYardage > 25)]\n\nLAKickoffReturn2018Below25Yards = kickoffsLA2018[(kickoffsLA2018.Result == 'Kickoff - Return') & (kickoffsLA2018.kickReturnYardage <= 25)]\nLAKickoffReturn2019Below25Yards = kickoffsLA2019[(kickoffsLA2019.Result == 'Kickoff - Return') & (kickoffsLA2019.kickReturnYardage <= 25)]\nLAKickoffReturn2020Below25Yards = kickoffsLA2020[(kickoffsLA2020.Result == 'Kickoff - Return') & (kickoffsLA2020.kickReturnYardage <= 25)]\n\nLAKickoffReturn2019LossYards = kickoffsLA2019[(kickoffsLA2019.Result == 'Kickoff - Return') & (kickoffsLA2019.playResult < 0)]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.474491Z","iopub.execute_input":"2022-01-02T03:54:36.474716Z","iopub.status.idle":"2022-01-02T03:54:36.506447Z","shell.execute_reply.started":"2022-01-02T03:54:36.474689Z","shell.execute_reply":"2022-01-02T03:54:36.505487Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"4\"></a> <br>\n# Merging Kickoff Return Data with Pro Football Focus Data","metadata":{}},{"cell_type":"code","source":"# Merged Data with Kickoff Return Above 25 Yards.\nmergedLAKickoffReturn2018Above25Yards = pd.merge(LAKickoffReturn2018Above25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedLAKickoffReturn2019Above25Yards = pd.merge(LAKickoffReturn2019Above25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedLAKickoffReturn2020Above25Yards = pd.merge(LAKickoffReturn2020Above25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\n# Merged Data with Kickoff Return Below 25 Yards.\nmergedLAKickoffReturn2018Below25Yards = pd.merge(LAKickoffReturn2018Below25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedLAKickoffReturn2019Below25Yards = pd.merge(LAKickoffReturn2019Below25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedLAKickoffReturn2020Below25Yards = pd.merge(LAKickoffReturn2020Below25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\n# Merged Data with Kickoff Return Lossing Yards.\nmergedLAKickoffReturn2019LossYards = pd.merge(LAKickoffReturn2019LossYards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.507611Z","iopub.execute_input":"2022-01-02T03:54:36.507839Z","iopub.status.idle":"2022-01-02T03:54:36.639185Z","shell.execute_reply.started":"2022-01-02T03:54:36.507811Z","shell.execute_reply":"2022-01-02T03:54:36.638299Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"5\"></a> <br>\n# Grouping DataFrames","metadata":{}},{"cell_type":"code","source":"# Above 25 Yards 2018\nLAKickoffReturn2018Above25YardsSeries = LAKickoffReturn2018Above25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2018Above25YardsFrame = pd.DataFrame(LAKickoffReturn2018Above25YardsSeries)\n\nmergedLAKickoffReturn2018Above25YardsSeries = mergedLAKickoffReturn2018Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2018Above25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2018Above25YardsSeries)\n\n\n# Above 25 Yards 2019\nLAKickoffReturn2019Above25YardsSeries = LAKickoffReturn2019Above25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2019Above25YardsFrame = pd.DataFrame(LAKickoffReturn2019Above25YardsSeries)\n\nmergedLAKickoffReturn2019Above25YardsSeries = mergedLAKickoffReturn2019Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2019Above25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2019Above25YardsSeries)\n\n# Above 25 Yards 2020\nLAKickoffReturn2020Above25YardsSeries = LAKickoffReturn2020Above25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2020Above25YardsFrame = pd.DataFrame(LAKickoffReturn2020Above25YardsSeries)\n\nmergedLAKickoffReturn2020Above25YardsSeries = mergedLAKickoffReturn2020Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2020Above25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2020Above25YardsSeries)\n\n# Below 25 Yards 2018\nLAKickoffReturn2018Below25YardsSeries = LAKickoffReturn2018Below25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2018Below25YardsFrame = pd.DataFrame(LAKickoffReturn2018Below25YardsSeries)\n\nmergedLAKickoffReturn2018Below25YardsSeries = mergedLAKickoffReturn2018Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2018Below25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2018Below25YardsSeries)\n\n# Below 25 Yards 2019\nLAKickoffReturn2019Below25YardsSeries = LAKickoffReturn2019Below25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2019Below25YardsFrame = pd.DataFrame(LAKickoffReturn2019Below25YardsSeries)\n\nmergedLAKickoffReturn2019Below25YardsSeries = mergedLAKickoffReturn2019Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2019Below25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2019Below25YardsSeries)\n\n# Below 25 Yards 2020\nLAKickoffReturn2020Below25YardsSeries = LAKickoffReturn2020Below25Yards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2020Below25YardsFrame = pd.DataFrame(LAKickoffReturn2020Below25YardsSeries)\n\nmergedLAKickoffReturn2020Below25YardsSeries = mergedLAKickoffReturn2020Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2020Below25YardsFrame = pd.DataFrame(mergedLAKickoffReturn2020Below25YardsSeries)\n\n# Loosing Yards 2020\nLAKickoffReturn2019LossYardsSeries = LAKickoffReturn2019LossYards.groupby(['season','possessionTeam','gameId','playId','quarter','down','yardsToGo','yardlineSide','Result','gameClock',\n                                   'yardlineNumber','kickReturnYardage','playResult','preSnapHomeScore','preSnapVisitorScore','event','homeTeamAbbr','visitorTeamAbbr',\n                                   'week'],as_index=True).size()\nLAKickoffReturn2019LossYardsFrame = pd.DataFrame(LAKickoffReturn2019LossYardsSeries)\n\nmergedLAKickoffReturn2019LossYardsSeires = mergedLAKickoffReturn2019LossYards.groupby(\n    ['season','kickoffReturnFormation','specialTeamsSafeties','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedLAKickoffReturn2019LossYardsFrame = pd.DataFrame(mergedLAKickoffReturn2019LossYardsSeires)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.640722Z","iopub.execute_input":"2022-01-02T03:54:36.641014Z","iopub.status.idle":"2022-01-02T03:54:36.74336Z","shell.execute_reply.started":"2022-01-02T03:54:36.640983Z","shell.execute_reply":"2022-01-02T03:54:36.742483Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"6\"></a> <br>\n# Kickoff Return Below 25 Yards (Good Strategy)\n\n**<p id='7'><li>Below 25 Yards 2018</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2018Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.744536Z","iopub.execute_input":"2022-01-02T03:54:36.744749Z","iopub.status.idle":"2022-01-02T03:54:36.798898Z","shell.execute_reply.started":"2022-01-02T03:54:36.744722Z","shell.execute_reply":"2022-01-02T03:54:36.798294Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='8'><li>Below 25 Yards 2018. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2018Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.799859Z","iopub.execute_input":"2022-01-02T03:54:36.800522Z","iopub.status.idle":"2022-01-02T03:54:36.819299Z","shell.execute_reply.started":"2022-01-02T03:54:36.800487Z","shell.execute_reply":"2022-01-02T03:54:36.818433Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='10'><li>Below 25 Yards 2019</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2019Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.820757Z","iopub.execute_input":"2022-01-02T03:54:36.820979Z","iopub.status.idle":"2022-01-02T03:54:36.858639Z","shell.execute_reply.started":"2022-01-02T03:54:36.820942Z","shell.execute_reply":"2022-01-02T03:54:36.857732Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='11'><li>Below 25 Yards 2019. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2019Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.861225Z","iopub.execute_input":"2022-01-02T03:54:36.861472Z","iopub.status.idle":"2022-01-02T03:54:36.878665Z","shell.execute_reply.started":"2022-01-02T03:54:36.861439Z","shell.execute_reply":"2022-01-02T03:54:36.87778Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='13'><li>Below 25 Yards 2020</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2020Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.880027Z","iopub.execute_input":"2022-01-02T03:54:36.880871Z","iopub.status.idle":"2022-01-02T03:54:36.921266Z","shell.execute_reply.started":"2022-01-02T03:54:36.880825Z","shell.execute_reply":"2022-01-02T03:54:36.920476Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='14'><li>Below 25 Yards 2020. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2020Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.922637Z","iopub.execute_input":"2022-01-02T03:54:36.923472Z","iopub.status.idle":"2022-01-02T03:54:36.942538Z","shell.execute_reply.started":"2022-01-02T03:54:36.923436Z","shell.execute_reply":"2022-01-02T03:54:36.941922Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"16\"></a> <br>\n# Kickoff Return Above 25 Yards (Bad)\n* **Because Kickoff Touchback is better atleast opposite team starts from 25 Yrad Line**\n\n\n**<p id='17'><li>Above 25 Yards 2018</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2018Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.943846Z","iopub.execute_input":"2022-01-02T03:54:36.944427Z","iopub.status.idle":"2022-01-02T03:54:36.975198Z","shell.execute_reply.started":"2022-01-02T03:54:36.944359Z","shell.execute_reply":"2022-01-02T03:54:36.974213Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='18'><li>Above 25 Yards 2018. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2018Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.97701Z","iopub.execute_input":"2022-01-02T03:54:36.977323Z","iopub.status.idle":"2022-01-02T03:54:36.995086Z","shell.execute_reply.started":"2022-01-02T03:54:36.977279Z","shell.execute_reply":"2022-01-02T03:54:36.994222Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='20'><li>Above 25 Yards 2019</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2019Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:36.996431Z","iopub.execute_input":"2022-01-02T03:54:36.996898Z","iopub.status.idle":"2022-01-02T03:54:37.029462Z","shell.execute_reply.started":"2022-01-02T03:54:36.996857Z","shell.execute_reply":"2022-01-02T03:54:37.028447Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='21'><li>Above 25 Yards 2019. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2019Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:37.030914Z","iopub.execute_input":"2022-01-02T03:54:37.031226Z","iopub.status.idle":"2022-01-02T03:54:37.047151Z","shell.execute_reply.started":"2022-01-02T03:54:37.031183Z","shell.execute_reply":"2022-01-02T03:54:37.046463Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='23'><li>Above 25 Yards 2020</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2020Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:37.04839Z","iopub.execute_input":"2022-01-02T03:54:37.04876Z","iopub.status.idle":"2022-01-02T03:54:37.098798Z","shell.execute_reply.started":"2022-01-02T03:54:37.048722Z","shell.execute_reply":"2022-01-02T03:54:37.097887Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='24'><li>Above 25 Yards 2020. More Kickoff Return Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2020Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:37.099871Z","iopub.execute_input":"2022-01-02T03:54:37.100088Z","iopub.status.idle":"2022-01-02T03:54:37.119425Z","shell.execute_reply.started":"2022-01-02T03:54:37.100058Z","shell.execute_reply":"2022-01-02T03:54:37.11848Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"26\"></a> <br>\n# Lossing Yards (Very Bad, Rarely Happens)\n\n**<p id='27'><li>Lossing Yards</li></p>**","metadata":{}},{"cell_type":"code","source":"LAKickoffReturn2019LossYardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:37.120775Z","iopub.execute_input":"2022-01-02T03:54:37.121084Z","iopub.status.idle":"2022-01-02T03:54:37.144403Z","shell.execute_reply.started":"2022-01-02T03:54:37.121041Z","shell.execute_reply":"2022-01-02T03:54:37.143304Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**<p id='28'><li>Lossing Yards. More Insights</li></p>**","metadata":{}},{"cell_type":"code","source":"mergedLAKickoffReturn2019LossYardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:54:37.146027Z","iopub.execute_input":"2022-01-02T03:54:37.146487Z","iopub.status.idle":"2022-01-02T03:54:37.164043Z","shell.execute_reply.started":"2022-01-02T03:54:37.146442Z","shell.execute_reply":"2022-01-02T03:54:37.16312Z"},"trusted":true},"execution_count":null,"outputs":[]}]}