{"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>Tennessee Titans 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   * [Los Angeles Rams Special Plays](https://www.kaggle.com/kushtrivedi14728/los-angeles-rams-special-plays)\n   * [Dallas Cowboys Special Plays](https://www.kaggle.com/kushtrivedi14728/dallas-cowboys-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)\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:55:28.931848Z","iopub.execute_input":"2022-01-02T03:55:28.932375Z","iopub.status.idle":"2022-01-02T03:55:28.949594Z","shell.execute_reply.started":"2022-01-02T03:55:28.932329Z","shell.execute_reply":"2022-01-02T03:55:28.948604Z"},"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:55:28.950926Z","iopub.execute_input":"2022-01-02T03:55:28.951285Z","iopub.status.idle":"2022-01-02T03:55:28.955912Z","shell.execute_reply.started":"2022-01-02T03:55:28.951254Z","shell.execute_reply":"2022-01-02T03:55:28.955287Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"2\"></a> <br>\n# Data Loading","metadata":{}},{"cell_type":"code","source":"extraPointsTEN2018 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_ExtraPoint_2018.csv')\nextraPointsTEN2019 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_ExtraPoint_2019.csv')\nextraPointsTEN2020 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_ExtraPoint_2020.csv')\n\nfieldGoalsTEN2018 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_FiledGoals_2018.csv')\nfieldGoalsTEN2019 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_FiledGoals_2019.csv')\nfieldGoalsTEN2020 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_FiledGoals_2020.csv')\n\nkickoffsTEN2018 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_Kickoffs_2018.csv')\nkickoffsTEN2019 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_Kickoffs_2019.csv')\nkickoffsTEN2020 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_Kickoffs_2020.csv')\n\npuntsTEN2018 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_Punts_2018.csv')\npuntsTEN2019 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_Punts_2019.csv')\npuntsTEN2020 = pd.read_csv('../input/tennessee-titans-special-play-2018-to-2019/TEN_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:55:28.957287Z","iopub.execute_input":"2022-01-02T03:55:28.957631Z","iopub.status.idle":"2022-01-02T03:55:29.297889Z","shell.execute_reply.started":"2022-01-02T03:55:28.957603Z","shell.execute_reply":"2022-01-02T03:55:29.297047Z"},"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":"TENKickoffReturn2018Above25Yards = kickoffsTEN2018[(kickoffsTEN2018.Result == 'Kickoff - Return') & (kickoffsTEN2018.kickReturnYardage > 25) & (kickoffsTEN2018.playResult > 0)]\nTENKickoffReturn2019Above25Yards = kickoffsTEN2019[(kickoffsTEN2019.Result == 'Kickoff - Return') & (kickoffsTEN2019.kickReturnYardage > 25)]\nTENKickoffReturn2020Above25Yards = kickoffsTEN2020[(kickoffsTEN2020.Result == 'Kickoff - Return') & (kickoffsTEN2020.kickReturnYardage > 25)]\n\nTENKickoffReturn2018Below25Yards = kickoffsTEN2018[(kickoffsTEN2018.Result == 'Kickoff - Return') & (kickoffsTEN2018.kickReturnYardage <= 25)]\nTENKickoffReturn2019Below25Yards = kickoffsTEN2019[(kickoffsTEN2019.Result == 'Kickoff - Return') & (kickoffsTEN2019.kickReturnYardage <= 25)]\nTENKickoffReturn2020Below25Yards = kickoffsTEN2020[(kickoffsTEN2020.Result == 'Kickoff - Return') & (kickoffsTEN2020.kickReturnYardage <= 25)]\n\nTENKickoffReturn2018LossYards = kickoffsTEN2018[(kickoffsTEN2018.Result == 'Kickoff - Return') & (kickoffsTEN2018.playResult < 0)]","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.300292Z","iopub.execute_input":"2022-01-02T03:55:29.300611Z","iopub.status.idle":"2022-01-02T03:55:29.326924Z","shell.execute_reply.started":"2022-01-02T03:55:29.30057Z","shell.execute_reply":"2022-01-02T03:55:29.326095Z"},"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.\nmergedTENKickoffReturn2018Above25Yards = pd.merge(TENKickoffReturn2018Above25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedTENKickoffReturn2019Above25Yards = pd.merge(TENKickoffReturn2019Above25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedTENKickoffReturn2020Above25Yards = pd.merge(TENKickoffReturn2020Above25Yards, \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.\nmergedTENKickoffReturn2018Below25Yards = pd.merge(TENKickoffReturn2018Below25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedTENKickoffReturn2019Below25Yards = pd.merge(TENKickoffReturn2019Below25Yards, \n                                                 pFFData,  \n                                                 how='left', \n                                                 left_on=['gameId','playId'], \n                                                 right_on = ['gameId','playId']\n                                                )\n\nmergedTENKickoffReturn2020Below25Yards = pd.merge(TENKickoffReturn2020Below25Yards, \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.\nmergedTENKickoffReturn2018LossYards = pd.merge(TENKickoffReturn2018LossYards, \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:55:29.328259Z","iopub.execute_input":"2022-01-02T03:55:29.328579Z","iopub.status.idle":"2022-01-02T03:55:29.431574Z","shell.execute_reply.started":"2022-01-02T03:55:29.328548Z","shell.execute_reply":"2022-01-02T03:55:29.430771Z"},"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\nTENKickoffReturn2018Above25YardsSeries = TENKickoffReturn2018Above25Yards.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()\nTENKickoffReturn2018Above25YardsFrame = pd.DataFrame(TENKickoffReturn2018Above25YardsSeries)\n\nmergedTENKickoffReturn2018Above25YardsSeries = mergedTENKickoffReturn2018Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2018Above25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2018Above25YardsSeries)\n\n# Above 25 Yards 2019\nTENKickoffReturn2019Above25YardsSeries = TENKickoffReturn2019Above25Yards.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()\nTENKickoffReturn2019Above25YardsFrame = pd.DataFrame(TENKickoffReturn2019Above25YardsSeries)\n\nmergedTENKickoffReturn2019Above25YardsSeries = mergedTENKickoffReturn2019Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2019Above25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2019Above25YardsSeries)\n\n# Above 25 Yards 2020\nTENKickoffReturn2020Above25YardsSeries = TENKickoffReturn2020Above25Yards.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()\nTENKickoffReturn2020Above25YardsFrame = pd.DataFrame(TENKickoffReturn2020Above25YardsSeries)\n\nmergedTENKickoffReturn2020Above25YardsSeries = mergedTENKickoffReturn2020Above25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2020Above25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2020Above25YardsSeries)\n\n# Below 25 Yards 2018\nTENKickoffReturn2018Below25YardsSeries = TENKickoffReturn2018Below25Yards.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()\nTENKickoffReturn2018Below25YardsFrame = pd.DataFrame(TENKickoffReturn2018Below25YardsSeries)\n\nmergedTENKickoffReturn2018Below25YardsSeries = mergedTENKickoffReturn2018Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2018Below25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2018Below25YardsSeries)\n\n# Below 25 Yards 2019\nTENKickoffReturn2019Below25YardsSeries = TENKickoffReturn2019Below25Yards.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()\nTENKickoffReturn2019Below25YardsFrame = pd.DataFrame(TENKickoffReturn2019Below25YardsSeries)\n\nmergedTENKickoffReturn2019Below25YardsSeries = mergedTENKickoffReturn2019Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2019Below25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2019Below25YardsSeries)\n\n# Below 25 Yards 2020\nTENKickoffReturn2020Below25YardsSeries = TENKickoffReturn2020Below25Yards.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()\nTENKickoffReturn2020Below25YardsFrame = pd.DataFrame(TENKickoffReturn2020Below25YardsSeries)\n\nmergedTENKickoffReturn2020Below25YardsSeries = mergedTENKickoffReturn2020Below25Yards.groupby(\n    ['season','kickoffReturnFormation','tackler','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2020Below25YardsFrame = pd.DataFrame(mergedTENKickoffReturn2020Below25YardsSeries)\n\n# Loss Yards 2018\nTENKickoffReturn2018LossYardsSeries = TENKickoffReturn2018LossYards.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()\nTENKickoffReturn2018LossYardsFrame = pd.DataFrame(TENKickoffReturn2018LossYardsSeries)\n\nmergedTENKickoffReturn2018LossYardsSeires = mergedTENKickoffReturn2018LossYards.groupby(\n    ['season','kickoffReturnFormation','specialTeamsSafeties','gameId','playId','returnDirectionIntended',\n     'returnDirectionActual','kickReturnYardage','homeTeamAbbr','visitorTeamAbbr','week'],as_index=True).size()\nmergedTENKickoffReturn2018LossYardsFrame = pd.DataFrame(mergedTENKickoffReturn2018LossYardsSeires)","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.432978Z","iopub.execute_input":"2022-01-02T03:55:29.433372Z","iopub.status.idle":"2022-01-02T03:55:29.534958Z","shell.execute_reply.started":"2022-01-02T03:55:29.433334Z","shell.execute_reply":"2022-01-02T03:55:29.534158Z"},"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":"TENKickoffReturn2018Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.536335Z","iopub.execute_input":"2022-01-02T03:55:29.536565Z","iopub.status.idle":"2022-01-02T03:55:29.578082Z","shell.execute_reply.started":"2022-01-02T03:55:29.536536Z","shell.execute_reply":"2022-01-02T03:55:29.577252Z"},"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":"mergedTENKickoffReturn2018Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.579368Z","iopub.execute_input":"2022-01-02T03:55:29.582371Z","iopub.status.idle":"2022-01-02T03:55:29.60112Z","shell.execute_reply.started":"2022-01-02T03:55:29.582325Z","shell.execute_reply":"2022-01-02T03:55:29.600358Z"},"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":"TENKickoffReturn2019Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.603044Z","iopub.execute_input":"2022-01-02T03:55:29.603778Z","iopub.status.idle":"2022-01-02T03:55:29.656591Z","shell.execute_reply.started":"2022-01-02T03:55:29.603734Z","shell.execute_reply":"2022-01-02T03:55:29.655607Z"},"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":"mergedTENKickoffReturn2019Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.659105Z","iopub.execute_input":"2022-01-02T03:55:29.6596Z","iopub.status.idle":"2022-01-02T03:55:29.683039Z","shell.execute_reply.started":"2022-01-02T03:55:29.659555Z","shell.execute_reply":"2022-01-02T03:55:29.682153Z"},"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":"TENKickoffReturn2020Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.684131Z","iopub.execute_input":"2022-01-02T03:55:29.684374Z","iopub.status.idle":"2022-01-02T03:55:29.757767Z","shell.execute_reply.started":"2022-01-02T03:55:29.684344Z","shell.execute_reply":"2022-01-02T03:55:29.756923Z"},"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":"mergedTENKickoffReturn2020Below25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.759021Z","iopub.execute_input":"2022-01-02T03:55:29.759921Z","iopub.status.idle":"2022-01-02T03:55:29.780701Z","shell.execute_reply.started":"2022-01-02T03:55:29.759882Z","shell.execute_reply":"2022-01-02T03:55:29.780121Z"},"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":"TENKickoffReturn2018Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.781694Z","iopub.execute_input":"2022-01-02T03:55:29.782372Z","iopub.status.idle":"2022-01-02T03:55:29.818313Z","shell.execute_reply.started":"2022-01-02T03:55:29.78232Z","shell.execute_reply":"2022-01-02T03:55:29.817737Z"},"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":"mergedTENKickoffReturn2018Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.819524Z","iopub.execute_input":"2022-01-02T03:55:29.820095Z","iopub.status.idle":"2022-01-02T03:55:29.837048Z","shell.execute_reply.started":"2022-01-02T03:55:29.820045Z","shell.execute_reply":"2022-01-02T03:55:29.836166Z"},"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":"TENKickoffReturn2019Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.838711Z","iopub.execute_input":"2022-01-02T03:55:29.838944Z","iopub.status.idle":"2022-01-02T03:55:29.879624Z","shell.execute_reply.started":"2022-01-02T03:55:29.838914Z","shell.execute_reply":"2022-01-02T03:55:29.878586Z"},"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":"mergedTENKickoffReturn2019Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.881037Z","iopub.execute_input":"2022-01-02T03:55:29.881297Z","iopub.status.idle":"2022-01-02T03:55:29.900056Z","shell.execute_reply.started":"2022-01-02T03:55:29.881264Z","shell.execute_reply":"2022-01-02T03:55:29.899265Z"},"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":"TENKickoffReturn2020Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.901437Z","iopub.execute_input":"2022-01-02T03:55:29.901679Z","iopub.status.idle":"2022-01-02T03:55:29.934103Z","shell.execute_reply.started":"2022-01-02T03:55:29.90165Z","shell.execute_reply":"2022-01-02T03:55:29.933212Z"},"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":"mergedTENKickoffReturn2020Above25YardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.935547Z","iopub.execute_input":"2022-01-02T03:55:29.935793Z","iopub.status.idle":"2022-01-02T03:55:29.956569Z","shell.execute_reply.started":"2022-01-02T03:55:29.935763Z","shell.execute_reply":"2022-01-02T03:55:29.955623Z"},"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":"TENKickoffReturn2018LossYardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.958319Z","iopub.execute_input":"2022-01-02T03:55:29.958619Z","iopub.status.idle":"2022-01-02T03:55:29.979291Z","shell.execute_reply.started":"2022-01-02T03:55:29.958578Z","shell.execute_reply":"2022-01-02T03:55:29.978509Z"},"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":"mergedTENKickoffReturn2018LossYardsFrame","metadata":{"_kg_hide-input":true,"execution":{"iopub.status.busy":"2022-01-02T03:55:29.980478Z","iopub.execute_input":"2022-01-02T03:55:29.980909Z","iopub.status.idle":"2022-01-02T03:55:29.997654Z","shell.execute_reply.started":"2022-01-02T03:55:29.98087Z","shell.execute_reply":"2022-01-02T03:55:29.996688Z"},"trusted":true},"execution_count":null,"outputs":[]}]}