{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(global) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = \"1\";\n", "\n", " if (typeof (window._bokeh_onload_callbacks) === \"undefined\" || force !== \"\") {\n", " window._bokeh_onload_callbacks = [];\n", " window._bokeh_is_loading = undefined;\n", " }\n", "\n", "\n", " \n", " if (typeof (window._bokeh_timeout) === \"undefined\" || force !== \"\") {\n", " window._bokeh_timeout = Date.now() + 5000;\n", " window._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " if (window.Bokeh !== undefined) {\n", " Bokeh.$(\"#748050dd-d0f2-4f57-97dc-803846c11b8f\").text(\"BokehJS successfully loaded.\");\n", " } else if (Date.now() < window._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", " function run_callbacks() {\n", " window._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", " delete window._bokeh_onload_callbacks\n", " console.info(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(js_urls, callback) {\n", " window._bokeh_onload_callbacks.push(callback);\n", " if (window._bokeh_is_loading > 0) {\n", " console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " window._bokeh_is_loading = js_urls.length;\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var s = document.createElement('script');\n", " s.src = url;\n", " s.async = false;\n", " s.onreadystatechange = s.onload = function() {\n", " window._bokeh_is_loading--;\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", " run_callbacks()\n", " }\n", " };\n", " s.onerror = function() {\n", " console.warn(\"failed to load library \" + url);\n", " };\n", " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", " }\n", " };var element = document.getElementById(\"748050dd-d0f2-4f57-97dc-803846c11b8f\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '748050dd-d0f2-4f57-97dc-803846c11b8f' but no matching script tag was found. \")\n", " return false;\n", " }\n", "\n", " var js_urls = ['https://cdn.pydata.org/bokeh/release/bokeh-0.12.3.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.3.min.js'];\n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " \n", " function(Bokeh) {\n", " \n", " Bokeh.$(\"#748050dd-d0f2-4f57-97dc-803846c11b8f\").text(\"BokehJS is loading...\");\n", " },\n", " function(Bokeh) {\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.3.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.3.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.3.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.3.min.css\");\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if ((window.Bokeh !== undefined) || (force === \"1\")) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i](window.Bokeh);\n", " }if (force === \"1\") {\n", " display_loaded();\n", " }} else if (Date.now() < window._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!window._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " window._bokeh_failed_load = true;\n", " } else if (!force) {\n", " var cell = $(\"#748050dd-d0f2-4f57-97dc-803846c11b8f\").parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(js_urls, function() {\n", " console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(this));" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from bokeh.layouts import gridplot\n", "from bokeh.plotting import figure, show, output_file\n", "from bokeh.charts import Bar\n", "import numpy as np\n", "import bokeh.plotting as bk\n", "bk.output_notebook()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Columns Definition\n", "\n", "k_columns = (\"Div\", \"Date\", \"HomeTeam\", \"AwayTeam\")\n", "\n", "p_columns = k_columns + (\"FTHG\", \"FTAG\", \"FTR\", \"HTHG\", \"HTAG\", \"HTR\")\n", "\n", "s_columns = k_columns + (\"Attendance\", \"HS\", \"AS\", \"HST\", \"AST\", \"HC\", \"AC\", \"HF\", \"AF\", \"HY\", \"AY\", \"HR\", \"AR\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "d1_1516 = pd.read_csv(\"./data/D1_1516.csv\")\n", "sp1_1516 = pd.read_csv(\"./data/SP1_1516.csv\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DivDateHomeTeamAwayTeamFTHGFTAGFTRHTHGHTAGHTR
0D114/08/15Bayern MunichHamburg50H10H
1D115/08/15AugsburgHertha01A00D
2D115/08/15DarmstadtHannover22D10H
3D115/08/15DortmundM'gladbach40H30H
4D115/08/15LeverkusenHoffenheim21H11D
\n", "
" ], "text/plain": [ " Div Date HomeTeam AwayTeam FTHG FTAG FTR HTHG HTAG HTR\n", "0 D1 14/08/15 Bayern Munich Hamburg 5 0 H 1 0 H\n", "1 D1 15/08/15 Augsburg Hertha 0 1 A 0 0 D\n", "2 D1 15/08/15 Darmstadt Hannover 2 2 D 1 0 H\n", "3 D1 15/08/15 Dortmund M'gladbach 4 0 H 3 0 H\n", "4 D1 15/08/15 Leverkusen Hoffenheim 2 1 H 1 1 D" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1_1516.ix[:, p_columns].head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DivDateHomeTeamAwayTeamAttendanceHSASHSTASTHCACHFAFHYAYHRAR
0D114/08/15Bayern MunichHamburgNaN235917010122200
1D115/08/15AugsburgHerthaNaN2011347420221211
2D115/08/15DarmstadtHannoverNaN1114455921221200
3D115/08/15DortmundM'gladbachNaN175713513140100
4D115/08/15LeverkusenHoffenheimNaN2569213512181000
\n", "
" ], "text/plain": [ " Div Date HomeTeam AwayTeam Attendance HS AS HST AST HC \\\n", "0 D1 14/08/15 Bayern Munich Hamburg NaN 23 5 9 1 7 \n", "1 D1 15/08/15 Augsburg Hertha NaN 20 11 3 4 7 \n", "2 D1 15/08/15 Darmstadt Hannover NaN 11 14 4 5 5 \n", "3 D1 15/08/15 Dortmund M'gladbach NaN 17 5 7 1 3 \n", "4 D1 15/08/15 Leverkusen Hoffenheim NaN 25 6 9 2 13 \n", "\n", " AC HF AF HY AY HR AR \n", "0 0 10 12 2 2 0 0 \n", "1 4 20 22 1 2 1 1 \n", "2 9 21 22 1 2 0 0 \n", "3 5 13 14 0 1 0 0 \n", "4 5 12 18 1 0 0 0 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1_1516.ix[:, s_columns].head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FTHGFTAGHTHGHTAG
count306.000000306.000000306.000000306.000000
mean1.5653591.2647060.6960780.549020
std1.3636891.1301510.8152950.676938
min0.0000000.0000000.0000000.000000
25%1.0000000.0000000.0000000.000000
50%1.0000001.0000001.0000000.000000
75%2.0000002.0000001.0000001.000000
max6.0000005.0000004.0000003.000000
\n", "
" ], "text/plain": [ " FTHG FTAG HTHG HTAG\n", "count 306.000000 306.000000 306.000000 306.000000\n", "mean 1.565359 1.264706 0.696078 0.549020\n", "std 1.363689 1.130151 0.815295 0.676938\n", "min 0.000000 0.000000 0.000000 0.000000\n", "25% 1.000000 0.000000 0.000000 0.000000\n", "50% 1.000000 1.000000 1.000000 0.000000\n", "75% 2.000000 2.000000 1.000000 1.000000\n", "max 6.000000 5.000000 4.000000 3.000000" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1_1516.ix[:, p_columns].describe()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AttendanceHSASHSTASTHCACHFAFHYAYHRAR
count0.0306.000000306.000000306.000000306.000000306.000000306.000000306.000000306.000000306.000000306.000000306.000000306.000000
meanNaN14.03594811.5980395.1732034.3333335.2875824.21895414.18300714.8627451.7908502.0032680.0522880.075163
stdNaN5.6558704.5576672.8317992.3371553.0421592.4133034.0536374.2903761.2342311.2994280.2229710.264087
minNaN1.0000002.0000000.0000000.0000000.0000000.0000004.0000002.0000000.0000000.0000000.0000000.000000
25%NaN10.0000008.0000003.0000003.0000003.0000002.25000011.00000012.0000001.0000001.0000000.0000000.000000
50%NaN14.00000011.0000005.0000004.0000005.0000004.00000014.00000015.0000002.0000002.0000000.0000000.000000
75%NaN17.00000015.0000007.0000006.0000007.0000006.00000017.00000018.0000003.0000003.0000000.0000000.000000
maxNaN36.00000024.00000014.00000012.00000018.00000013.00000026.00000029.0000006.0000006.0000001.0000001.000000
\n", "
" ], "text/plain": [ " Attendance HS AS HST AST HC \\\n", "count 0.0 306.000000 306.000000 306.000000 306.000000 306.000000 \n", "mean NaN 14.035948 11.598039 5.173203 4.333333 5.287582 \n", "std NaN 5.655870 4.557667 2.831799 2.337155 3.042159 \n", "min NaN 1.000000 2.000000 0.000000 0.000000 0.000000 \n", "25% NaN 10.000000 8.000000 3.000000 3.000000 3.000000 \n", "50% NaN 14.000000 11.000000 5.000000 4.000000 5.000000 \n", "75% NaN 17.000000 15.000000 7.000000 6.000000 7.000000 \n", "max NaN 36.000000 24.000000 14.000000 12.000000 18.000000 \n", "\n", " AC HF AF HY AY HR \\\n", "count 306.000000 306.000000 306.000000 306.000000 306.000000 306.000000 \n", "mean 4.218954 14.183007 14.862745 1.790850 2.003268 0.052288 \n", "std 2.413303 4.053637 4.290376 1.234231 1.299428 0.222971 \n", "min 0.000000 4.000000 2.000000 0.000000 0.000000 0.000000 \n", "25% 2.250000 11.000000 12.000000 1.000000 1.000000 0.000000 \n", "50% 4.000000 14.000000 15.000000 2.000000 2.000000 0.000000 \n", "75% 6.000000 17.000000 18.000000 3.000000 3.000000 0.000000 \n", "max 13.000000 26.000000 29.000000 6.000000 6.000000 1.000000 \n", "\n", " AR \n", "count 306.000000 \n", "mean 0.075163 \n", "std 0.264087 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 0.000000 \n", "max 1.000000 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d1_1516.ix[:, s_columns].describe()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def create_plot(title, hist, edges, fill_color=\"#00BCD4\"):\n", " \"\"\"Create a plot object.\n", " \n", " Keyword arguments:\n", " title -- A caption of plot.\n", " hist -- \n", " edges -- \n", "\"\"\"\n", " plot = figure(title=title,tools=\"save\", background_fill_color=\"#E8DDCB\")\n", " plot.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], fill_color=fill_color, line_color=\"#424242\")\n", " \n", " return plot\n", "\n", "def show_single_plot(plot):\n", " \"\"\"Show a plot.\n", " \n", " Keyword arguments:\n", " plot -- plot object\n", " \"\"\"\n", " show(gridplot(plot, ncols=1, plot_width=400, plot_height=400, toolbar_location=None))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Creating plots\n", "hist_home, edges_home = np.histogram(d1_1516[\"FTHG\"], bins=7)\n", "plot_d1_hg = create_plot(\"Bundesliga D1 15/16 Home Team Goal\", hist_home, edges_home)\n", "\n", "hist_away, edges_away = np.histogram(d1_1516[\"FTAG\"], bins=6)\n", "plot_d1_ag = create_plot(\"Bundesliga D115/16 Away Team Goal\", hist_away, edges_away)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Goals\n", "show(gridplot(plot_d1_hg, plot_d1_ag, ncols=2, plot_width=400, plot_height=400))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = Bar(d1_1516, \"FTHG\", values=\"FTHG\", agg=\"count\", title=\"Bundesliga D1 15/16 Game Results\" , legend=\"\")\n", "show_single_plot(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# ポアソン分布\n", "\n", "# $f(X;\\lambda) = \\frac{\\lambda ^{X}}{X!}e^{-\\lambda}$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Poisson Distribution\n", "\n", "samples = np.random.poisson(lam=1.5, size=10000)\n", "hist_dummy, edges_dummy = np.histogram(samples, density=True, bins=max(samples))\n", "p3 = create_plot(\"Poisson Distribution\", hist_dummy, edges_dummy)\n", "show(gridplot(p3, ncols=1, plot_width=400, plot_height=400, toolbar_location=None))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Shots\n", "hist_shot, edges_shot = np.histogram(d1_1516[\"HS\"], bins=15)\n", "plot_shot = create_plot(\"Bundesliga D1 15/16 Shots\", hist_shot, edges_shot)\n", "show_single_plot(plot_shot)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = Bar(d1_1516, \"FTR\", values=\"FTR\", agg=\"count\", title=\"Bundesliga D1 15/16 Game Results\")\n", "show_single_plot(p)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Creating plots\n", "hist_home, edges_home = np.histogram(sp1_1516[\"FTHG\"], bins=10)\n", "plot_sp1_hg = create_plot(\"Liga Española D1 15/16 Home Team Goal\", hist_home, edges_home, \"#FF9800\")\n", "\n", "hist_away, edges_away = np.histogram(sp1_1516[\"FTAG\"], bins=9)\n", "plot_sp1_ag = create_plot(\"Liga Española D1 15/16 Away Team Goal\", hist_away, edges_away, \"#FF9800\")\n", "\n", "show(gridplot(plot_d1_hg, plot_d1_ag, plot_sp1_hg, plot_sp1_ag , ncols=2, plot_width=400, plot_height=400))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FTHGFTAGHTHGHTAGHSASHSTASTHFAF...BbAv<2.5BbAHBbAHhBbMxAHHBbAvAHHBbMxAHABbAvAHAPSCHPSCDPSCA
count380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000...380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000380.000000
mean1.6184211.1263160.7421050.50526313.23684210.5263164.8631583.75789513.60263213.594737...2.09536827.331579-0.4032891.9940001.9351581.9942631.9365793.1089744.8177116.026421
std1.4507491.1485180.8996130.7098804.7841774.4480992.6705092.1077364.2905674.346955...0.7460492.3416731.0332640.1634870.1525720.1618010.1502453.5677283.0806786.712190
min0.0000000.0000000.0000000.0000002.0000000.0000000.0000000.0000004.0000002.000000...1.45000021.000000-3.5000001.6300001.5900001.6200001.5800001.0500002.9900001.090000
25%1.0000000.0000000.0000000.00000010.0000007.0000003.0000002.00000011.00000011.000000...1.66000026.000000-1.0000001.8800001.8375001.8800001.8300001.5975003.4175002.640000
50%1.0000001.0000001.0000000.00000013.00000010.0000004.5000004.00000013.00000013.000000...1.82000028.000000-0.2500001.9800001.9200001.9900001.9300002.1200003.6900003.850000
75%2.0000002.0000001.0000001.00000016.00000013.0000006.0000005.00000016.00000016.000000...2.12500029.0000000.0625002.0900002.0200002.0800002.0200002.9150004.5250006.390000
max10.0000008.0000005.0000004.00000031.00000028.00000015.00000011.00000029.00000027.000000...6.22000033.0000002.7500002.5500002.4400002.5500002.42000035.50000024.50000046.000000
\n", "

8 rows × 58 columns

\n", "
" ], "text/plain": [ " FTHG FTAG HTHG HTAG HS AS \\\n", "count 380.000000 380.000000 380.000000 380.000000 380.000000 380.000000 \n", "mean 1.618421 1.126316 0.742105 0.505263 13.236842 10.526316 \n", "std 1.450749 1.148518 0.899613 0.709880 4.784177 4.448099 \n", "min 0.000000 0.000000 0.000000 0.000000 2.000000 0.000000 \n", "25% 1.000000 0.000000 0.000000 0.000000 10.000000 7.000000 \n", "50% 1.000000 1.000000 1.000000 0.000000 13.000000 10.000000 \n", "75% 2.000000 2.000000 1.000000 1.000000 16.000000 13.000000 \n", "max 10.000000 8.000000 5.000000 4.000000 31.000000 28.000000 \n", "\n", " HST AST HF AF ... BbAv<2.5 \\\n", "count 380.000000 380.000000 380.000000 380.000000 ... 380.000000 \n", "mean 4.863158 3.757895 13.602632 13.594737 ... 2.095368 \n", "std 2.670509 2.107736 4.290567 4.346955 ... 0.746049 \n", "min 0.000000 0.000000 4.000000 2.000000 ... 1.450000 \n", "25% 3.000000 2.000000 11.000000 11.000000 ... 1.660000 \n", "50% 4.500000 4.000000 13.000000 13.000000 ... 1.820000 \n", "75% 6.000000 5.000000 16.000000 16.000000 ... 2.125000 \n", "max 15.000000 11.000000 29.000000 27.000000 ... 6.220000 \n", "\n", " BbAH BbAHh BbMxAHH BbAvAHH BbMxAHA BbAvAHA \\\n", "count 380.000000 380.000000 380.000000 380.000000 380.000000 380.000000 \n", "mean 27.331579 -0.403289 1.994000 1.935158 1.994263 1.936579 \n", "std 2.341673 1.033264 0.163487 0.152572 0.161801 0.150245 \n", "min 21.000000 -3.500000 1.630000 1.590000 1.620000 1.580000 \n", "25% 26.000000 -1.000000 1.880000 1.837500 1.880000 1.830000 \n", "50% 28.000000 -0.250000 1.980000 1.920000 1.990000 1.930000 \n", "75% 29.000000 0.062500 2.090000 2.020000 2.080000 2.020000 \n", "max 33.000000 2.750000 2.550000 2.440000 2.550000 2.420000 \n", "\n", " PSCH PSCD PSCA \n", "count 380.000000 380.000000 380.000000 \n", "mean 3.108974 4.817711 6.026421 \n", "std 3.567728 3.080678 6.712190 \n", "min 1.050000 2.990000 1.090000 \n", "25% 1.597500 3.417500 2.640000 \n", "50% 2.120000 3.690000 3.850000 \n", "75% 2.915000 4.525000 6.390000 \n", "max 35.500000 24.500000 46.000000 \n", "\n", "[8 rows x 58 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp1_1516.describe()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DivDateHomeTeamAwayTeamFTHGFTAGFTRHTHGHTAGHTR
157SP120/12/15Real MadridVallecano102H42H
272SP105/03/16Real MadridCelta71H10H
333SP120/04/16La CorunaBarcelona08A02A
\n", "
" ], "text/plain": [ " Div Date HomeTeam AwayTeam FTHG FTAG FTR HTHG HTAG HTR\n", "157 SP1 20/12/15 Real Madrid Vallecano 10 2 H 4 2 H\n", "272 SP1 05/03/16 Real Madrid Celta 7 1 H 1 0 H\n", "333 SP1 20/04/16 La Coruna Barcelona 0 8 A 0 2 A" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "threshold = 6\n", "sp1_1516[(sp1_1516.FTHG > threshold) | (sp1_1516.FTAG > threshold)].ix[:, p_columns]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FTHGFTAGHTHGHTAG
count19.00000019.00000019.00000019.000000
mean3.5263160.7368421.2105260.368421
std1.8064210.8056821.0316620.597265
min1.0000000.0000000.0000000.000000
25%2.0000000.0000000.5000000.000000
50%4.0000001.0000001.0000000.000000
75%5.0000001.0000002.0000001.000000
max6.0000002.0000004.0000002.000000
\n", "
" ], "text/plain": [ " FTHG FTAG HTHG HTAG\n", "count 19.000000 19.000000 19.000000 19.000000\n", "mean 3.526316 0.736842 1.210526 0.368421\n", "std 1.806421 0.805682 1.031662 0.597265\n", "min 1.000000 0.000000 0.000000 0.000000\n", "25% 2.000000 0.000000 0.500000 0.000000\n", "50% 4.000000 1.000000 1.000000 0.000000\n", "75% 5.000000 1.000000 2.000000 1.000000\n", "max 6.000000 2.000000 4.000000 2.000000" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp1_1516[(sp1_1516.HomeTeam == \"Barcelona\")].ix[:, p_columns].describe()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FTHG
HomeTeam
Real Madrid70
Barcelona67
Sevilla38
Ath Bilbao35
Ath Madrid33
\n", "
" ], "text/plain": [ " FTHG\n", "HomeTeam \n", "Real Madrid 70\n", "Barcelona 67\n", "Sevilla 38\n", "Ath Bilbao 35\n", "Ath Madrid 33" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp1_1516.groupby(\"HomeTeam\").sum().ix[:, (\"FTHG\", )].sort_values(by=\"FTHG\", ascending=False).head()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FTAG
AwayTeam
Barcelona45
Real Madrid40
Ath Madrid30
Ath Bilbao23
Vallecano23
\n", "
" ], "text/plain": [ " FTAG\n", "AwayTeam \n", "Barcelona 45\n", "Real Madrid 40\n", "Ath Madrid 30\n", "Ath Bilbao 23\n", "Vallecano 23" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp1_1516.groupby(\"AwayTeam\").sum().ix[:, (\"FTAG\", )].sort_values(by=\"FTAG\", ascending=False).head()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# ranking = sp1_1516.groupby(\"HomeTeam\").sum().ix[:, (\"FTHG\",)].sort_values(by=\"FTHG\", ascending=False).index" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "
\n", "
\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = Bar(sp1_1516, label=\"HomeTeam\", values=\"FTHG\", agg=\"sum\",\n", " title=\"Liga Española D1 15/16 HomeTeam Goals\", height=400, plot_width=900, legend=\"\")\n", "\n", "show(p)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }