{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# LFC Data Analysis: A Striking Trio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See Terry's blog [LFC: A Striking Trio](http://terrydolan.blogspot.co.uk/2015/06/lfc-a-striking-trio.html) for a discussion of of the data generated by this analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook analyses Liverpool FC's goalscoring data from 1892-1893 to 2014-2015. In particular Liverpool's top scoring trio is identified and compared to Barcelona's best from 2014-2015. The analysis uses [IPython Notebook](http://ipython.org/notebook.html), [python](https://www.python.org/), [pandas](http://pandas.pydata.org/) and [matplotlib](http://matplotlib.org/) to explore the data. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Notebook Change Log" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%html\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "| Date | Change Description |\n", "| :------------ | :----------------- |\n", "| 1st July 2015 | Initial baseline |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set-up" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Import the modules needed for the analysis." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sys \n", "from datetime import datetime\n", "from __future__ import division\n", "\n", "# enable inline plotting\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Print version numbers." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "python version: 2.7.8 |Anaconda 2.2.0 (64-bit)| (default, Jul 2 2014, 15:12:11) [MSC v.1500 64 bit (AMD64)]\n", "pandas version: 0.15.2\n", "matplotlib version: 1.4.3\n", "numpy version: 1.9.2\n" ] } ], "source": [ "print 'python version: {}'.format(sys.version)\n", "print 'pandas version: {}'.format(pd.__version__)\n", "print 'matplotlib version: {}'.format(mpl.__version__)\n", "print 'numpy version: {}'.format(np.__version__)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load the LFC scorers data into a dataframe and munge" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dflfc_scorers = pd.read_csv('data\\lfchistory_goalscorers.csv', sep=';')\n", "# sort by season, total goals, then league goals, etc\n", "# same as on lfchistory.net season archive / goalscorers\n", "dflfc_scorers = dflfc_scorers.sort(['season', 'total', 'league', 'facup', 'lccup', 'europe', 'other', 'player'], ascending=False)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "scrolled": true }, "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", "
seasonplayerleaguefacuplccupeuropeothertotal
439 1983-1984 Ian Rush 32 2 8 5 0 47
440 1983-1984 Graeme Souness 7 0 5 0 0 12
442 1983-1984 Kenny Dalglish 7 0 2 3 0 12
441 1983-1984 Michael Robinson 6 1 3 2 0 12
443 1983-1984 Ronnie Whelan 4 0 3 2 0 9
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "439 1983-1984 Ian Rush 32 2 8 5 0 47\n", "440 1983-1984 Graeme Souness 7 0 5 0 0 12\n", "442 1983-1984 Kenny Dalglish 7 0 2 3 0 12\n", "441 1983-1984 Michael Robinson 6 1 3 2 0 12\n", "443 1983-1984 Ronnie Whelan 4 0 3 2 0 9" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check sort order\n", "dflfc_scorers[dflfc_scorers.season == '1983-1984'].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Replace unwanted 'special' non-ascii characters" ] }, { "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", "
seasonplayerleaguefacuplccupeuropeothertotal
305 1994-1995 Jan M�lby 2 0 0 0 0 2
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "305 1994-1995 Jan M�lby 2 0 0 0 0 2" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# for example, check the mapping for Jan Molby\n", "dflfc_scorers[dflfc_scorers.player.str.startswith('Jan')].head(1)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# replace known non-ascii names using a mapping dictionary\n", "name_mapper = {'Jan M\\xf8lby': 'Jan Molby',\n", " 'Emiliano Ins\\xfaa': 'Emiliano Insua',\n", " 'F\\xe1bio Aur\\xe9lio': 'Fabio Aurelio',\n", " '\\xc1lvaro Arbeloa': 'Alvaro Arbeloa',\n", " 'Djibril Ciss\\xe9': 'Djibril Cisse',\n", " 'Djimi Traor\\xe9': 'Djimi Traore',\n", " '\\xd8yvind Leonhardsen': 'Oyvind Leonhardsen',\n", " 'Stig Inge Bj\\xf8rnebye': 'Stig Inge Bjornebye',\n", " 'Glenn Hys\\xe9n': 'Glenn Hysen'\n", " }\n", "dflfc_scorers['player'] = dflfc_scorers['player'].apply(lambda x: name_mapper[x] if x in name_mapper else x)" ] }, { "cell_type": "code", "execution_count": 8, "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", "
seasonplayerleaguefacuplccupeuropeothertotal
305 1994-1995 Jan Molby 2 0 0 0 0 2
313 1993-1994 Jan Molby 2 0 1 0 0 3
330 1992-1993 Jan Molby 3 0 0 0 0 3
342 1991-1992 Jan Molby 3 1 0 1 0 5
358 1990-1991 Jan Molby 9 0 0 0 0 9
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "305 1994-1995 Jan Molby 2 0 0 0 0 2\n", "313 1993-1994 Jan Molby 2 0 1 0 0 3\n", "330 1992-1993 Jan Molby 3 0 0 0 0 3\n", "342 1991-1992 Jan Molby 3 1 0 1 0 5\n", "358 1990-1991 Jan Molby 9 0 0 0 0 9" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# for example, check the mapping for Jan Molby\n", "dflfc_scorers[dflfc_scorers.player.str.startswith('Jan')].head()" ] }, { "cell_type": "code", "execution_count": 9, "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", "
seasonplayerleaguefacuplccupeuropeothertotal
0 2014-2015 Steven Gerrard 9 2 0 2 0 13
1 2014-2015 Raheem Sterling 7 1 3 0 0 11
2 2014-2015 Philippe Coutinho 5 3 0 0 0 8
3 2014-2015 Jordan Henderson 6 0 0 1 0 7
4 2014-2015 Adam Lallana 5 1 0 0 0 6
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "0 2014-2015 Steven Gerrard 9 2 0 2 0 13\n", "1 2014-2015 Raheem Sterling 7 1 3 0 0 11\n", "2 2014-2015 Philippe Coutinho 5 3 0 0 0 8\n", "3 2014-2015 Jordan Henderson 6 0 0 1 0 7\n", "4 2014-2015 Adam Lallana 5 1 0 0 0 6" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers.head()" ] }, { "cell_type": "code", "execution_count": 10, "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", "
seasonplayerleaguefacuplccupeuropeothertotal
1400 1892-1893 Jock Smith 0 0 0 0 5 5
1404 1892-1893 Hugh McQueen 0 1 0 0 3 4
1403 1892-1893 Jim McBride 0 0 0 0 4 4
1405 1892-1893 Joe McQue 0 0 0 0 2 2
1406 1892-1893 John McCartney 0 1 0 0 0 1
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "1400 1892-1893 Jock Smith 0 0 0 0 5 5\n", "1404 1892-1893 Hugh McQueen 0 1 0 0 3 4\n", "1403 1892-1893 Jim McBride 0 0 0 0 4 4\n", "1405 1892-1893 Joe McQue 0 0 0 0 2 2\n", "1406 1892-1893 John McCartney 0 1 0 0 0 1" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyse the data\n", "\n", "Ask a question and find the answer." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Who are all time top goal scorers?\n", "\n", "cross-check the answer with http://www.lfchistory.net/Stats/PlayerGoalscorers" ] }, { "cell_type": "code", "execution_count": 11, "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", "
total
player
Ian Rush 346
Roger Hunt 285
Gordon Hodgson 241
Billy Liddell 228
Steven Gerrard 186
Robbie Fowler 183
Kenny Dalglish 172
Michael Owen 158
Harry Chambers 151
Sam Raybould 130
\n", "
" ], "text/plain": [ " total\n", "player \n", "Ian Rush 346\n", "Roger Hunt 285\n", "Gordon Hodgson 241\n", "Billy Liddell 228\n", "Steven Gerrard 186\n", "Robbie Fowler 183\n", "Kenny Dalglish 172\n", "Michael Owen 158\n", "Harry Chambers 151\n", "Sam Raybould 130" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers[['player', 'total']].groupby('player').sum().sort('total', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Who scored the all time most goals scored in a season?" ] }, { "cell_type": "code", "execution_count": 12, "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", "
total
playerseason
Ian Rush1983-1984 47
Roger Hunt1961-1962 42
Ian Rush1986-1987 40
Roger Hunt1964-1965 37
Gordon Hodgson1930-1931 36
Robbie Fowler1995-1996 36
John Evans1954-1955 33
Fernando Torres2007-2008 33
Ian Rush1985-1986 33
Roger Hunt1963-1964 33
\n", "
" ], "text/plain": [ " total\n", "player season \n", "Ian Rush 1983-1984 47\n", "Roger Hunt 1961-1962 42\n", "Ian Rush 1986-1987 40\n", "Roger Hunt 1964-1965 37\n", "Gordon Hodgson 1930-1931 36\n", "Robbie Fowler 1995-1996 36\n", "John Evans 1954-1955 33\n", "Fernando Torres 2007-2008 33\n", "Ian Rush 1985-1986 33\n", "Roger Hunt 1963-1964 33" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers[['player', 'season', 'total']].groupby(['player', 'season']).sum().sort('total', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Who are the top 10 all time most *league* goals scored in a season?" ] }, { "cell_type": "code", "execution_count": 13, "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", "
league
playerseason
Roger Hunt1961-1962 41
Gordon Hodgson1930-1931 36
Ian Rush1983-1984 32
Sam Raybould1902-1903 31
Luis Suarez2013-2014 31
Roger Hunt1963-1964 31
Gordon Hodgson1928-1929 30
Jack Parkinson1909-1910 30
Billy Liddell1954-1955 30
Ian Rush1986-1987 30
\n", "
" ], "text/plain": [ " league\n", "player season \n", "Roger Hunt 1961-1962 41\n", "Gordon Hodgson 1930-1931 36\n", "Ian Rush 1983-1984 32\n", "Sam Raybould 1902-1903 31\n", "Luis Suarez 2013-2014 31\n", "Roger Hunt 1963-1964 31\n", "Gordon Hodgson 1928-1929 30\n", "Jack Parkinson 1909-1910 30\n", "Billy Liddell 1954-1955 30\n", "Ian Rush 1986-1987 30" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers[['player', 'season', 'league']].groupby(['player', 'season']).sum().sort('league', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What was most league goals in a season?" ] }, { "cell_type": "code", "execution_count": 14, "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", "
league
season
1895-1896 106
\n", "
" ], "text/plain": [ " league\n", "season \n", "1895-1896 106" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers[['season', 'league']].groupby(['season']).sum().sort('league', ascending=False).head(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create new dataframe of top level seasons" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "LANCS_YRS = ['1892-1893']\n", "SECOND_DIV_YRS = ['1893-1894', '1895-1896', '1904-1905', '1961-1962', \n", " '1954-1955', '1955-1956', '1956-1957', '1957-1958', \n", " '1958-1959', '1959-1960', '1960-1961']\n", "WAR_YRS = ['1945-1946'] # note that the other war years already excluded\n", "NOT_TOP_LEVEL_YRS = LANCS_YRS + SECOND_DIV_YRS + WAR_YRS\n", "dflfc_scorers_tl = dflfc_scorers[~dflfc_scorers.season.isin(NOT_TOP_LEVEL_YRS)].copy()" ] }, { "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", "
league
season
2013-2014 96
\n", "
" ], "text/plain": [ " league\n", "season \n", "2013-2014 96" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show most league goals in a season in top level\n", "# cross-check with http://en.wikipedia.org/wiki/List_of_Liverpool_F.C._records_and_statistics#Goalscorers\n", "# expect 101 in 2013-14\n", "dflfc_scorers_tl[['season', 'league']].groupby(['season']).sum().sort('league', ascending=False).head(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "96 is correct as the dataframe does not include own goals - OG was 5 in 2013-14" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
seasonleaguefacuplccupeuropeothertotal
0 1985-1986 89 18 19 0 12 138
1 1981-1982 79 7 27 14 0 127
2 2000-2001 70 17 20 18 0 125
3 1982-1983 86 5 14 13 1 119
4 2007-2008 64 12 6 34 0 116
\n", "
" ], "text/plain": [ " season league facup lccup europe other total\n", "0 1985-1986 89 18 19 0 12 138\n", "1 1981-1982 79 7 27 14 0 127\n", "2 2000-2001 70 17 20 18 0 125\n", "3 1982-1983 86 5 14 13 1 119\n", "4 2007-2008 64 12 6 34 0 116" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show highest goals at top level\n", "dflfc_scorers_tl_sum = dflfc_scorers_tl.groupby('season').sum().sort('total', ascending=False)\n", "dflfc_scorers_tl_sum.reset_index(inplace=True)\n", "dflfc_scorers_tl_sum.head()" ] }, { "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", " \n", " \n", " \n", "
seasonplayerleaguefacuplccupeuropeothertotal
439 1983-1984 Ian Rush 32 2 8 5 0 47
401 1986-1987 Ian Rush 30 0 4 0 6 40
690 1964-1965 Roger Hunt 25 5 0 7 0 37
1002 1930-1931 Gordon Hodgson 36 0 0 0 0 36
286 1995-1996 Robbie Fowler 28 6 2 0 0 36
\n", "
" ], "text/plain": [ " season player league facup lccup europe other total\n", "439 1983-1984 Ian Rush 32 2 8 5 0 47\n", "401 1986-1987 Ian Rush 30 0 4 0 6 40\n", "690 1964-1965 Roger Hunt 25 5 0 7 0 37\n", "1002 1930-1931 Gordon Hodgson 36 0 0 0 0 36\n", "286 1995-1996 Robbie Fowler 28 6 2 0 0 36" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show top individual scorer in a top level season\n", "dflfc_scorers_tl.sort('total', ascending=False).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take a quick look at the top scoring partnership in the league" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
seasonleague
48 1963-1964 52
98 2013-2014 52
30 1930-1931 50
39 1946-1947 48
13 1909-1910 48
28 1928-1929 46
34 1934-1935 46
25 1925-1926 44
31 1931-1932 43
47 1962-1963 43
\n", "
" ], "text/plain": [ " season league\n", "48 1963-1964 52\n", "98 2013-2014 52\n", "30 1930-1931 50\n", "39 1946-1947 48\n", "13 1909-1910 48\n", "28 1928-1929 46\n", "34 1934-1935 46\n", "25 1925-1926 44\n", "31 1931-1932 43\n", "47 1962-1963 43" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show best total for a striking partnerships in the league\n", "dflfc_scorers_tl_top2_lg = dflfc_scorers_tl[['season', 'league']].groupby('season').head(2).groupby('season').sum()\n", "# reset index and move season to column in dataframe\n", "dflfc_scorers_tl_top2_lg.reset_index(inplace=True)\n", "# show top\n", "dflfc_scorers_tl_top2_lg.sort('league', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that 1963-64 and have 2013-14 have top scoring partnership. " ] }, { "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", " \n", " \n", "
seasonplayerleague
18 2013-2014 Luis Suarez 31
19 2013-2014 Daniel Sturridge 21
707 1963-1964 Roger Hunt 31
708 1963-1964 Ian St John 21
\n", "
" ], "text/plain": [ " season player league\n", "18 2013-2014 Luis Suarez 31\n", "19 2013-2014 Daniel Sturridge 21\n", "707 1963-1964 Roger Hunt 31\n", "708 1963-1964 Ian St John 21" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TOP_PARTNERSHIPS = ['1963-1964', '2013-2014']\n", "dflfc_scorers_tl[['season', 'player', 'league']][dflfc_scorers_tl.season.isin(TOP_PARTNERSHIPS)].groupby('season').head(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Remarkably Hunt and Suarez scored 31 and St John and Sturridge scored 21." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Let's now focus on the top scoring trio in the league" ] }, { "cell_type": "code", "execution_count": 21, "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", "
seasonplayerleague
0 2014-2015 Steven Gerrard 9
1 2014-2015 Raheem Sterling 7
2 2014-2015 Philippe Coutinho 5
3 2014-2015 Jordan Henderson 6
4 2014-2015 Adam Lallana 5
\n", "
" ], "text/plain": [ " season player league\n", "0 2014-2015 Steven Gerrard 9\n", "1 2014-2015 Raheem Sterling 7\n", "2 2014-2015 Philippe Coutinho 5\n", "3 2014-2015 Jordan Henderson 6\n", "4 2014-2015 Adam Lallana 5" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create dataframe filtered for the league goals\n", "dflfc_scorers_tl_lg = dflfc_scorers_tl[['season', 'player', 'league']]\n", "dflfc_scorers_tl_lg.head()" ] }, { "cell_type": "code", "execution_count": 22, "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", "
seasonleague
48 1963-1964 67
98 2013-2014 65
30 1930-1931 60
13 1909-1910 60
39 1946-1947 58
31 1931-1932 56
72 1987-1988 56
34 1934-1935 56
28 1928-1929 55
22 1922-1923 55
\n", "
" ], "text/plain": [ " season league\n", "48 1963-1964 67\n", "98 2013-2014 65\n", "30 1930-1931 60\n", "13 1909-1910 60\n", "39 1946-1947 58\n", "31 1931-1932 56\n", "72 1987-1988 56\n", "34 1934-1935 56\n", "28 1928-1929 55\n", "22 1922-1923 55" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show best total for 3 strikers working together\n", "dflfc_scorers_tl_top3_lg = dflfc_scorers_tl_lg[['season', 'league']].groupby('season').head(3).groupby('season').sum()\n", "# reset index and move season to column in dataframe\n", "dflfc_scorers_tl_top3_lg.reset_index(inplace=True)\n", "# show top\n", "dflfc_scorers_tl_top3_lg.sort('league', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now find the top3 scorers for these seasons, in order." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array(['1963-1964', '2013-2014', '1930-1931', '1909-1910', '1946-1947',\n", " '1931-1932', '1987-1988', '1934-1935', '1928-1929', '1922-1923'], dtype=object)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# capture top league seasons for top 3, in order\n", "NUMBER_SEASONS = 10\n", "top_seasons_lg = dflfc_scorers_tl_top3_lg.sort('league', ascending=False).head(NUMBER_SEASONS).season.values\n", "top_seasons_lg" ] }, { "cell_type": "code", "execution_count": 24, "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", "
seasonplayerleague
18 2013-2014 Luis Suarez 31
19 2013-2014 Daniel Sturridge 21
20 2013-2014 Steven Gerrard 13
391 1987-1988 John Aldridge 26
392 1987-1988 Peter Beardsley 15
393 1987-1988 John Barnes 15
707 1963-1964 Roger Hunt 31
708 1963-1964 Ian St John 21
709 1963-1964 Alf Arrowsmith 15
901 1946-1947 Jack Balmer 24
902 1946-1947 Albert Stubbins 24
903 1946-1947 Cyril Done 10
954 1934-1935 Gordon Hodgson 27
955 1934-1935 Vic Wright 19
956 1934-1935 Berry Nieuwenhuys 10
991 1931-1932 Gordon Hodgson 26
992 1931-1932 Gordon Gunson 17
993 1931-1932 Dave Wright 13
1002 1930-1931 Gordon Hodgson 36
1003 1930-1931 Jimmy Smith 14
1004 1930-1931 Archie McPherson 10
1028 1928-1929 Gordon Hodgson 30
1029 1928-1929 Dick Edmed 16
1031 1928-1929 Harry Race 9
1094 1922-1923 Harry Chambers 22
1095 1922-1923 Dick Forshaw 19
1096 1922-1923 Dick Johnson 14
1201 1909-1910 Jack Parkinson 30
1202 1909-1910 Jimmy Stewart 18
1203 1909-1910 Arthur Goddard 12
\n", "
" ], "text/plain": [ " season player league\n", "18 2013-2014 Luis Suarez 31\n", "19 2013-2014 Daniel Sturridge 21\n", "20 2013-2014 Steven Gerrard 13\n", "391 1987-1988 John Aldridge 26\n", "392 1987-1988 Peter Beardsley 15\n", "393 1987-1988 John Barnes 15\n", "707 1963-1964 Roger Hunt 31\n", "708 1963-1964 Ian St John 21\n", "709 1963-1964 Alf Arrowsmith 15\n", "901 1946-1947 Jack Balmer 24\n", "902 1946-1947 Albert Stubbins 24\n", "903 1946-1947 Cyril Done 10\n", "954 1934-1935 Gordon Hodgson 27\n", "955 1934-1935 Vic Wright 19\n", "956 1934-1935 Berry Nieuwenhuys 10\n", "991 1931-1932 Gordon Hodgson 26\n", "992 1931-1932 Gordon Gunson 17\n", "993 1931-1932 Dave Wright 13\n", "1002 1930-1931 Gordon Hodgson 36\n", "1003 1930-1931 Jimmy Smith 14\n", "1004 1930-1931 Archie McPherson 10\n", "1028 1928-1929 Gordon Hodgson 30\n", "1029 1928-1929 Dick Edmed 16\n", "1031 1928-1929 Harry Race 9\n", "1094 1922-1923 Harry Chambers 22\n", "1095 1922-1923 Dick Forshaw 19\n", "1096 1922-1923 Dick Johnson 14\n", "1201 1909-1910 Jack Parkinson 30\n", "1202 1909-1910 Jimmy Stewart 18\n", "1203 1909-1910 Arthur Goddard 12" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show top 3 scorers for top seasons\n", "dflfc_scorers_tl_lg[dflfc_scorers_tl_lg.season.isin(top_seasons_lg)].groupby('season').head(3)" ] }, { "cell_type": "code", "execution_count": 25, "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", "
seasonplayerleague
2 2013-2014 Steven Gerrard 13
3 2013-2014 Raheem Sterling 9
6 1987-1988 John Barnes 15
7 1987-1988 Steve McMahon 9
10 1963-1964 Alf Arrowsmith 15
11 1963-1964 Ian Callaghan 8
14 1946-1947 Cyril Done 10
15 1946-1947 Billy Liddell 7
18 1934-1935 Berry Nieuwenhuys 10
19 1934-1935 Alf Hanson 9
22 1931-1932 Dave Wright 13
23 1931-1932 Harold Barton 8
26 1930-1931 Archie McPherson 10
27 1930-1931 Dave Wright 6
30 1928-1929 Harry Race 9
31 1928-1929 Bob Clark 9
34 1922-1923 Dick Johnson 14
35 1922-1923 Donald Mackinlay 5
38 1909-1910 Arthur Goddard 12
39 1909-1910 Sam Bowyer 6
\n", "
" ], "text/plain": [ " season player league\n", "2 2013-2014 Steven Gerrard 13\n", "3 2013-2014 Raheem Sterling 9\n", "6 1987-1988 John Barnes 15\n", "7 1987-1988 Steve McMahon 9\n", "10 1963-1964 Alf Arrowsmith 15\n", "11 1963-1964 Ian Callaghan 8\n", "14 1946-1947 Cyril Done 10\n", "15 1946-1947 Billy Liddell 7\n", "18 1934-1935 Berry Nieuwenhuys 10\n", "19 1934-1935 Alf Hanson 9\n", "22 1931-1932 Dave Wright 13\n", "23 1931-1932 Harold Barton 8\n", "26 1930-1931 Archie McPherson 10\n", "27 1930-1931 Dave Wright 6\n", "30 1928-1929 Harry Race 9\n", "31 1928-1929 Bob Clark 9\n", "34 1922-1923 Dick Johnson 14\n", "35 1922-1923 Donald Mackinlay 5\n", "38 1909-1910 Arthur Goddard 12\n", "39 1909-1910 Sam Bowyer 6" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check if any of 4ths are same as 3rds\n", "import itertools\n", "f = dflfc_scorers_tl_lg[dflfc_scorers_tl_lg.season.isin(top_seasons_lg)].groupby('season').head(4)\n", "f = f.reset_index(drop=True)\n", "\n", "# print 3rd and 4th and inspect visually\n", "f.irow(list(itertools.chain.from_iterable((i-1, i) for i in range(3, len(f), 4))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that in 1928-1929 both Harry Race and Bob Clark scored 9." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ok, back to the strking trio - need to get these in order" ] }, { "cell_type": "code", "execution_count": 26, "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", "
seasonplayerleague
18 2013-2014 Luis Suarez 31
19 2013-2014 Daniel Sturridge 21
20 2013-2014 Steven Gerrard 13
391 1987-1988 John Aldridge 26
392 1987-1988 Peter Beardsley 15
393 1987-1988 John Barnes 15
\n", "
" ], "text/plain": [ " season player league\n", "18 2013-2014 Luis Suarez 31\n", "19 2013-2014 Daniel Sturridge 21\n", "20 2013-2014 Steven Gerrard 13\n", "391 1987-1988 John Aldridge 26\n", "392 1987-1988 Peter Beardsley 15\n", "393 1987-1988 John Barnes 15" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create dataframe of top 3 league scorers\n", "dflfc_trio = dflfc_scorers_tl_lg[dflfc_scorers_tl_lg.season.isin(top_seasons_lg)].groupby('season').head(3)\n", "dflfc_trio.head(6)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'1909-1910': 3,\n", " '1922-1923': 9,\n", " '1928-1929': 8,\n", " '1930-1931': 2,\n", " '1931-1932': 5,\n", " '1934-1935': 7,\n", " '1946-1947': 4,\n", " '1963-1964': 0,\n", " '1987-1988': 6,\n", " '2013-2014': 1}" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create custom dict with key of seasons and value of order (0 is first)\n", "custom_dict = {s:idx for idx, s in enumerate(top_seasons_lg)} \n", "custom_dict" ] }, { "cell_type": "code", "execution_count": 28, "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", "
seasonplayerleaguetop_rank
18 2013-2014 Luis Suarez 31 1
19 2013-2014 Daniel Sturridge 21 1
20 2013-2014 Steven Gerrard 13 1
391 1987-1988 John Aldridge 26 6
392 1987-1988 Peter Beardsley 15 6
\n", "
" ], "text/plain": [ " season player league top_rank\n", "18 2013-2014 Luis Suarez 31 1\n", "19 2013-2014 Daniel Sturridge 21 1\n", "20 2013-2014 Steven Gerrard 13 1\n", "391 1987-1988 John Aldridge 26 6\n", "392 1987-1988 Peter Beardsley 15 6" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# now add a column with the rank for each season using the custom dict\n", "dflfc_trio['top_rank'] = dflfc_trio['season'].map(custom_dict)\n", "dflfc_trio.head()" ] }, { "cell_type": "code", "execution_count": 29, "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", "
seasonplayerleague
707 1963-1964 Roger Hunt 31
708 1963-1964 Ian St John 21
709 1963-1964 Alf Arrowsmith 15
18 2013-2014 Luis Suarez 31
19 2013-2014 Daniel Sturridge 21
20 2013-2014 Steven Gerrard 13
\n", "
" ], "text/plain": [ " season player league\n", "707 1963-1964 Roger Hunt 31\n", "708 1963-1964 Ian St John 21\n", "709 1963-1964 Alf Arrowsmith 15\n", "18 2013-2014 Luis Suarez 31\n", "19 2013-2014 Daniel Sturridge 21\n", "20 2013-2014 Steven Gerrard 13" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# now show the striking trios in order, highest first\n", "dflfc_trio.sort(['top_rank', 'league'], ascending=[True, False], inplace=True)\n", "dflfc_trio.drop('top_rank', axis=1, inplace=True)\n", "dflfc_trio.head(6)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "1963-1964 Roger Hunt 31\n", "1963-1964 Ian St John 21\n", "1963-1964 Alf Arrowsmith 15\n", "\n", "\n", "2013-2014 Luis Suarez 31\n", "2013-2014 Daniel Sturridge 21\n", "2013-2014 Steven Gerrard 13\n", "\n", "\n", "1930-1931 Gordon Hodgson 36\n", "1930-1931 Jimmy Smith 14\n", "1930-1931 Archie McPherson 10\n", "\n", "\n", "1909-1910 Jack Parkinson 30\n", "1909-1910 Jimmy Stewart 18\n", "1909-1910 Arthur Goddard 12\n", "\n", "\n", "1946-1947 Jack Balmer 24\n", "1946-1947 Albert Stubbins 24\n", "1946-1947 Cyril Done 10\n", "\n", "\n", "1931-1932 Gordon Hodgson 26\n", "1931-1932 Gordon Gunson 17\n", "1931-1932 Dave Wright 13\n", "\n", "\n", "1987-1988 John Aldridge 26\n", "1987-1988 Peter Beardsley 15\n", "1987-1988 John Barnes 15\n", "\n", "\n", "1934-1935 Gordon Hodgson 27\n", "1934-1935 Vic Wright 19\n", "1934-1935 Berry Nieuwenhuys 10\n", "\n", "\n", "1928-1929 Gordon Hodgson 30\n", "1928-1929 Dick Edmed 16\n", "1928-1929 Harry Race 9\n", "\n", "\n", "1922-1923 Harry Chambers 22\n", "1922-1923 Dick Forshaw 19\n", "1922-1923 Dick Johnson 14\n" ] } ], "source": [ "# print the list, in order\n", "this_season = None\n", "for season, player, league in dflfc_trio.values:\n", " if this_season != season:\n", " print '\\n'\n", " this_season = season\n", " print season, player, league" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1963-1964 67 Roger Hunt (31), Ian St John (21), Alf Arrowsmith (15)\n", "2013-2014 65 Luis Suarez (31), Daniel Sturridge (21), Steven Gerrard (13)\n", "1930-1931 60 Gordon Hodgson (36), Jimmy Smith (14), Archie McPherson (10)\n", "1909-1910 60 Jack Parkinson (30), Jimmy Stewart (18), Arthur Goddard (12)\n", "1946-1947 58 Jack Balmer (24), Albert Stubbins (24), Cyril Done (10)\n", "1931-1932 56 Gordon Hodgson (26), Gordon Gunson (17), Dave Wright (13)\n", "1987-1988 56 John Aldridge (26), Peter Beardsley (15), John Barnes (15)\n", "1934-1935 56 Gordon Hodgson (27), Vic Wright (19), Berry Nieuwenhuys (10)\n", "1928-1929 55 Gordon Hodgson (30), Dick Edmed (16), Harry Race (9)\n", "1922-1923 55 Harry Chambers (22), Dick Forshaw (19), Dick Johnson (14)\n" ] } ], "source": [ "# pretty print with single row per season\n", "# and create a new dataframe to hold this for good measure\n", "df_top3_sum = pd.DataFrame(columns=['Season', 'Goals', 'Goalscorers'])\n", "for idx, season in enumerate(dflfc_trio.season.unique(), 1):\n", " #print season\n", " scorers = []\n", " league_tot = 0\n", " for player, league in dflfc_trio[dflfc_trio.season == season][['player', 'league']].values:\n", " league_tot += int(league)\n", " scorer = '{} ({})'.format(player, league)\n", " #print scorer\n", " scorers.append(scorer)\n", " print season, league_tot, ', '.join(scorers)\n", " df_top3_sum.loc[idx] = (season, league_tot, ', '.join(scorers))" ] }, { "cell_type": "code", "execution_count": 32, "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", "
SeasonGoalsGoalscorers
1 1963-1964 67 Roger Hunt (31), Ian St John (21), Alf Arrowsmith (15)
2 2013-2014 65 Luis Suarez (31), Daniel Sturridge (21), Steven Gerrard (13)
3 1930-1931 60 Gordon Hodgson (36), Jimmy Smith (14), Archie McPherson (10)
4 1909-1910 60 Jack Parkinson (30), Jimmy Stewart (18), Arthur Goddard (12)
5 1946-1947 58 Jack Balmer (24), Albert Stubbins (24), Cyril Done (10)
6 1931-1932 56 Gordon Hodgson (26), Gordon Gunson (17), Dave Wright (13)
7 1987-1988 56 John Aldridge (26), Peter Beardsley (15), John Barnes (15)
8 1934-1935 56 Gordon Hodgson (27), Vic Wright (19), Berry Nieuwenhuys (10)
9 1928-1929 55 Gordon Hodgson (30), Dick Edmed (16), Harry Race (9)
10 1922-1923 55 Harry Chambers (22), Dick Forshaw (19), Dick Johnson (14)
\n", "
" ], "text/plain": [ " Season Goals \\\n", "1 1963-1964 67 \n", "2 2013-2014 65 \n", "3 1930-1931 60 \n", "4 1909-1910 60 \n", "5 1946-1947 58 \n", "6 1931-1932 56 \n", "7 1987-1988 56 \n", "8 1934-1935 56 \n", "9 1928-1929 55 \n", "10 1922-1923 55 \n", "\n", " Goalscorers \n", "1 Roger Hunt (31), Ian St John (21), Alf Arrowsmith (15) \n", "2 Luis Suarez (31), Daniel Sturridge (21), Steven Gerrard (13) \n", "3 Gordon Hodgson (36), Jimmy Smith (14), Archie McPherson (10) \n", "4 Jack Parkinson (30), Jimmy Stewart (18), Arthur Goddard (12) \n", "5 Jack Balmer (24), Albert Stubbins (24), Cyril Done (10) \n", "6 Gordon Hodgson (26), Gordon Gunson (17), Dave Wright (13) \n", "7 John Aldridge (26), Peter Beardsley (15), John Barnes (15) \n", "8 Gordon Hodgson (27), Vic Wright (19), Berry Nieuwenhuys (10) \n", "9 Gordon Hodgson (30), Dick Edmed (16), Harry Race (9) \n", "10 Harry Chambers (22), Dick Forshaw (19), Dick Johnson (14) " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set pandas option that allows all Goalscorers to be displayed\n", "# this avoids the default curtailing of long rows with ...\n", "pd.set_option('display.max_colwidth', -1)\n", "df_top3_sum" ] }, { "cell_type": "code", "execution_count": 33, "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", "
SeasonGoalsGoalscorers
1 1963-1964 67 Roger Hunt (31), Ian St John (21), Alf Arrowsmith (15)
2 2013-2014 65 Luis Suarez (31), Daniel Sturridge (21), Steven Gerrard (13)
3 1930-1931 60 Gordon Hodgson (36), Jimmy Smith (14), Archie McPherson (10)
\n", "
" ], "text/plain": [ " Season Goals \\\n", "1 1963-1964 67 \n", "2 2013-2014 65 \n", "3 1930-1931 60 \n", "\n", " Goalscorers \n", "1 Roger Hunt (31), Ian St John (21), Alf Arrowsmith (15) \n", "2 Luis Suarez (31), Daniel Sturridge (21), Steven Gerrard (13) \n", "3 Gordon Hodgson (36), Jimmy Smith (14), Archie McPherson (10) " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# show top 3 trios\n", "df_top3_sum.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Check to see if there is a correlation between top trios and league position" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Load the league data" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dflfc_league = pd.read_csv('data\\lfchistory_league.csv')" ] }, { "cell_type": "code", "execution_count": 35, "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", "
SeasonLeaguePosPLDHWHDHLHFHAAWADALAFAAPTSGFGAGD
107 2010-2011 Premier League 6 38 12 4 3 37 14 5 3 11 22 30 58 59 44 15
108 2011-2012 Premier League 8 38 6 9 4 24 16 8 1 10 23 24 52 47 40 7
109 2012-2013 Premier League 7 38 9 6 4 33 16 7 7 5 38 27 61 71 43 28
110 2013-2014 Premier League 2 38 16 1 2 53 18 10 5 4 48 32 84 101 50 51
111 2014-2015 Premier League 6 38 10 5 4 30 20 8 3 8 22 28 62 52 48 4
\n", "
" ], "text/plain": [ " Season League Pos PLD HW HD HL HF HA AW AD AL AF \\\n", "107 2010-2011 Premier League 6 38 12 4 3 37 14 5 3 11 22 \n", "108 2011-2012 Premier League 8 38 6 9 4 24 16 8 1 10 23 \n", "109 2012-2013 Premier League 7 38 9 6 4 33 16 7 7 5 38 \n", "110 2013-2014 Premier League 2 38 16 1 2 53 18 10 5 4 48 \n", "111 2014-2015 Premier League 6 38 10 5 4 30 20 8 3 8 22 \n", "\n", " AA PTS GF GA GD \n", "107 30 58 59 44 15 \n", "108 24 52 47 40 7 \n", "109 27 61 71 43 28 \n", "110 32 84 101 50 51 \n", "111 28 62 52 48 4 " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_league.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create new dataframe with league position and key goal data" ] }, { "cell_type": "code", "execution_count": 36, "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", "
seasonposGFGAGD
107 2010-2011 6 59 44 15
108 2011-2012 8 47 40 7
109 2012-2013 7 71 43 28
110 2013-2014 2 101 50 51
111 2014-2015 6 52 48 4
\n", "
" ], "text/plain": [ " season pos GF GA GD\n", "107 2010-2011 6 59 44 15\n", "108 2011-2012 8 47 40 7 \n", "109 2012-2013 7 71 43 28\n", "110 2013-2014 2 101 50 51\n", "111 2014-2015 6 52 48 4 " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_league_pos = dflfc_league[['Season', 'Pos', 'GF', 'GA', 'GD']].copy()\n", "dflfc_league_pos.rename(columns={'Season': 'season', 'Pos': 'pos'}, inplace=True)\n", "dflfc_league_pos.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now check league position of the top3s" ] }, { "cell_type": "code", "execution_count": 37, "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", "
seasonleague
0 1894-1895 34
1 1896-1897 25
2 1897-1898 22
3 1898-1899 28
4 1899-1900 26
\n", "
" ], "text/plain": [ " season league\n", "0 1894-1895 34 \n", "1 1896-1897 25 \n", "2 1897-1898 22 \n", "3 1898-1899 28 \n", "4 1899-1900 26 " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers_tl_top3_lg.head()" ] }, { "cell_type": "code", "execution_count": 38, "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", "
seasonleagueposGFGAGD
48 1963-1964 67 1 92 45 47
98 2013-2014 65 2 101 50 51
30 1930-1931 60 9 86 85 1
13 1909-1910 60 2 78 57 21
39 1946-1947 58 1 84 52 32
31 1931-1932 56 10 81 93-12
72 1987-1988 56 1 87 24 63
34 1934-1935 56 7 85 88-3
28 1928-1929 55 5 90 64 26
22 1922-1923 55 1 70 31 39
\n", "
" ], "text/plain": [ " season league pos GF GA GD\n", "48 1963-1964 67 1 92 45 47\n", "98 2013-2014 65 2 101 50 51\n", "30 1930-1931 60 9 86 85 1 \n", "13 1909-1910 60 2 78 57 21\n", "39 1946-1947 58 1 84 52 32\n", "31 1931-1932 56 10 81 93 -12\n", "72 1987-1988 56 1 87 24 63\n", "34 1934-1935 56 7 85 88 -3 \n", "28 1928-1929 55 5 90 64 26\n", "22 1922-1923 55 1 70 31 39" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dflfc_scorers_tl_top3_lg_pos = dflfc_scorers_tl_top3_lg.merge(dflfc_league_pos)\n", "dflfc_scorers_tl_top3_lg_pos.sort('league', ascending=False).head(10)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total league wins in top 10 of top3s is: 4\n" ] } ], "source": [ "dfp = dflfc_scorers_tl_top3_lg_pos.sort('league', ascending=False).head(10)\n", "t = dfp.pos[dfp.pos == 1].count()\n", "print 'total league wins in top 10 of top3s is: {}'.format(t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6 out of 10 of seasons with top3 scores did *not* result in a title." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Back to the top trios, let's now plot the data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot The Top Trios" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100\n" ] }, { "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", "
seasonleague
0 1894-1895 34
1 1896-1897 25
2 1897-1898 22
3 1898-1899 28
4 1899-1900 26
\n", "
" ], "text/plain": [ " season league\n", "0 1894-1895 34 \n", "1 1896-1897 25 \n", "2 1897-1898 22 \n", "3 1898-1899 28 \n", "4 1899-1900 26 " ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print len(dflfc_scorers_tl_top3_lg)\n", "dflfc_scorers_tl_top3_lg.head()" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "First build a dataframe with all seasons, so that all years are shown on the x axis. \n", "\n", "The missing seasons should have goal total of 'NaN' - these will appear as gaps in the plot." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "there are 25 missing years, here are first 5: ['1890-1891', '1891-1892', '1892-1893', '1893-1894', '1895-1896']\n" ] } ], "source": [ "# create a list of missing years\n", "START_YR = 1890\n", "END_YR = 2015\n", "all_years = ['{}-{}'.format(i, i+1) for i in range(START_YR, END_YR)]\n", "years_in_df = dflfc_scorers_tl_top3_lg.season.unique()\n", "missing_years = [s for s in all_years if s not in years_in_df]\n", "print 'there are {} missing years, here are first 5: {}'.format(len(missing_years), missing_years[0:5])" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "125\n" ] }, { "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", "
seasonleague
0 1890-1891NaN
1 1891-1892NaN
2 1892-1893NaN
3 1893-1894NaN
4 1894-1895 34
\n", "
" ], "text/plain": [ " season league\n", "0 1890-1891 NaN \n", "1 1891-1892 NaN \n", "2 1892-1893 NaN \n", "3 1893-1894 NaN \n", "4 1894-1895 34 " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# add missing years to dataframe, sort and reset the index\n", "dflfc_scorers_tl_top3_lg_full = dflfc_scorers_tl_top3_lg.copy()\n", "for s in missing_years:\n", " dflfc_scorers_tl_top3_lg_full.loc[len(dflfc_scorers_tl_top3_lg_full)]=(s, np.NaN)\n", "dflfc_scorers_tl_top3_lg_full = dflfc_scorers_tl_top3_lg_full.sort('season')\n", "dflfc_scorers_tl_top3_lg_full.reset_index(drop=True, inplace=True)\n", "print len(dflfc_scorers_tl_top3_lg_full)\n", "dflfc_scorers_tl_top3_lg_full.head()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array(['1963-1964', '2013-2014', '1930-1931', '1909-1910', '1946-1947',\n", " '1931-1932', '1987-1988', '1934-1935', '1928-1929', '1922-1923'], dtype=object)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "top_seasons_lg" ] }, { "cell_type": "code", "execution_count": 44, "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", "
seasonleaguetop3_top10top3_other
120 2010-2011 32NaN 32
121 2011-2012 22NaN 22
122 2012-2013 42NaN 42
123 2013-2014 65 65NaN
124 2014-2015 21NaN 21
\n", "
" ], "text/plain": [ " season league top3_top10 top3_other\n", "120 2010-2011 32 NaN 32 \n", "121 2011-2012 22 NaN 22 \n", "122 2012-2013 42 NaN 42 \n", "123 2013-2014 65 65 NaN \n", "124 2014-2015 21 NaN 21 " ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The aim is to highlight the top 10 trios on the plot, so these need their own column.\n", "\n", "# create series for top 10 seasons containing the top3 scorers\n", "top3_top10 = dflfc_scorers_tl_top3_lg_full.apply(lambda row: row.league \n", " if row.season in top_seasons_lg else np.NaN, axis=1)\n", "\n", "# create series for the other seasons, the ones that don't containing the top 10 top3 scorers\n", "top3_other = dflfc_scorers_tl_top3_lg_full.apply(lambda row: np.NaN\n", " if row.season in top_seasons_lg else row.league, axis=1)\n", "\n", "# add these series as columns to the dataframe\n", "dflfc_scorers_tl_top3_lg_full['top3_top10'] = top3_top10\n", "dflfc_scorers_tl_top3_lg_full['top3_other'] = top3_other\n", "dflfc_scorers_tl_top3_lg_full.tail()" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG0CAYAAADgoSfXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xm8JFV9/vHPA4jsywiyKHAVMqIiq4wiIgMoAgpqfiwG\nN1zQxAiu0TFqBJOoQGIQokZQmEEFHWQRFRBEBlFRRBlWEUVZBGZYhx1B+P7+qHOh6em1blfX6b7P\n+/W6r9tV3V319Kmq7tN1Tp1WRGBmZmZWl2XqDmBmZmbTmysjZmZmVitXRszMzKxWroyYmZlZrVwZ\nMTMzs1q5MmJmZma1cmXESpM0V9K/t7nvAEkXDjtTjiTNlnRTiee1Ld9xJGkHSdc0TF8vaZc2j71S\n0iuGl26p9X9F0idLPG9DSfdJUhW5pkLSAknvrHgdh0j6RpXrsNHkysgYS2/mO1f1eCDSn1VjYOUr\n6XFJz20x/wBJj6UPyMm/oxrunyXpTEl3S7pT0q8kHTCo9TeKiAsjYtPGWbR5/RGxWUT8tN8c3fRa\niY6If4qI/+h3+RFxY0SsGiUGeCpbqe3DMI5nv19YS66MjLcA+vkG1u/jKfF4688wyvfn6QNy8u9g\nAEnbAecB5wMbR8QzgH8Cdiu5nravRdJyJZc5dJL8vlme3y+sJR9UYyqdCt0Q+H76tvuRNH8vSVel\nb7rnS9q0y+NPlnSrpCWSLpD0gpJ5NpV0bvp2fY2kfRrue42kSyXdI+lGSZ9ueu5bJd0g6Q5Jn2w8\ng9PclNH87VHS+pJOkXSbpD9JOqhDxmdI+n7KcbGk/2j8lizpZZJ+ncri4vRhPXnf2yVdLeleSddJ\neneH9XxM0l/SY6/pcjZqLUnnpMcukLRhWsaXJP1X03LPkPSBDstqG6nN/COAuRFxRETcBRARv42I\nN7Z5XZukfWSJpNslnZTmT57BuCztW/uk7fQXSR+VdCvw9U7f/CU9P22//dJ04z5wiKT5kualcrpS\n0jYNz9067V/3psd9Ry2avyQ9H/gKsF3KeVeaP1dFs8yZku4Hdmqx3x0o6Q9p//6epPXavI4JFWeJ\nlknTCyR9RtLPUr4fSXpGi+etDJwFrJ+y3StpXUlPl3SkpJvT3/9IWj49Z7KMP562x58l7d8qV5us\n70j79F2Szm7Y974i6Yimx35P0gfT7Z6PuaZlrCXpB3ryLNxPpaI5q9MyVZy9uyg97xZJR0t6WsP9\n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\nFH2L7qboF7B3RCzu/JSx4aYFGwmVNdOkjkTfA7aj6DT0Y4r2zLekqw0mr+a4a3LazMzMpp/Kfg8i\nIq5Jbe7nUHQSWkjTVQMREZJcczczM5vGKv1xqog4DjgOQNJ/UlzDvVjSumkUvPUoroxYiispZmZm\n4yUiWl/eHRWONU9xJQIUg8n8juKyycOBj6X5c4DPt3luVJltCq/pkLozONv453K28cqVc7Zccznb\neOVK2aLdfVX/bPd302BJjwLvjYh7JH0emC/pnaRLeyvOMGgTdQfoYKLuAB1M1B2gjYm6A3QwUXeA\nDibqDtDGRN0BOpioO0AbE3UH6GCi7gAdTNQdoI2JugOUUXUzzStazLsLeGWV6zUzM7PR4RFY+ze3\n7gAdzK07QAdz6w7Qxty6A3Qwt+4AHcytO0Abc+sO0MHcugO0MbfuAB3MrTtAB3PrDtDG3LoDlFHp\nCKxTISmiXUcXMzMzGymdPtd9ZqRPaYjlLDlb/3LNBc5WRq65IN9sueYCZysj11zduDJiZmZmtXIz\njZmZmVXOzTRmZmaWLVdG+pRze5yz9S/XXOBsZeSaC/LNlmsucLYycs3VjSsjZmZmViv3GTEzM7PK\nuc+ImZmZZcuVkT7l3B7nbP3LNRc4Wxm55oJ8s+WaC5ytjFxzdePKiJmZmdXKfUbMzMyscu4zYmZm\nZtlyZaRPObfHOVv/cs0FzlZGrrkg32y55gJnKyPXXN24MmJmZma1cp8RMzMzq5z7jJiZmVm2XBnp\nU87tcc7Wv1xzgbOVkWsuyDdbrrnA2crINVc3royYmZlZrdxnxMzMzCrnPiNmZmaWLVdG+pRze5yz\n9S/XXOBsZeSaC/LNlmsucLYycs3VjSsjZmZmViv3GTEzM7PKuc+ImZmZZcuVkT7l3B7nbP3LNRc4\nWxm55oJ8s+WaC5ytjFxzdePKiJmZmdWq0j4jkj4OvBl4HLgCeDuwMvAdYCPgemDfiFjS4rnuM2Jm\nZjYmaukzImkCOBDYOiJeBCwLvBGYA5wbETOB89K0mZmZTVNVNtPcCzwKrCRpOWAl4BZgL2Beesw8\n4PUVZhi4nNvjnK1/ueYCZysj11yQb7Zcc4GzlZFrrm4qq4xExF3AfwM3UlRClkTEucA6EbE4PWwx\nsE5VGczMzCx/lfUZkbQx8H1gB+Ae4GTgFODoiFiz4XF3RcSMFs93nxEzM7Mx0elzfbkK1/ti4BcR\n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\nSZIkSZKm/D+stQHoK1Y2HQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# And now plot using different shapes for the top3_top10 and top3_other columns \n", "DF = dflfc_scorers_tl_top3_lg_full\n", "FIG_SIZE = (9, 6)\n", "\n", "fig = plt.figure()\n", "\n", "tot_yrs = len(DF)\n", "tot_goals = int(DF.top3_top10.max())\n", "XTICKS = range(0, tot_yrs+10, 10)\n", "YTICKS = range(0, tot_goals+30, 10)\n", "\n", "ax = DF.plot(style='r.', figsize=FIG_SIZE, x='season', y='top3_other', \n", " legend=False, rot='vertical', xticks=XTICKS, yticks=YTICKS)\n", "DF.plot(ax=ax, style='ro', figsize=FIG_SIZE, x='season', y='top3_top10', \n", " legend=False, rot='vertical', xticks=XTICKS, yticks=YTICKS)\n", "\n", "ax.set_ylabel('total league goals by striking trio')\n", "ax.set_xlabel('top level season')\n", "ax.set_title('total league goals by LFC striking trio in top level season')\n", "ax.text(1, 1, 'prepared by: @terry8dolan')\n", "\n", "fig = plt.gcf() # save current figure\n", "plt.show()\n", "fig.savefig('SeasonvsTrioGoals.png', bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compare The Striking Trios: LFC (1963-64) with Barcelona (2014-15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a new dataframe for the Barca trio" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# create dictionary with Barca stats for 2014-15\n", "# ref: https://en.wikipedia.org/wiki/2014%E2%80%9315_FC_Barcelona_season\n", "barca_201415 = {'season': ['2014-2015', '2014-2015', '2014-2015'],\n", " 'team': ['FCB', 'FCB', 'FCB'], \n", " 'player': ['Messi', 'Neymar', 'Suarez'], \n", " 'appearance': [38, 33, 26], \n", " 'league': [43, 22, 16]}" ] }, { "cell_type": "code", "execution_count": 47, "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", "
teamplayerappearanceleagueGPAAPG
season
2014-2015 FCB Messi 38 43 1.13 0.88
2014-2015 FCB Neymar 33 22 0.67 1.50
2014-2015 FCB Suarez 26 16 0.62 1.62
\n", "
" ], "text/plain": [ " team player appearance league GPA APG\n", "season \n", "2014-2015 FCB Messi 38 43 1.13 0.88\n", "2014-2015 FCB Neymar 33 22 0.67 1.50\n", "2014-2015 FCB Suarez 26 16 0.62 1.62" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a dataframe from the dict\n", "dfb_trio = pd.DataFrame(data=barca_201415, columns=['season', 'team', 'player', 'appearance', 'league'])\n", "dfb_trio = dfb_trio.set_index('season')\n", "dfb_trio['GPA'] = (dfb_trio.league/dfb_trio.appearance).round(2)\n", "dfb_trio['APG'] = (dfb_trio.appearance/dfb_trio.league).round(2)\n", "dfb_trio.head()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "81" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfb_trio.league.sum()" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWwAAAErCAYAAAD6wrltAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHelJREFUeJzt3XmYZFWd5vHvWyiyb4JII1g1rYjIKso4j7QmCAzdKsK0\nS2MrFNLqzKj4qG2ruJBCDzCMoI4LbgWFqCgKMpSKUK2UA03LCFQhUCw6Q8kiVUBD4YK0IO/8cU9S\nUUkukZkRceNGvJ/nyafuuTci7i/iZP3yxLn3nCPbRERE/5tXdwAREdGeJOyIiIZIwo6IaIgk7IiI\nhkjCjohoiCTsiIiGaCthS9pA0nJJS0p5VNJdZd9ySYd2N8yIiHhKm497N7AS2LyUDZxh+4yuRBUR\nEU8ybQtb0rOAvwK+Amhsd8t2RET0QDtdIp8E3g883rLPwLskXS9pkaStuhJdREQ8YcouEUmvAu61\nvVzSSMuhM4ETy/ZJwOnAsRM8P+PeIyJmwfaTejE01Vwikk4G3gw8BmwEbAFcYPuolsfMB5bY3mOC\n53uikw4KSaO2R+uOI2Yudddsg15/k+XOKbtEbB9veyfbC4C/AX5s+yhJO7Q87Ajghs6G2xjz6w4g\nZm1+3QHEnMyvO4A6tHuXCFQXGcea46dJ2quUbwfe3unAIiJifVN2icz5xQe/S2TE9rK644iZS901\n26DX32S5Mwk7IqLPTJY7Z9IlEuMM+l/5Qdb0ussdWINjJo3aJOyIhhrmb69N/4M7ZqZ/eNMlEtFA\n+b81GCbtq57NbX0REdE/krDnQJJ7+VP3+x0k40buRsMMa/2lD3uuRgfsPBHRt9LCjqE0CBeshtmw\n1l9a2BEDohfdZrnQWa+0sGMoDW4fqLv40z/mWn+SGtlYTcKOiI6T9EFJv5T0G0k3STq87F8o6Z8l\nfUbSWkk3Szqw5XnLJJ0i6WpJD0m6SNLWLcdfIukqYImkFZJe3nLsGEkryzn/r6S3tRwbKcsa/oOk\ne4BFkraS9D1J90p6QNISSTuOi+VESVeW17xU0tNbju8v6SpJD0q6Q9LRZf/TJH1C0q8krZZ0pqSN\nOvG5JmHHUBrWPtAe+iWwv+0tgI8DX5P0zHJsv3L86cAJwIXjFkF5M3AMsAPV1M7/E6Ak0+8BJ9re\nHPh74IKWJLoGeGU55zHAJyXt0/K62wNbAztTTVg3D1hUyjsDfwA+O+59HAksBJ4BbFjOiaRnAz8A\nPg1sC+wNrCjPORV4DrBX+XdH4GPtfWxTS8KOiI6z/R3bq8v2+cAvqBI1VIuifNr2n8qxW4FXjT0V\n+KrtlbYfBj4KvF7SPOBNwA9s/7C87j8B1wCvLOUf2L69bP9v4DLgL1rCehw4wfajth+x/YDt75bt\n3wEnAy9vebyBs23/0vYjwPlUiRngjcBS298q7+MB29dLEvBW4L2215bXPYVqeuo5a2Q/TsRcDcrQ\n5n4l6SjgPaybt3ozqpbon4C7xz38V1St6TF3tmzfATy1PPfZwOskvZoqdz1W/v1xOedfUrXYn0vV\nGN0E+HnLa91n+48tMW5CtQTif6RqeQNspjLMsJRXtzz/D+V9AOwE/L8J3vp25bzXVrm7OhUdahyn\nhR0RHVW6C74EvAPYxvbWwI1jh6m6CFo9G/h1S3nncduPAvdRJe9zy+u92vbWtje3fZqkpwEXAKcB\nzyiP+QHrLxY+/srp+4BdgP1sb0nVum53gfE7gD+fYP/9VIl9txLf1ra3Kt00c5aEHUMpreuu2pQq\nOd4PzJN0DLB7y/FnSDpO0lMlvQ7YlSq5QpUs3yTp+aUFfCLw7dLi/RrwakmHAFdI2qhcTNyRqn95\nw3LOx0tr+5Bp4tyMKrk+JGkbqtb5eJMl728AB0l6naSnSHq6pL1sPw58GfiUpO2g6nsvMc9ZWwlb\n0gaSlktaUsrbSFoq6TZJlymrpkf0CXXxpz22V1ItzP0vVF0KuwNXjh0GrqbqtriPahHvv7b9YMvx\nc4HFwD1USfi48rp3Aa8BjgfupWrlvo9qErvflsedDzxAdbHwf40PbVz5U8DGVEn+KuCSCR7jcdsu\nsdwB/FU5/78Cy4E9y+M+QHVR9aeSHgKWUrXk56yt2fokvRfYF9jc9mGSTgPuL19FPgBsbfuDEzxv\noGcUk+ReDk0f5M+y15reh93U/1uSFgLH2v6LSY5fTtXtcdY0r9Po+hszWT1Otn/aFrakZ1H9JfkK\n6/7MHgacU7bPAQ6fdcQREetr3B+iXmmnS+STwPupbokZs73tNWV7DdX9jRGNMQits4ZqZ9jktF/7\nh7X+prytT9KrqO6ZXD7ZUFDbU079KWkxsKoU1wIrxj7ssddsahmo1oxf0LJN98p1v9+UU+5A+Ve2\nXzbF8Y/3WbxdL7dsLyzFVUxiyj5sSSdTjTp6DNgI2AK4EHgxMGJ7taQdgMtt7zrB8xvZz9au9GE3\nV9P7QAf9/9Z0ml5/Yzrah237eNs72V5ANVLnx7bfDFwMHF0edjRw0dxDj4iIqcz0Puyx5vipwMGS\nbgMOLOWIxhiE1tkwG9b6a3touu2fAD8p2w8AB3UrqIiIeLKMdIyhNNlF9GiGYa2/JOyI6ChJqyS9\nou44BlFm64uhNIh9oFPdXtspbd6Z0vUlagax/tqRhB0xSEYb+trRlnSJxFAa1j7QXlJlbKmw+yV9\nS+sv9/VtSfeoWirsJ5J2azn2dFVLdj0k6f9I+kdJV5Rj8yU9rmpRg7HHL5N0bEv5LaqWC3tA0g8l\ntU7Z2lgDlbAluZc/db/fiD4mqtnzDgNeRrVAwYPA51oe832qJbS2A64Dvt5y7HPAb6mmvTgaOIqp\nu1me6IaR9BrgQ8ARVAsfXAGcN9c31A8GKmFXurlqdP+uIh0zM6x9oD32duAjtn9t+1GqtR1fO9Yy\ntr3Y9u9bju0laXNJGwD/iWo5r0ds30w1yVy7Izv/M3CK7VtdzU99CrC3pJ06/P56bgATdkT0iWcD\n31W1qviDwEqqaS62VzXH/qmlu+QhqplzTNUi3o7q+lrrUmF3zfC8n24577+W/eNXummcJOwYSunD\n7ok7gUO9bqmsrW1vYvseqkVsDwNe4Wp5rgWsWynhPqrE3toibt3+ffl3k5Z9z2zZvgN427jzbmr7\np519e72XhB0R3fIF4OSxC36StpN0WDm2GfBvwAOSNqVasRwA23+immRuVNLGknalmoRubLWX+6hW\niXlzaam/hfXXV/wCcPzYRUxJW6paiqzxcltfDKWB7cMerTuAJxj4NFWL+TJJf0a1rNc3qSaP+yrV\nauV3U3VZfIyqz3vMO6mWCVsN3EJ10fBFLcePAj5PlegXAf/8xIntiyRtBnxT1YLADwGXAd/u9Jvs\ntbaWCJv1i/d4Csjqzo1eXgxU7/6DjGZ61Vhn2KZXlfTfqVZDP6buWDqpo9OrRgyq9GH3N0nPk7Rn\nuZd7P+AtwHdbjo/UFlyN0iUSEf1oc6pukD+jWobwE7Yvrjek+iVhx1Aa2D7sAWH7GuC5Uxxf1rto\n+ke6RCIiGmLahC1pI0lXS1pRxuafUvaPSrpL0vLyc2j3w43ojGHtAx0Uw1p/03aJ2H5E0gG2H5b0\nFOBKSftT3Y5xhu0zuh5lRES014dt++GyuSGwAdUkLtD+2P6IvjIIfaDDPgGZNHzpp62EXSZruY5q\nNNGZtm+S9FrgXZKOAq4B3md7bfdCjYgxw3QPdqzTbgv7carZrrYELi39R2cCJ5aHnAScDhw7/rmS\nFgOrSnEtsGKsdTPWD9WpcmUZMNKyTRfLVFPWLGjZpnvlTn9ew1xu7QPth3hSHu76K9sLy1taxSRm\nPNJR0keBP9j+RMu++cAS23uMe2xGOnbKaFpVnSRpZBC6RYbVoNffrEc6StpW0lZle2PgYGC5pNbZ\nsY4AbuhUsBHdNsj/2YfBsNZfO10iOwDnlH7secC5tn8k6auS9qZq0t7O+hO3REREh7VzW98NwAsn\n2H9UVyKK6IFB/0o96Ia1/jLSMSKiIZKwYygNY+tskAxr/SVhR0Q0RBJ2DKVhnYtiUAxr/SVhR0Q0\nRObDjr5Q07wYGYjUUMPah52EHX2kx6NUIxomXSIR0Tjpw46IiL6WhB0RjTOsfdhJ2BERDZGEHRGN\nkz7siIjoa0nYEdE46cOOiIi+loQdEY2TPuwJSNpI0tWSVkhaKemUsn8bSUsl3SbpsrElxCIionum\nTNi2HwEOsL03sCdwgKT9gQ8CS23vAvyolCMieiJ92JOw/XDZ3BDYAHgQOAw4p+w/Bzi8K9FFRMQT\n2lk1fZ6kFcAa4HLbNwHb215THrIG2L6LMUZErGdY+7DbWYT3cWBvSVsCl0o6YNxxTzU1pqTFwKpS\nXAusGPs6M/ahd6pcWQaMtGzTxTLVevELWrbpXrnTn1e/lbtfX+uX636/Kac8Vi7bC6msYhKy25/S\nUtJHgT8AfweM2F4taQeqlveuEzzetns2j2X1h6PHU3SO9uhUo9DLz7LX6qi7Qf48o9kmy53T3SWy\n7dgdIJI2Bg4GlgMXA0eXhx0NXNTZcCMiYrzpukR2AM6RNI8quZ9r+0eSlgPnSzqWqvn++u6GGRGx\njqSRYbxTZMqEbfsG4IUT7H8AOKhbQUVExJNlpGNENM4wtq4hCTsiojGSsCOicYb1Puwk7IiIhkjC\njojGSR92RET0tSTsiGic9GFHRERfS8KOiMZJH3ZERPS1JOyIaJz0YUdERF9Lwo6IxkkfdkRE9LVp\nlwiLiJjOVMsEdsswrhjUziK8O0m6XNJNkm6UdFzZPyrpLknLy8+h3Q83IvqXe/gznNppYT8KvMf2\nCkmbAddKWkr1qZ1h+4yuRhgREUB7q6avBlaX7d9JuhnYsRweuq8kERF1mdFFR0nzgX2An5Zd75J0\nvaRFY4v1RkREd7R90bF0h3wHeHdpaZ8JnFgOnwScDhw7wfMWUy3UC7AWWDF2S87Yze+dKleWASMt\n23SxDNwOLGjZpnvlTn9e/Vbufn2tX677/Q5aOfU3+3LZXlje4ComIXv6DnxJTwW+B1xi+1MTHJ8P\nLLG9x7j97uWV3OpKdS8vSAhGe3Sq0cG+Kl5H3Q3y59lrqb/Omix3tnOXiIBFwMrWZC1ph5aHHQHc\n0IlAIyJiYu10ibwUeBPwc0nLy77jgSMl7U31Z/V24O3dCTEiIqC9u0SuZOKW+CWdDyciIiaToekR\nEQ2RhB0R0RBJ2BERDZGEHRHREEnYERENkYQdEdEQSdgREQ2RhB0R0RBJ2BERDZGEHRHREFnTMYZW\nr9chHOTZ5aI3krBjeI0O6LliYKVLJCKiIZKwIyIaIgk7IqIhkrAjIhqinSXCdpJ0uaSbJN0o6biy\nfxtJSyXdJumyrJoeEdFd7bSwHwXeY/sFwEuAd0h6PvBBYKntXYAflXJERHTJtAnb9mrbK8r274Cb\ngR2Bw4BzysPOAQ7vVpARETHDPmxJ84F9gKuB7W2vKYfWANt3NLKIiFhP2wNnJG0GXAC82/ZvpXWD\ntmx7slFjkhYDq0pxLbDC9rJybKQ8vyPlyjJgpGWbLpap1otf0LJN98qd/rz6rdz9+hpX7nJ9pf66\nW677/XayXLYXlje4iknInn50rqSnAt8DLrH9qbLvFmDE9mpJOwCX29513PPcy+G41R+NXo42Vu9G\nsI0O9tDmga47SP11/owD/3lO9P7auUtEwCJg5ViyLi4Gji7bRwMXdSLQiIiYWDtdIi8F3gT8XNLy\nsu9DwKnA+ZKOpWrCv74rEUZEBNBGwrZ9JZO3xA/qbDgRETGZjHSMiGiIJOyIiIZIwo6IaIgk7IiI\nhkjCjohoiCTsiIiGSMKOiGiIJOyIiIZIwo6IaIgk7IiIhkjCjohoiCTsiIiGSMKOiGiIJOyIiIZI\nwo6IaIi213SMiOgnk60j2y39sCTZtAlb0lnAK4F7be9R9o0CfwfcVx72Ids/7FaQERFPMjqg55pC\nO10iZwOHjttn4Azb+5SfJOuIiC6bNmHbvgJ4cIJDtX89iIgYJnO56PguSddLWiRpq45FFBERE5rt\nRcczgRPL9knA6cCxEz1Q0mKqVdUB1gIrbC8rx0YAOlWuLANGWrbpYhm4HVjQsk33yp3+vPqt3P36\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfb_trio.plot(kind='bar', x='player', y=['appearance', 'league'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a new dataframe for the LFC trio" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# create dictionary with LFC stats for 1963-64\n", "lfc_196364 = {'season': ['1963-1964', '1963-1964', '1963-1964'],\n", " 'team': ['LFC', 'LFC', 'LFC'], \n", " 'player': ['Hunt', 'St John', 'Arrowsmith'], \n", " 'appearance': [41, 40, 20], \n", " 'league': [31, 21, 15]}" ] }, { "cell_type": "code", "execution_count": 51, "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", "
teamplayerappearanceleagueGPAAPG
season
1963-1964 LFC Hunt 41 31 0.76 1.32
1963-1964 LFC St John 40 21 0.52 1.90
1963-1964 LFC Arrowsmith 20 15 0.75 1.33
\n", "
" ], "text/plain": [ " team player appearance league GPA APG\n", "season \n", "1963-1964 LFC Hunt 41 31 0.76 1.32\n", "1963-1964 LFC St John 40 21 0.52 1.90\n", "1963-1964 LFC Arrowsmith 20 15 0.75 1.33" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# create a dataframe from the dict\n", "dfl_trio = pd.DataFrame(data=lfc_196364, columns=['season', 'team', 'player', 'appearance', 'league'])\n", "dfl_trio = dfl_trio.set_index('season')\n", "dfl_trio['GPA'] = (dfl_trio.league/dfl_trio.appearance).round(2)\n", "dfl_trio['APG'] = (dfl_trio.appearance/dfl_trio.league).round(2)\n", "dfl_trio.head()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "67" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfl_trio.league.sum()" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nj602gAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dfl_trio.plot(kind='bar', x='player', y=['appearance', 'league'], )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a new combined dataframe with LFC and Barca data" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df_trio = pd.DataFrame()\n", "df_trio = pd.concat([dfl_trio, dfb_trio])" ] }, { "cell_type": "code", "execution_count": 55, "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", "
teamplayerappearanceleagueGPAAPG
season
1963-1964 LFC Hunt 41 31 0.76 1.32
1963-1964 LFC St John 40 21 0.52 1.90
1963-1964 LFC Arrowsmith 20 15 0.75 1.33
2014-2015 FCB Messi 38 43 1.13 0.88
2014-2015 FCB Neymar 33 22 0.67 1.50
2014-2015 FCB Suarez 26 16 0.62 1.62
\n", "
" ], "text/plain": [ " team player appearance league GPA APG\n", "season \n", "1963-1964 LFC Hunt 41 31 0.76 1.32\n", "1963-1964 LFC St John 40 21 0.52 1.90\n", "1963-1964 LFC Arrowsmith 20 15 0.75 1.33\n", "2014-2015 FCB Messi 38 43 1.13 0.88\n", "2014-2015 FCB Neymar 33 22 0.67 1.50\n", "2014-2015 FCB Suarez 26 16 0.62 1.62" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_trio" ] }, { "cell_type": "code", "execution_count": 56, "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", "
teamplayerappearanceleagueGPAAPG
season
2014-2015 FCB Messi 38 43 1.13 0.88
1963-1964 LFC Hunt 41 31 0.76 1.32
1963-1964 LFC Arrowsmith 20 15 0.75 1.33
2014-2015 FCB Neymar 33 22 0.67 1.50
2014-2015 FCB Suarez 26 16 0.62 1.62
1963-1964 LFC St John 40 21 0.52 1.90
\n", "
" ], "text/plain": [ " team player appearance league GPA APG\n", "season \n", "2014-2015 FCB Messi 38 43 1.13 0.88\n", "1963-1964 LFC Hunt 41 31 0.76 1.32\n", "1963-1964 LFC Arrowsmith 20 15 0.75 1.33\n", "2014-2015 FCB Neymar 33 22 0.67 1.50\n", "2014-2015 FCB Suarez 26 16 0.62 1.62\n", "1963-1964 LFC St John 40 21 0.52 1.90" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_trio.sort('APG')" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df_trio.plot(kind='bar', x='player', y=['appearance', 'league'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot goals" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "FIG_SIZE = (9, 6)\n", "fig = plt.figure()\n", "\n", "# sort the dataframe by league goals\n", "df_trio_lg_sorted = df_trio.sort('league', ascending=False)\n", "\n", "# produce list of colour based on team\n", "team_colours = ['r' if team is 'LFC' else 'b' for team in df_trio_lg_sorted.team.values]\n", "\n", "# plot dataframe\n", "ax = df_trio_lg_sorted.plot(kind='bar', x='player', y='league', \n", " legend=False, color=['b', 'r', 'b', 'r', 'b', 'r'],\n", " title='Total League Goals for Top 3 Strikers: Barca 2014-15 and LFC 1963-64',\n", " figsize=FIG_SIZE, ylim=(0, 50))\n", "\n", "# set the axis labels\n", "ax.set_xlabel('Player')\n", "ax.set_ylabel('Total League Goals')\n", "\n", "# create fake legend\n", "l1 = plt.Line2D([], [], linewidth=10, color='b') \n", "l2 = plt.Line2D([], [], linewidth=10, color='r')\n", "labels = ['FCB 2014-2015', 'LFC 1963-1964']\n", "ax.legend([l1, l2], labels)\n", "ax.text(-.4, 48, 'prepared by: @terry8dolan')\n", "\n", "fig = plt.gcf() # save current figure\n", "plt.show()\n", "fig.savefig('PlayervsGoals.png', bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot Goals per Game" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "FIG_SIZE = (9, 6)\n", "fig = plt.figure()\n", "\n", "# sort the dataframe by GPA\n", "df_trio_GPA_sorted = df_trio.sort('GPA', ascending=False)\n", "\n", "# produce list of colour based on team\n", "team_colours = ['r' if team is 'LFC' else 'b' for team in df_trio_GPA_sorted.team.values]\n", "\n", "# plot the dataframe\n", "ax = df_trio_GPA_sorted.plot(kind='bar', x='player', y='GPA', \n", " legend=False, color=team_colours,\n", " title='League Goals per Game for Top 3 strikers: Barca 2014-15 and LFC 1963-64',\n", " figsize=FIG_SIZE, ylim=(0, 1.4))\n", "\n", "# set the axis labels\n", "ax.set_xlabel('Player')\n", "ax.set_ylabel('League Goals Per Game')\n", "\n", "# create fake legend\n", "l1 = plt.Line2D([], [], linewidth=10, color='b') \n", "l2 = plt.Line2D([], [], linewidth=10, color='r')\n", "labels = ['FCB 2014-2015', 'LFC 1963-1964']\n", "ax.legend([l1, l2], labels)\n", "ax.text(-.4, 1.35, 'prepared by: @terry8dolan')\n", "\n", "# save current figure and plot\n", "fig = plt.gcf() \n", "plt.show()\n", "fig.savefig('PlayervsGPG.png', bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Find key data for title winning years" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [], "source": [ "WINNERS = ['1900-1901', '1905-1906', '1921-1922', '1922-1923', '1946-1947', '1963-1964', '1965-1966', '1972-1973', '1975-1976', \n", " '1976-1977', '1978-1979', '1979-1980', '1981-1982', '1982-1983', '1983-1984', '1985-1986', '1987-1988', '1989-1990']\n", "dfw = dflfc_scorers_tl_lg[dflfc_scorers_tl_lg.season.isin(WINNERS)].sort(['season', 'league'], ascending=False)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "18" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check all 18 title winning seasons have matched\n", "len(dfw.season.unique())" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "22.0" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# print average number of goals by striker in title winning season\n", "dfw_1 = dfw[['season', 'league']].groupby('season').head(1).groupby('season').sum()\n", "round(dfw_1.sort('league', ascending=False)['league'].mean())" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "15.0" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# print average number of goals by partner in title winning season\n", "dfw_2 = dfw[['season', 'league']].groupby('season').head(2).groupby('season').nth(1)\n", "round(dfw_2.sort('league', ascending=False)['league'].mean())" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Liverpool's history says that to win the league we need a striker partnership that will score 37.0 goals on average.\n" ] } ], "source": [ "# print average number of goals by partnership in title winning season\n", "dfw_p = dfw[['season', 'league']].groupby('season').head(2).groupby('season').sum()\n", "rp = round(dfw_p.sort('league', ascending=False)['league'].mean())\n", "print \"Liverpool's history says that to win the league we need a striker partnership that will score {} goals on average.\".format(rp)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.8" } }, "nbformat": 4, "nbformat_minor": 0 }