Skip to content

Instantly share code, notes, and snippets.

@Shinichi-Nakagawa
Created September 24, 2023 09:13
Show Gist options
  • Save Shinichi-Nakagawa/c104e5988069e6b3c3bc33d78a0b5d41 to your computer and use it in GitHub Desktop.
Save Shinichi-Nakagawa/c104e5988069e6b3c3bc33d78a0b5d41 to your computer and use it in GitHub Desktop.
npb2023_teamstats.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyOeBKTFecgVAQDiif36VJ2l",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/Shinichi-Nakagawa/c104e5988069e6b3c3bc33d78a0b5d41/npb2023_teamstats.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# プロ野球チーム成績からチームごとの指標を計算・可視化\n",
"\n",
"- チーム打撃・チーム投球成績をスクレイピング\n",
"- データ型を指定してCSVとして保存\n",
"- Plotlyで可視化"
],
"metadata": {
"id": "4a_TuwVg425x"
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "JKzLztF94NH4"
},
"outputs": [],
"source": [
"import pandas as pd\n",
"pd.options.display.max_rows = 12\n",
"pd.options.display.max_columns = 50\n",
"from datetime import datetime\n",
"\n",
"now = datetime.now()\n"
]
},
{
"cell_type": "code",
"source": [
"!pip install requests-html"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "JP4e1y8S4SEW",
"outputId": "63b0b460-eb8c-4e88-f212-fbf337cce062"
},
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Requirement already satisfied: requests-html in /usr/local/lib/python3.10/dist-packages (0.10.0)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from requests-html) (2.31.0)\n",
"Requirement already satisfied: pyquery in /usr/local/lib/python3.10/dist-packages (from requests-html) (2.0.0)\n",
"Requirement already satisfied: fake-useragent in /usr/local/lib/python3.10/dist-packages (from requests-html) (1.2.1)\n",
"Requirement already satisfied: parse in /usr/local/lib/python3.10/dist-packages (from requests-html) (1.19.1)\n",
"Requirement already satisfied: bs4 in /usr/local/lib/python3.10/dist-packages (from requests-html) (0.0.1)\n",
"Requirement already satisfied: w3lib in /usr/local/lib/python3.10/dist-packages (from requests-html) (2.1.2)\n",
"Requirement already satisfied: pyppeteer>=0.0.14 in /usr/local/lib/python3.10/dist-packages (from requests-html) (1.0.2)\n",
"Requirement already satisfied: appdirs<2.0.0,>=1.4.3 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (1.4.4)\n",
"Requirement already satisfied: certifi>=2021 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (2023.7.22)\n",
"Requirement already satisfied: importlib-metadata>=1.4 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (6.8.0)\n",
"Requirement already satisfied: pyee<9.0.0,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (8.2.2)\n",
"Requirement already satisfied: tqdm<5.0.0,>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (4.66.1)\n",
"Requirement already satisfied: urllib3<2.0.0,>=1.25.8 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (1.26.16)\n",
"Requirement already satisfied: websockets<11.0,>=10.0 in /usr/local/lib/python3.10/dist-packages (from pyppeteer>=0.0.14->requests-html) (10.4)\n",
"Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.10/dist-packages (from bs4->requests-html) (4.11.2)\n",
"Requirement already satisfied: lxml>=2.1 in /usr/local/lib/python3.10/dist-packages (from pyquery->requests-html) (4.9.3)\n",
"Requirement already satisfied: cssselect>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from pyquery->requests-html) (1.2.0)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->requests-html) (3.2.0)\n",
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->requests-html) (3.4)\n",
"Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=1.4->pyppeteer>=0.0.14->requests-html) (3.16.2)\n",
"Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4->bs4->requests-html) (2.5)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"!python --version"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "fc3LAHmr4Z6p",
"outputId": "ff86ec04-851e-43f7-bc3c-dab89df97604"
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Python 3.10.12\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"## チーム成績の取得とデータ整形"
],
"metadata": {
"id": "u_pMYz7u5V2w"
}
},
{
"cell_type": "code",
"source": [
"# 取得対象のチーム成績\n",
"\n",
"TEAM_STATS_CENTRAL_PITCHING = \"https://npb.jp/bis/2023/stats/tmp_c.html\"\n",
"TEAM_STATS_CENTRAL_BATTING = \"https://npb.jp/bis/2023/stats/tmb_c.html\""
],
"metadata": {
"id": "7VfVrvE04de_"
},
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# ひとまず取得\n",
"from requests_html import HTMLSession\n",
"session = HTMLSession()"
],
"metadata": {
"id": "j1bFHn2o5FiU"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# 投手&打者成績を取得する\n",
"from typing import Dict, Union, List\n",
"\n",
"COLUMNS_PITCING = ['team', 'era', 'g', 'win', 'lose', 'sv', 'hld', 'hldp', 'cg', 'sho', 'no_walks', 'win_p', 'batter_faces', 'ip', 'ip_2', 'h', 'hr', 'bb', 'ibb', 'hbp', 'so', 'wp', 'balk', 'r', 'er']\n",
"COLUMNS_BATTING = ['team', 'ba', 'g', 'pa', 'ab', 'r', 'h', '_2b', '_3b', 'hr', 'tb', 'rbi', 'sb', 'cs', 'sh', 'sf', 'bb', 'ibb', 'hbp', 'so', 'dp', 'slg', 'obp']\n",
"\n",
"def stats(url: str, columns: List[str], session: HTMLSession) -> Dict[str, Union[str, int, float]]:\n",
" r = session.get(url)\n",
" rows: Dict[str, Union[str, int, float]] = {}\n",
" table = r.html.xpath(\"/html/body/div/div/div/div[3]/table\", first=True)\n",
" for i, tr in enumerate(table.find(\"tr\")):\n",
" # header is skip\n",
" if i == 0:\n",
" continue\n",
" values = {}\n",
" for ii, td in enumerate(tr.find('td')):\n",
" if ii == 0:\n",
" _a = td.find('a', first=True)\n",
" values[columns[ii]] = str(_a.text).replace('\\u3000', '')\n",
" else:\n",
" values[columns[ii]] = td.text\n",
" rows[values['team']] = values\n",
" return rows\n"
],
"metadata": {
"id": "450Uyp_076n_"
},
"execution_count": 6,
"outputs": []
},
{
"cell_type": "code",
"source": [
"stats_p = stats(TEAM_STATS_CENTRAL_PITCHING, COLUMNS_PITCING, session)\n",
"stats_b = stats(TEAM_STATS_CENTRAL_BATTING, COLUMNS_BATTING, session)"
],
"metadata": {
"id": "OykoFv6rBXnz"
},
"execution_count": 7,
"outputs": []
},
{
"cell_type": "markdown",
"source": [],
"metadata": {
"id": "JbH28iGdJ2Cr"
}
},
{
"cell_type": "code",
"source": [
"# pandasに読み込んで整形する\n",
"# 投手成績はひと工夫入れる\n",
"_stats_p = {}\n",
"for k, v in stats_p.items():\n",
" v['ip'] = v['ip'] + v['ip_2']\n",
" del v['ip_2']\n",
" _stats_p[k] = v\n",
"\n",
"df_stats_p = pd.DataFrame(_stats_p.values()).astype({'era': float, 'g': int, 'win': int, 'lose': int, 'sv': int, 'hld': int, 'hldp': int, 'cg': int, 'sho': int, 'no_walks': int, 'win_p': float, 'batter_faces': int, 'ip': float, 'h': int, 'hr': int, 'bb': int, 'ibb': int, 'hbp': int, 'so': int, 'wp': int, 'balk': int, 'r': int, 'er': int})"
],
"metadata": {
"id": "CQC6u3ngF88I"
},
"execution_count": 8,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_stats_p"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "irC7spIMGsHM",
"outputId": "4a25829d-d405-4081-86c2-585ed7044afd"
},
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" team era g win lose sv hld hldp cg sho no_walks win_p \\\n",
"0 阪神 2.64 135 83 48 43 123 144 10 17 23 0.634 \n",
"1 中日 3.17 135 52 79 35 136 157 4 7 8 0.397 \n",
"2 DeNA 3.20 135 69 63 38 111 131 8 12 16 0.523 \n",
"3 広島 3.24 138 72 62 44 121 147 9 13 11 0.537 \n",
"4 巨人 3.52 136 67 67 29 118 144 5 15 8 0.500 \n",
"5 ヤクルト 3.73 137 54 80 32 129 144 3 15 9 0.403 \n",
"\n",
" batter_faces ip h hr bb ibb hbp so wp balk r er \n",
"0 4919 1216.1 1043 83 295 16 40 958 19 2 398 357 \n",
"1 5086 1214.1 1065 74 418 18 48 1007 31 0 484 428 \n",
"2 5073 1218.1 1145 114 341 26 41 1099 27 0 473 433 \n",
"3 5170 1230.0 1153 107 386 27 40 936 30 3 494 443 \n",
"4 5069 1215.1 1082 128 390 17 62 1020 26 6 502 476 \n",
"5 5134 1215.2 1175 138 373 41 62 912 32 1 552 504 "
],
"text/html": [
"\n",
" <div id=\"df-e6da7e0b-2d64-4a93-a3cc-128195bfd311\" class=\"colab-df-container\">\n",
" <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>team</th>\n",
" <th>era</th>\n",
" <th>g</th>\n",
" <th>win</th>\n",
" <th>lose</th>\n",
" <th>sv</th>\n",
" <th>hld</th>\n",
" <th>hldp</th>\n",
" <th>cg</th>\n",
" <th>sho</th>\n",
" <th>no_walks</th>\n",
" <th>win_p</th>\n",
" <th>batter_faces</th>\n",
" <th>ip</th>\n",
" <th>h</th>\n",
" <th>hr</th>\n",
" <th>bb</th>\n",
" <th>ibb</th>\n",
" <th>hbp</th>\n",
" <th>so</th>\n",
" <th>wp</th>\n",
" <th>balk</th>\n",
" <th>r</th>\n",
" <th>er</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>阪神</td>\n",
" <td>2.64</td>\n",
" <td>135</td>\n",
" <td>83</td>\n",
" <td>48</td>\n",
" <td>43</td>\n",
" <td>123</td>\n",
" <td>144</td>\n",
" <td>10</td>\n",
" <td>17</td>\n",
" <td>23</td>\n",
" <td>0.634</td>\n",
" <td>4919</td>\n",
" <td>1216.1</td>\n",
" <td>1043</td>\n",
" <td>83</td>\n",
" <td>295</td>\n",
" <td>16</td>\n",
" <td>40</td>\n",
" <td>958</td>\n",
" <td>19</td>\n",
" <td>2</td>\n",
" <td>398</td>\n",
" <td>357</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>中日</td>\n",
" <td>3.17</td>\n",
" <td>135</td>\n",
" <td>52</td>\n",
" <td>79</td>\n",
" <td>35</td>\n",
" <td>136</td>\n",
" <td>157</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>8</td>\n",
" <td>0.397</td>\n",
" <td>5086</td>\n",
" <td>1214.1</td>\n",
" <td>1065</td>\n",
" <td>74</td>\n",
" <td>418</td>\n",
" <td>18</td>\n",
" <td>48</td>\n",
" <td>1007</td>\n",
" <td>31</td>\n",
" <td>0</td>\n",
" <td>484</td>\n",
" <td>428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>DeNA</td>\n",
" <td>3.20</td>\n",
" <td>135</td>\n",
" <td>69</td>\n",
" <td>63</td>\n",
" <td>38</td>\n",
" <td>111</td>\n",
" <td>131</td>\n",
" <td>8</td>\n",
" <td>12</td>\n",
" <td>16</td>\n",
" <td>0.523</td>\n",
" <td>5073</td>\n",
" <td>1218.1</td>\n",
" <td>1145</td>\n",
" <td>114</td>\n",
" <td>341</td>\n",
" <td>26</td>\n",
" <td>41</td>\n",
" <td>1099</td>\n",
" <td>27</td>\n",
" <td>0</td>\n",
" <td>473</td>\n",
" <td>433</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>広島</td>\n",
" <td>3.24</td>\n",
" <td>138</td>\n",
" <td>72</td>\n",
" <td>62</td>\n",
" <td>44</td>\n",
" <td>121</td>\n",
" <td>147</td>\n",
" <td>9</td>\n",
" <td>13</td>\n",
" <td>11</td>\n",
" <td>0.537</td>\n",
" <td>5170</td>\n",
" <td>1230.0</td>\n",
" <td>1153</td>\n",
" <td>107</td>\n",
" <td>386</td>\n",
" <td>27</td>\n",
" <td>40</td>\n",
" <td>936</td>\n",
" <td>30</td>\n",
" <td>3</td>\n",
" <td>494</td>\n",
" <td>443</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>巨人</td>\n",
" <td>3.52</td>\n",
" <td>136</td>\n",
" <td>67</td>\n",
" <td>67</td>\n",
" <td>29</td>\n",
" <td>118</td>\n",
" <td>144</td>\n",
" <td>5</td>\n",
" <td>15</td>\n",
" <td>8</td>\n",
" <td>0.500</td>\n",
" <td>5069</td>\n",
" <td>1215.1</td>\n",
" <td>1082</td>\n",
" <td>128</td>\n",
" <td>390</td>\n",
" <td>17</td>\n",
" <td>62</td>\n",
" <td>1020</td>\n",
" <td>26</td>\n",
" <td>6</td>\n",
" <td>502</td>\n",
" <td>476</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ヤクルト</td>\n",
" <td>3.73</td>\n",
" <td>137</td>\n",
" <td>54</td>\n",
" <td>80</td>\n",
" <td>32</td>\n",
" <td>129</td>\n",
" <td>144</td>\n",
" <td>3</td>\n",
" <td>15</td>\n",
" <td>9</td>\n",
" <td>0.403</td>\n",
" <td>5134</td>\n",
" <td>1215.2</td>\n",
" <td>1175</td>\n",
" <td>138</td>\n",
" <td>373</td>\n",
" <td>41</td>\n",
" <td>62</td>\n",
" <td>912</td>\n",
" <td>32</td>\n",
" <td>1</td>\n",
" <td>552</td>\n",
" <td>504</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e6da7e0b-2d64-4a93-a3cc-128195bfd311')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-e6da7e0b-2d64-4a93-a3cc-128195bfd311 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-e6da7e0b-2d64-4a93-a3cc-128195bfd311');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-f8a2ba54-a6e0-4451-8703-595675f362ef\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f8a2ba54-a6e0-4451-8703-595675f362ef')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-f8a2ba54-a6e0-4451-8703-595675f362ef button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"source": [
"df_stats_b = pd.DataFrame(stats_b.values()).astype({'ba': float, 'g': int, 'pa': int, 'ab': int, 'r': int, 'h': int, '_2b': int, '_3b': int, 'hr': int, 'tb': int, 'rbi': int, 'sb': int, 'cs': int, 'sh': int, 'sf': int, 'bb': int, 'ibb': int, 'hbp': int, 'so': int, 'dp': int, 'slg': float, 'obp': float})"
],
"metadata": {
"id": "pOCM8mnuGxTk"
},
"execution_count": 10,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_stats_b"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "hmnR7UhQHGJ8",
"outputId": "49035f47-1a04-4c76-b571-756df5e357c2"
},
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" team ba g pa ab r h _2b _3b hr tb rbi sb cs \\\n",
"0 巨人 0.254 136 5104 4607 511 1170 197 14 161 1878 499 46 29 \n",
"1 阪神 0.249 135 5187 4514 536 1123 173 34 77 1595 515 73 26 \n",
"2 DeNA 0.248 135 5054 4535 502 1125 219 18 104 1692 486 29 25 \n",
"3 広島 0.247 138 5067 4573 482 1129 191 16 94 1634 466 75 50 \n",
"4 ヤクルト 0.240 137 5134 4513 513 1082 203 9 121 1666 489 61 20 \n",
"5 中日 0.237 135 4968 4530 374 1073 182 19 67 1494 355 33 23 \n",
"\n",
" sh sf bb ibb hbp so dp slg obp \n",
"0 87 30 343 36 37 1055 91 0.408 0.309 \n",
"1 102 44 475 34 52 1104 82 0.353 0.324 \n",
"2 99 30 338 22 52 798 95 0.373 0.306 \n",
"3 92 20 335 25 47 994 111 0.357 0.304 \n",
"4 108 32 432 22 49 1058 110 0.369 0.311 \n",
"5 86 21 294 17 37 978 90 0.330 0.288 "
],
"text/html": [
"\n",
" <div id=\"df-32535c6b-8a04-4b95-98c5-f529d2080436\" class=\"colab-df-container\">\n",
" <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>team</th>\n",
" <th>ba</th>\n",
" <th>g</th>\n",
" <th>pa</th>\n",
" <th>ab</th>\n",
" <th>r</th>\n",
" <th>h</th>\n",
" <th>_2b</th>\n",
" <th>_3b</th>\n",
" <th>hr</th>\n",
" <th>tb</th>\n",
" <th>rbi</th>\n",
" <th>sb</th>\n",
" <th>cs</th>\n",
" <th>sh</th>\n",
" <th>sf</th>\n",
" <th>bb</th>\n",
" <th>ibb</th>\n",
" <th>hbp</th>\n",
" <th>so</th>\n",
" <th>dp</th>\n",
" <th>slg</th>\n",
" <th>obp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>巨人</td>\n",
" <td>0.254</td>\n",
" <td>136</td>\n",
" <td>5104</td>\n",
" <td>4607</td>\n",
" <td>511</td>\n",
" <td>1170</td>\n",
" <td>197</td>\n",
" <td>14</td>\n",
" <td>161</td>\n",
" <td>1878</td>\n",
" <td>499</td>\n",
" <td>46</td>\n",
" <td>29</td>\n",
" <td>87</td>\n",
" <td>30</td>\n",
" <td>343</td>\n",
" <td>36</td>\n",
" <td>37</td>\n",
" <td>1055</td>\n",
" <td>91</td>\n",
" <td>0.408</td>\n",
" <td>0.309</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>阪神</td>\n",
" <td>0.249</td>\n",
" <td>135</td>\n",
" <td>5187</td>\n",
" <td>4514</td>\n",
" <td>536</td>\n",
" <td>1123</td>\n",
" <td>173</td>\n",
" <td>34</td>\n",
" <td>77</td>\n",
" <td>1595</td>\n",
" <td>515</td>\n",
" <td>73</td>\n",
" <td>26</td>\n",
" <td>102</td>\n",
" <td>44</td>\n",
" <td>475</td>\n",
" <td>34</td>\n",
" <td>52</td>\n",
" <td>1104</td>\n",
" <td>82</td>\n",
" <td>0.353</td>\n",
" <td>0.324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>DeNA</td>\n",
" <td>0.248</td>\n",
" <td>135</td>\n",
" <td>5054</td>\n",
" <td>4535</td>\n",
" <td>502</td>\n",
" <td>1125</td>\n",
" <td>219</td>\n",
" <td>18</td>\n",
" <td>104</td>\n",
" <td>1692</td>\n",
" <td>486</td>\n",
" <td>29</td>\n",
" <td>25</td>\n",
" <td>99</td>\n",
" <td>30</td>\n",
" <td>338</td>\n",
" <td>22</td>\n",
" <td>52</td>\n",
" <td>798</td>\n",
" <td>95</td>\n",
" <td>0.373</td>\n",
" <td>0.306</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>広島</td>\n",
" <td>0.247</td>\n",
" <td>138</td>\n",
" <td>5067</td>\n",
" <td>4573</td>\n",
" <td>482</td>\n",
" <td>1129</td>\n",
" <td>191</td>\n",
" <td>16</td>\n",
" <td>94</td>\n",
" <td>1634</td>\n",
" <td>466</td>\n",
" <td>75</td>\n",
" <td>50</td>\n",
" <td>92</td>\n",
" <td>20</td>\n",
" <td>335</td>\n",
" <td>25</td>\n",
" <td>47</td>\n",
" <td>994</td>\n",
" <td>111</td>\n",
" <td>0.357</td>\n",
" <td>0.304</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ヤクルト</td>\n",
" <td>0.240</td>\n",
" <td>137</td>\n",
" <td>5134</td>\n",
" <td>4513</td>\n",
" <td>513</td>\n",
" <td>1082</td>\n",
" <td>203</td>\n",
" <td>9</td>\n",
" <td>121</td>\n",
" <td>1666</td>\n",
" <td>489</td>\n",
" <td>61</td>\n",
" <td>20</td>\n",
" <td>108</td>\n",
" <td>32</td>\n",
" <td>432</td>\n",
" <td>22</td>\n",
" <td>49</td>\n",
" <td>1058</td>\n",
" <td>110</td>\n",
" <td>0.369</td>\n",
" <td>0.311</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>中日</td>\n",
" <td>0.237</td>\n",
" <td>135</td>\n",
" <td>4968</td>\n",
" <td>4530</td>\n",
" <td>374</td>\n",
" <td>1073</td>\n",
" <td>182</td>\n",
" <td>19</td>\n",
" <td>67</td>\n",
" <td>1494</td>\n",
" <td>355</td>\n",
" <td>33</td>\n",
" <td>23</td>\n",
" <td>86</td>\n",
" <td>21</td>\n",
" <td>294</td>\n",
" <td>17</td>\n",
" <td>37</td>\n",
" <td>978</td>\n",
" <td>90</td>\n",
" <td>0.330</td>\n",
" <td>0.288</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-32535c6b-8a04-4b95-98c5-f529d2080436')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-32535c6b-8a04-4b95-98c5-f529d2080436 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-32535c6b-8a04-4b95-98c5-f529d2080436');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-381b1b63-48b2-4e7d-999a-f9642486027c\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-381b1b63-48b2-4e7d-999a-f9642486027c')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-381b1b63-48b2-4e7d-999a-f9642486027c button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "code",
"source": [
"# 必要な指標を作り込む(打撃)\n",
"df_stats_b['ops'] = round(df_stats_b['obp'] + df_stats_b['slg'], 3)\n",
"df_stats_b['ab_k'] = round(df_stats_b['ab'] / df_stats_b['so'], 2)\n",
"df_stats_b['ab_bb'] = round(df_stats_b['ab'] / df_stats_b['bb'], 2)\n",
"df_stats_b['bb_per_so'] = round((df_stats_b['bb'] + df_stats_b['hbp'] + df_stats_b['ibb']) / df_stats_b['so'], 3)"
],
"metadata": {
"id": "N-Wu8VzbKL59"
},
"execution_count": 12,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_stats_b"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "9IolahbJMQdh",
"outputId": "3b319f86-6e0f-46a8-c773-678a4d4d3b05"
},
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" team ba g pa ab r h _2b _3b hr tb rbi sb cs \\\n",
"0 巨人 0.254 136 5104 4607 511 1170 197 14 161 1878 499 46 29 \n",
"1 阪神 0.249 135 5187 4514 536 1123 173 34 77 1595 515 73 26 \n",
"2 DeNA 0.248 135 5054 4535 502 1125 219 18 104 1692 486 29 25 \n",
"3 広島 0.247 138 5067 4573 482 1129 191 16 94 1634 466 75 50 \n",
"4 ヤクルト 0.240 137 5134 4513 513 1082 203 9 121 1666 489 61 20 \n",
"5 中日 0.237 135 4968 4530 374 1073 182 19 67 1494 355 33 23 \n",
"\n",
" sh sf bb ibb hbp so dp slg obp ops ab_k ab_bb \\\n",
"0 87 30 343 36 37 1055 91 0.408 0.309 0.717 4.37 13.43 \n",
"1 102 44 475 34 52 1104 82 0.353 0.324 0.677 4.09 9.50 \n",
"2 99 30 338 22 52 798 95 0.373 0.306 0.679 5.68 13.42 \n",
"3 92 20 335 25 47 994 111 0.357 0.304 0.661 4.60 13.65 \n",
"4 108 32 432 22 49 1058 110 0.369 0.311 0.680 4.27 10.45 \n",
"5 86 21 294 17 37 978 90 0.330 0.288 0.618 4.63 15.41 \n",
"\n",
" bb_per_so \n",
"0 0.394 \n",
"1 0.508 \n",
"2 0.516 \n",
"3 0.409 \n",
"4 0.475 \n",
"5 0.356 "
],
"text/html": [
"\n",
" <div id=\"df-b7a7f414-881f-4016-8675-e549922fbee3\" class=\"colab-df-container\">\n",
" <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>team</th>\n",
" <th>ba</th>\n",
" <th>g</th>\n",
" <th>pa</th>\n",
" <th>ab</th>\n",
" <th>r</th>\n",
" <th>h</th>\n",
" <th>_2b</th>\n",
" <th>_3b</th>\n",
" <th>hr</th>\n",
" <th>tb</th>\n",
" <th>rbi</th>\n",
" <th>sb</th>\n",
" <th>cs</th>\n",
" <th>sh</th>\n",
" <th>sf</th>\n",
" <th>bb</th>\n",
" <th>ibb</th>\n",
" <th>hbp</th>\n",
" <th>so</th>\n",
" <th>dp</th>\n",
" <th>slg</th>\n",
" <th>obp</th>\n",
" <th>ops</th>\n",
" <th>ab_k</th>\n",
" <th>ab_bb</th>\n",
" <th>bb_per_so</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>巨人</td>\n",
" <td>0.254</td>\n",
" <td>136</td>\n",
" <td>5104</td>\n",
" <td>4607</td>\n",
" <td>511</td>\n",
" <td>1170</td>\n",
" <td>197</td>\n",
" <td>14</td>\n",
" <td>161</td>\n",
" <td>1878</td>\n",
" <td>499</td>\n",
" <td>46</td>\n",
" <td>29</td>\n",
" <td>87</td>\n",
" <td>30</td>\n",
" <td>343</td>\n",
" <td>36</td>\n",
" <td>37</td>\n",
" <td>1055</td>\n",
" <td>91</td>\n",
" <td>0.408</td>\n",
" <td>0.309</td>\n",
" <td>0.717</td>\n",
" <td>4.37</td>\n",
" <td>13.43</td>\n",
" <td>0.394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>阪神</td>\n",
" <td>0.249</td>\n",
" <td>135</td>\n",
" <td>5187</td>\n",
" <td>4514</td>\n",
" <td>536</td>\n",
" <td>1123</td>\n",
" <td>173</td>\n",
" <td>34</td>\n",
" <td>77</td>\n",
" <td>1595</td>\n",
" <td>515</td>\n",
" <td>73</td>\n",
" <td>26</td>\n",
" <td>102</td>\n",
" <td>44</td>\n",
" <td>475</td>\n",
" <td>34</td>\n",
" <td>52</td>\n",
" <td>1104</td>\n",
" <td>82</td>\n",
" <td>0.353</td>\n",
" <td>0.324</td>\n",
" <td>0.677</td>\n",
" <td>4.09</td>\n",
" <td>9.50</td>\n",
" <td>0.508</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>DeNA</td>\n",
" <td>0.248</td>\n",
" <td>135</td>\n",
" <td>5054</td>\n",
" <td>4535</td>\n",
" <td>502</td>\n",
" <td>1125</td>\n",
" <td>219</td>\n",
" <td>18</td>\n",
" <td>104</td>\n",
" <td>1692</td>\n",
" <td>486</td>\n",
" <td>29</td>\n",
" <td>25</td>\n",
" <td>99</td>\n",
" <td>30</td>\n",
" <td>338</td>\n",
" <td>22</td>\n",
" <td>52</td>\n",
" <td>798</td>\n",
" <td>95</td>\n",
" <td>0.373</td>\n",
" <td>0.306</td>\n",
" <td>0.679</td>\n",
" <td>5.68</td>\n",
" <td>13.42</td>\n",
" <td>0.516</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>広島</td>\n",
" <td>0.247</td>\n",
" <td>138</td>\n",
" <td>5067</td>\n",
" <td>4573</td>\n",
" <td>482</td>\n",
" <td>1129</td>\n",
" <td>191</td>\n",
" <td>16</td>\n",
" <td>94</td>\n",
" <td>1634</td>\n",
" <td>466</td>\n",
" <td>75</td>\n",
" <td>50</td>\n",
" <td>92</td>\n",
" <td>20</td>\n",
" <td>335</td>\n",
" <td>25</td>\n",
" <td>47</td>\n",
" <td>994</td>\n",
" <td>111</td>\n",
" <td>0.357</td>\n",
" <td>0.304</td>\n",
" <td>0.661</td>\n",
" <td>4.60</td>\n",
" <td>13.65</td>\n",
" <td>0.409</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ヤクルト</td>\n",
" <td>0.240</td>\n",
" <td>137</td>\n",
" <td>5134</td>\n",
" <td>4513</td>\n",
" <td>513</td>\n",
" <td>1082</td>\n",
" <td>203</td>\n",
" <td>9</td>\n",
" <td>121</td>\n",
" <td>1666</td>\n",
" <td>489</td>\n",
" <td>61</td>\n",
" <td>20</td>\n",
" <td>108</td>\n",
" <td>32</td>\n",
" <td>432</td>\n",
" <td>22</td>\n",
" <td>49</td>\n",
" <td>1058</td>\n",
" <td>110</td>\n",
" <td>0.369</td>\n",
" <td>0.311</td>\n",
" <td>0.680</td>\n",
" <td>4.27</td>\n",
" <td>10.45</td>\n",
" <td>0.475</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>中日</td>\n",
" <td>0.237</td>\n",
" <td>135</td>\n",
" <td>4968</td>\n",
" <td>4530</td>\n",
" <td>374</td>\n",
" <td>1073</td>\n",
" <td>182</td>\n",
" <td>19</td>\n",
" <td>67</td>\n",
" <td>1494</td>\n",
" <td>355</td>\n",
" <td>33</td>\n",
" <td>23</td>\n",
" <td>86</td>\n",
" <td>21</td>\n",
" <td>294</td>\n",
" <td>17</td>\n",
" <td>37</td>\n",
" <td>978</td>\n",
" <td>90</td>\n",
" <td>0.330</td>\n",
" <td>0.288</td>\n",
" <td>0.618</td>\n",
" <td>4.63</td>\n",
" <td>15.41</td>\n",
" <td>0.356</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b7a7f414-881f-4016-8675-e549922fbee3')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-b7a7f414-881f-4016-8675-e549922fbee3 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-b7a7f414-881f-4016-8675-e549922fbee3');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-c20fb888-ddd4-4c61-b533-aca302a403da\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-c20fb888-ddd4-4c61-b533-aca302a403da')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-c20fb888-ddd4-4c61-b533-aca302a403da button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"source": [
"# 必要な指標を作り込む(投手)\n",
"# memo: fipの補正値は適当(今年は打低すぎるので2.8とかでもいいかも)\n",
"df_stats_p['fip'] = round((3 * (df_stats_p['bb'] + df_stats_p['hbp'] - df_stats_p['ibb']) + (13 * df_stats_p['hr']) - (2 * df_stats_p['so'])) / df_stats_p['ip'] + 3, 2)\n",
"df_stats_p['so_p'] = round(((df_stats_p['so'] * 9) /df_stats_p['ip']), 2)\n",
"df_stats_p['bb_p'] = round(((df_stats_p['bb'] * 9) /df_stats_p['ip']), 2)\n",
"df_stats_p"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "OCXwYiPnMRZg",
"outputId": "3718daaa-d4bd-452a-fedc-96705f6197b8"
},
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" team era g win lose sv hld hldp cg sho no_walks win_p \\\n",
"0 阪神 2.64 135 83 48 43 123 144 10 17 23 0.634 \n",
"1 中日 3.17 135 52 79 35 136 157 4 7 8 0.397 \n",
"2 DeNA 3.20 135 69 63 38 111 131 8 12 16 0.523 \n",
"3 広島 3.24 138 72 62 44 121 147 9 13 11 0.537 \n",
"4 巨人 3.52 136 67 67 29 118 144 5 15 8 0.500 \n",
"5 ヤクルト 3.73 137 54 80 32 129 144 3 15 9 0.403 \n",
"\n",
" batter_faces ip h hr bb ibb hbp so wp balk r er \\\n",
"0 4919 1216.1 1043 83 295 16 40 958 19 2 398 357 \n",
"1 5086 1214.1 1065 74 418 18 48 1007 31 0 484 428 \n",
"2 5073 1218.1 1145 114 341 26 41 1099 27 0 473 433 \n",
"3 5170 1230.0 1153 107 386 27 40 936 30 3 494 443 \n",
"4 5069 1215.1 1082 128 390 17 62 1020 26 6 502 476 \n",
"5 5134 1215.2 1175 138 373 41 62 912 32 1 552 504 \n",
"\n",
" fip so_p bb_p \n",
"0 3.10 7.09 2.18 \n",
"1 3.24 7.46 3.10 \n",
"2 3.29 8.12 2.52 \n",
"3 3.58 6.85 2.82 \n",
"4 3.76 7.55 2.89 \n",
"5 3.95 6.75 2.76 "
],
"text/html": [
"\n",
" <div id=\"df-d0797bb5-90d7-42e6-aaf9-89f267c1d611\" class=\"colab-df-container\">\n",
" <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>team</th>\n",
" <th>era</th>\n",
" <th>g</th>\n",
" <th>win</th>\n",
" <th>lose</th>\n",
" <th>sv</th>\n",
" <th>hld</th>\n",
" <th>hldp</th>\n",
" <th>cg</th>\n",
" <th>sho</th>\n",
" <th>no_walks</th>\n",
" <th>win_p</th>\n",
" <th>batter_faces</th>\n",
" <th>ip</th>\n",
" <th>h</th>\n",
" <th>hr</th>\n",
" <th>bb</th>\n",
" <th>ibb</th>\n",
" <th>hbp</th>\n",
" <th>so</th>\n",
" <th>wp</th>\n",
" <th>balk</th>\n",
" <th>r</th>\n",
" <th>er</th>\n",
" <th>fip</th>\n",
" <th>so_p</th>\n",
" <th>bb_p</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>阪神</td>\n",
" <td>2.64</td>\n",
" <td>135</td>\n",
" <td>83</td>\n",
" <td>48</td>\n",
" <td>43</td>\n",
" <td>123</td>\n",
" <td>144</td>\n",
" <td>10</td>\n",
" <td>17</td>\n",
" <td>23</td>\n",
" <td>0.634</td>\n",
" <td>4919</td>\n",
" <td>1216.1</td>\n",
" <td>1043</td>\n",
" <td>83</td>\n",
" <td>295</td>\n",
" <td>16</td>\n",
" <td>40</td>\n",
" <td>958</td>\n",
" <td>19</td>\n",
" <td>2</td>\n",
" <td>398</td>\n",
" <td>357</td>\n",
" <td>3.10</td>\n",
" <td>7.09</td>\n",
" <td>2.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>中日</td>\n",
" <td>3.17</td>\n",
" <td>135</td>\n",
" <td>52</td>\n",
" <td>79</td>\n",
" <td>35</td>\n",
" <td>136</td>\n",
" <td>157</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>8</td>\n",
" <td>0.397</td>\n",
" <td>5086</td>\n",
" <td>1214.1</td>\n",
" <td>1065</td>\n",
" <td>74</td>\n",
" <td>418</td>\n",
" <td>18</td>\n",
" <td>48</td>\n",
" <td>1007</td>\n",
" <td>31</td>\n",
" <td>0</td>\n",
" <td>484</td>\n",
" <td>428</td>\n",
" <td>3.24</td>\n",
" <td>7.46</td>\n",
" <td>3.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>DeNA</td>\n",
" <td>3.20</td>\n",
" <td>135</td>\n",
" <td>69</td>\n",
" <td>63</td>\n",
" <td>38</td>\n",
" <td>111</td>\n",
" <td>131</td>\n",
" <td>8</td>\n",
" <td>12</td>\n",
" <td>16</td>\n",
" <td>0.523</td>\n",
" <td>5073</td>\n",
" <td>1218.1</td>\n",
" <td>1145</td>\n",
" <td>114</td>\n",
" <td>341</td>\n",
" <td>26</td>\n",
" <td>41</td>\n",
" <td>1099</td>\n",
" <td>27</td>\n",
" <td>0</td>\n",
" <td>473</td>\n",
" <td>433</td>\n",
" <td>3.29</td>\n",
" <td>8.12</td>\n",
" <td>2.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>広島</td>\n",
" <td>3.24</td>\n",
" <td>138</td>\n",
" <td>72</td>\n",
" <td>62</td>\n",
" <td>44</td>\n",
" <td>121</td>\n",
" <td>147</td>\n",
" <td>9</td>\n",
" <td>13</td>\n",
" <td>11</td>\n",
" <td>0.537</td>\n",
" <td>5170</td>\n",
" <td>1230.0</td>\n",
" <td>1153</td>\n",
" <td>107</td>\n",
" <td>386</td>\n",
" <td>27</td>\n",
" <td>40</td>\n",
" <td>936</td>\n",
" <td>30</td>\n",
" <td>3</td>\n",
" <td>494</td>\n",
" <td>443</td>\n",
" <td>3.58</td>\n",
" <td>6.85</td>\n",
" <td>2.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>巨人</td>\n",
" <td>3.52</td>\n",
" <td>136</td>\n",
" <td>67</td>\n",
" <td>67</td>\n",
" <td>29</td>\n",
" <td>118</td>\n",
" <td>144</td>\n",
" <td>5</td>\n",
" <td>15</td>\n",
" <td>8</td>\n",
" <td>0.500</td>\n",
" <td>5069</td>\n",
" <td>1215.1</td>\n",
" <td>1082</td>\n",
" <td>128</td>\n",
" <td>390</td>\n",
" <td>17</td>\n",
" <td>62</td>\n",
" <td>1020</td>\n",
" <td>26</td>\n",
" <td>6</td>\n",
" <td>502</td>\n",
" <td>476</td>\n",
" <td>3.76</td>\n",
" <td>7.55</td>\n",
" <td>2.89</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ヤクルト</td>\n",
" <td>3.73</td>\n",
" <td>137</td>\n",
" <td>54</td>\n",
" <td>80</td>\n",
" <td>32</td>\n",
" <td>129</td>\n",
" <td>144</td>\n",
" <td>3</td>\n",
" <td>15</td>\n",
" <td>9</td>\n",
" <td>0.403</td>\n",
" <td>5134</td>\n",
" <td>1215.2</td>\n",
" <td>1175</td>\n",
" <td>138</td>\n",
" <td>373</td>\n",
" <td>41</td>\n",
" <td>62</td>\n",
" <td>912</td>\n",
" <td>32</td>\n",
" <td>1</td>\n",
" <td>552</td>\n",
" <td>504</td>\n",
" <td>3.95</td>\n",
" <td>6.75</td>\n",
" <td>2.76</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d0797bb5-90d7-42e6-aaf9-89f267c1d611')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-d0797bb5-90d7-42e6-aaf9-89f267c1d611 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-d0797bb5-90d7-42e6-aaf9-89f267c1d611');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-96e5dc05-e3de-4ef6-bac7-7738c7025101\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-96e5dc05-e3de-4ef6-bac7-7738c7025101')\"\n",
" title=\"Suggest charts.\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-96e5dc05-e3de-4ef6-bac7-7738c7025101 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
" </div>\n",
" </div>\n"
]
},
"metadata": {},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"source": [
"# 計算したデータを保存(必要なときだけ有効化)\n",
"\n",
"# df_stats_b.to_csv(f'{now.strftime(\"%Y%m%d_%H%M%S\")}_team_stats_batting.csv')\n",
"# df_stats_p.to_csv(f'{now.strftime(\"%Y%m%d_%H%M%S\")}_team_stats_pitcing.csv')"
],
"metadata": {
"id": "1X5ENewMNN3N"
},
"execution_count": 15,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## 成績の可視化"
],
"metadata": {
"id": "EJYNVyRL5feF"
}
},
{
"cell_type": "code",
"source": [
"# Plotlyで可視化\n",
"!pip install plotly"
],
"metadata": {
"id": "673O5VslWJtp",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "c75caaf9-c480-4501-d6af-0ec5626b088f"
},
"execution_count": 16,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (5.15.0)\n",
"Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly) (8.2.3)\n",
"Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from plotly) (23.1)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import plotly.express as px\n",
"\n",
"WIDTH = 1400\n",
"HEIGHT = 700\n",
"\n",
"fig = px.bar(df_stats_b.sort_values(['ab_bb'], ascending=False), x=['ab_k', 'ab_bb'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム打撃成績】三振および四球獲得までの平均打数\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(ab_bbの昇順)')\n",
"fig.update_xaxes(title='ab_k(三振するまでの平均打数), ab_bb(四球獲得までの平均打数)', dtick=2, range=(0, 18))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"id": "JBaL0L2O4ZeZ",
"outputId": "5a58c51d-1aa1-4f42-a99f-aaaaf10688a2"
},
"execution_count": 17,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"08d451cc-c1dd-4d21-b772-0fc2237c65ec\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"08d451cc-c1dd-4d21-b772-0fc2237c65ec\")) { Plotly.newPlot( \"08d451cc-c1dd-4d21-b772-0fc2237c65ec\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=ab_k\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"ab_k\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"ab_k\",\"offsetgroup\":\"ab_k\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[4.63,4.6,4.37,5.68,4.27,4.09],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5e83\\u5cf6\",\"\\u5de8\\u4eba\",\"DeNA\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"},{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=ab_bb\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"ab_bb\",\"marker\":{\"color\":\"#EF553B\",\"pattern\":{\"shape\":\"\"}},\"name\":\"ab_bb\",\"offsetgroup\":\"ab_bb\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[15.41,13.65,13.43,13.42,10.45,9.5],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5e83\\u5cf6\",\"\\u5de8\\u4eba\",\"DeNA\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"ab_k\\uff08\\u4e09\\u632f\\u3059\\u308b\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\\uff09, ab_bb\\uff08\\u56db\\u7403\\u7372\\u5f97\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\\uff09\"},\"dtick\":2,\"range\":[0,18]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08ab_bb\\u306e\\u6607\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6253\\u6483\\u6210\\u7e3e\\u3011\\u4e09\\u632f\\u304a\\u3088\\u3073\\u56db\\u7403\\u7372\\u5f97\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('08d451cc-c1dd-4d21-b772-0fc2237c65ec');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"fig = px.bar(df_stats_p.sort_values(['bb_p'], ascending=False), x=['so_p', 'bb_p'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム投手成績】奪三振率と与四球率の比較\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(与四球率の昇順)')\n",
"fig.update_xaxes(title='so_p(奪三振率), bb_p(与四球率)', dtick=1, range=(0, 9))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"id": "9QvKLZV34xnE",
"outputId": "ea3e98ad-4ae5-4b53-f129-6710f2fa4685"
},
"execution_count": 18,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"8cf8f5fc-4574-44c3-91e8-4452038a5897\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"8cf8f5fc-4574-44c3-91e8-4452038a5897\")) { Plotly.newPlot( \"8cf8f5fc-4574-44c3-91e8-4452038a5897\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=so_p\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"so_p\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"so_p\",\"offsetgroup\":\"so_p\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[7.46,7.55,6.85,6.75,8.12,7.09],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5de8\\u4eba\",\"\\u5e83\\u5cf6\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"DeNA\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"},{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=bb_p\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"bb_p\",\"marker\":{\"color\":\"#EF553B\",\"pattern\":{\"shape\":\"\"}},\"name\":\"bb_p\",\"offsetgroup\":\"bb_p\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[3.1,2.89,2.82,2.76,2.52,2.18],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5de8\\u4eba\",\"\\u5e83\\u5cf6\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"DeNA\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"so_p\\uff08\\u596a\\u4e09\\u632f\\u7387\\uff09, bb_p\\uff08\\u4e0e\\u56db\\u7403\\u7387\\uff09\"},\"dtick\":1,\"range\":[0,9]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08\\u4e0e\\u56db\\u7403\\u7387\\u306e\\u6607\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6295\\u624b\\u6210\\u7e3e\\u3011\\u596a\\u4e09\\u632f\\u7387\\u3068\\u4e0e\\u56db\\u7403\\u7387\\u306e\\u6bd4\\u8f03\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('8cf8f5fc-4574-44c3-91e8-4452038a5897');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "wmLKpx8gCBN6"
},
"execution_count": 18,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## 以下, スライド素材用のデータ"
],
"metadata": {
"id": "UsUM_0NgGdC0"
}
},
{
"cell_type": "code",
"source": [
"import plotly.express as px\n",
"fig = px.bar(df_stats_b.sort_values(['ab_bb'], ascending=False), x=['ab_bb'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム打撃成績】四球獲得に要した打数(少ない=多く四球を獲得しているので優秀)\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(数字が優秀な順)')\n",
"fig.update_xaxes(title='四球獲得までの平均打数(ab_bb)', dtick=2, range=(0, 18))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"outputId": "6b7f8326-5b76-4bb9-8200-334f016e5c87",
"id": "eOQlkn_AGZig"
},
"execution_count": 19,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"fe7d6cd3-783a-46b5-8ef0-4e78b211df00\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"fe7d6cd3-783a-46b5-8ef0-4e78b211df00\")) { Plotly.newPlot( \"fe7d6cd3-783a-46b5-8ef0-4e78b211df00\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=ab_bb\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"ab_bb\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"ab_bb\",\"offsetgroup\":\"ab_bb\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[15.41,13.65,13.43,13.42,10.45,9.5],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5e83\\u5cf6\",\"\\u5de8\\u4eba\",\"DeNA\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u56db\\u7403\\u7372\\u5f97\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\\uff08ab_bb\\uff09\"},\"dtick\":2,\"range\":[0,18]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08\\u6570\\u5b57\\u304c\\u512a\\u79c0\\u306a\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6253\\u6483\\u6210\\u7e3e\\u3011\\u56db\\u7403\\u7372\\u5f97\\u306b\\u8981\\u3057\\u305f\\u6253\\u6570\\uff08\\u5c11\\u306a\\u3044=\\u591a\\u304f\\u56db\\u7403\\u3092\\u7372\\u5f97\\u3057\\u3066\\u3044\\u308b\\u306e\\u3067\\u512a\\u79c0\\uff09\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('fe7d6cd3-783a-46b5-8ef0-4e78b211df00');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "1j1Xkc_pGavG"
},
"execution_count": 19,
"outputs": []
},
{
"cell_type": "code",
"source": [
"import plotly.express as px\n",
"fig = px.bar(df_stats_b.sort_values(['ab_k'], ascending=True), x=['ab_k'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム打撃成績】三振するまでの平均打数(多い=三振が少ない)\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(数字が優秀な順)')\n",
"fig.update_xaxes(title='三振するまでの平均打数(ab_k)', dtick=1, range=(0, 9))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"outputId": "8af577de-bc98-4396-ae6c-f1e704bc5304",
"id": "C8Ot08jqGa-E"
},
"execution_count": 20,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"d9a99388-b3d7-459d-8432-a080cbafd7bb\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"d9a99388-b3d7-459d-8432-a080cbafd7bb\")) { Plotly.newPlot( \"d9a99388-b3d7-459d-8432-a080cbafd7bb\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=ab_k\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"ab_k\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"ab_k\",\"offsetgroup\":\"ab_k\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[4.09,4.27,4.37,4.6,4.63,5.68],\"xaxis\":\"x\",\"y\":[\"\\u962a\\u795e\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"\\u5de8\\u4eba\",\"\\u5e83\\u5cf6\",\"\\u4e2d\\u65e5\",\"DeNA\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u4e09\\u632f\\u3059\\u308b\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\\uff08ab_k\\uff09\"},\"dtick\":1,\"range\":[0,9]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08\\u6570\\u5b57\\u304c\\u512a\\u79c0\\u306a\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6253\\u6483\\u6210\\u7e3e\\u3011\\u4e09\\u632f\\u3059\\u308b\\u307e\\u3067\\u306e\\u5e73\\u5747\\u6253\\u6570\\uff08\\u591a\\u3044=\\u4e09\\u632f\\u304c\\u5c11\\u306a\\u3044\\uff09\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('d9a99388-b3d7-459d-8432-a080cbafd7bb');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"fig = px.bar(df_stats_p.sort_values(['so_p'], ascending=True), x=['so_p'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム投手成績】奪三振率(高いと優秀)\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(数字が優秀な順)')\n",
"fig.update_xaxes(title='奪三振率(so_p)', dtick=1, range=(0, 9))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"id": "D5Kiz3vsHlt4",
"outputId": "b1f9aabf-e615-474b-af53-d30f81c0b98e"
},
"execution_count": 21,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"98c1fcd2-ad68-4e14-a022-8d79ce18eec7\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"98c1fcd2-ad68-4e14-a022-8d79ce18eec7\")) { Plotly.newPlot( \"98c1fcd2-ad68-4e14-a022-8d79ce18eec7\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=so_p\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"so_p\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"so_p\",\"offsetgroup\":\"so_p\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[6.75,6.85,7.09,7.46,7.55,8.12],\"xaxis\":\"x\",\"y\":[\"\\u30e4\\u30af\\u30eb\\u30c8\",\"\\u5e83\\u5cf6\",\"\\u962a\\u795e\",\"\\u4e2d\\u65e5\",\"\\u5de8\\u4eba\",\"DeNA\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u596a\\u4e09\\u632f\\u7387\\uff08so_p\\uff09\"},\"dtick\":1,\"range\":[0,9]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08\\u6570\\u5b57\\u304c\\u512a\\u79c0\\u306a\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6295\\u624b\\u6210\\u7e3e\\u3011\\u596a\\u4e09\\u632f\\u7387\\uff08\\u9ad8\\u3044\\u3068\\u512a\\u79c0\\uff09\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('98c1fcd2-ad68-4e14-a022-8d79ce18eec7');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"fig = px.bar(df_stats_p.sort_values(['bb_p'], ascending=False), x=['bb_p'], y='team', barmode='group',)\n",
"fig.update_layout(\n",
" title=\"【チーム投手成績】与四球率(低いと優秀)\",\n",
" # autosize=True, # 画面に合わせたい時に有効化\n",
" width=WIDTH,\n",
" height=HEIGHT,\n",
" legend_title=None\n",
")\n",
"fig.update_yaxes(title='チーム名(数字が優秀な順)')\n",
"fig.update_xaxes(title='与四球率(bb_p)', dtick=1, range=(0, 6))\n",
"fig.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 717
},
"id": "ov6fAwzFJOxH",
"outputId": "f45a93f1-8928-4620-af75-6701042402c6"
},
"execution_count": 22,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<html>\n",
"<head><meta charset=\"utf-8\" /></head>\n",
"<body>\n",
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n",
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.24.1.min.js\"></script> <div id=\"99a2dbb0-2f6d-41a3-9c17-4deaa745d1f0\" class=\"plotly-graph-div\" style=\"height:700px; width:1400px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"99a2dbb0-2f6d-41a3-9c17-4deaa745d1f0\")) { Plotly.newPlot( \"99a2dbb0-2f6d-41a3-9c17-4deaa745d1f0\", [{\"alignmentgroup\":\"True\",\"hovertemplate\":\"variable=bb_p\\u003cbr\\u003evalue=%{x}\\u003cbr\\u003eteam=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"bb_p\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"bb_p\",\"offsetgroup\":\"bb_p\",\"orientation\":\"h\",\"showlegend\":true,\"textposition\":\"auto\",\"x\":[3.1,2.89,2.82,2.76,2.52,2.18],\"xaxis\":\"x\",\"y\":[\"\\u4e2d\\u65e5\",\"\\u5de8\\u4eba\",\"\\u5e83\\u5cf6\",\"\\u30e4\\u30af\\u30eb\\u30c8\",\"DeNA\",\"\\u962a\\u795e\"],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u4e0e\\u56db\\u7403\\u7387\\uff08bb_p\\uff09\"},\"dtick\":1,\"range\":[0,6]},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"\\u30c1\\u30fc\\u30e0\\u540d\\uff08\\u6570\\u5b57\\u304c\\u512a\\u79c0\\u306a\\u9806\\uff09\"}},\"legend\":{\"title\":{},\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"group\",\"title\":{\"text\":\"\\u3010\\u30c1\\u30fc\\u30e0\\u6295\\u624b\\u6210\\u7e3e\\u3011\\u4e0e\\u56db\\u7403\\u7387\\uff08\\u4f4e\\u3044\\u3068\\u512a\\u79c0\\uff09\"},\"width\":1400,\"height\":700}, {\"responsive\": true} ).then(function(){\n",
" \n",
"var gd = document.getElementById('99a2dbb0-2f6d-41a3-9c17-4deaa745d1f0');\n",
"var x = new MutationObserver(function (mutations, observer) {{\n",
" var display = window.getComputedStyle(gd).display;\n",
" if (!display || display === 'none') {{\n",
" console.log([gd, 'removed!']);\n",
" Plotly.purge(gd);\n",
" observer.disconnect();\n",
" }}\n",
"}});\n",
"\n",
"// Listen for the removal of the full notebook cells\n",
"var notebookContainer = gd.closest('#notebook-container');\n",
"if (notebookContainer) {{\n",
" x.observe(notebookContainer, {childList: true});\n",
"}}\n",
"\n",
"// Listen for the clearing of the current output cell\n",
"var outputEl = gd.closest('.output');\n",
"if (outputEl) {{\n",
" x.observe(outputEl, {childList: true});\n",
"}}\n",
"\n",
" }) }; </script> </div>\n",
"</body>\n",
"</html>"
]
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "IykavUTpK7WH"
},
"execution_count": 22,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment