{ "cells": [ { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [], "source": [ "#Import the libraries and packages we need\n", "import numpy as np\n", "from sklearn.linear_model import LinearRegression\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import highlight_text" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "# the famous import font code to use Andale Mono\n", "import matplotlib.font_manager\n", "from IPython.core.display import HTML\n", "\n", "def make_html(fontname):\n", " return \"
{font}: {font}
\".format(font=fontname)\n", "\n", "code = \"\\n\".join([make_html(font) for font in sorted(set([f.name for f in matplotlib.font_manager.fontManager.ttflist]))])" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('1995_96 - 2020 Premier league standings.csv')" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " | Rk | \n", "Squad | \n", "MP | \n", "W | \n", "D | \n", "L | \n", "GF | \n", "GA | \n", "Pts | \n", "Attendance | \n", "Top Team Scorer | \n", "Goalkeeper | \n", "Year | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "25 | \n", "7 | \n", "6 | \n", "73 | \n", "35 | \n", "82 | \n", "41001 | \n", "Eric Cantona - 14 | \n", "Peter Schmeichel | \n", "1996 | \n", "
1 | \n", "2 | \n", "Newcastle Utd | \n", "38 | \n", "24 | \n", "6 | \n", "8 | \n", "66 | \n", "37 | \n", "78 | \n", "36501 | \n", "Les Ferdinand - 25 | \n", "Shaka Hislop | \n", "1996 | \n", "
2 | \n", "3 | \n", "Liverpool | \n", "38 | \n", "20 | \n", "11 | \n", "7 | \n", "70 | \n", "34 | \n", "71 | \n", "39553 | \n", "Robbie Fowler - 28 | \n", "David James | \n", "1996 | \n", "
3 | \n", "4 | \n", "Aston Villa | \n", "38 | \n", "18 | \n", "9 | \n", "11 | \n", "52 | \n", "35 | \n", "63 | \n", "37492 | \n", "Dwight Yorke - 17 | \n", "Mark Bosnich | \n", "1996 | \n", "
4 | \n", "5 | \n", "Arsenal | \n", "38 | \n", "17 | \n", "12 | \n", "9 | \n", "49 | \n", "32 | \n", "63 | \n", "32614 | \n", "Ian Wright - 15 | \n", "David Seaman | \n", "1996 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
495 | \n", "16 | \n", "West Ham | \n", "38 | \n", "10 | \n", "9 | \n", "19 | \n", "49 | \n", "62 | \n", "39 | \n", "44155 | \n", "Michail Antonio - 10 | \n", "Łukasz Fabiański | \n", "2020 | \n", "
496 | \n", "17 | \n", "Aston Villa | \n", "38 | \n", "9 | \n", "8 | \n", "21 | \n", "41 | \n", "67 | \n", "35 | \n", "28505 | \n", "Jack Grealish - 8 | \n", "Tom Heaton | \n", "2020 | \n", "
497 | \n", "18 | \n", "Bournemouth | \n", "38 | \n", "9 | \n", "7 | \n", "22 | \n", "40 | \n", "65 | \n", "34 | \n", "7745 | \n", "Callum Wilson - 8 | \n", "Aaron Ramsdale | \n", "2020 | \n", "
498 | \n", "19 | \n", "Watford | \n", "38 | \n", "8 | \n", "10 | \n", "20 | \n", "36 | \n", "64 | \n", "34 | \n", "15353 | \n", "Troy Deeney - 10 | \n", "Ben Foster | \n", "2020 | \n", "
499 | \n", "20 | \n", "Norwich City | \n", "38 | \n", "5 | \n", "6 | \n", "27 | \n", "26 | \n", "75 | \n", "21 | \n", "19913 | \n", "Teemu Pukki - 11 | \n", "Tim Krul | \n", "2020 | \n", "
500 rows × 13 columns
\n", "\n", " | Rk | \n", "Squad | \n", "MP | \n", "W | \n", "D | \n", "L | \n", "GF | \n", "GA | \n", "Pts | \n", "Attendance | \n", "Top Team Scorer | \n", "Goalkeeper | \n", "Year | \n", "GD | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "25 | \n", "7 | \n", "6 | \n", "73 | \n", "35 | \n", "82 | \n", "41001 | \n", "Eric Cantona - 14 | \n", "Peter Schmeichel | \n", "1996 | \n", "38 | \n", "
1 | \n", "2 | \n", "Newcastle Utd | \n", "38 | \n", "24 | \n", "6 | \n", "8 | \n", "66 | \n", "37 | \n", "78 | \n", "36501 | \n", "Les Ferdinand - 25 | \n", "Shaka Hislop | \n", "1996 | \n", "29 | \n", "
2 | \n", "3 | \n", "Liverpool | \n", "38 | \n", "20 | \n", "11 | \n", "7 | \n", "70 | \n", "34 | \n", "71 | \n", "39553 | \n", "Robbie Fowler - 28 | \n", "David James | \n", "1996 | \n", "36 | \n", "
3 | \n", "4 | \n", "Aston Villa | \n", "38 | \n", "18 | \n", "9 | \n", "11 | \n", "52 | \n", "35 | \n", "63 | \n", "37492 | \n", "Dwight Yorke - 17 | \n", "Mark Bosnich | \n", "1996 | \n", "17 | \n", "
4 | \n", "5 | \n", "Arsenal | \n", "38 | \n", "17 | \n", "12 | \n", "9 | \n", "49 | \n", "32 | \n", "63 | \n", "32614 | \n", "Ian Wright - 15 | \n", "David Seaman | \n", "1996 | \n", "17 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
495 | \n", "16 | \n", "West Ham | \n", "38 | \n", "10 | \n", "9 | \n", "19 | \n", "49 | \n", "62 | \n", "39 | \n", "44155 | \n", "Michail Antonio - 10 | \n", "Łukasz Fabiański | \n", "2020 | \n", "-13 | \n", "
496 | \n", "17 | \n", "Aston Villa | \n", "38 | \n", "9 | \n", "8 | \n", "21 | \n", "41 | \n", "67 | \n", "35 | \n", "28505 | \n", "Jack Grealish - 8 | \n", "Tom Heaton | \n", "2020 | \n", "-26 | \n", "
497 | \n", "18 | \n", "Bournemouth | \n", "38 | \n", "9 | \n", "7 | \n", "22 | \n", "40 | \n", "65 | \n", "34 | \n", "7745 | \n", "Callum Wilson - 8 | \n", "Aaron Ramsdale | \n", "2020 | \n", "-25 | \n", "
498 | \n", "19 | \n", "Watford | \n", "38 | \n", "8 | \n", "10 | \n", "20 | \n", "36 | \n", "64 | \n", "34 | \n", "15353 | \n", "Troy Deeney - 10 | \n", "Ben Foster | \n", "2020 | \n", "-28 | \n", "
499 | \n", "20 | \n", "Norwich City | \n", "38 | \n", "5 | \n", "6 | \n", "27 | \n", "26 | \n", "75 | \n", "21 | \n", "19913 | \n", "Teemu Pukki - 11 | \n", "Tim Krul | \n", "2020 | \n", "-49 | \n", "
500 rows × 14 columns
\n", "\n", " | Rk | \n", "Squad | \n", "MP | \n", "W | \n", "D | \n", "L | \n", "GF | \n", "GA | \n", "Pts | \n", "Attendance | \n", "Top Team Scorer | \n", "Goalkeeper | \n", "Year | \n", "GD | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "25 | \n", "7 | \n", "6 | \n", "73 | \n", "35 | \n", "82 | \n", "41001 | \n", "Eric Cantona - 14 | \n", "Peter Schmeichel | \n", "1996 | \n", "38 | \n", "
440 | \n", "1 | \n", "Manchester City | \n", "38 | \n", "32 | \n", "4 | \n", "2 | \n", "106 | \n", "27 | \n", "100 | \n", "54070 | \n", "Sergio Agüero - 21 | \n", "Ederson | \n", "2018 | \n", "79 | \n", "
60 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "22 | \n", "13 | \n", "3 | \n", "80 | \n", "37 | \n", "79 | \n", "55188 | \n", "Dwight Yorke - 18 | \n", "Peter Schmeichel | \n", "1999 | \n", "43 | \n", "
420 | \n", "1 | \n", "Chelsea | \n", "38 | \n", "30 | \n", "3 | \n", "5 | \n", "85 | \n", "33 | \n", "93 | \n", "41508 | \n", "Diego Costa - 20 | \n", "Thibaut Courtois | \n", "2017 | \n", "52 | \n", "
80 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "28 | \n", "7 | \n", "3 | \n", "97 | \n", "45 | \n", "91 | \n", "55107 | \n", "Dwight Yorke - 20 | \n", "Mark Bosnich | \n", "2000 | \n", "52 | \n", "
400 | \n", "1 | \n", "Leicester City | \n", "38 | \n", "23 | \n", "12 | \n", "3 | \n", "68 | \n", "36 | \n", "81 | \n", "31998 | \n", "Jamie Vardy - 24 | \n", "Kasper Schmeichel | \n", "2016 | \n", "32 | \n", "
100 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "24 | \n", "8 | \n", "6 | \n", "79 | \n", "31 | \n", "80 | \n", "67489 | \n", "Teddy Sheringham - 15 | \n", "Fabien Barthez | \n", "2001 | \n", "48 | \n", "
380 | \n", "1 | \n", "Chelsea | \n", "38 | \n", "26 | \n", "9 | \n", "3 | \n", "73 | \n", "32 | \n", "87 | \n", "41546 | \n", "Diego Costa - 20 | \n", "Thibaut Courtois | \n", "2015 | \n", "41 | \n", "
120 | \n", "1 | \n", "Arsenal | \n", "38 | \n", "26 | \n", "9 | \n", "3 | \n", "79 | \n", "36 | \n", "87 | \n", "38055 | \n", "Thierry Henry - 24 | \n", "David Seaman | \n", "2002 | \n", "43 | \n", "
360 | \n", "1 | \n", "Manchester City | \n", "38 | \n", "27 | \n", "5 | \n", "6 | \n", "102 | \n", "37 | \n", "86 | \n", "47075 | \n", "Yaya Touré - 20 | \n", "Joe Hart | \n", "2014 | \n", "65 | \n", "
140 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "25 | \n", "8 | \n", "5 | \n", "74 | \n", "34 | \n", "83 | \n", "67602 | \n", "Ruud van Nistelrooy - 25 | \n", "Fabien Barthez | \n", "2003 | \n", "40 | \n", "
340 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "28 | \n", "5 | \n", "5 | \n", "86 | \n", "43 | \n", "89 | \n", "75530 | \n", "Robin van Persie - 26 | \n", "David de Gea | \n", "2013 | \n", "43 | \n", "
160 | \n", "1 | \n", "Arsenal | \n", "38 | \n", "26 | \n", "12 | \n", "0 | \n", "73 | \n", "26 | \n", "90 | \n", "38079 | \n", "Thierry Henry - 30 | \n", "Jens Lehmann | \n", "2004 | \n", "47 | \n", "
320 | \n", "1 | \n", "Manchester City | \n", "38 | \n", "28 | \n", "5 | \n", "5 | \n", "93 | \n", "29 | \n", "89 | \n", "47045 | \n", "Sergio Agüero - 23 | \n", "Joe Hart | \n", "2012 | \n", "64 | \n", "
180 | \n", "1 | \n", "Chelsea | \n", "38 | \n", "29 | \n", "8 | \n", "1 | \n", "72 | \n", "15 | \n", "95 | \n", "41870 | \n", "Frank Lampard - 13 | \n", "Petr Čech | \n", "2005 | \n", "57 | \n", "
300 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "23 | \n", "11 | \n", "4 | \n", "78 | \n", "37 | \n", "80 | \n", "75109 | \n", "Dimitar Berbatov - 20 | \n", "Edwin van der Sar | \n", "2011 | \n", "41 | \n", "
280 | \n", "1 | \n", "Chelsea | \n", "38 | \n", "27 | \n", "5 | \n", "6 | \n", "103 | \n", "32 | \n", "86 | \n", "41423 | \n", "Didier Drogba - 29 | \n", "Petr Čech | \n", "2010 | \n", "71 | \n", "
200 | \n", "1 | \n", "Chelsea | \n", "38 | \n", "29 | \n", "4 | \n", "5 | \n", "72 | \n", "22 | \n", "91 | \n", "41902 | \n", "Frank Lampard - 16 | \n", "Petr Čech | \n", "2006 | \n", "50 | \n", "
260 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "28 | \n", "6 | \n", "4 | \n", "68 | \n", "24 | \n", "90 | \n", "75304 | \n", "Cristiano Ronaldo - 18 | \n", "Edwin van der Sar | \n", "2009 | \n", "44 | \n", "
220 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "28 | \n", "5 | \n", "5 | \n", "83 | \n", "27 | \n", "89 | \n", "75826 | \n", "Cristiano Ronaldo - 17 | \n", "Edwin van der Sar | \n", "2007 | \n", "56 | \n", "
40 | \n", "1 | \n", "Arsenal | \n", "38 | \n", "23 | \n", "9 | \n", "6 | \n", "68 | \n", "33 | \n", "78 | \n", "38053 | \n", "Dennis Bergkamp - 16 | \n", "David Seaman | \n", "1998 | \n", "35 | \n", "
460 | \n", "1 | \n", "Manchester City | \n", "38 | \n", "32 | \n", "2 | \n", "4 | \n", "95 | \n", "23 | \n", "98 | \n", "54130 | \n", "Sergio Agüero - 21 | \n", "Ederson | \n", "2019 | \n", "72 | \n", "
240 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "27 | \n", "6 | \n", "5 | \n", "80 | \n", "22 | \n", "87 | \n", "75691 | \n", "Cristiano Ronaldo - 31 | \n", "Edwin van der Sar | \n", "2008 | \n", "58 | \n", "
480 | \n", "1 | \n", "Liverpool | \n", "38 | \n", "32 | \n", "3 | \n", "3 | \n", "85 | \n", "33 | \n", "99 | \n", "41955 | \n", "Mohamed Salah - 19 | \n", "Alisson | \n", "2020 | \n", "52 | \n", "
20 | \n", "1 | \n", "Manchester Utd | \n", "38 | \n", "21 | \n", "12 | \n", "5 | \n", "76 | \n", "44 | \n", "75 | \n", "55081 | \n", "Ole Gunnar Solskjær - 18 | \n", "Peter Schmeichel | \n", "1997 | \n", "32 | \n", "
481 | \n", "2 | \n", "Manchester City | \n", "38 | \n", "26 | \n", "3 | \n", "9 | \n", "102 | \n", "35 | \n", "81 | \n", "37097 | \n", "Raheem Sterling - 20 | \n", "Ederson | \n", "2020 | \n", "67 | \n", "
161 | \n", "2 | \n", "Chelsea | \n", "38 | \n", "24 | \n", "7 | \n", "7 | \n", "67 | \n", "30 | \n", "79 | \n", "41234 | \n", "Jimmy Floyd Hasselbaink - 13 | \n", "Carlo Cudicini | \n", "2004 | \n", "37 | \n", "
401 | \n", "2 | \n", "Arsenal | \n", "38 | \n", "20 | \n", "11 | \n", "7 | \n", "65 | \n", "36 | \n", "71 | \n", "59944 | \n", "Olivier Giroud - 16 | \n", "Petr Čech | \n", "2016 | \n", "29 | \n", "
341 | \n", "2 | \n", "Manchester City | \n", "38 | \n", "23 | \n", "9 | \n", "6 | \n", "66 | \n", "34 | \n", "78 | \n", "46974 | \n", "Edin Džeko - 14 | \n", "Joe Hart | \n", "2013 | \n", "32 | \n", "
441 | \n", "2 | \n", "Manchester Utd | \n", "38 | \n", "25 | \n", "6 | \n", "7 | \n", "68 | \n", "28 | \n", "81 | \n", "74976 | \n", "Romelu Lukaku - 16 | \n", "David de Gea | \n", "2018 | \n", "40 | \n", "