Skip to content

Instantly share code, notes, and snippets.

@eric-czech
Last active June 13, 2022 00:03
Show Gist options
  • Save eric-czech/229773d091333e99963abf49eb811bdb to your computer and use it in GitHub Desktop.
Save eric-czech/229773d091333e99963abf49eb811bdb to your computer and use it in GitHub Desktop.
Top MLB hitters
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "33b9bad7",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"id": "2052a45f",
"metadata": {},
"source": [
"Legend from ```/Users/eczech/Downloads/baseballdatabank-master/readme2014.txt```:\n",
"\n",
"```\n",
"------------------------------------------------------------------------------\n",
"2.2 Batting Table\n",
"playerID Player ID code\n",
"yearID Year\n",
"stint player's stint (order of appearances within a season)\n",
"teamID Team\n",
"lgID League\n",
"G Games\n",
"AB At Bats\n",
"R Runs\n",
"H Hits\n",
"2B Doubles\n",
"3B Triples\n",
"HR Homeruns\n",
"RBI Runs Batted In\n",
"SB Stolen Bases\n",
"CS Caught Stealing\n",
"BB Base on Balls\n",
"SO Strikeouts\n",
"IBB Intentional walks\n",
"HBP Hit by pitch\n",
"SH Sacrifice hits\n",
"SF Sacrifice flies\n",
"GIDP Grounded into double plays\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "7f116b91",
"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>playerID</th>\n",
" <th>yearID</th>\n",
" <th>stint</th>\n",
" <th>teamID</th>\n",
" <th>lgID</th>\n",
" <th>G</th>\n",
" <th>AB</th>\n",
" <th>R</th>\n",
" <th>H</th>\n",
" <th>2B</th>\n",
" <th>...</th>\n",
" <th>RBI</th>\n",
" <th>SB</th>\n",
" <th>CS</th>\n",
" <th>BB</th>\n",
" <th>SO</th>\n",
" <th>IBB</th>\n",
" <th>HBP</th>\n",
" <th>SH</th>\n",
" <th>SF</th>\n",
" <th>GIDP</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>abercda01</td>\n",
" <td>1871</td>\n",
" <td>1</td>\n",
" <td>TRO</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>addybo01</td>\n",
" <td>1871</td>\n",
" <td>1</td>\n",
" <td>RC1</td>\n",
" <td>NaN</td>\n",
" <td>25</td>\n",
" <td>118</td>\n",
" <td>30</td>\n",
" <td>32</td>\n",
" <td>6</td>\n",
" <td>...</td>\n",
" <td>13.0</td>\n",
" <td>8.0</td>\n",
" <td>1.0</td>\n",
" <td>4</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>allisar01</td>\n",
" <td>1871</td>\n",
" <td>1</td>\n",
" <td>CL1</td>\n",
" <td>NaN</td>\n",
" <td>29</td>\n",
" <td>137</td>\n",
" <td>28</td>\n",
" <td>40</td>\n",
" <td>4</td>\n",
" <td>...</td>\n",
" <td>19.0</td>\n",
" <td>3.0</td>\n",
" <td>1.0</td>\n",
" <td>2</td>\n",
" <td>5.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>allisdo01</td>\n",
" <td>1871</td>\n",
" <td>1</td>\n",
" <td>WS3</td>\n",
" <td>NaN</td>\n",
" <td>27</td>\n",
" <td>133</td>\n",
" <td>28</td>\n",
" <td>44</td>\n",
" <td>10</td>\n",
" <td>...</td>\n",
" <td>27.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ansonca01</td>\n",
" <td>1871</td>\n",
" <td>1</td>\n",
" <td>RC1</td>\n",
" <td>NaN</td>\n",
" <td>25</td>\n",
" <td>120</td>\n",
" <td>29</td>\n",
" <td>39</td>\n",
" <td>11</td>\n",
" <td>...</td>\n",
" <td>16.0</td>\n",
" <td>6.0</td>\n",
" <td>2.0</td>\n",
" <td>2</td>\n",
" <td>1.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110490</th>\n",
" <td>zimmejo02</td>\n",
" <td>2021</td>\n",
" <td>1</td>\n",
" <td>MIL</td>\n",
" <td>NL</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110491</th>\n",
" <td>zimmeky01</td>\n",
" <td>2021</td>\n",
" <td>1</td>\n",
" <td>KCA</td>\n",
" <td>AL</td>\n",
" <td>52</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110492</th>\n",
" <td>zimmery01</td>\n",
" <td>2021</td>\n",
" <td>1</td>\n",
" <td>WAS</td>\n",
" <td>NL</td>\n",
" <td>110</td>\n",
" <td>255</td>\n",
" <td>27</td>\n",
" <td>62</td>\n",
" <td>16</td>\n",
" <td>...</td>\n",
" <td>46.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>16</td>\n",
" <td>77.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>9.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110493</th>\n",
" <td>zuberty01</td>\n",
" <td>2021</td>\n",
" <td>1</td>\n",
" <td>KCA</td>\n",
" <td>AL</td>\n",
" <td>31</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110494</th>\n",
" <td>zuninmi01</td>\n",
" <td>2021</td>\n",
" <td>1</td>\n",
" <td>TBA</td>\n",
" <td>AL</td>\n",
" <td>109</td>\n",
" <td>333</td>\n",
" <td>64</td>\n",
" <td>72</td>\n",
" <td>11</td>\n",
" <td>...</td>\n",
" <td>62.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>34</td>\n",
" <td>132.0</td>\n",
" <td>0.0</td>\n",
" <td>7.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>110495 rows × 22 columns</p>\n",
"</div>"
],
"text/plain": [
" playerID yearID stint teamID lgID G AB R H 2B ... RBI \\\n",
"0 abercda01 1871 1 TRO NaN 1 4 0 0 0 ... 0.0 \n",
"1 addybo01 1871 1 RC1 NaN 25 118 30 32 6 ... 13.0 \n",
"2 allisar01 1871 1 CL1 NaN 29 137 28 40 4 ... 19.0 \n",
"3 allisdo01 1871 1 WS3 NaN 27 133 28 44 10 ... 27.0 \n",
"4 ansonca01 1871 1 RC1 NaN 25 120 29 39 11 ... 16.0 \n",
"... ... ... ... ... ... ... ... .. .. .. ... ... \n",
"110490 zimmejo02 2021 1 MIL NL 2 1 0 0 0 ... 0.0 \n",
"110491 zimmeky01 2021 1 KCA AL 52 0 0 0 0 ... 0.0 \n",
"110492 zimmery01 2021 1 WAS NL 110 255 27 62 16 ... 46.0 \n",
"110493 zuberty01 2021 1 KCA AL 31 1 0 0 0 ... 0.0 \n",
"110494 zuninmi01 2021 1 TBA AL 109 333 64 72 11 ... 62.0 \n",
"\n",
" SB CS BB SO IBB HBP SH SF GIDP \n",
"0 0.0 0.0 0 0.0 NaN NaN NaN NaN 0.0 \n",
"1 8.0 1.0 4 0.0 NaN NaN NaN NaN 0.0 \n",
"2 3.0 1.0 2 5.0 NaN NaN NaN NaN 1.0 \n",
"3 1.0 1.0 0 2.0 NaN NaN NaN NaN 0.0 \n",
"4 6.0 2.0 2 1.0 NaN NaN NaN NaN 0.0 \n",
"... ... ... .. ... ... ... ... ... ... \n",
"110490 0.0 0.0 0 1.0 0.0 0.0 0.0 0.0 0.0 \n",
"110491 0.0 0.0 0 0.0 0.0 0.0 0.0 0.0 0.0 \n",
"110492 0.0 0.0 16 77.0 0.0 0.0 0.0 2.0 9.0 \n",
"110493 0.0 0.0 0 1.0 0.0 0.0 0.0 0.0 0.0 \n",
"110494 0.0 0.0 34 132.0 0.0 7.0 0.0 1.0 7.0 \n",
"\n",
"[110495 rows x 22 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv('/Users/eczech/Downloads/baseballdatabank-master/core/Batting.csv')\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "a05343c2",
"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>year</th>\n",
" <th>Number of top hitters that are the same as last year</th>\n",
" <th>Number of top hitters that are the different</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2001</td>\n",
" <td>57</td>\n",
" <td>43</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2002</td>\n",
" <td>65</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2003</td>\n",
" <td>58</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2004</td>\n",
" <td>54</td>\n",
" <td>46</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2005</td>\n",
" <td>56</td>\n",
" <td>44</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" year Number of top hitters that are the same as last year \\\n",
"0 2001 57 \n",
"1 2002 65 \n",
"2 2003 58 \n",
"3 2004 54 \n",
"4 2005 56 \n",
"\n",
" Number of top hitters that are the different \n",
"0 43 \n",
"1 35 \n",
"2 42 \n",
"3 46 \n",
"4 44 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n = 100\n",
"result = []\n",
"for year in range(2001, 2022):\n",
" top_hitters_this_year = (\n",
" df[df['yearID'] == year]\n",
" .sort_values('H', ascending=False)\n",
" .head(n)['playerID']\n",
" .unique()\n",
" )\n",
" top_hitters_last_year = (\n",
" df[df['yearID'] == year - 1]\n",
" .sort_values('H', ascending=False)\n",
" .head(n)['playerID']\n",
" .unique()\n",
" )\n",
" num_same = len(set(top_hitters_this_year) & set(top_hitters_last_year))\n",
" num_different = n - num_same\n",
" result.append({\n",
" 'year': year, \n",
" 'Number of top hitters that are the same as last year': num_same, \n",
" 'Number of top hitters that are the different': num_different, \n",
" })\n",
"result = pd.DataFrame(result)\n",
"result.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "ef6a6178",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='year'>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAEWCAYAAACe4DG0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA2wElEQVR4nO3de7zVc7748dendjcVijgRkpNUdjehxiXp4pJRjAoxNkPjflyOEc5g3E5jcotjmn4yMZNbZobGZaZQEhNyp0Km0JQUMqWS6vP7Y6+WLrvatffuuz/b6/l49Nhrfdda3/Vaa1++vff3u9cKMUYkSZIkScpCtawDJEmSJEk/XA6lkiRJkqTMOJRKkiRJkjLjUCpJkiRJyoxDqSRJkiQpMw6lkiRJkqTMFGQdALDjjjvGpk2bZp0hSZIkSaoAr7322oIYY6OSLqsUQ2nTpk2ZMmVK1hmSJEmSpAoQQvh4Q5d5+K4kSZIkKTMOpZIkSZKkzDiUSpIkSZIyUyn+plSSJEml99133zF79myWLVuWdYokraV27do0adKEGjVqlPo2DqWSJEmJmT17NvXr16dp06aEELLOkSQAYox88cUXzJ49mz333LPUt9vk4bshhHtDCJ+HEN5dY1nDEMK4EMKHuY8N1rjsihDCjBDC+yGEIzb7kUiSJGmjli1bxg477OBAKqlSCSGwww47bPZRHKX5m9KRwJHrLBsEPBtjbA48mztPCKEVcCLQOnebu0MI1TerSJIkSZvkQCqpMtqSn02bHEpjjBOBL9dZ3Bu4L3f6PqDPGssfijF+G2OcCcwADtjsKkmSJFVqIQQuvfTS/PkhQ4Zw7bXXlsu6i4qKePTRR8tlXRszevRoWrZsSdeuXddaPmvWLB544IFyu5969eqVuHzYsGHcf//9AIwcOZI5c+bkL7v99ttZsmRJuTWs9uabb/LUU0/lz1977bUMGTJks9Zx0003lXdWidZ9Tpo2bcqCBQu2yn1XBiNHjuT888/f7NuV99fv1rClf1O6c4xxLkCMcW4IYafc8l2ByWtcb3Zu2XpCCAOBgQC777576e/52u22IHdT6/y6AtZZAZ2QTmsqnZBOa0V0QjqtqXRCOq2pdEI6ral0QjqtqXRCpq1NBz1Zrnc768JdNnmdWrVq8ufRD3HF6b3Ycd/Dy/X+8+a8sdk3WblyJdWrb+RAvV3a50+OGDGCu+++e4ND6cknn1w+nXFVidc5+9gD87cfOfwu9t25BrvQCigeSk855RS22Wab0jVQiscOvDn+caa8PZWj2zUuXrBoLqzaZrOe65tuvIEri476fsEaz2l5dZb0nLByOXz2NixvsPHbbshmdpbaFnydblIZWjf49VtBnTFGYoxUq7blb+xS3m8JU9K+2ljSFWOMw2OMHWOMHRs1alTOGZIkSapIBdWrM3DA8dw2fNR6l627p3P1nsIJEybQpUsX+vXrx957782gQYMYNWoUBxxwAIWFhXz00Uf52zzzzDMcctwZ7H1wH54YNxEoHmYuu/429j/6FNp078fv/lB8HxNemkLXEwZy8nlXUtit33o9Dz72Nwq79WPfw/ty+eWXA3DdddcxadIkzj77bC677LK1rj9o0CBeeOEF2rVrx2233cayZcs4/fTTKSwspH379owfPx4o3pPVu3dvjhxwHi0OOY5f3fq7DT5fVw2+i7bd+9PpmJ8yb/4XAFx7yzCGDLufR594hilvTWXA+VfRrseJ3HHPA8yZM4euXbvmB+axY8fSuXNnOnToQN++fVm8eDFQvPfwuuuu4+CDD2b06NEMHTqUVq1a0aZNG0488cS1GpYvX87VQ4bx8JixtOtxIg8//ncApn7wTw474Syadf4xQ0c8mL9+nzMuYb8jT6Z11xMY/sc/FT83Nw1l6bJvadfjRAacf9V6j/Occ86hY8eOtG7dmmuuuSa/fN3ODT2e1dZ9TpYuLf4bxTvvfYgOR5xMYbd+TJ8xE4BvlizljEuuZf+jT6F9z5N4/O8T1uuaO28+hx56KO3atWPfffflhRde2GTvlVdeSefOnenYsSOvv/46RxxxBHvttRfDhg3LX+83v/lN/uvxmiG/LfFzf86gm+h41ABadz1hresMumkorQ77CW269+O/r7utxNuu9te//pUDDzyQ9u3b0717d+bNmwfA888/T7t27WjXrh3t27dn0aJF6339runUC/5nrednwPlXMWbs8xv83lr8zRK69ft5/jlffdtZn86hZZfjOffcc+nQoQOffvrpRvs3ZUv3lM4LITTO7SVtDHyeWz4b2G2N6zUB5qx3a0mSJCXvvKJ+tOnen19cX/q9z2+99RbTpk2jYcOGNGvWjDPPPJNXXnmFO+64gzvvvJPbb78dKN7b8/yf7uGjWbPp2ncg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\n",
"text/plain": [
"<Figure size 1152x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"result.plot.bar(x='year', stacked=True, figsize=(16, 4))"
]
}
],
"metadata": {
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment