{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "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>rank</th>\n",
       "      <th>name</th>\n",
       "      <th>country</th>\n",
       "      <th>matches</th>\n",
       "      <th>mmr</th>\n",
       "      <th>season</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>kolemoen</td>\n",
       "      <td>DE</td>\n",
       "      <td>431</td>\n",
       "      <td>10484</td>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>kams134</td>\n",
       "      <td>PL</td>\n",
       "      <td>923</td>\n",
       "      <td>10477</td>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>TailBot</td>\n",
       "      <td>PL</td>\n",
       "      <td>538</td>\n",
       "      <td>10472</td>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>Pajabol</td>\n",
       "      <td>PL</td>\n",
       "      <td>820</td>\n",
       "      <td>10471</td>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Adzikov</td>\n",
       "      <td>PL</td>\n",
       "      <td>1105</td>\n",
       "      <td>10442</td>\n",
       "      <td>M2_01 Wolf 2020</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",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>14790</td>\n",
       "      <td>MagCCG</td>\n",
       "      <td>RU</td>\n",
       "      <td>4</td>\n",
       "      <td>389</td>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>14791</td>\n",
       "      <td>可乐加冰.</td>\n",
       "      <td>CN</td>\n",
       "      <td>4</td>\n",
       "      <td>386</td>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>14792</td>\n",
       "      <td>RomanTrooper</td>\n",
       "      <td>RU</td>\n",
       "      <td>4</td>\n",
       "      <td>386</td>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>14793</td>\n",
       "      <td>Naveless</td>\n",
       "      <td>DE</td>\n",
       "      <td>4</td>\n",
       "      <td>384</td>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>14794</td>\n",
       "      <td>Pargali</td>\n",
       "      <td>PL</td>\n",
       "      <td>1</td>\n",
       "      <td>96</td>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>182799 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      rank          name country  matches    mmr           season\n",
       "0        1      kolemoen      DE      431  10484  M2_01 Wolf 2020\n",
       "1        2       kams134      PL      923  10477  M2_01 Wolf 2020\n",
       "2        3       TailBot      PL      538  10472  M2_01 Wolf 2020\n",
       "3        4       Pajabol      PL      820  10471  M2_01 Wolf 2020\n",
       "4        5       Adzikov      PL     1105  10442  M2_01 Wolf 2020\n",
       "..     ...           ...     ...      ...    ...              ...\n",
       "15   14790        MagCCG      RU        4    389  M4_02 Love 2022\n",
       "41   14791         可乐加冰.      CN        4    386  M4_02 Love 2022\n",
       "109  14792  RomanTrooper      RU        4    386  M4_02 Love 2022\n",
       "20   14793      Naveless      DE        4    384  M4_02 Love 2022\n",
       "55   14794       Pargali      PL        1     96  M4_02 Love 2022\n",
       "\n",
       "[182799 rows x 6 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 1;\n",
       "                var nbb_unformatted_code = \"%load_ext nb_black\\nimport pandas as pd\\nimport numpy as np\\nfrom os import listdir, path\\n\\noutput_path = \\\"./output\\\"\\n\\nplayers_df = (\\n    pd.concat(\\n        pd.read_excel(path.join(output_path, f))\\n        for f in listdir(\\\"./output\\\")\\n        if f.startswith(\\\"season_\\\")\\n    )\\n    .drop(columns=[\\\"Unnamed: 0\\\"])\\n    .dropna()\\n).sort_values([\\\"season\\\", \\\"rank\\\"])\\nplayers_df\";\n",
       "                var nbb_formatted_code = \"%load_ext nb_black\\nimport pandas as pd\\nimport numpy as np\\nfrom os import listdir, path\\n\\noutput_path = \\\"./output\\\"\\n\\nplayers_df = (\\n    pd.concat(\\n        pd.read_excel(path.join(output_path, f))\\n        for f in listdir(\\\"./output\\\")\\n        if f.startswith(\\\"season_\\\")\\n    )\\n    .drop(columns=[\\\"Unnamed: 0\\\"])\\n    .dropna()\\n).sort_values([\\\"season\\\", \\\"rank\\\"])\\nplayers_df\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%load_ext nb_black\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from os import listdir, path\n",
    "\n",
    "output_path = \"./output\"\n",
    "\n",
    "players_df = (\n",
    "    pd.concat(\n",
    "        pd.read_excel(path.join(output_path, f))\n",
    "        for f in listdir(\"./output\")\n",
    "        if f.startswith(\"season_\")\n",
    "    )\n",
    "    .drop(columns=[\"Unnamed: 0\"])\n",
    "    .dropna()\n",
    ").sort_values([\"season\", \"rank\"])\n",
    "players_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "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>rank</th>\n",
       "      <th>name</th>\n",
       "      <th>country</th>\n",
       "      <th>matches</th>\n",
       "      <th>mmr</th>\n",
       "      <th>season</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2084</th>\n",
       "      <td>3259</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>142</td>\n",
       "      <td>9617</td>\n",
       "      <td>M2_05 Viper 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1137</th>\n",
       "      <td>1138</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>254</td>\n",
       "      <td>9746</td>\n",
       "      <td>M2_06 Magic 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1166</th>\n",
       "      <td>1167</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>260</td>\n",
       "      <td>9820</td>\n",
       "      <td>M2_07 Griffin 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1254</th>\n",
       "      <td>1255</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>214</td>\n",
       "      <td>9779</td>\n",
       "      <td>M2_08 Draconid 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2237</th>\n",
       "      <td>12816</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>97</td>\n",
       "      <td>3360</td>\n",
       "      <td>M2_09 Dryad 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1056</th>\n",
       "      <td>1057</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>351</td>\n",
       "      <td>9846</td>\n",
       "      <td>M2_10 Cat 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1638</th>\n",
       "      <td>1639</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>154</td>\n",
       "      <td>9785</td>\n",
       "      <td>M2_11 Mahakam 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2515</th>\n",
       "      <td>12856</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>80</td>\n",
       "      <td>7407</td>\n",
       "      <td>M2_12 Wild Hunt 2020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1466</th>\n",
       "      <td>1467</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>175</td>\n",
       "      <td>9724</td>\n",
       "      <td>M3_01 Wolf 2021</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>679</th>\n",
       "      <td>680</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>406</td>\n",
       "      <td>9903</td>\n",
       "      <td>M3_02 Love 2021</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1784</th>\n",
       "      <td>9353</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>63</td>\n",
       "      <td>5384</td>\n",
       "      <td>M3_03 Bear 2021</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2553</th>\n",
       "      <td>14501</td>\n",
       "      <td>sepro</td>\n",
       "      <td>BE</td>\n",
       "      <td>40</td>\n",
       "      <td>2836</td>\n",
       "      <td>M3_04 Elf 2021</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       rank   name country  matches   mmr                season\n",
       "2084   3259  sepro      BE      142  9617      M2_05 Viper 2020\n",
       "1137   1138  sepro      BE      254  9746      M2_06 Magic 2020\n",
       "1166   1167  sepro      BE      260  9820    M2_07 Griffin 2020\n",
       "1254   1255  sepro      BE      214  9779   M2_08 Draconid 2020\n",
       "2237  12816  sepro      BE       97  3360      M2_09 Dryad 2020\n",
       "1056   1057  sepro      BE      351  9846        M2_10 Cat 2020\n",
       "1638   1639  sepro      BE      154  9785    M2_11 Mahakam 2020\n",
       "2515  12856  sepro      BE       80  7407  M2_12 Wild Hunt 2020\n",
       "1466   1467  sepro      BE      175  9724       M3_01 Wolf 2021\n",
       "679     680  sepro      BE      406  9903       M3_02 Love 2021\n",
       "1784   9353  sepro      BE       63  5384       M3_03 Bear 2021\n",
       "2553  14501  sepro      BE       40  2836        M3_04 Elf 2021"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 2;\n",
       "                var nbb_unformatted_code = \"players_df[players_df[\\\"name\\\"] == \\\"sepro\\\"]\";\n",
       "                var nbb_formatted_code = \"players_df[players_df[\\\"name\\\"] == \\\"sepro\\\"]\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "players_df[players_df[\"name\"] == \"sepro\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 3;\n",
       "                var nbb_unformatted_code = \"def sdi(data) -> float:\\n    \\\"\\\"\\\"\\n    Given a list of counts, calculate the Shannon Diversity Index\\n\\n    :param data: list of integers\\n    :return: Shannon Diversity Index\\n    \\\"\\\"\\\"\\n\\n    def p(n, N):\\n        return n / N * np.log(n / N)\\n\\n    x = np.array([d for d in data if d != 0])\\n\\n    N = np.sum(x.astype(\\\"float64\\\"))\\n\\n    if N == 0:\\n        raise ZeroDivisionError(\\n            \\\"Cannot calculate Shannon Diversity Index when the sum of all observations is zero\\\"\\n        )\\n\\n    return 0 - np.sum(np.array([p(n, N) for n in x]))\\n\\n\\ndef dominance(data) -> float:\\n    N = np.sum(np.array(data).astype(\\\"float64\\\"))\\n\\n    if N > 0:\\n        proportions = data / N\\n\\n        return np.sum(np.square(proportions))\\n    else:\\n        return np.nan\\n\\n\\ndef simpson(data) -> float:\\n    d = dominance(data)\\n\\n    if np.isnan(d):\\n        return np.nan\\n    else:\\n        return 1 - d\";\n",
       "                var nbb_formatted_code = \"def sdi(data) -> float:\\n    \\\"\\\"\\\"\\n    Given a list of counts, calculate the Shannon Diversity Index\\n\\n    :param data: list of integers\\n    :return: Shannon Diversity Index\\n    \\\"\\\"\\\"\\n\\n    def p(n, N):\\n        return n / N * np.log(n / N)\\n\\n    x = np.array([d for d in data if d != 0])\\n\\n    N = np.sum(x.astype(\\\"float64\\\"))\\n\\n    if N == 0:\\n        raise ZeroDivisionError(\\n            \\\"Cannot calculate Shannon Diversity Index when the sum of all observations is zero\\\"\\n        )\\n\\n    return 0 - np.sum(np.array([p(n, N) for n in x]))\\n\\n\\ndef dominance(data) -> float:\\n    N = np.sum(np.array(data).astype(\\\"float64\\\"))\\n\\n    if N > 0:\\n        proportions = data / N\\n\\n        return np.sum(np.square(proportions))\\n    else:\\n        return np.nan\\n\\n\\ndef simpson(data) -> float:\\n    d = dominance(data)\\n\\n    if np.isnan(d):\\n        return np.nan\\n    else:\\n        return 1 - d\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def sdi(data) -> float:\n",
    "    \"\"\"\n",
    "    Given a list of counts, calculate the Shannon Diversity Index\n",
    "\n",
    "    :param data: list of integers\n",
    "    :return: Shannon Diversity Index\n",
    "    \"\"\"\n",
    "\n",
    "    def p(n, N):\n",
    "        return n / N * np.log(n / N)\n",
    "\n",
    "    x = np.array([d for d in data if d != 0])\n",
    "\n",
    "    N = np.sum(x.astype(\"float64\"))\n",
    "\n",
    "    if N == 0:\n",
    "        raise ZeroDivisionError(\n",
    "            \"Cannot calculate Shannon Diversity Index when the sum of all observations is zero\"\n",
    "        )\n",
    "\n",
    "    return 0 - np.sum(np.array([p(n, N) for n in x]))\n",
    "\n",
    "\n",
    "def dominance(data) -> float:\n",
    "    N = np.sum(np.array(data).astype(\"float64\"))\n",
    "\n",
    "    if N > 0:\n",
    "        proportions = data / N\n",
    "\n",
    "        return np.sum(np.square(proportions))\n",
    "    else:\n",
    "        return np.nan\n",
    "\n",
    "\n",
    "def simpson(data) -> float:\n",
    "    d = dominance(data)\n",
    "\n",
    "    if np.isnan(d):\n",
    "        return np.nan\n",
    "    else:\n",
    "        return 1 - d"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "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>season</th>\n",
       "      <th>country</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>AE</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>AM</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>AR</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>AT</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>AU</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2116</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>US</td>\n",
       "      <td>101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2117</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>UZ</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2118</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>VN</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2119</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>ZA</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2120</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>ZW</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2121 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               season country  count\n",
       "0     M2_01 Wolf 2020      AE      1\n",
       "1     M2_01 Wolf 2020      AM      1\n",
       "2     M2_01 Wolf 2020      AR      4\n",
       "3     M2_01 Wolf 2020      AT     11\n",
       "4     M2_01 Wolf 2020      AU     20\n",
       "...               ...     ...    ...\n",
       "2116  M4_02 Love 2022      US    101\n",
       "2117  M4_02 Love 2022      UZ      3\n",
       "2118  M4_02 Love 2022      VN      6\n",
       "2119  M4_02 Love 2022      ZA      7\n",
       "2120  M4_02 Love 2022      ZW      1\n",
       "\n",
       "[2121 rows x 3 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 4;\n",
       "                var nbb_unformatted_code = \"season_country_df = (\\n    players_df[players_df[\\\"rank\\\"] <= 2000]\\n    .groupby([\\\"season\\\", \\\"country\\\"])\\n    .agg(count=pd.NamedAgg(\\\"name\\\", \\\"count\\\"))\\n    .reset_index()\\n)\\nseason_country_df\";\n",
       "                var nbb_formatted_code = \"season_country_df = (\\n    players_df[players_df[\\\"rank\\\"] <= 2000]\\n    .groupby([\\\"season\\\", \\\"country\\\"])\\n    .agg(count=pd.NamedAgg(\\\"name\\\", \\\"count\\\"))\\n    .reset_index()\\n)\\nseason_country_df\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "season_country_df = (\n",
    "    players_df[players_df[\"rank\"] <= 2000]\n",
    "    .groupby([\"season\", \"country\"])\n",
    "    .agg(count=pd.NamedAgg(\"name\", \"count\"))\n",
    "    .reset_index()\n",
    ")\n",
    "season_country_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "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>season</th>\n",
       "      <th>richness</th>\n",
       "      <th>shannon_diversity</th>\n",
       "      <th>dominance</th>\n",
       "      <th>simpson</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>79</td>\n",
       "      <td>2.911451</td>\n",
       "      <td>0.109716</td>\n",
       "      <td>0.890284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>M2_02 Love 2020</td>\n",
       "      <td>73</td>\n",
       "      <td>2.784907</td>\n",
       "      <td>0.124585</td>\n",
       "      <td>0.875415</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M2_03 Bear 2020</td>\n",
       "      <td>74</td>\n",
       "      <td>2.770397</td>\n",
       "      <td>0.123829</td>\n",
       "      <td>0.876171</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>M2_04 Elf 2020</td>\n",
       "      <td>78</td>\n",
       "      <td>2.921609</td>\n",
       "      <td>0.105208</td>\n",
       "      <td>0.894792</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M2_05 Viper 2020</td>\n",
       "      <td>82</td>\n",
       "      <td>2.975021</td>\n",
       "      <td>0.106955</td>\n",
       "      <td>0.893045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>M2_06 Magic 2020</td>\n",
       "      <td>79</td>\n",
       "      <td>3.028216</td>\n",
       "      <td>0.100404</td>\n",
       "      <td>0.899596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>M2_07 Griffin 2020</td>\n",
       "      <td>80</td>\n",
       "      <td>3.085621</td>\n",
       "      <td>0.092351</td>\n",
       "      <td>0.907649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>M2_08 Draconid 2020</td>\n",
       "      <td>83</td>\n",
       "      <td>3.043551</td>\n",
       "      <td>0.097257</td>\n",
       "      <td>0.902743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>M2_09 Dryad 2020</td>\n",
       "      <td>83</td>\n",
       "      <td>3.071002</td>\n",
       "      <td>0.093658</td>\n",
       "      <td>0.906342</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>M2_10 Cat 2020</td>\n",
       "      <td>82</td>\n",
       "      <td>3.028427</td>\n",
       "      <td>0.101374</td>\n",
       "      <td>0.898626</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>M2_11 Mahakam 2020</td>\n",
       "      <td>83</td>\n",
       "      <td>2.981676</td>\n",
       "      <td>0.110916</td>\n",
       "      <td>0.889084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>M2_12 Wild Hunt 2020</td>\n",
       "      <td>76</td>\n",
       "      <td>3.040627</td>\n",
       "      <td>0.099488</td>\n",
       "      <td>0.900512</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>M3_01 Wolf 2021</td>\n",
       "      <td>86</td>\n",
       "      <td>3.088299</td>\n",
       "      <td>0.098081</td>\n",
       "      <td>0.901919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>M3_02 Love 2021</td>\n",
       "      <td>84</td>\n",
       "      <td>3.045043</td>\n",
       "      <td>0.101261</td>\n",
       "      <td>0.898739</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>M3_03 Bear 2021</td>\n",
       "      <td>86</td>\n",
       "      <td>3.086869</td>\n",
       "      <td>0.090533</td>\n",
       "      <td>0.909467</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>M3_04 Elf 2021</td>\n",
       "      <td>83</td>\n",
       "      <td>3.124564</td>\n",
       "      <td>0.091177</td>\n",
       "      <td>0.908823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>M3_05 Viper 2021</td>\n",
       "      <td>82</td>\n",
       "      <td>3.147269</td>\n",
       "      <td>0.086137</td>\n",
       "      <td>0.913863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>M3_06 Magic 2021</td>\n",
       "      <td>82</td>\n",
       "      <td>3.162725</td>\n",
       "      <td>0.084816</td>\n",
       "      <td>0.915184</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>M3_07 Griffin 2021</td>\n",
       "      <td>84</td>\n",
       "      <td>3.083937</td>\n",
       "      <td>0.098090</td>\n",
       "      <td>0.901910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>M3_08 Draconid 2021</td>\n",
       "      <td>82</td>\n",
       "      <td>3.023176</td>\n",
       "      <td>0.103806</td>\n",
       "      <td>0.896194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>M3_09 Dryad 2021</td>\n",
       "      <td>86</td>\n",
       "      <td>3.009823</td>\n",
       "      <td>0.108551</td>\n",
       "      <td>0.891449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>M3_10 Cat 2021</td>\n",
       "      <td>89</td>\n",
       "      <td>3.132842</td>\n",
       "      <td>0.091885</td>\n",
       "      <td>0.908115</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>M3_11 Mahakam 2021</td>\n",
       "      <td>82</td>\n",
       "      <td>2.989644</td>\n",
       "      <td>0.110278</td>\n",
       "      <td>0.889722</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>M3_12 Wild Hunt 2021</td>\n",
       "      <td>80</td>\n",
       "      <td>3.101439</td>\n",
       "      <td>0.092863</td>\n",
       "      <td>0.907137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>M4_01 Wolf 2022</td>\n",
       "      <td>84</td>\n",
       "      <td>3.012610</td>\n",
       "      <td>0.112893</td>\n",
       "      <td>0.887107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>79</td>\n",
       "      <td>3.030534</td>\n",
       "      <td>0.104149</td>\n",
       "      <td>0.895851</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  season  richness  shannon_diversity  dominance   simpson\n",
       "0        M2_01 Wolf 2020        79           2.911451   0.109716  0.890284\n",
       "1        M2_02 Love 2020        73           2.784907   0.124585  0.875415\n",
       "2        M2_03 Bear 2020        74           2.770397   0.123829  0.876171\n",
       "3         M2_04 Elf 2020        78           2.921609   0.105208  0.894792\n",
       "4       M2_05 Viper 2020        82           2.975021   0.106955  0.893045\n",
       "5       M2_06 Magic 2020        79           3.028216   0.100404  0.899596\n",
       "6     M2_07 Griffin 2020        80           3.085621   0.092351  0.907649\n",
       "7    M2_08 Draconid 2020        83           3.043551   0.097257  0.902743\n",
       "8       M2_09 Dryad 2020        83           3.071002   0.093658  0.906342\n",
       "9         M2_10 Cat 2020        82           3.028427   0.101374  0.898626\n",
       "10    M2_11 Mahakam 2020        83           2.981676   0.110916  0.889084\n",
       "11  M2_12 Wild Hunt 2020        76           3.040627   0.099488  0.900512\n",
       "12       M3_01 Wolf 2021        86           3.088299   0.098081  0.901919\n",
       "13       M3_02 Love 2021        84           3.045043   0.101261  0.898739\n",
       "14       M3_03 Bear 2021        86           3.086869   0.090533  0.909467\n",
       "15        M3_04 Elf 2021        83           3.124564   0.091177  0.908823\n",
       "16      M3_05 Viper 2021        82           3.147269   0.086137  0.913863\n",
       "17      M3_06 Magic 2021        82           3.162725   0.084816  0.915184\n",
       "18    M3_07 Griffin 2021        84           3.083937   0.098090  0.901910\n",
       "19   M3_08 Draconid 2021        82           3.023176   0.103806  0.896194\n",
       "20      M3_09 Dryad 2021        86           3.009823   0.108551  0.891449\n",
       "21        M3_10 Cat 2021        89           3.132842   0.091885  0.908115\n",
       "22    M3_11 Mahakam 2021        82           2.989644   0.110278  0.889722\n",
       "23  M3_12 Wild Hunt 2021        80           3.101439   0.092863  0.907137\n",
       "24       M4_01 Wolf 2022        84           3.012610   0.112893  0.887107\n",
       "25       M4_02 Love 2022        79           3.030534   0.104149  0.895851"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 5;\n",
       "                var nbb_unformatted_code = \"season_diversity_df = (\\n    season_country_df.groupby([\\\"season\\\"])\\n    .agg(\\n        richness=pd.NamedAgg(\\\"count\\\", \\\"count\\\"),\\n        shannon_diversity=pd.NamedAgg(\\\"count\\\", sdi),\\n        dominance=pd.NamedAgg(\\\"count\\\", dominance),\\n        simpson=pd.NamedAgg(\\\"count\\\", simpson),\\n    )\\n    .reset_index()\\n)\\nseason_diversity_df.set_index(\\\"season\\\").to_excel(\\n    \\\"./output/seasonal_diversity_of_nations.xlsx\\\"\\n)\\nseason_diversity_df\";\n",
       "                var nbb_formatted_code = \"season_diversity_df = (\\n    season_country_df.groupby([\\\"season\\\"])\\n    .agg(\\n        richness=pd.NamedAgg(\\\"count\\\", \\\"count\\\"),\\n        shannon_diversity=pd.NamedAgg(\\\"count\\\", sdi),\\n        dominance=pd.NamedAgg(\\\"count\\\", dominance),\\n        simpson=pd.NamedAgg(\\\"count\\\", simpson),\\n    )\\n    .reset_index()\\n)\\nseason_diversity_df.set_index(\\\"season\\\").to_excel(\\n    \\\"./output/seasonal_diversity_of_nations.xlsx\\\"\\n)\\nseason_diversity_df\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "season_diversity_df = (\n",
    "    season_country_df.groupby([\"season\"])\n",
    "    .agg(\n",
    "        richness=pd.NamedAgg(\"count\", \"count\"),\n",
    "        shannon_diversity=pd.NamedAgg(\"count\", sdi),\n",
    "        dominance=pd.NamedAgg(\"count\", dominance),\n",
    "        simpson=pd.NamedAgg(\"count\", simpson),\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "season_diversity_df.set_index(\"season\").to_excel(\n",
    "    \"./output/seasonal_diversity_of_nations.xlsx\"\n",
    ")\n",
    "season_diversity_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "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>season</th>\n",
       "      <th>players_found</th>\n",
       "      <th>players_total</th>\n",
       "      <th>players_captured</th>\n",
       "      <th>extra_players_captured</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>2905</td>\n",
       "      <td>2997</td>\n",
       "      <td>96.930264</td>\n",
       "      <td>32.846715</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>M2_02 Love 2020</td>\n",
       "      <td>3984</td>\n",
       "      <td>4883</td>\n",
       "      <td>81.589187</td>\n",
       "      <td>55.561048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M2_03 Bear 2020</td>\n",
       "      <td>4772</td>\n",
       "      <td>6632</td>\n",
       "      <td>71.954162</td>\n",
       "      <td>50.689290</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>M2_04 Elf 2020</td>\n",
       "      <td>6070</td>\n",
       "      <td>10209</td>\n",
       "      <td>59.457342</td>\n",
       "      <td>43.679412</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M2_05 Viper 2020</td>\n",
       "      <td>5977</td>\n",
       "      <td>10079</td>\n",
       "      <td>59.301518</td>\n",
       "      <td>43.177725</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>M2_06 Magic 2020</td>\n",
       "      <td>6104</td>\n",
       "      <td>9919</td>\n",
       "      <td>61.538462</td>\n",
       "      <td>45.955518</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>M2_07 Griffin 2020</td>\n",
       "      <td>7372</td>\n",
       "      <td>14791</td>\n",
       "      <td>49.841120</td>\n",
       "      <td>37.817450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>M2_08 Draconid 2020</td>\n",
       "      <td>7037</td>\n",
       "      <td>13800</td>\n",
       "      <td>50.992754</td>\n",
       "      <td>38.180987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>M2_09 Dryad 2020</td>\n",
       "      <td>7056</td>\n",
       "      <td>14554</td>\n",
       "      <td>48.481517</td>\n",
       "      <td>35.881649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>M2_10 Cat 2020</td>\n",
       "      <td>6987</td>\n",
       "      <td>16011</td>\n",
       "      <td>43.638748</td>\n",
       "      <td>31.381644</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>M2_11 Mahakam 2020</td>\n",
       "      <td>6644</td>\n",
       "      <td>16752</td>\n",
       "      <td>39.660936</td>\n",
       "      <td>27.238699</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>M2_12 Wild Hunt 2020</td>\n",
       "      <td>7806</td>\n",
       "      <td>22464</td>\n",
       "      <td>34.748932</td>\n",
       "      <td>25.229545</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>M3_01 Wolf 2021</td>\n",
       "      <td>6197</td>\n",
       "      <td>13428</td>\n",
       "      <td>46.149836</td>\n",
       "      <td>31.576457</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>M3_02 Love 2021</td>\n",
       "      <td>7119</td>\n",
       "      <td>16016</td>\n",
       "      <td>44.449301</td>\n",
       "      <td>32.373062</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>M3_03 Bear 2021</td>\n",
       "      <td>7012</td>\n",
       "      <td>13636</td>\n",
       "      <td>51.422705</td>\n",
       "      <td>38.530067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>M3_04 Elf 2021</td>\n",
       "      <td>10107</td>\n",
       "      <td>16049</td>\n",
       "      <td>62.975886</td>\n",
       "      <td>54.947305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>M3_05 Viper 2021</td>\n",
       "      <td>7771</td>\n",
       "      <td>17623</td>\n",
       "      <td>44.095784</td>\n",
       "      <td>33.265596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>M3_06 Magic 2021</td>\n",
       "      <td>10899</td>\n",
       "      <td>17442</td>\n",
       "      <td>62.487100</td>\n",
       "      <td>55.129612</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>M3_07 Griffin 2021</td>\n",
       "      <td>7771</td>\n",
       "      <td>16772</td>\n",
       "      <td>46.333174</td>\n",
       "      <td>35.300460</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>M3_08 Draconid 2021</td>\n",
       "      <td>8333</td>\n",
       "      <td>17523</td>\n",
       "      <td>47.554642</td>\n",
       "      <td>37.325240</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>M3_09 Dryad 2021</td>\n",
       "      <td>7561</td>\n",
       "      <td>17486</td>\n",
       "      <td>43.240307</td>\n",
       "      <td>32.141392</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>M3_10 Cat 2021</td>\n",
       "      <td>8023</td>\n",
       "      <td>14048</td>\n",
       "      <td>57.111333</td>\n",
       "      <td>46.147658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>M3_11 Mahakam 2021</td>\n",
       "      <td>9147</td>\n",
       "      <td>19902</td>\n",
       "      <td>45.960205</td>\n",
       "      <td>36.891210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>M3_12 Wild Hunt 2021</td>\n",
       "      <td>9566</td>\n",
       "      <td>21651</td>\n",
       "      <td>44.182717</td>\n",
       "      <td>35.687297</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>M4_01 Wolf 2022</td>\n",
       "      <td>7607</td>\n",
       "      <td>15520</td>\n",
       "      <td>49.014175</td>\n",
       "      <td>37.496051</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>2972</td>\n",
       "      <td>14794</td>\n",
       "      <td>20.089225</td>\n",
       "      <td>0.938495</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  season  players_found  players_total  players_captured  \\\n",
       "0        M2_01 Wolf 2020           2905           2997         96.930264   \n",
       "1        M2_02 Love 2020           3984           4883         81.589187   \n",
       "2        M2_03 Bear 2020           4772           6632         71.954162   \n",
       "3         M2_04 Elf 2020           6070          10209         59.457342   \n",
       "4       M2_05 Viper 2020           5977          10079         59.301518   \n",
       "5       M2_06 Magic 2020           6104           9919         61.538462   \n",
       "6     M2_07 Griffin 2020           7372          14791         49.841120   \n",
       "7    M2_08 Draconid 2020           7037          13800         50.992754   \n",
       "8       M2_09 Dryad 2020           7056          14554         48.481517   \n",
       "9         M2_10 Cat 2020           6987          16011         43.638748   \n",
       "10    M2_11 Mahakam 2020           6644          16752         39.660936   \n",
       "11  M2_12 Wild Hunt 2020           7806          22464         34.748932   \n",
       "12       M3_01 Wolf 2021           6197          13428         46.149836   \n",
       "13       M3_02 Love 2021           7119          16016         44.449301   \n",
       "14       M3_03 Bear 2021           7012          13636         51.422705   \n",
       "15        M3_04 Elf 2021          10107          16049         62.975886   \n",
       "16      M3_05 Viper 2021           7771          17623         44.095784   \n",
       "17      M3_06 Magic 2021          10899          17442         62.487100   \n",
       "18    M3_07 Griffin 2021           7771          16772         46.333174   \n",
       "19   M3_08 Draconid 2021           8333          17523         47.554642   \n",
       "20      M3_09 Dryad 2021           7561          17486         43.240307   \n",
       "21        M3_10 Cat 2021           8023          14048         57.111333   \n",
       "22    M3_11 Mahakam 2021           9147          19902         45.960205   \n",
       "23  M3_12 Wild Hunt 2021           9566          21651         44.182717   \n",
       "24       M4_01 Wolf 2022           7607          15520         49.014175   \n",
       "25       M4_02 Love 2022           2972          14794         20.089225   \n",
       "\n",
       "    extra_players_captured  \n",
       "0                32.846715  \n",
       "1                55.561048  \n",
       "2                50.689290  \n",
       "3                43.679412  \n",
       "4                43.177725  \n",
       "5                45.955518  \n",
       "6                37.817450  \n",
       "7                38.180987  \n",
       "8                35.881649  \n",
       "9                31.381644  \n",
       "10               27.238699  \n",
       "11               25.229545  \n",
       "12               31.576457  \n",
       "13               32.373062  \n",
       "14               38.530067  \n",
       "15               54.947305  \n",
       "16               33.265596  \n",
       "17               55.129612  \n",
       "18               35.300460  \n",
       "19               37.325240  \n",
       "20               32.141392  \n",
       "21               46.147658  \n",
       "22               36.891210  \n",
       "23               35.687297  \n",
       "24               37.496051  \n",
       "25                0.938495  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 6;\n",
       "                var nbb_unformatted_code = \"summary_df = (\\n    players_df.groupby([\\\"season\\\"])\\n    .agg(\\n        players_found=pd.NamedAgg(\\\"name\\\", \\\"count\\\"),\\n        players_total=pd.NamedAgg(\\\"rank\\\", \\\"max\\\"),\\n    )\\n    .reset_index()\\n)\\n\\nsummary_df[\\\"players_captured\\\"] = (\\n    summary_df[\\\"players_found\\\"] * 100 / summary_df[\\\"players_total\\\"]\\n)\\nsummary_df[\\\"extra_players_captured\\\"] = (\\n    (summary_df[\\\"players_found\\\"] - 2860) * 100 / (summary_df[\\\"players_total\\\"] - 2860)\\n)\\nsummary_df.set_index(\\\"season\\\").to_excel(\\\"./output/seasonal_player_counts.xlsx\\\")\\nsummary_df\";\n",
       "                var nbb_formatted_code = \"summary_df = (\\n    players_df.groupby([\\\"season\\\"])\\n    .agg(\\n        players_found=pd.NamedAgg(\\\"name\\\", \\\"count\\\"),\\n        players_total=pd.NamedAgg(\\\"rank\\\", \\\"max\\\"),\\n    )\\n    .reset_index()\\n)\\n\\nsummary_df[\\\"players_captured\\\"] = (\\n    summary_df[\\\"players_found\\\"] * 100 / summary_df[\\\"players_total\\\"]\\n)\\nsummary_df[\\\"extra_players_captured\\\"] = (\\n    (summary_df[\\\"players_found\\\"] - 2860) * 100 / (summary_df[\\\"players_total\\\"] - 2860)\\n)\\nsummary_df.set_index(\\\"season\\\").to_excel(\\\"./output/seasonal_player_counts.xlsx\\\")\\nsummary_df\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "summary_df = (\n",
    "    players_df.groupby([\"season\"])\n",
    "    .agg(\n",
    "        players_found=pd.NamedAgg(\"name\", \"count\"),\n",
    "        players_total=pd.NamedAgg(\"rank\", \"max\"),\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "summary_df[\"players_captured\"] = (\n",
    "    summary_df[\"players_found\"] * 100 / summary_df[\"players_total\"]\n",
    ")\n",
    "summary_df[\"extra_players_captured\"] = (\n",
    "    (summary_df[\"players_found\"] - 2860) * 100 / (summary_df[\"players_total\"] - 2860)\n",
    ")\n",
    "summary_df.set_index(\"season\").to_excel(\"./output/seasonal_player_counts.xlsx\")\n",
    "summary_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "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>season</th>\n",
       "      <th>players_found</th>\n",
       "      <th>players_total</th>\n",
       "      <th>players_captured</th>\n",
       "      <th>extra_players_captured</th>\n",
       "      <th>richness</th>\n",
       "      <th>shannon_diversity</th>\n",
       "      <th>dominance</th>\n",
       "      <th>simpson</th>\n",
       "      <th>top500_cutoff</th>\n",
       "      <th>top200_cutoff</th>\n",
       "      <th>top64_cutoff</th>\n",
       "      <th>low_estimate</th>\n",
       "      <th>high_estimate</th>\n",
       "      <th>mean_estimate</th>\n",
       "      <th>std_err</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>M2_01 Wolf 2020</td>\n",
       "      <td>2905</td>\n",
       "      <td>2997</td>\n",
       "      <td>96.930264</td>\n",
       "      <td>32.846715</td>\n",
       "      <td>79</td>\n",
       "      <td>2.911451</td>\n",
       "      <td>0.109716</td>\n",
       "      <td>0.890284</td>\n",
       "      <td>9749</td>\n",
       "      <td>9872</td>\n",
       "      <td>10061</td>\n",
       "      <td>2900.000000</td>\n",
       "      <td>3600.0</td>\n",
       "      <td>3117.636364</td>\n",
       "      <td>124.944153</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>M2_02 Love 2020</td>\n",
       "      <td>3984</td>\n",
       "      <td>4883</td>\n",
       "      <td>81.589187</td>\n",
       "      <td>55.561048</td>\n",
       "      <td>73</td>\n",
       "      <td>2.784907</td>\n",
       "      <td>0.124585</td>\n",
       "      <td>0.875415</td>\n",
       "      <td>9832</td>\n",
       "      <td>9952</td>\n",
       "      <td>10117</td>\n",
       "      <td>4566.666667</td>\n",
       "      <td>7100.0</td>\n",
       "      <td>5620.242424</td>\n",
       "      <td>441.315936</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>M2_03 Bear 2020</td>\n",
       "      <td>4772</td>\n",
       "      <td>6632</td>\n",
       "      <td>71.954162</td>\n",
       "      <td>50.689290</td>\n",
       "      <td>74</td>\n",
       "      <td>2.770397</td>\n",
       "      <td>0.123829</td>\n",
       "      <td>0.876171</td>\n",
       "      <td>9867</td>\n",
       "      <td>9995</td>\n",
       "      <td>10204</td>\n",
       "      <td>6036.363636</td>\n",
       "      <td>10300.0</td>\n",
       "      <td>7329.272727</td>\n",
       "      <td>760.229978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>M2_04 Elf 2020</td>\n",
       "      <td>6070</td>\n",
       "      <td>10209</td>\n",
       "      <td>59.457342</td>\n",
       "      <td>43.679412</td>\n",
       "      <td>78</td>\n",
       "      <td>2.921609</td>\n",
       "      <td>0.105208</td>\n",
       "      <td>0.894792</td>\n",
       "      <td>9952</td>\n",
       "      <td>10087</td>\n",
       "      <td>10293</td>\n",
       "      <td>9927.272727</td>\n",
       "      <td>18000.0</td>\n",
       "      <td>12319.454545</td>\n",
       "      <td>1494.370140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>M2_05 Viper 2020</td>\n",
       "      <td>5977</td>\n",
       "      <td>10079</td>\n",
       "      <td>59.301518</td>\n",
       "      <td>43.177725</td>\n",
       "      <td>82</td>\n",
       "      <td>2.975021</td>\n",
       "      <td>0.106955</td>\n",
       "      <td>0.893045</td>\n",
       "      <td>9910</td>\n",
       "      <td>10028</td>\n",
       "      <td>10255</td>\n",
       "      <td>7766.666667</td>\n",
       "      <td>11400.0</td>\n",
       "      <td>9372.060606</td>\n",
       "      <td>727.332197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>M2_06 Magic 2020</td>\n",
       "      <td>6104</td>\n",
       "      <td>9919</td>\n",
       "      <td>61.538462</td>\n",
       "      <td>45.955518</td>\n",
       "      <td>79</td>\n",
       "      <td>3.028216</td>\n",
       "      <td>0.100404</td>\n",
       "      <td>0.899596</td>\n",
       "      <td>9896</td>\n",
       "      <td>10002</td>\n",
       "      <td>10191</td>\n",
       "      <td>6800.000000</td>\n",
       "      <td>9800.0</td>\n",
       "      <td>8320.181818</td>\n",
       "      <td>618.201230</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>M2_07 Griffin 2020</td>\n",
       "      <td>7372</td>\n",
       "      <td>14791</td>\n",
       "      <td>49.841120</td>\n",
       "      <td>37.817450</td>\n",
       "      <td>80</td>\n",
       "      <td>3.085621</td>\n",
       "      <td>0.092351</td>\n",
       "      <td>0.907649</td>\n",
       "      <td>9978</td>\n",
       "      <td>10100</td>\n",
       "      <td>10289</td>\n",
       "      <td>12836.363636</td>\n",
       "      <td>19900.0</td>\n",
       "      <td>14683.272727</td>\n",
       "      <td>1331.618216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>M2_08 Draconid 2020</td>\n",
       "      <td>7037</td>\n",
       "      <td>13800</td>\n",
       "      <td>50.992754</td>\n",
       "      <td>38.180987</td>\n",
       "      <td>83</td>\n",
       "      <td>3.043551</td>\n",
       "      <td>0.097257</td>\n",
       "      <td>0.902743</td>\n",
       "      <td>9946</td>\n",
       "      <td>10061</td>\n",
       "      <td>10246</td>\n",
       "      <td>9566.666667</td>\n",
       "      <td>13300.0</td>\n",
       "      <td>11186.242424</td>\n",
       "      <td>696.853229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>M2_09 Dryad 2020</td>\n",
       "      <td>7056</td>\n",
       "      <td>14554</td>\n",
       "      <td>48.481517</td>\n",
       "      <td>35.881649</td>\n",
       "      <td>83</td>\n",
       "      <td>3.071002</td>\n",
       "      <td>0.093658</td>\n",
       "      <td>0.906342</td>\n",
       "      <td>9946</td>\n",
       "      <td>10046</td>\n",
       "      <td>10183</td>\n",
       "      <td>9733.333333</td>\n",
       "      <td>12580.0</td>\n",
       "      <td>11218.666667</td>\n",
       "      <td>458.757501</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>M2_10 Cat 2020</td>\n",
       "      <td>6987</td>\n",
       "      <td>16011</td>\n",
       "      <td>43.638748</td>\n",
       "      <td>31.381644</td>\n",
       "      <td>82</td>\n",
       "      <td>3.028427</td>\n",
       "      <td>0.101374</td>\n",
       "      <td>0.898626</td>\n",
       "      <td>9977</td>\n",
       "      <td>10067</td>\n",
       "      <td>10176</td>\n",
       "      <td>12800.000000</td>\n",
       "      <td>14620.0</td>\n",
       "      <td>13774.181818</td>\n",
       "      <td>369.275995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>M2_11 Mahakam 2020</td>\n",
       "      <td>6644</td>\n",
       "      <td>16752</td>\n",
       "      <td>39.660936</td>\n",
       "      <td>27.238699</td>\n",
       "      <td>83</td>\n",
       "      <td>2.981676</td>\n",
       "      <td>0.110916</td>\n",
       "      <td>0.889084</td>\n",
       "      <td>10000</td>\n",
       "      <td>10090</td>\n",
       "      <td>10216</td>\n",
       "      <td>12995.454545</td>\n",
       "      <td>18900.0</td>\n",
       "      <td>16041.757576</td>\n",
       "      <td>976.287680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>M2_12 Wild Hunt 2020</td>\n",
       "      <td>7806</td>\n",
       "      <td>22464</td>\n",
       "      <td>34.748932</td>\n",
       "      <td>25.229545</td>\n",
       "      <td>76</td>\n",
       "      <td>3.040627</td>\n",
       "      <td>0.099488</td>\n",
       "      <td>0.900512</td>\n",
       "      <td>10070</td>\n",
       "      <td>10172</td>\n",
       "      <td>10313</td>\n",
       "      <td>12995.454545</td>\n",
       "      <td>35900.0</td>\n",
       "      <td>23051.757576</td>\n",
       "      <td>3678.743988</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>M3_01 Wolf 2021</td>\n",
       "      <td>6197</td>\n",
       "      <td>13428</td>\n",
       "      <td>46.149836</td>\n",
       "      <td>31.576457</td>\n",
       "      <td>86</td>\n",
       "      <td>3.088299</td>\n",
       "      <td>0.098081</td>\n",
       "      <td>0.901919</td>\n",
       "      <td>9916</td>\n",
       "      <td>10044</td>\n",
       "      <td>10295</td>\n",
       "      <td>7968.181818</td>\n",
       "      <td>13700.0</td>\n",
       "      <td>9929.636364</td>\n",
       "      <td>1046.105394</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>M3_02 Love 2021</td>\n",
       "      <td>7119</td>\n",
       "      <td>16016</td>\n",
       "      <td>44.449301</td>\n",
       "      <td>32.373062</td>\n",
       "      <td>84</td>\n",
       "      <td>3.045043</td>\n",
       "      <td>0.101261</td>\n",
       "      <td>0.898739</td>\n",
       "      <td>9975</td>\n",
       "      <td>10097</td>\n",
       "      <td>10325</td>\n",
       "      <td>11645.454545</td>\n",
       "      <td>19500.0</td>\n",
       "      <td>13977.757576</td>\n",
       "      <td>1430.087791</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>M3_03 Bear 2021</td>\n",
       "      <td>7012</td>\n",
       "      <td>13636</td>\n",
       "      <td>51.422705</td>\n",
       "      <td>38.530067</td>\n",
       "      <td>86</td>\n",
       "      <td>3.086869</td>\n",
       "      <td>0.090533</td>\n",
       "      <td>0.909467</td>\n",
       "      <td>9914</td>\n",
       "      <td>10026</td>\n",
       "      <td>10230</td>\n",
       "      <td>7466.666667</td>\n",
       "      <td>10900.0</td>\n",
       "      <td>9195.333333</td>\n",
       "      <td>715.137594</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>M3_04 Elf 2021</td>\n",
       "      <td>10107</td>\n",
       "      <td>16049</td>\n",
       "      <td>62.975886</td>\n",
       "      <td>54.947305</td>\n",
       "      <td>83</td>\n",
       "      <td>3.124564</td>\n",
       "      <td>0.091177</td>\n",
       "      <td>0.908823</td>\n",
       "      <td>9992</td>\n",
       "      <td>10102</td>\n",
       "      <td>10323</td>\n",
       "      <td>11586.363636</td>\n",
       "      <td>20300.0</td>\n",
       "      <td>14814.606061</td>\n",
       "      <td>1527.809485</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>M3_05 Viper 2021</td>\n",
       "      <td>7771</td>\n",
       "      <td>17623</td>\n",
       "      <td>44.095784</td>\n",
       "      <td>33.265596</td>\n",
       "      <td>82</td>\n",
       "      <td>3.147269</td>\n",
       "      <td>0.086137</td>\n",
       "      <td>0.913863</td>\n",
       "      <td>9998</td>\n",
       "      <td>10106</td>\n",
       "      <td>10300</td>\n",
       "      <td>12990.909091</td>\n",
       "      <td>20900.0</td>\n",
       "      <td>16159.515152</td>\n",
       "      <td>1322.547676</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>M3_06 Magic 2021</td>\n",
       "      <td>10899</td>\n",
       "      <td>17442</td>\n",
       "      <td>62.487100</td>\n",
       "      <td>55.129612</td>\n",
       "      <td>82</td>\n",
       "      <td>3.162725</td>\n",
       "      <td>0.084816</td>\n",
       "      <td>0.915184</td>\n",
       "      <td>9974</td>\n",
       "      <td>10082</td>\n",
       "      <td>10278</td>\n",
       "      <td>11263.636364</td>\n",
       "      <td>17200.0</td>\n",
       "      <td>13526.060606</td>\n",
       "      <td>1034.558786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>M3_07 Griffin 2021</td>\n",
       "      <td>7771</td>\n",
       "      <td>16772</td>\n",
       "      <td>46.333174</td>\n",
       "      <td>35.300460</td>\n",
       "      <td>84</td>\n",
       "      <td>3.083937</td>\n",
       "      <td>0.098090</td>\n",
       "      <td>0.901910</td>\n",
       "      <td>9958</td>\n",
       "      <td>10067</td>\n",
       "      <td>10287</td>\n",
       "      <td>10140.909091</td>\n",
       "      <td>15800.0</td>\n",
       "      <td>12241.515152</td>\n",
       "      <td>1040.267969</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>M3_08 Draconid 2021</td>\n",
       "      <td>8333</td>\n",
       "      <td>17523</td>\n",
       "      <td>47.554642</td>\n",
       "      <td>37.325240</td>\n",
       "      <td>82</td>\n",
       "      <td>3.023176</td>\n",
       "      <td>0.103806</td>\n",
       "      <td>0.896194</td>\n",
       "      <td>9954</td>\n",
       "      <td>10079</td>\n",
       "      <td>10281</td>\n",
       "      <td>11200.000000</td>\n",
       "      <td>16900.0</td>\n",
       "      <td>12854.545455</td>\n",
       "      <td>1051.176279</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>M3_09 Dryad 2021</td>\n",
       "      <td>7561</td>\n",
       "      <td>17486</td>\n",
       "      <td>43.240307</td>\n",
       "      <td>32.141392</td>\n",
       "      <td>86</td>\n",
       "      <td>3.009823</td>\n",
       "      <td>0.108551</td>\n",
       "      <td>0.891449</td>\n",
       "      <td>9968</td>\n",
       "      <td>10078</td>\n",
       "      <td>10250</td>\n",
       "      <td>11868.181818</td>\n",
       "      <td>15900.0</td>\n",
       "      <td>13442.969697</td>\n",
       "      <td>746.264455</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>M3_10 Cat 2021</td>\n",
       "      <td>8023</td>\n",
       "      <td>14048</td>\n",
       "      <td>57.111333</td>\n",
       "      <td>46.147658</td>\n",
       "      <td>89</td>\n",
       "      <td>3.132842</td>\n",
       "      <td>0.091885</td>\n",
       "      <td>0.908115</td>\n",
       "      <td>9879</td>\n",
       "      <td>9974</td>\n",
       "      <td>10083</td>\n",
       "      <td>5100.000000</td>\n",
       "      <td>7770.0</td>\n",
       "      <td>6559.939394</td>\n",
       "      <td>575.186402</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>M3_11 Mahakam 2021</td>\n",
       "      <td>9147</td>\n",
       "      <td>19902</td>\n",
       "      <td>45.960205</td>\n",
       "      <td>36.891210</td>\n",
       "      <td>82</td>\n",
       "      <td>2.989644</td>\n",
       "      <td>0.110278</td>\n",
       "      <td>0.889722</td>\n",
       "      <td>10012</td>\n",
       "      <td>10122</td>\n",
       "      <td>10252</td>\n",
       "      <td>12981.818182</td>\n",
       "      <td>23300.0</td>\n",
       "      <td>17920.363636</td>\n",
       "      <td>1647.708090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>M3_12 Wild Hunt 2021</td>\n",
       "      <td>9566</td>\n",
       "      <td>21651</td>\n",
       "      <td>44.182717</td>\n",
       "      <td>35.687297</td>\n",
       "      <td>80</td>\n",
       "      <td>3.101439</td>\n",
       "      <td>0.092863</td>\n",
       "      <td>0.907137</td>\n",
       "      <td>10032</td>\n",
       "      <td>10140</td>\n",
       "      <td>10271</td>\n",
       "      <td>12981.818182</td>\n",
       "      <td>27500.0</td>\n",
       "      <td>19567.696970</td>\n",
       "      <td>2331.781053</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>M4_01 Wolf 2022</td>\n",
       "      <td>7607</td>\n",
       "      <td>15520</td>\n",
       "      <td>49.014175</td>\n",
       "      <td>37.496051</td>\n",
       "      <td>84</td>\n",
       "      <td>3.012610</td>\n",
       "      <td>0.112893</td>\n",
       "      <td>0.887107</td>\n",
       "      <td>9941</td>\n",
       "      <td>10093</td>\n",
       "      <td>10340</td>\n",
       "      <td>8690.909091</td>\n",
       "      <td>18900.0</td>\n",
       "      <td>12063.515152</td>\n",
       "      <td>1789.893240</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>M4_02 Love 2022</td>\n",
       "      <td>2972</td>\n",
       "      <td>14794</td>\n",
       "      <td>20.089225</td>\n",
       "      <td>0.938495</td>\n",
       "      <td>79</td>\n",
       "      <td>3.030534</td>\n",
       "      <td>0.104149</td>\n",
       "      <td>0.895851</td>\n",
       "      <td>9932</td>\n",
       "      <td>10068</td>\n",
       "      <td>10312</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  season  players_found  players_total  players_captured  \\\n",
       "0        M2_01 Wolf 2020           2905           2997         96.930264   \n",
       "1        M2_02 Love 2020           3984           4883         81.589187   \n",
       "2        M2_03 Bear 2020           4772           6632         71.954162   \n",
       "3         M2_04 Elf 2020           6070          10209         59.457342   \n",
       "4       M2_05 Viper 2020           5977          10079         59.301518   \n",
       "5       M2_06 Magic 2020           6104           9919         61.538462   \n",
       "6     M2_07 Griffin 2020           7372          14791         49.841120   \n",
       "7    M2_08 Draconid 2020           7037          13800         50.992754   \n",
       "8       M2_09 Dryad 2020           7056          14554         48.481517   \n",
       "9         M2_10 Cat 2020           6987          16011         43.638748   \n",
       "10    M2_11 Mahakam 2020           6644          16752         39.660936   \n",
       "11  M2_12 Wild Hunt 2020           7806          22464         34.748932   \n",
       "12       M3_01 Wolf 2021           6197          13428         46.149836   \n",
       "13       M3_02 Love 2021           7119          16016         44.449301   \n",
       "14       M3_03 Bear 2021           7012          13636         51.422705   \n",
       "15        M3_04 Elf 2021          10107          16049         62.975886   \n",
       "16      M3_05 Viper 2021           7771          17623         44.095784   \n",
       "17      M3_06 Magic 2021          10899          17442         62.487100   \n",
       "18    M3_07 Griffin 2021           7771          16772         46.333174   \n",
       "19   M3_08 Draconid 2021           8333          17523         47.554642   \n",
       "20      M3_09 Dryad 2021           7561          17486         43.240307   \n",
       "21        M3_10 Cat 2021           8023          14048         57.111333   \n",
       "22    M3_11 Mahakam 2021           9147          19902         45.960205   \n",
       "23  M3_12 Wild Hunt 2021           9566          21651         44.182717   \n",
       "24       M4_01 Wolf 2022           7607          15520         49.014175   \n",
       "25       M4_02 Love 2022           2972          14794         20.089225   \n",
       "\n",
       "    extra_players_captured  richness  shannon_diversity  dominance   simpson  \\\n",
       "0                32.846715        79           2.911451   0.109716  0.890284   \n",
       "1                55.561048        73           2.784907   0.124585  0.875415   \n",
       "2                50.689290        74           2.770397   0.123829  0.876171   \n",
       "3                43.679412        78           2.921609   0.105208  0.894792   \n",
       "4                43.177725        82           2.975021   0.106955  0.893045   \n",
       "5                45.955518        79           3.028216   0.100404  0.899596   \n",
       "6                37.817450        80           3.085621   0.092351  0.907649   \n",
       "7                38.180987        83           3.043551   0.097257  0.902743   \n",
       "8                35.881649        83           3.071002   0.093658  0.906342   \n",
       "9                31.381644        82           3.028427   0.101374  0.898626   \n",
       "10               27.238699        83           2.981676   0.110916  0.889084   \n",
       "11               25.229545        76           3.040627   0.099488  0.900512   \n",
       "12               31.576457        86           3.088299   0.098081  0.901919   \n",
       "13               32.373062        84           3.045043   0.101261  0.898739   \n",
       "14               38.530067        86           3.086869   0.090533  0.909467   \n",
       "15               54.947305        83           3.124564   0.091177  0.908823   \n",
       "16               33.265596        82           3.147269   0.086137  0.913863   \n",
       "17               55.129612        82           3.162725   0.084816  0.915184   \n",
       "18               35.300460        84           3.083937   0.098090  0.901910   \n",
       "19               37.325240        82           3.023176   0.103806  0.896194   \n",
       "20               32.141392        86           3.009823   0.108551  0.891449   \n",
       "21               46.147658        89           3.132842   0.091885  0.908115   \n",
       "22               36.891210        82           2.989644   0.110278  0.889722   \n",
       "23               35.687297        80           3.101439   0.092863  0.907137   \n",
       "24               37.496051        84           3.012610   0.112893  0.887107   \n",
       "25                0.938495        79           3.030534   0.104149  0.895851   \n",
       "\n",
       "    top500_cutoff  top200_cutoff  top64_cutoff  low_estimate  high_estimate  \\\n",
       "0            9749           9872         10061   2900.000000         3600.0   \n",
       "1            9832           9952         10117   4566.666667         7100.0   \n",
       "2            9867           9995         10204   6036.363636        10300.0   \n",
       "3            9952          10087         10293   9927.272727        18000.0   \n",
       "4            9910          10028         10255   7766.666667        11400.0   \n",
       "5            9896          10002         10191   6800.000000         9800.0   \n",
       "6            9978          10100         10289  12836.363636        19900.0   \n",
       "7            9946          10061         10246   9566.666667        13300.0   \n",
       "8            9946          10046         10183   9733.333333        12580.0   \n",
       "9            9977          10067         10176  12800.000000        14620.0   \n",
       "10          10000          10090         10216  12995.454545        18900.0   \n",
       "11          10070          10172         10313  12995.454545        35900.0   \n",
       "12           9916          10044         10295   7968.181818        13700.0   \n",
       "13           9975          10097         10325  11645.454545        19500.0   \n",
       "14           9914          10026         10230   7466.666667        10900.0   \n",
       "15           9992          10102         10323  11586.363636        20300.0   \n",
       "16           9998          10106         10300  12990.909091        20900.0   \n",
       "17           9974          10082         10278  11263.636364        17200.0   \n",
       "18           9958          10067         10287  10140.909091        15800.0   \n",
       "19           9954          10079         10281  11200.000000        16900.0   \n",
       "20           9968          10078         10250  11868.181818        15900.0   \n",
       "21           9879           9974         10083   5100.000000         7770.0   \n",
       "22          10012          10122         10252  12981.818182        23300.0   \n",
       "23          10032          10140         10271  12981.818182        27500.0   \n",
       "24           9941          10093         10340   8690.909091        18900.0   \n",
       "25           9932          10068         10312           NaN            NaN   \n",
       "\n",
       "    mean_estimate      std_err  \n",
       "0     3117.636364   124.944153  \n",
       "1     5620.242424   441.315936  \n",
       "2     7329.272727   760.229978  \n",
       "3    12319.454545  1494.370140  \n",
       "4     9372.060606   727.332197  \n",
       "5     8320.181818   618.201230  \n",
       "6    14683.272727  1331.618216  \n",
       "7    11186.242424   696.853229  \n",
       "8    11218.666667   458.757501  \n",
       "9    13774.181818   369.275995  \n",
       "10   16041.757576   976.287680  \n",
       "11   23051.757576  3678.743988  \n",
       "12    9929.636364  1046.105394  \n",
       "13   13977.757576  1430.087791  \n",
       "14    9195.333333   715.137594  \n",
       "15   14814.606061  1527.809485  \n",
       "16   16159.515152  1322.547676  \n",
       "17   13526.060606  1034.558786  \n",
       "18   12241.515152  1040.267969  \n",
       "19   12854.545455  1051.176279  \n",
       "20   13442.969697   746.264455  \n",
       "21    6559.939394   575.186402  \n",
       "22   17920.363636  1647.708090  \n",
       "23   19567.696970  2331.781053  \n",
       "24   12063.515152  1789.893240  \n",
       "25            NaN          NaN  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 7;\n",
       "                var nbb_unformatted_code = \"season_df = pd.read_excel(\\\"./output/seasonal_stats.xlsx\\\").drop(\\n    columns=[\\\"Unnamed: 0\\\", \\\"min_mmr\\\", \\\"max_mmr\\\", \\\"num_matches\\\"]\\n)\\nestimates_df = pd.read_excel(\\\"./output/player_estimates.xlsx\\\").drop(\\n    columns=[\\\"Unnamed: 0\\\"]\\n)\\nmerged_df = pd.merge(summary_df, season_diversity_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df = pd.merge(merged_df, season_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df = pd.merge(merged_df, estimates_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df\";\n",
       "                var nbb_formatted_code = \"season_df = pd.read_excel(\\\"./output/seasonal_stats.xlsx\\\").drop(\\n    columns=[\\\"Unnamed: 0\\\", \\\"min_mmr\\\", \\\"max_mmr\\\", \\\"num_matches\\\"]\\n)\\nestimates_df = pd.read_excel(\\\"./output/player_estimates.xlsx\\\").drop(\\n    columns=[\\\"Unnamed: 0\\\"]\\n)\\nmerged_df = pd.merge(summary_df, season_diversity_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df = pd.merge(merged_df, season_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df = pd.merge(merged_df, estimates_df, how=\\\"left\\\", on=\\\"season\\\")\\nmerged_df\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "season_df = pd.read_excel(\"./output/seasonal_stats.xlsx\").drop(\n",
    "    columns=[\"Unnamed: 0\", \"min_mmr\", \"max_mmr\", \"num_matches\"]\n",
    ")\n",
    "estimates_df = pd.read_excel(\"./output/player_estimates.xlsx\").drop(\n",
    "    columns=[\"Unnamed: 0\"]\n",
    ")\n",
    "merged_df = pd.merge(summary_df, season_diversity_df, how=\"left\", on=\"season\")\n",
    "merged_df = pd.merge(merged_df, season_df, how=\"left\", on=\"season\")\n",
    "merged_df = pd.merge(merged_df, estimates_df, how=\"left\", on=\"season\")\n",
    "merged_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 8;\n",
       "                var nbb_unformatted_code = \"merged_df[\\\"series\\\"] = merged_df.season.apply(lambda x: x.split(\\\"_\\\")[0])\";\n",
       "                var nbb_formatted_code = \"merged_df[\\\"series\\\"] = merged_df.season.apply(lambda x: x.split(\\\"_\\\")[0])\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "merged_df[\"series\"] = merged_df.season.apply(lambda x: x.split(\"_\")[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 9;\n",
       "                var nbb_unformatted_code = \"import seaborn as sns\\nimport matplotlib.pyplot as plt\\n\\n\\nsns.regplot(\\n    data=merged_df, x=\\\"players_total\\\", y=\\\"mean_estimate\\\", scatter=False, color=\\\".25\\\"\\n)\\nsns.scatterplot(data=merged_df, x=\\\"players_total\\\", y=\\\"mean_estimate\\\", hue=\\\"series\\\")\\nplt.title(\\\"Actual Players vs Estimated\\\")\\nplt.xlabel(\\\"Number of Players\\\")\\nplt.ylabel(\\\"Estimated Players\\\")\\nplt.xlim(2500, 23000)\\nplt.show()\";\n",
       "                var nbb_formatted_code = \"import seaborn as sns\\nimport matplotlib.pyplot as plt\\n\\n\\nsns.regplot(\\n    data=merged_df, x=\\\"players_total\\\", y=\\\"mean_estimate\\\", scatter=False, color=\\\".25\\\"\\n)\\nsns.scatterplot(data=merged_df, x=\\\"players_total\\\", y=\\\"mean_estimate\\\", hue=\\\"series\\\")\\nplt.title(\\\"Actual Players vs Estimated\\\")\\nplt.xlabel(\\\"Number of Players\\\")\\nplt.ylabel(\\\"Estimated Players\\\")\\nplt.xlim(2500, 23000)\\nplt.show()\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "sns.regplot(\n",
    "    data=merged_df, x=\"players_total\", y=\"mean_estimate\", scatter=False, color=\".25\"\n",
    ")\n",
    "sns.scatterplot(data=merged_df, x=\"players_total\", y=\"mean_estimate\", hue=\"series\")\n",
    "plt.title(\"Actual Players vs Estimated\")\n",
    "plt.xlabel(\"Number of Players\")\n",
    "plt.ylabel(\"Estimated Players\")\n",
    "plt.xlim(2500, 23000)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "            setTimeout(function() {\n",
       "                var nbb_cell_id = 10;\n",
       "                var nbb_unformatted_code = \"import seaborn as sns\\nimport matplotlib.pyplot as plt\\n\\nsns.regplot(\\n    data=merged_df, x=\\\"players_total\\\", y=\\\"shannon_diversity\\\", scatter=False, color=\\\".25\\\"\\n)\\nsns.scatterplot(data=merged_df, x=\\\"players_total\\\", y=\\\"shannon_diversity\\\", hue=\\\"series\\\")\\nplt.title(\\\"Actual Players vs Diversity\\\")\\nplt.xlabel(\\\"Number of Players\\\")\\nplt.ylabel(\\\"Shannon Diversity\\\")\\nplt.xlim(2500, 23000)\\nplt.show()\";\n",
       "                var nbb_formatted_code = \"import seaborn as sns\\nimport matplotlib.pyplot as plt\\n\\nsns.regplot(\\n    data=merged_df, x=\\\"players_total\\\", y=\\\"shannon_diversity\\\", scatter=False, color=\\\".25\\\"\\n)\\nsns.scatterplot(data=merged_df, x=\\\"players_total\\\", y=\\\"shannon_diversity\\\", hue=\\\"series\\\")\\nplt.title(\\\"Actual Players vs Diversity\\\")\\nplt.xlabel(\\\"Number of Players\\\")\\nplt.ylabel(\\\"Shannon Diversity\\\")\\nplt.xlim(2500, 23000)\\nplt.show()\";\n",
       "                var nbb_cells = Jupyter.notebook.get_cells();\n",
       "                for (var i = 0; i < nbb_cells.length; ++i) {\n",
       "                    if (nbb_cells[i].input_prompt_number == nbb_cell_id) {\n",
       "                        if (nbb_cells[i].get_text() == nbb_unformatted_code) {\n",
       "                             nbb_cells[i].set_text(nbb_formatted_code);\n",
       "                        }\n",
       "                        break;\n",
       "                    }\n",
       "                }\n",
       "            }, 500);\n",
       "            "
      ],
      "text/plain": [
       "<IPython.core.display.Javascript object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.regplot(\n",
    "    data=merged_df, x=\"players_total\", y=\"shannon_diversity\", scatter=False, color=\".25\"\n",
    ")\n",
    "sns.scatterplot(data=merged_df, x=\"players_total\", y=\"shannon_diversity\", hue=\"series\")\n",
    "plt.title(\"Actual Players vs Diversity\")\n",
    "plt.xlabel(\"Number of Players\")\n",
    "plt.ylabel(\"Shannon Diversity\")\n",
    "plt.xlim(2500, 23000)\n",
    "plt.show()"
   ]
  }
 ],
 "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.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}