generated from mwc/project_argument
	I am very proud that I was able to make a list of the best offensive and defensive players in the NBA. I had to realize that I needed to remove all players that played below a specific number of minutes as they were effecting the data. I was able to persevere and figure out how to do that on my own which I am proud of. I am very interested in looking at sports data and this project has furthered my interest in that.
		
			
				
	
	
		
			965 lines
		
	
	
		
			66 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			965 lines
		
	
	
		
			66 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						||
 "cells": [
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "worldwide-blood",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "# Introduction"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "understanding-numbers",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "I will research 3 different questions I had while looking at the NBA data.  I will first find who the better player is between LeBron James and Kevin Durant and then find who the best players are on offense and defense.  All of the data I will be using will come from the 2014-2022 NBA seasons."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "greater-circular",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Overarching Question: Who are some of the best players in the NBA from 2014-2022?"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "appreciated-testimony",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "I want to look at this because I have played basketball most of my life and enjoy watching the NBA.  I enjoy looking at NBA players' stats in my free time so this was very interesting to me.  I want to see who some of the best players are on offense and defense."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "permanent-pollution",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "# Data"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 1,
 | 
						||
   "id": "technical-evans",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [],
 | 
						||
   "source": [
 | 
						||
    "import pandas as pd\n",
 | 
						||
    "import matplotlib.pyplot as plt\n",
 | 
						||
    "import seaborn as sns"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 2,
 | 
						||
   "id": "overhead-sigma",
 | 
						||
   "metadata": {
 | 
						||
    "scrolled": true
 | 
						||
   },
 | 
						||
   "outputs": [],
 | 
						||
   "source": [
 | 
						||
    "file_name = \"modern_RAPTOR_by_player.csv\"\n",
 | 
						||
    "dataset_path = \"data/\" + file_name\n",
 | 
						||
    "df = pd.read_csv(dataset_path)"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 3,
 | 
						||
   "id": "heated-blade",
 | 
						||
   "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>player_name</th>\n",
 | 
						||
       "      <th>player_id</th>\n",
 | 
						||
       "      <th>season</th>\n",
 | 
						||
       "      <th>poss</th>\n",
 | 
						||
       "      <th>mp</th>\n",
 | 
						||
       "      <th>raptor_box_offense</th>\n",
 | 
						||
       "      <th>raptor_box_defense</th>\n",
 | 
						||
       "      <th>raptor_box_total</th>\n",
 | 
						||
       "      <th>raptor_onoff_offense</th>\n",
 | 
						||
       "      <th>raptor_onoff_defense</th>\n",
 | 
						||
       "      <th>...</th>\n",
 | 
						||
       "      <th>raptor_offense</th>\n",
 | 
						||
       "      <th>raptor_defense</th>\n",
 | 
						||
       "      <th>raptor_total</th>\n",
 | 
						||
       "      <th>war_total</th>\n",
 | 
						||
       "      <th>war_reg_season</th>\n",
 | 
						||
       "      <th>war_playoffs</th>\n",
 | 
						||
       "      <th>predator_offense</th>\n",
 | 
						||
       "      <th>predator_defense</th>\n",
 | 
						||
       "      <th>predator_total</th>\n",
 | 
						||
       "      <th>pace_impact</th>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "  </thead>\n",
 | 
						||
       "  <tbody>\n",
 | 
						||
       "    <tr>\n",
 | 
						||
       "      <th>0</th>\n",
 | 
						||
       "      <td>Alex Abrines</td>\n",
 | 
						||
       "      <td>abrinal01</td>\n",
 | 
						||
       "      <td>2017</td>\n",
 | 
						||
       "      <td>2387</td>\n",
 | 
						||
       "      <td>1135</td>\n",
 | 
						||
       "      <td>0.745505</td>\n",
 | 
						||
       "      <td>-0.372938</td>\n",
 | 
						||
       "      <td>0.372567</td>\n",
 | 
						||
       "      <td>-0.418553</td>\n",
 | 
						||
       "      <td>-3.857011</td>\n",
 | 
						||
       "      <td>...</td>\n",
 | 
						||
       "      <td>0.543421</td>\n",
 | 
						||
       "      <td>-1.144832</td>\n",
 | 
						||
       "      <td>-0.601411</td>\n",
 | 
						||
       "      <td>1.249008</td>\n",
 | 
						||
       "      <td>1.447708</td>\n",
 | 
						||
       "      <td>-0.198700</td>\n",
 | 
						||
       "      <td>0.077102</td>\n",
 | 
						||
       "      <td>-1.038677</td>\n",
 | 
						||
       "      <td>-0.961575</td>\n",
 | 
						||
       "      <td>0.326413</td>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "    <tr>\n",
 | 
						||
       "      <th>1</th>\n",
 | 
						||
       "      <td>Alex Abrines</td>\n",
 | 
						||
       "      <td>abrinal01</td>\n",
 | 
						||
       "      <td>2018</td>\n",
 | 
						||
       "      <td>2546</td>\n",
 | 
						||
       "      <td>1244</td>\n",
 | 
						||
       "      <td>0.317549</td>\n",
 | 
						||
       "      <td>-1.725325</td>\n",
 | 
						||
       "      <td>-1.407776</td>\n",
 | 
						||
       "      <td>-1.291727</td>\n",
 | 
						||
       "      <td>-0.049694</td>\n",
 | 
						||
       "      <td>...</td>\n",
 | 
						||
       "      <td>-0.020826</td>\n",
 | 
						||
       "      <td>-1.502642</td>\n",
 | 
						||
       "      <td>-1.523468</td>\n",
 | 
						||
       "      <td>0.777304</td>\n",
 | 
						||
       "      <td>0.465912</td>\n",
 | 
						||
       "      <td>0.311392</td>\n",
 | 
						||
       "      <td>-0.174621</td>\n",
 | 
						||
       "      <td>-1.112625</td>\n",
 | 
						||
       "      <td>-1.287247</td>\n",
 | 
						||
       "      <td>-0.456141</td>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "    <tr>\n",
 | 
						||
       "      <th>2</th>\n",
 | 
						||
       "      <td>Alex Abrines</td>\n",
 | 
						||
       "      <td>abrinal01</td>\n",
 | 
						||
       "      <td>2019</td>\n",
 | 
						||
       "      <td>1279</td>\n",
 | 
						||
       "      <td>588</td>\n",
 | 
						||
       "      <td>-3.215683</td>\n",
 | 
						||
       "      <td>1.078399</td>\n",
 | 
						||
       "      <td>-2.137285</td>\n",
 | 
						||
       "      <td>-6.158856</td>\n",
 | 
						||
       "      <td>4.901168</td>\n",
 | 
						||
       "      <td>...</td>\n",
 | 
						||
       "      <td>-4.040157</td>\n",
 | 
						||
       "      <td>1.885618</td>\n",
 | 
						||
       "      <td>-2.154538</td>\n",
 | 
						||
       "      <td>0.178167</td>\n",
 | 
						||
       "      <td>0.178167</td>\n",
 | 
						||
       "      <td>0.000000</td>\n",
 | 
						||
       "      <td>-4.577678</td>\n",
 | 
						||
       "      <td>1.543282</td>\n",
 | 
						||
       "      <td>-3.034396</td>\n",
 | 
						||
       "      <td>-0.268013</td>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "    <tr>\n",
 | 
						||
       "      <th>3</th>\n",
 | 
						||
       "      <td>Precious Achiuwa</td>\n",
 | 
						||
       "      <td>achiupr01</td>\n",
 | 
						||
       "      <td>2021</td>\n",
 | 
						||
       "      <td>1581</td>\n",
 | 
						||
       "      <td>749</td>\n",
 | 
						||
       "      <td>-4.122966</td>\n",
 | 
						||
       "      <td>1.359278</td>\n",
 | 
						||
       "      <td>-2.763688</td>\n",
 | 
						||
       "      <td>-4.050779</td>\n",
 | 
						||
       "      <td>-0.919712</td>\n",
 | 
						||
       "      <td>...</td>\n",
 | 
						||
       "      <td>-4.347596</td>\n",
 | 
						||
       "      <td>0.954821</td>\n",
 | 
						||
       "      <td>-3.392775</td>\n",
 | 
						||
       "      <td>-0.246055</td>\n",
 | 
						||
       "      <td>-0.246776</td>\n",
 | 
						||
       "      <td>0.000721</td>\n",
 | 
						||
       "      <td>-3.817713</td>\n",
 | 
						||
       "      <td>0.474828</td>\n",
 | 
						||
       "      <td>-3.342885</td>\n",
 | 
						||
       "      <td>0.329157</td>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "    <tr>\n",
 | 
						||
       "      <th>4</th>\n",
 | 
						||
       "      <td>Precious Achiuwa</td>\n",
 | 
						||
       "      <td>achiupr01</td>\n",
 | 
						||
       "      <td>2022</td>\n",
 | 
						||
       "      <td>3802</td>\n",
 | 
						||
       "      <td>1892</td>\n",
 | 
						||
       "      <td>-2.521510</td>\n",
 | 
						||
       "      <td>1.763502</td>\n",
 | 
						||
       "      <td>-0.758008</td>\n",
 | 
						||
       "      <td>-1.687893</td>\n",
 | 
						||
       "      <td>3.103441</td>\n",
 | 
						||
       "      <td>...</td>\n",
 | 
						||
       "      <td>-2.517372</td>\n",
 | 
						||
       "      <td>2.144151</td>\n",
 | 
						||
       "      <td>-0.373221</td>\n",
 | 
						||
       "      <td>2.262658</td>\n",
 | 
						||
       "      <td>2.309611</td>\n",
 | 
						||
       "      <td>-0.046953</td>\n",
 | 
						||
       "      <td>-2.483956</td>\n",
 | 
						||
       "      <td>2.024360</td>\n",
 | 
						||
       "      <td>-0.459596</td>\n",
 | 
						||
       "      <td>-0.728609</td>\n",
 | 
						||
       "    </tr>\n",
 | 
						||
       "  </tbody>\n",
 | 
						||
       "</table>\n",
 | 
						||
       "<p>5 rows × 21 columns</p>\n",
 | 
						||
       "</div>"
 | 
						||
      ],
 | 
						||
      "text/plain": [
 | 
						||
       "        player_name  player_id  season  poss    mp  raptor_box_offense  \\\n",
 | 
						||
       "0      Alex Abrines  abrinal01    2017  2387  1135            0.745505   \n",
 | 
						||
       "1      Alex Abrines  abrinal01    2018  2546  1244            0.317549   \n",
 | 
						||
       "2      Alex Abrines  abrinal01    2019  1279   588           -3.215683   \n",
 | 
						||
       "3  Precious Achiuwa  achiupr01    2021  1581   749           -4.122966   \n",
 | 
						||
       "4  Precious Achiuwa  achiupr01    2022  3802  1892           -2.521510   \n",
 | 
						||
       "\n",
 | 
						||
       "   raptor_box_defense  raptor_box_total  raptor_onoff_offense  \\\n",
 | 
						||
       "0           -0.372938          0.372567             -0.418553   \n",
 | 
						||
       "1           -1.725325         -1.407776             -1.291727   \n",
 | 
						||
       "2            1.078399         -2.137285             -6.158856   \n",
 | 
						||
       "3            1.359278         -2.763688             -4.050779   \n",
 | 
						||
       "4            1.763502         -0.758008             -1.687893   \n",
 | 
						||
       "\n",
 | 
						||
       "   raptor_onoff_defense  ...  raptor_offense  raptor_defense  raptor_total  \\\n",
 | 
						||
       "0             -3.857011  ...        0.543421       -1.144832     -0.601411   \n",
 | 
						||
       "1             -0.049694  ...       -0.020826       -1.502642     -1.523468   \n",
 | 
						||
       "2              4.901168  ...       -4.040157        1.885618     -2.154538   \n",
 | 
						||
       "3             -0.919712  ...       -4.347596        0.954821     -3.392775   \n",
 | 
						||
       "4              3.103441  ...       -2.517372        2.144151     -0.373221   \n",
 | 
						||
       "\n",
 | 
						||
       "   war_total  war_reg_season  war_playoffs  predator_offense  \\\n",
 | 
						||
       "0   1.249008        1.447708     -0.198700          0.077102   \n",
 | 
						||
       "1   0.777304        0.465912      0.311392         -0.174621   \n",
 | 
						||
       "2   0.178167        0.178167      0.000000         -4.577678   \n",
 | 
						||
       "3  -0.246055       -0.246776      0.000721         -3.817713   \n",
 | 
						||
       "4   2.262658        2.309611     -0.046953         -2.483956   \n",
 | 
						||
       "\n",
 | 
						||
       "   predator_defense  predator_total  pace_impact  \n",
 | 
						||
       "0         -1.038677       -0.961575     0.326413  \n",
 | 
						||
       "1         -1.112625       -1.287247    -0.456141  \n",
 | 
						||
       "2          1.543282       -3.034396    -0.268013  \n",
 | 
						||
       "3          0.474828       -3.342885     0.329157  \n",
 | 
						||
       "4          2.024360       -0.459596    -0.728609  \n",
 | 
						||
       "\n",
 | 
						||
       "[5 rows x 21 columns]"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 3,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "df.head()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "continental-franklin",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "**Data Overview**\n",
 | 
						||
    "\n",
 | 
						||
    "This dataset comes from FiveThirtyEight and contains different data from NBA players from 2014-2022.  It includes the players' names, players' ids, and the season year.  It also includes number of possessions played and minutes played which both indicate how much time the player was on the court that season.  Also, the data includes raptor stats for offense, defense, and total which shows how effective a player was on that side of the court.  The data also shows predator stats for offense, defense, and total which is a prediction of how effective the player was.  Also, WAR (wins above replacement) stats were shown in the data which show how many more wins that player got their team over the season compared to if a replacement level player was playing instead.  Lastly, pace impact stats were shown which states the overall impact a player had on their team.  The pace impact stat for each player was shown as if each player 48 minutes which the the length of the whole game."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "infinite-instrument",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "# Methods and Results"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "recognized-positive",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## First Research Question: Who is better offensively, defensively, and all around, LeBron James or Kevin Durant?\n"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "graduate-palmer",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "### Methods"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "endless-variation",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "**For the LeBron James Data:**  \n",
 | 
						||
    "I will first need to get the data to only show LeBron James' seasons from 2014-2022.  I will do this by setting player_name equivalent to LeBron James and call this data Lebron_df.  I will then use the raptor_offense data and take the mean of all of his seasons.  This will give me a good representation of how effective he has been on offense.  I will then use the raptor_defense data and take the mean of all of his seasons.  I will then use the raptor_total data and take the mean of all of his seasons.  Doing all of this will give numerical numbers that represent how good LeBron James is offensively, defensively, and all around.  This can be done for other players and these numbers can be compared to see who is more impactful.\n",
 | 
						||
    "\n",
 | 
						||
    "**For the Kevin Durant Data:**  \n",
 | 
						||
    "I will first need to get the data to only show Kevin Durant's seasons from 2014-2022.  I will do this by setting player_name equivalent to Kevin Durant and call this data Durant_df.  I will then use the raptor_offense data and take the mean of all of his seasons.  This will give me a good representation of how effective he has been on offense.  I will then use the raptor_defense data and take the mean of all of his seasons.  I will then use the raptor_total data and take the mean of all of his seasons.\n"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "portuguese-japan",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "### Results "
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "372a5883-7746-4932-9353-489eed28878e",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "#### LeBron James Data"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 4,
 | 
						||
   "id": "9e6b2020-4df8-4e45-8b00-fbc398964376",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [],
 | 
						||
   "source": [
 | 
						||
    "Lebron_df = df[df.player_name==\"LeBron James\"]"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 5,
 | 
						||
   "id": "b57dfb5b-f725-43d7-bfaa-76e7d86ec69f",
 | 
						||
   "metadata": {
 | 
						||
    "scrolled": true
 | 
						||
   },
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(5.958565647986926)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 5,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Lebron_df.raptor_offense.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 6,
 | 
						||
   "id": "496218f8-6823-4570-b97f-bdf2461e3e06",
 | 
						||
   "metadata": {
 | 
						||
    "scrolled": true
 | 
						||
   },
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(0.3291714363332999)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 6,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Lebron_df.raptor_defense.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 7,
 | 
						||
   "id": "247b1e93-df57-4b13-a22f-656e6740e715",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(6.2877370843202245)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 7,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Lebron_df.raptor_total.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "f1ea090f-a39c-40ba-85a7-bb55f5216130",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "#### Kevin Durant Data"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 8,
 | 
						||
   "id": "c0a35626-5356-4b7b-8e2b-eb83cc42b8f8",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [],
 | 
						||
   "source": [
 | 
						||
    "Durant_df = df[df.player_name==\"Kevin Durant\"]"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 9,
 | 
						||
   "id": "08415fc5-0f02-4e13-906a-c9dee9f8118e",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(5.66912563466798)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 9,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Durant_df.raptor_offense.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 10,
 | 
						||
   "id": "f37fb84f-4861-4e14-b6dc-502c180dcb4b",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(0.20101735750424538)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 10,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Durant_df.raptor_defense.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 11,
 | 
						||
   "id": "a60e7ec7-27fb-47df-ba2a-94a84c7926e5",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "np.float64(5.870142992047225)"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 11,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "Durant_df.raptor_total.mean()"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "05e10133-bfb8-4c85-82e0-4d118082eb53",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "#### Data Explained\n",
 | 
						||
    "LeBron James is better on average, offensively, defensively, and all around than Kevin Durant is.  LeBron's raptor offense, defense, and total rating is higher than Durant's.  This does not account for individual seasons but uses the data from all seasons from 2014-2022.  I will graph LeBron James' and Kevin Durant's indivudal seaons below. "
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "2564b4db-58dd-4886-b1e3-261f7ae1b357",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "#### LeBron James and Kevin Durant Graphed"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 12,
 | 
						||
   "id": "79e1f833-833a-4a75-b41d-eeab580bf713",
 | 
						||
   "metadata": {
 | 
						||
    "scrolled": true
 | 
						||
   },
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "Text(0.5, 1.0, 'LeBron James vs Kevin Durant')"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 12,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    },
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "image/png": "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DDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkmDTfe3t6QyWQ6y+jRowtdPzIyUmdda2vrCq6aiIiIKjMLUx782LFjyM3N1bw+f/48OnfujP79+xe5jUKhwJUrVzSvZTKZUWskIiKiqsWk4cbFxUXr9dy5c1G/fn106NChyG1kMhnc3d2NXRoRERFVUZVmzk12djZWr16NYcOGFXs2Jj09HV5eXvD09ESvXr1w4cKFYveblZUFtVqttRAREZF0VZpw89tvvyE1NRVDhgwpcp2GDRti5cqV2LJlC1avXo28vDy0a9cOd+7cKXKbOXPmQKlUahZPT08jVE9ERESVhUwIIUxdBACEhITAysoKv//+u97b5OTkwN/fH2FhYZg1a1ah62RlZSErK0vzWq1Ww9PTEyqVCgqFotx1ExERkfGp1WoolUq9Pr9NOuemQGxsLPbu3YvNmzeXajtLS0sEBgbi2rVrRa4jl8shl8vLWyIRERFVEZXislRERARcXV3RrVu3Um2Xm5uLc+fOoVatWkaqjIiIiKoak4ebvLw8REREYPDgwbCw0D6RNGjQIEydOlXzeubMmfjjjz9w48YNnDx5EgMHDkRsbCzCw8MrumwiIiKqpEx+WWrv3r2Ii4vDsGHDdPri4uJgZva//JWSkoIRI0YgISEBTk5OaNmyJQ4fPozGjRtXZMlERERUiVWaCcUVpTQTkoiIiKhyKM3nt8kvSxEREREZEsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJioWpCyCiCvIoBXh4H8hUA9ZKwM4ZsHEydVVERAbHcENUHajuAlvGADf2/a+tfjDQczGgrG26uoiIjICXpYik7lGKbrABgOvRwNax+f1ERBLCcEMkdQ/v6wabAtej8/uJiCSE4YZI6jLV5esnIqpi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",
 | 
						||
      "text/plain": [
 | 
						||
       "<Figure size 640x480 with 1 Axes>"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "display_data"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "sns.scatterplot(data=Lebron_df,x=\"season\",y=\"raptor_total\")\n",
 | 
						||
    "sns.scatterplot(data=Durant_df,x=\"season\",y=\"raptor_total\")\n",
 | 
						||
    "plt.legend(labels=[\"LeBron James\",\"Kevin Durant\"])\n",
 | 
						||
    "plt.title(\"LeBron James vs Kevin Durant\")"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "db4cba31-c730-4111-8d78-0190d5ac86ec",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "#### Results from Graph\n",
 | 
						||
    "This shows that Kevin Durant was better in 2014 and 2015 and LeBron James was better from 2016-2022.  This is the case because the data point for Kevin Durant was higher than LeBron James' for the seasons of 2014 and 2015 and LeBron James' data point was higher for the seasons of 2016-2022."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "collectible-puppy",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Second Research Question: Who is the best offensive player in the NBA?\n"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "demographic-future",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Methods"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "64e47d9c-d4af-4c02-87af-d0087597d629",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "I will use the player_name, raptor_offense, predator_offense, and pace_impact data for each player.  \n",
 | 
						||
    "  \n",
 | 
						||
    "**Initial Problem:**  \n",
 | 
						||
    "I first completed this without excluding players who played less than 3000 minutes in a season and was finding that the data was showing me the best offensive NBA players were players who only played one game.  This was happening because a few players played great offensively in one game and never played again.  Obviously, those are not the best NBA players as they only played 1 or a few games in the NBA.\n",
 | 
						||
    "\n",
 | 
						||
    "**How I fixed this:**  \n",
 | 
						||
    "I fixed this by removing all NBA players who played less than 3000 minutes throughout the 82 game season.  This only allowed the players who were good enough to play many minutes for their teams throughout the season.  This means that these were some of the best NBA players.\n",
 | 
						||
    "\n",
 | 
						||
    "**What I did:**  \n",
 | 
						||
    "I first removed all players who played less than 3000 minutes.  I then grouped the data by the players' names as I called these the eligible players.  I then took all of the offensive stats in this dataset which were the raptor offense, predator offense, and pace impact data and took the averages of all of them which I called the offense stats.  I then added all of the offense stats together and sorted them by highest to lowest number.  The higher the number correlates with the better the offensive player which gives us a list ranking the best to worst offensive players that have all played over 3000 minutes."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 13,
 | 
						||
   "id": "e40a1730-6c77-425c-81b2-55f2bcd7d5d2",
 | 
						||
   "metadata": {
 | 
						||
    "scrolled": true
 | 
						||
   },
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "player_name\n",
 | 
						||
       "Stephen Curry            20.604269\n",
 | 
						||
       "Chris Paul               16.936584\n",
 | 
						||
       "James Harden             16.727092\n",
 | 
						||
       "Isaiah Thomas            15.818621\n",
 | 
						||
       "Russell Westbrook        14.313888\n",
 | 
						||
       "Kevin Durant             13.773243\n",
 | 
						||
       "LeBron James             13.155568\n",
 | 
						||
       "Kyrie Irving             12.028666\n",
 | 
						||
       "Nikola Jokic             10.837165\n",
 | 
						||
       "Damian Lillard           10.753352\n",
 | 
						||
       "Kyle Lowry                9.822552\n",
 | 
						||
       "Bradley Beal              8.568266\n",
 | 
						||
       "Paul George               8.376341\n",
 | 
						||
       "Karl-Anthony Towns        7.843553\n",
 | 
						||
       "Devin Booker              7.375421\n",
 | 
						||
       "Jimmy Butler              7.328433\n",
 | 
						||
       "John Wall                 7.261891\n",
 | 
						||
       "Kevin Love                6.794852\n",
 | 
						||
       "Blake Griffin             6.696963\n",
 | 
						||
       "Draymond Green            6.510247\n",
 | 
						||
       "JR Smith                  6.351795\n",
 | 
						||
       "Giannis Antetokounmpo     5.934426\n",
 | 
						||
       "Khris Middleton           5.881128\n",
 | 
						||
       "Jrue Holiday              5.854937\n",
 | 
						||
       "Kemba Walker              5.684619\n",
 | 
						||
       "Nicolas Batum             5.481139\n",
 | 
						||
       "Klay Thompson             5.373458\n",
 | 
						||
       "CJ McCollum               5.305970\n",
 | 
						||
       "Anthony Davis             5.293702\n",
 | 
						||
       "Wesley Matthews           5.104814\n",
 | 
						||
       "Chandler Parsons          4.708605\n",
 | 
						||
       "Jaylen Brown              4.623347\n",
 | 
						||
       "Otto Porter Jr.           4.309499\n",
 | 
						||
       "Jayson Tatum              4.129525\n",
 | 
						||
       "DeMar DeRozan             4.126880\n",
 | 
						||
       "DeAndre Jordan            4.064953\n",
 | 
						||
       "Marcus Smart              4.058944\n",
 | 
						||
       "Jalen Brunson             3.748525\n",
 | 
						||
       "Donovan Mitchell          3.530766\n",
 | 
						||
       "Monta Ellis               3.105204\n",
 | 
						||
       "Ben Simmons               3.067391\n",
 | 
						||
       "Mikal Bridges             2.747403\n",
 | 
						||
       "Paul Millsap              2.468656\n",
 | 
						||
       "Pascal Siakam             2.379094\n",
 | 
						||
       "Trevor Ariza              2.159732\n",
 | 
						||
       "Joe Johnson               2.158377\n",
 | 
						||
       "Joakim Noah               1.756960\n",
 | 
						||
       "Chris Bosh                1.453419\n",
 | 
						||
       "Andrew Wiggins            1.195676\n",
 | 
						||
       "Tyrese Maxey              1.086156\n",
 | 
						||
       "David West                0.962411\n",
 | 
						||
       "Dorian Finney-Smith       0.762526\n",
 | 
						||
       "Tobias Harris             0.491411\n",
 | 
						||
       "Serge Ibaka               0.305851\n",
 | 
						||
       "Lance Stephenson          0.142647\n",
 | 
						||
       "Marc Gasol                0.107053\n",
 | 
						||
       "Bam Adebayo              -0.030398\n",
 | 
						||
       "Marcin Gortat            -0.718653\n",
 | 
						||
       "George Hill              -1.871933\n",
 | 
						||
       "PJ Tucker                -2.363312\n",
 | 
						||
       "dtype: float64"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 13,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "players_over_3000 = df[df.mp>3000]\n",
 | 
						||
    "eligible_players = players_over_3000.groupby(\"player_name\")\n",
 | 
						||
    "offense_stats= eligible_players[[\"raptor_offense\",\"predator_offense\",\"pace_impact\"]].mean()\n",
 | 
						||
    "offense_stats.sum(axis=1).sort_values(ascending=False)"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "c60d07cf-bc4a-4151-bf70-7724cca89628",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "### Results\n",
 | 
						||
    "I found that the best offensive player is Stephen Curry and it is him by a far margin.  This makes sense as he is known as one of the best offensive players in the NBA and has been for years.  The next best offensive players are Chris Paul, James Harden, Isaiah Thomas, and Russell Westbrook.  These are all guards that are best on offense so this also makes sense.  I think that using the data points of raptor offense, predator offense, and pace impact were useful as it outputted a list of some of the best offensive players from 2014-2022."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "702dbab9-27e7-4214-9639-ab2391a15bb6",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Third Research Question: Who is the best defensive player in the NBA?"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "ade012cc-5381-4dee-8fde-d66de63fcbc2",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Methods"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "b7036e91-71f5-415b-8752-460b28529d25",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "**What I did:**  \n",
 | 
						||
    "This is very similar to the best offensive stats.  I only allowed players with 3000 minutes played which is the same pool of players that I included in seeing who the best offensive player was by making the players_over_3000 dataframe.  This time I looked at the data for raptor defense, predator defense, and pace impact.  I took the average of all three of these data points and added the number together.  This gives a good represenation of how effective a player is on defense.  These are good data values to see who the best defensive players are."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": 14,
 | 
						||
   "id": "5aca0be4-035f-4de2-a955-b9584221eccd",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [
 | 
						||
    {
 | 
						||
     "data": {
 | 
						||
      "text/plain": [
 | 
						||
       "player_name\n",
 | 
						||
       "Draymond Green           12.513342\n",
 | 
						||
       "Anthony Davis             9.112754\n",
 | 
						||
       "Joakim Noah               9.022979\n",
 | 
						||
       "Paul George               7.823072\n",
 | 
						||
       "Paul Millsap              6.394374\n",
 | 
						||
       "Marc Gasol                6.100323\n",
 | 
						||
       "Stephen Curry             5.466016\n",
 | 
						||
       "Jrue Holiday              5.328712\n",
 | 
						||
       "Marcus Smart              5.039845\n",
 | 
						||
       "Giannis Antetokounmpo     4.626074\n",
 | 
						||
       "Serge Ibaka               4.452216\n",
 | 
						||
       "PJ Tucker                 4.143843\n",
 | 
						||
       "Marcin Gortat             3.942113\n",
 | 
						||
       "Nikola Jokic              3.908606\n",
 | 
						||
       "Chris Paul                3.856146\n",
 | 
						||
       "Kyle Lowry                3.782834\n",
 | 
						||
       "George Hill               3.723036\n",
 | 
						||
       "Otto Porter Jr.           3.189476\n",
 | 
						||
       "Bam Adebayo               3.057949\n",
 | 
						||
       "Donovan Mitchell          3.046938\n",
 | 
						||
       "Jaylen Brown              2.977191\n",
 | 
						||
       "Russell Westbrook         2.948577\n",
 | 
						||
       "Jimmy Butler              2.690517\n",
 | 
						||
       "David West                2.634409\n",
 | 
						||
       "DeAndre Jordan            2.567188\n",
 | 
						||
       "Kevin Love                2.477635\n",
 | 
						||
       "Pascal Siakam             2.395175\n",
 | 
						||
       "Mikal Bridges             2.237237\n",
 | 
						||
       "Nicolas Batum             2.077575\n",
 | 
						||
       "Jayson Tatum              2.046078\n",
 | 
						||
       "Trevor Ariza              1.994906\n",
 | 
						||
       "James Harden              1.969358\n",
 | 
						||
       "Blake Griffin             1.934800\n",
 | 
						||
       "Chris Bosh                1.621284\n",
 | 
						||
       "Andrew Wiggins            1.501802\n",
 | 
						||
       "Ben Simmons               1.346561\n",
 | 
						||
       "Klay Thompson             0.943468\n",
 | 
						||
       "John Wall                 0.812657\n",
 | 
						||
       "Dorian Finney-Smith       0.731661\n",
 | 
						||
       "Wesley Matthews           0.635469\n",
 | 
						||
       "Kevin Durant              0.623994\n",
 | 
						||
       "LeBron James              0.562439\n",
 | 
						||
       "Bradley Beal              0.501046\n",
 | 
						||
       "Kemba Walker              0.274820\n",
 | 
						||
       "Khris Middleton           0.097103\n",
 | 
						||
       "CJ McCollum              -0.031155\n",
 | 
						||
       "Devin Booker             -0.307908\n",
 | 
						||
       "Monta Ellis              -0.567192\n",
 | 
						||
       "Lance Stephenson         -0.785529\n",
 | 
						||
       "Chandler Parsons         -0.834070\n",
 | 
						||
       "Damian Lillard           -1.518093\n",
 | 
						||
       "Jalen Brunson            -1.997692\n",
 | 
						||
       "Karl-Anthony Towns       -2.044572\n",
 | 
						||
       "Tobias Harris            -2.553516\n",
 | 
						||
       "JR Smith                 -2.758424\n",
 | 
						||
       "Tyrese Maxey             -3.637720\n",
 | 
						||
       "Kyrie Irving             -3.703635\n",
 | 
						||
       "DeMar DeRozan            -4.662701\n",
 | 
						||
       "Isaiah Thomas            -5.590367\n",
 | 
						||
       "Joe Johnson              -5.907836\n",
 | 
						||
       "dtype: float64"
 | 
						||
      ]
 | 
						||
     },
 | 
						||
     "execution_count": 14,
 | 
						||
     "metadata": {},
 | 
						||
     "output_type": "execute_result"
 | 
						||
    }
 | 
						||
   ],
 | 
						||
   "source": [
 | 
						||
    "players_over_3000 = df[df.mp>3000]\n",
 | 
						||
    "eligible_players = players_over_3000.groupby(\"player_name\")\n",
 | 
						||
    "defense_stats= eligible_players[[\"raptor_defense\",\"predator_defense\",\"pace_impact\"]].mean()\n",
 | 
						||
    "defense_stats.sum(axis=1).sort_values(ascending=False)"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "8793880e-f0cb-4304-bdad-d54f25a5b426",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "### Results\n",
 | 
						||
    "I found that the best defensive player from 2014-2022 was Draymond Green.  This makes sense as he has won the Defensive Player Of The Year award and is known primarily for his defense.  He is known as one of the best defensive plaeyrs in the league.  I am not surprised to see Draymond Green be the number one ranked defensive player.  The three next best defensive players are Anthony Davis, Joakim Noah, and Paul George.  These players are also known for their defense so it makes sense that they are rated so highly.  It is interesting to note that 3 of the top 4 players are Power Forwards or Centers which also shows that this could lead to research on if Power Forwards and Centers generally play the best defense."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "infectious-symbol",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "# Discussion"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "furnished-camping",
 | 
						||
   "metadata": {
 | 
						||
    "code_folding": []
 | 
						||
   },
 | 
						||
   "source": [
 | 
						||
    "## Considerations"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "27b18f33-f5fc-4eda-a0d2-1be37c5b6d76",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "My results give an accurate depiction of showing who is better between Kevin Durant and LeBron James and who the best offensive and defensive players in the NBA are.  Determining who is better between Kevin Durant and LeBron James is accurate as I used offensive, defensive, and overall impact data for both players and compared them.  I decided to add all of the values together as I thought that would accurately determine who has been better.  A person could use other data not given in the data set as there could be other metrics that better capture who the better player is.  In regards to who the best offensive and defensive players are in the NBA, the results are accurate as I used 3 different data points for offense and 3 data points for defense.  This makes the data give the overall best offensive and defensive player.  Also, the the players given at the top of the best offensive and defensive players lists are known for their skill on that side of the court which further suggests that the data is accurate.\n",
 | 
						||
    "\n",
 | 
						||
    "Some limitations of the data set are that there are other statistics that were not factored in the data.  Also, this compares players only by specific data points and does not factor in how they effect their teammates which is very important in determining how good a player is.  This includes the leadership a player brings to their team and how that elevates their teammates.  Another limitation is that I used 3000 or more minutes played as a qualification to be considered.  There could be good players that played 2999 minutes and were not counted.  The other limitation is that the data goes from 2014-2022.  This is not recent enough as we are in 2025 and does not include data from the previous 2-3 seasons.  Also, it is necessary to note that it does not include data from before 2014.  This is a problem when discussing LeBron James and Kevin Durant as they both played prior to 2014.\n",
 | 
						||
    "\n",
 | 
						||
    "There are no known biases in the data as it does not factor in personal opinions of players."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "beneficial-invasion",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Summary"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "b2c65367-4696-4cb5-81c3-faaa9cfc7b0d",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "I learned that my media consumption has led me to decide to use this data set.  I see a lot of NBA media so I was interested in using NBA data for this project.\n",
 | 
						||
    "\n",
 | 
						||
    "I learned that LeBron James is better than Kevin Durant both offensively and defensively.  This can make sense although it is pretty surprising that LeBron James was better on offense.  Stephen Curry, Chris Paul, and James Harden were found to be the best players offensively which completely makes sense as they were been some of the best offesnive players from 2014-2022.  Draymond Green, Anthony Davis, and Joakim Noah were found to be the best players defensively which completely makes sense as Draymond Green and Joakim Noah were some of the best defenders from 2014-2022.  Overall, I would say that the results make sense to me showing that the data was accurate.\n",
 | 
						||
    "\n",
 | 
						||
    "The most surprising thing was that LeBron James was better offensively than Kevin Durant.  I assumed he would be better defensively but I was not expecting him to be better on offense.  Kevin Durant is known as one of the best overall scorers and shooters so I definitely did not expect LeBron James to be better on offense.  I was also surprised that Stephen Curry was rated so highly defensively.  He is not thought of as one of the best defenders so this was interesting to see.\n",
 | 
						||
    "\n",
 | 
						||
    "This project will impact me when I am watching basketball in the future.  I will watch Kevin Durant and LeBron James and see for myself who is better at offense.  I will also watch to see how the best offensive and defensive players have changed since 2022."
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "markdown",
 | 
						||
   "id": "41ca88fe-6262-474c-af0c-1f191ff4790a",
 | 
						||
   "metadata": {},
 | 
						||
   "source": [
 | 
						||
    "## Final Poster"
 | 
						||
   ]
 | 
						||
  },
 | 
						||
  {
 | 
						||
   "cell_type": "code",
 | 
						||
   "execution_count": null,
 | 
						||
   "id": "cfe489ca-77ea-4071-9622-397638f82c90",
 | 
						||
   "metadata": {},
 | 
						||
   "outputs": [],
 | 
						||
   "source": []
 | 
						||
  }
 | 
						||
 ],
 | 
						||
 "metadata": {
 | 
						||
  "jupytext": {
 | 
						||
   "cell_metadata_json": true,
 | 
						||
   "text_representation": {
 | 
						||
    "extension": ".Rmd",
 | 
						||
    "format_name": "rmarkdown",
 | 
						||
    "format_version": "1.2",
 | 
						||
    "jupytext_version": "1.9.1"
 | 
						||
   }
 | 
						||
  },
 | 
						||
  "kernelspec": {
 | 
						||
   "display_name": "Python 3 (ipykernel)",
 | 
						||
   "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.12.3"
 | 
						||
  },
 | 
						||
  "toc": {
 | 
						||
   "base_numbering": 1,
 | 
						||
   "nav_menu": {},
 | 
						||
   "number_sections": false,
 | 
						||
   "sideBar": true,
 | 
						||
   "skip_h1_title": false,
 | 
						||
   "title_cell": "Table of Contents",
 | 
						||
   "title_sidebar": "Contents",
 | 
						||
   "toc_cell": false,
 | 
						||
   "toc_position": {},
 | 
						||
   "toc_section_display": true,
 | 
						||
   "toc_window_display": false
 | 
						||
  },
 | 
						||
  "varInspector": {
 | 
						||
   "cols": {
 | 
						||
    "lenName": 16,
 | 
						||
    "lenType": 16,
 | 
						||
    "lenVar": 40
 | 
						||
   },
 | 
						||
   "kernels_config": {
 | 
						||
    "python": {
 | 
						||
     "delete_cmd_postfix": "",
 | 
						||
     "delete_cmd_prefix": "del ",
 | 
						||
     "library": "var_list.py",
 | 
						||
     "varRefreshCmd": "print(var_dic_list())"
 | 
						||
    },
 | 
						||
    "r": {
 | 
						||
     "delete_cmd_postfix": ") ",
 | 
						||
     "delete_cmd_prefix": "rm(",
 | 
						||
     "library": "var_list.r",
 | 
						||
     "varRefreshCmd": "cat(var_dic_list()) "
 | 
						||
    }
 | 
						||
   },
 | 
						||
   "types_to_exclude": [
 | 
						||
    "module",
 | 
						||
    "function",
 | 
						||
    "builtin_function_or_method",
 | 
						||
    "instance",
 | 
						||
    "_Feature"
 | 
						||
   ],
 | 
						||
   "window_display": false
 | 
						||
  }
 | 
						||
 },
 | 
						||
 "nbformat": 4,
 | 
						||
 "nbformat_minor": 5
 | 
						||
}
 |