From e2c810674e3656ec080c6fc5a05229b166326cea Mon Sep 17 00:00:00 2001 From: Liam Abourousse Date: Mon, 26 Feb 2024 01:43:23 +0100 Subject: [PATCH] broken line 20 at MachineLearner --- MachineLearner.ipynb | 512 ++++++++++++++++++++++++++++++++++++++++--- WebScrapper.ipynb | 188 ++++++++-------- matches.csv | 62 +++--- 3 files changed, 609 insertions(+), 153 deletions(-) diff --git a/MachineLearner.ipynb b/MachineLearner.ipynb index 4ab23de..83039e5 100644 --- a/MachineLearner.ipynb +++ b/MachineLearner.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -218,7 +218,7 @@ "[5 rows x 27 columns]" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -229,16 +229,16 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(1260, 27)" + "(1272, 27)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -249,7 +249,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -258,7 +258,7 @@ "1520" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -271,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -279,32 +279,32 @@ "text/plain": [ "team\n", "Liverpool 64\n", + "Newcastle United 64\n", + "Everton 64\n", + "Nottingham Forest 64\n", + "Crystal Palace 64\n", + "Manchester City 64\n", + "Fulham 64\n", + "Brighton and Hove Albion 64\n", + "Manchester United 64\n", + "Aston Villa 64\n", + "Arsenal 64\n", + "West Ham United 63\n", "Chelsea 63\n", - "Everton 63\n", - "Nottingham Forest 63\n", - "Crystal Palace 63\n", - "Brentford 63\n", - "Manchester City 63\n", "Wolverhampton Wanderers 63\n", - "Fulham 63\n", - "West Ham United 63\n", - "Newcastle United 63\n", - "Brighton and Hove Albion 63\n", - "Manchester United 63\n", "Tottenham Hotspur 63\n", - "Aston Villa 63\n", - "Arsenal 63\n", - "Bournemouth 62\n", + "Bournemouth 63\n", + "Brentford 63\n", "Leicester City 38\n", "Leeds United 38\n", "Southampton 38\n", + "Burnley 26\n", "Luton Town 25\n", - "Burnley 25\n", "Sheffield United 25\n", "Name: count, dtype: int64" ] }, - "execution_count": 8, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -675,7 +675,7 @@ "[64 rows x 27 columns]" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -686,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -718,7 +718,7 @@ "Matchweek 4 40\n", "Matchweek 3 40\n", "Matchweek 17 38\n", - "Matchweek 26 22\n", + "Matchweek 26 34\n", "Matchweek 27 20\n", "Matchweek 29 20\n", "Matchweek 30 20\n", @@ -734,7 +734,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -745,7 +745,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -753,6 +753,7 @@ "text/plain": [ "date object\n", "time object\n", + "comp object\n", "round object\n", "day object\n", "venue object\n", @@ -768,6 +769,7 @@ "formation object\n", "referee object\n", "match report object\n", + "notes float64\n", "sh float64\n", "sot float64\n", "dist float64\n", @@ -779,7 +781,7 @@ "dtype: object" ] }, - "execution_count": 18, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -790,16 +792,18 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "#deleted comp and notes" + "#deleted comp and notes\n", + "del matches[\"comp\"]\n", + "del matches[\"notes\"]\n" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -808,12 +812,452 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "matches[\"target\"] = (matches[\"result\"] == \"W\").astype(\"int\")" ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
datetimerounddayvenueresultgfgaopponentxg...match reportshsotdistfkpkpkattseasonteamtarget
02023-08-1316:30Matchweek 1SunAwayD1.01.0Chelsea1.3...Match Report13.01.017.80.0002024Liverpool0
12023-08-1915:00Matchweek 2SatHomeW3.01.0Bournemouth3.0...Match Report25.09.016.81.0012024Liverpool1
22023-08-2716:30Matchweek 3SunAwayW2.01.0Newcastle Utd0.9...Match Report9.04.017.21.0002024Liverpool1
32023-09-0314:00Matchweek 4SunHomeW3.00.0Aston Villa2.5...Match Report17.04.014.70.0002024Liverpool1
42023-09-1612:30Matchweek 5SatAwayW3.01.0Wolves2.5...Match Report16.05.015.80.0002024Liverpool1
..................................................................
422023-04-3014:00Matchweek 34SunAwayL1.03.0Newcastle Utd0.8...Match Report4.03.017.30.0002023Southampton0
432023-05-0820:00Matchweek 35MonAwayL3.04.0Nott'ham Forest3.1...Match Report18.04.014.00.0112023Southampton0
442023-05-1315:00Matchweek 36SatHomeL0.02.0Fulham0.4...Match Report5.01.024.20.0002023Southampton0
452023-05-2114:00Matchweek 37SunAwayL1.03.0Brighton0.6...Match Report5.01.013.81.0002023Southampton0
462023-05-2816:30Matchweek 38SunHomeD4.04.0Liverpool1.8...Match Report15.010.017.51.0002023Southampton0
\n", + "

1272 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " date time round day venue result gf ga \\\n", + "0 2023-08-13 16:30 Matchweek 1 Sun Away D 1.0 1.0 \n", + "1 2023-08-19 15:00 Matchweek 2 Sat Home W 3.0 1.0 \n", + "2 2023-08-27 16:30 Matchweek 3 Sun Away W 2.0 1.0 \n", + "3 2023-09-03 14:00 Matchweek 4 Sun Home W 3.0 0.0 \n", + "4 2023-09-16 12:30 Matchweek 5 Sat Away W 3.0 1.0 \n", + ".. ... ... ... ... ... ... ... ... \n", + "42 2023-04-30 14:00 Matchweek 34 Sun Away L 1.0 3.0 \n", + "43 2023-05-08 20:00 Matchweek 35 Mon Away L 3.0 4.0 \n", + "44 2023-05-13 15:00 Matchweek 36 Sat Home L 0.0 2.0 \n", + "45 2023-05-21 14:00 Matchweek 37 Sun Away L 1.0 3.0 \n", + "46 2023-05-28 16:30 Matchweek 38 Sun Home D 4.0 4.0 \n", + "\n", + " opponent xg ... match report sh sot dist fk pk pkatt \\\n", + "0 Chelsea 1.3 ... Match Report 13.0 1.0 17.8 0.0 0 0 \n", + "1 Bournemouth 3.0 ... Match Report 25.0 9.0 16.8 1.0 0 1 \n", + "2 Newcastle Utd 0.9 ... Match Report 9.0 4.0 17.2 1.0 0 0 \n", + "3 Aston Villa 2.5 ... Match Report 17.0 4.0 14.7 0.0 0 0 \n", + "4 Wolves 2.5 ... Match Report 16.0 5.0 15.8 0.0 0 0 \n", + ".. ... ... ... ... ... ... ... ... .. ... \n", + "42 Newcastle Utd 0.8 ... Match Report 4.0 3.0 17.3 0.0 0 0 \n", + "43 Nott'ham Forest 3.1 ... Match Report 18.0 4.0 14.0 0.0 1 1 \n", + "44 Fulham 0.4 ... Match Report 5.0 1.0 24.2 0.0 0 0 \n", + "45 Brighton 0.6 ... Match Report 5.0 1.0 13.8 1.0 0 0 \n", + "46 Liverpool 1.8 ... Match Report 15.0 10.0 17.5 1.0 0 0 \n", + "\n", + " season team target \n", + "0 2024 Liverpool 0 \n", + "1 2024 Liverpool 1 \n", + "2 2024 Liverpool 1 \n", + "3 2024 Liverpool 1 \n", + "4 2024 Liverpool 1 \n", + ".. ... ... ... \n", + "42 2023 Southampton 0 \n", + "43 2023 Southampton 0 \n", + "44 2023 Southampton 0 \n", + "45 2023 Southampton 0 \n", + "46 2023 Southampton 0 \n", + "\n", + "[1272 rows x 26 columns]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "matches" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.ensemble import RandomForestClassifier" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "rf = RandomForestClassifier(n_estimators=50, min_samples_split=10, random_state=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "train = matches[matches[\"date\"] < '2022-01-01']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "test = matches[matches[\"date\"] > '2022-01-01']" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "predictors = [\"venue_code\", \"opp_code\", \"hour\", \"day_code\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "\"None of [Index(['venue_code', 'opp_code', 'hour', 'day_code'], dtype='object')] are in the [columns]\"", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[20], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m rf\u001b[38;5;241m.\u001b[39mfit(\u001b[43mtrain\u001b[49m\u001b[43m[\u001b[49m\u001b[43mpredictors\u001b[49m\u001b[43m]\u001b[49m, train[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtarget\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pandas\\core\\frame.py:4096\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 4094\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_iterator(key):\n\u001b[0;32m 4095\u001b[0m key \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(key)\n\u001b[1;32m-> 4096\u001b[0m indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_indexer_strict\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcolumns\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m[\u001b[38;5;241m1\u001b[39m]\n\u001b[0;32m 4098\u001b[0m \u001b[38;5;66;03m# take() does not accept boolean indexers\u001b[39;00m\n\u001b[0;32m 4099\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(indexer, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdtype\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m) \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mbool\u001b[39m:\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pandas\\core\\indexes\\base.py:6200\u001b[0m, in \u001b[0;36mIndex._get_indexer_strict\u001b[1;34m(self, key, axis_name)\u001b[0m\n\u001b[0;32m 6197\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 6198\u001b[0m keyarr, indexer, new_indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reindex_non_unique(keyarr)\n\u001b[1;32m-> 6200\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_raise_if_missing\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkeyarr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindexer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 6202\u001b[0m keyarr \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtake(indexer)\n\u001b[0;32m 6203\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, Index):\n\u001b[0;32m 6204\u001b[0m \u001b[38;5;66;03m# GH 42790 - Preserve name from an Index\u001b[39;00m\n", + "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python312\\site-packages\\pandas\\core\\indexes\\base.py:6249\u001b[0m, in \u001b[0;36mIndex._raise_if_missing\u001b[1;34m(self, key, indexer, axis_name)\u001b[0m\n\u001b[0;32m 6247\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m nmissing:\n\u001b[0;32m 6248\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m nmissing \u001b[38;5;241m==\u001b[39m \u001b[38;5;28mlen\u001b[39m(indexer):\n\u001b[1;32m-> 6249\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNone of [\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m] are in the [\u001b[39m\u001b[38;5;132;01m{\u001b[39;00maxis_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m]\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 6251\u001b[0m not_found \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(ensure_index(key)[missing_mask\u001b[38;5;241m.\u001b[39mnonzero()[\u001b[38;5;241m0\u001b[39m]]\u001b[38;5;241m.\u001b[39munique())\n\u001b[0;32m 6252\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mnot_found\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m not in index\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[1;31mKeyError\u001b[0m: \"None of [Index(['venue_code', 'opp_code', 'hour', 'day_code'], dtype='object')] are in the [columns]\"" + ] + } + ], + "source": [ + "rf.fit(train[predictors], train[\"target\"])" + ] } ], "metadata": { diff --git a/WebScrapper.ipynb b/WebScrapper.ipynb index db0bf8a..c66e84b 100644 --- a/WebScrapper.ipynb +++ b/WebScrapper.ipynb @@ -76,7 +76,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\4209044294.py:2: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\4209044294.py:2: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n" ] } @@ -116,7 +116,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2517714723.py:1: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\2517714723.py:1: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n" ] } @@ -584,7 +584,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -593,172 +593,172 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:17: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " matches = pd.read_html(data.text, match=\"Scores & Fixtures\")[0]\n", - "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_11488\\2884703943.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", + "C:\\Users\\liamb\\AppData\\Local\\Temp\\ipykernel_23704\\333952979.py:22: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n", " shooting = pd.read_html(data.text, match=\"Shooting\")[0]\n" ] } @@ -796,12 +796,12 @@ " team_data[\"Season\"] = year\n", " team_data[\"Team\"] = team_name\n", " all_matches.append(team_data)\n", - " time.sleep(10)" + " time.sleep(5)" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -810,7 +810,7 @@ "40" ] }, - "execution_count": 20, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -821,7 +821,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -830,7 +830,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -839,7 +839,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -1153,7 +1153,7 @@ " \n", " \n", "\n", - "

1260 rows × 27 columns

\n", + "

1272 rows × 27 columns

\n", "" ], "text/plain": [ @@ -1196,10 +1196,10 @@ "45 0 2023 Southampton \n", "46 0 2023 Southampton \n", "\n", - "[1260 rows x 27 columns]" + "[1272 rows x 27 columns]" ] }, - "execution_count": 23, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1210,7 +1210,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ diff --git a/matches.csv b/matches.csv index 94a4bc9..7e37eca 100644 --- a/matches.csv +++ b/matches.csv @@ -50,6 +50,7 @@ 33,2024-02-10,12:30,Premier League,Matchweek 24,Sat,Home,W,2,0,Everton,1.6,0.3,72.0,52187.0,Rúben Dias,4-1-4-1,John Brooks,Match Report,,19.0,3.0,17.4,0.0,0,0,2024,Manchester City 35,2024-02-17,17:30,Premier League,Matchweek 25,Sat,Home,D,1,1,Chelsea,2.6,1.4,70.0,52178.0,Kyle Walker,4-1-4-1,Andy Madley,Match Report,,31.0,5.0,15.9,1.0,0,0,2024,Manchester City 36,2024-02-20,19:30,Premier League,Matchweek 18,Tue,Home,W,1,0,Brentford,2.3,0.4,70.0,52247.0,Kyle Walker,4-2-3-1,Darren England,Match Report,,25.0,10.0,17.6,0.0,0,0,2024,Manchester City +37,2024-02-24,17:30,Premier League,Matchweek 26,Sat,Away,W,1,0,Bournemouth,1.6,0.9,62.0,11184.0,Rúben Dias,3-2-4-1,Jarred Gillett,Match Report,,15.0,6.0,15.5,1.0,0,0,2024,Manchester City 1,2023-08-12,12:30,Premier League,Matchweek 1,Sat,Home,W,2,1,Nott'ham Forest,0.8,1.2,78.0,59984.0,Martin Ødegaard,4-3-3,Michael Oliver,Match Report,,15.0,7.0,19.1,0.0,0,0,2024,Arsenal 2,2023-08-21,20:00,Premier League,Matchweek 2,Mon,Away,W,1,0,Crystal Palace,2.0,1.0,53.0,24189.0,Martin Ødegaard,4-3-3,David Coote,Match Report,,13.0,2.0,16.4,0.0,1,1,2024,Arsenal 3,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Home,D,2,2,Fulham,3.2,0.6,71.0,59961.0,Martin Ødegaard,4-3-3,Paul Tierney,Match Report,,18.0,9.0,13.8,0.0,1,1,2024,Arsenal @@ -75,6 +76,7 @@ 32,2024-02-04,16:30,Premier League,Matchweek 23,Sun,Home,W,3,1,Liverpool,3.5,0.4,43.0,60374.0,Martin Ødegaard,4-3-3,Anthony Taylor,Match Report,,15.0,7.0,14.2,0.0,0,0,2024,Arsenal 33,2024-02-11,14:00,Premier League,Matchweek 24,Sun,Away,W,6,0,West Ham,3.6,0.2,70.0,62475.0,Martin Ødegaard,4-3-3,Craig Pawson,Match Report,,24.0,11.0,16.0,0.0,1,1,2024,Arsenal 34,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Away,W,5,0,Burnley,2.3,0.3,64.0,21311.0,Martin Ødegaard,4-3-3,Jarred Gillett,Match Report,,15.0,6.0,16.8,1.0,1,1,2024,Arsenal +36,2024-02-24,20:00,Premier League,Matchweek 26,Sat,Home,W,4,1,Newcastle Utd,2.4,0.2,55.0,60298.0,Martin Ødegaard,4-3-3,Paul Tierney,Match Report,,18.0,7.0,13.8,0.0,0,0,2024,Arsenal 0,2023-08-12,17:30,Premier League,Matchweek 1,Sat,Away,L,1.0,5.0,Newcastle Utd,1.8,3.3,48.0,52207.0,John McGinn,4-2-3-1,Andy Madley,Match Report,,16.0,6.0,14.5,1.0,0,0,2024,Aston Villa 1,2023-08-20,14:00,Premier League,Matchweek 2,Sun,Home,W,4.0,0.0,Everton,2.9,0.6,60.0,41694.0,John McGinn,4-2-3-1,Anthony Taylor,Match Report,,12.0,6.0,18.5,0.0,1,1,2024,Aston Villa 3,2023-08-27,14:00,Premier League,Matchweek 3,Sun,Away,W,3.0,1.0,Burnley,2.5,0.7,43.0,21591.0,John McGinn,3-4-3,Michael Salisbury,Match Report,,16.0,6.0,13.4,0.0,0,0,2024,Aston Villa @@ -100,6 +102,7 @@ 33,2024-02-03,17:30,Premier League,Matchweek 23,Sat,Away,W,5.0,0.0,Sheffield Utd,2.2,1.4,63.0,30187.0,John McGinn,4-2-3-1,Paul Tierney,Match Report,,14.0,9.0,15.8,1.0,0,0,2024,Aston Villa 35,2024-02-11,16:30,Premier League,Matchweek 24,Sun,Home,L,1.0,2.0,Manchester Utd,2.4,1.8,56.0,42185.0,John McGinn,4-2-3-1,Robert Jones,Match Report,,23.0,9.0,16.7,1.0,0,0,2024,Aston Villa 36,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Away,W,2.0,1.0,Fulham,1.5,1.5,48.0,24401.0,John McGinn,4-4-2,Lewis Smith,Match Report,,12.0,3.0,16.8,1.0,0,0,2024,Aston Villa +37,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Home,W,4.0,2.0,Nott'ham Forest,3.6,2.6,58.0,,John McGinn,4-4-2,Samuel Barrott,Match Report,,16.0,6.0,14.3,2.0,0,0,2024,Aston Villa 0,2023-08-13,14:00,Premier League,Matchweek 1,Sun,Away,D,2,2,Brentford,1.3,2.2,69.0,17066.0,Son Heung-min,4-2-3-1,Robert Jones,Match Report,,18.0,6.0,19.6,0.0,0,0,2024,Tottenham Hotspur 1,2023-08-19,17:30,Premier League,Matchweek 2,Sat,Home,W,2,0,Manchester Utd,1.7,2.1,55.0,61910.0,Son Heung-min,4-2-3-1,Michael Oliver,Match Report,,17.0,6.0,13.8,0.0,0,0,2024,Tottenham Hotspur 2,2023-08-26,12:30,Premier League,Matchweek 3,Sat,Away,W,2,0,Bournemouth,2.1,0.7,56.0,10567.0,Son Heung-min,4-2-3-1,Tim Robinson,Match Report,,17.0,6.0,16.6,1.0,0,0,2024,Tottenham Hotspur @@ -150,6 +153,7 @@ 32,2024-02-04,14:00,Premier League,Matchweek 23,Sun,Home,W,3.0,0.0,West Ham,0.7,1.4,51.0,73612.0,Bruno Fernandes,4-2-3-1,Andy Madley,Match Report,,12.0,5.0,20.4,0.0,0,0,2024,Manchester United 33,2024-02-11,16:30,Premier League,Matchweek 24,Sun,Away,W,2.0,1.0,Aston Villa,1.8,2.4,44.0,42185.0,Bruno Fernandes,4-2-3-1,Robert Jones,Match Report,,17.0,5.0,14.6,0.0,0,0,2024,Manchester United 34,2024-02-18,16:30,Premier League,Matchweek 25,Sun,Away,W,2.0,1.0,Luton Town,2.9,1.8,42.0,11483.0,Bruno Fernandes,4-2-3-1,David Coote,Match Report,,21.0,8.0,19.8,2.0,0,0,2024,Manchester United +35,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Home,L,1.0,2.0,Fulham,1.7,1.1,56.0,73487.0,Bruno Fernandes,4-2-3-1,Michael Oliver,Match Report,,21.0,8.0,17.4,0.0,0,0,2024,Manchester United 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Home,W,4.0,1.0,Luton Town,4.0,1.5,70.0,31872.0,Lewis Dunk,4-2-3-1,David Coote,Match Report,,26.0,11.0,17.0,0.0,1,1,2024,Brighton and Hove Albion 1,2023-08-19,15:00,Premier League,Matchweek 2,Sat,Away,W,4.0,1.0,Wolves,2.2,2.1,53.0,31317.0,Lewis Dunk,4-2-3-1,Andy Madley,Match Report,,16.0,8.0,15.6,0.0,0,0,2024,Brighton and Hove Albion 2,2023-08-26,17:30,Premier League,Matchweek 3,Sat,Home,L,1.0,3.0,West Ham,1.5,3.0,78.0,31508.0,Lewis Dunk,4-2-3-1,Anthony Taylor,Match Report,,25.0,10.0,19.5,1.0,0,0,2024,Brighton and Hove Albion @@ -175,6 +179,7 @@ 31,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Home,W,4.0,1.0,Crystal Palace,1.4,0.3,68.0,31345.0,Lewis Dunk,3-4-3,Simon Hooper,Match Report,,13.0,6.0,16.7,0.0,0,0,2024,Brighton and Hove Albion 32,2024-02-10,15:00,Premier League,Matchweek 24,Sat,Away,L,1.0,2.0,Tottenham,1.2,1.6,48.0,61445.0,Lewis Dunk,4-2-3-1,Samuel Barrott,Match Report,,5.0,2.0,17.8,0.0,1,1,2024,Brighton and Hove Albion 33,2024-02-18,14:00,Premier League,Matchweek 25,Sun,Away,W,5.0,0.0,Sheffield Utd,2.9,0.6,79.0,29522.0,Lewis Dunk,4-2-3-1,Stuart Attwell,Match Report,,24.0,9.0,15.1,0.0,0,0,2024,Brighton and Hove Albion +34,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Home,D,1.0,1.0,Everton,1.3,0.3,64.0,41646.0,Lewis Dunk,4-2-3-1,Tony Harrington,Match Report,,23.0,7.0,16.3,1.0,0,0,2024,Brighton and Hove Albion 0,2023-08-12,17:30,Premier League,Matchweek 1,Sat,Home,W,5,1,Aston Villa,3.3,1.8,52.0,52207.0,Kieran Trippier,4-3-3,Andy Madley,Match Report,,17.0,12.0,13.2,0.0,0,0,2024,Newcastle United 1,2023-08-19,20:00,Premier League,Matchweek 2,Sat,Away,L,0,1,Manchester City,0.3,1.0,41.0,53419.0,Kieran Trippier,4-3-3,Robert Jones,Match Report,,7.0,1.0,20.3,0.0,0,0,2024,Newcastle United 2,2023-08-27,16:30,Premier League,Matchweek 3,Sun,Home,L,1,2,Liverpool,2.0,0.9,59.0,52214.0,Kieran Trippier,4-3-3,John Brooks,Match Report,,23.0,8.0,18.3,1.0,0,0,2024,Newcastle United @@ -200,6 +205,7 @@ 33,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Home,D,4,4,Luton Town,2.3,2.4,55.0,52211.0,Kieran Trippier,4-3-3,Thomas Bramall,Match Report,,19.0,6.0,16.3,0.0,0,0,2024,Newcastle United 34,2024-02-10,17:30,Premier League,Matchweek 24,Sat,Away,W,3,2,Nott'ham Forest,0.5,1.5,61.0,29451.0,Kieran Trippier,4-3-3,Anthony Taylor,Match Report,,7.0,5.0,19.2,0.0,0,0,2024,Newcastle United 35,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Home,D,2,2,Bournemouth,2.2,2.2,62.0,52224.0,Kieran Trippier,4-3-3,Michael Salisbury,Match Report,,16.0,4.0,19.4,0.0,1,1,2024,Newcastle United +36,2024-02-24,20:00,Premier League,Matchweek 26,Sat,Away,L,1,4,Arsenal,0.2,2.4,45.0,60298.0,Kieran Trippier,4-3-3,Paul Tierney,Match Report,,3.0,2.0,14.6,0.0,0,0,2024,Newcastle United 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Away,D,1.0,1.0,Bournemouth,1.1,1.3,38.0,11245.0,Kurt Zouma,4-2-3-1,Peter Bankes,Match Report,,16.0,2.0,16.1,0.0,0,0,2024,West Ham United 1,2023-08-20,16:30,Premier League,Matchweek 2,Sun,Home,W,3.0,1.0,Chelsea,1.8,2.5,25.0,62451.0,Kurt Zouma,4-2-3-1,John Brooks,Match Report,,11.0,5.0,19.6,0.0,1,1,2024,West Ham United 2,2023-08-26,17:30,Premier League,Matchweek 3,Sat,Away,W,3.0,1.0,Brighton,3.0,1.5,22.0,31508.0,Kurt Zouma,4-1-4-1,Anthony Taylor,Match Report,,12.0,7.0,12.3,0.0,0,0,2024,West Ham United @@ -300,6 +306,33 @@ 30,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Away,D,2,2,Burnley,1.5,1.8,56.0,20203.0,Tim Ream,4-2-3-1,Darren Bond,Match Report,,15.0,7.0,13.2,0.0,0,0,2024,Fulham 31,2024-02-10,15:00,Premier League,Matchweek 24,Sat,Home,W,3,1,Bournemouth,1.6,1.8,49.0,24271.0,Tom Cairney,4-2-3-1,Darren England,Match Report,,7.0,6.0,11.4,0.0,0,0,2024,Fulham 32,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Home,L,1,2,Aston Villa,1.5,1.5,52.0,24401.0,Tom Cairney,4-2-3-1,Lewis Smith,Match Report,,15.0,4.0,14.7,0.0,0,0,2024,Fulham +33,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Away,W,2,1,Manchester Utd,1.1,1.7,44.0,73487.0,Harrison Reed,4-2-3-1,Michael Oliver,Match Report,,17.0,5.0,17.0,0.0,0,0,2024,Fulham +0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Away,W,1.0,0.0,Sheffield Utd,1.9,0.5,68.0,31194.0,Joel Ward,4-2-3-1,John Brooks,Match Report,,24.0,8.0,18.5,1.0,0,0,2024,Crystal Palace +1,2023-08-21,20:00,Premier League,Matchweek 2,Mon,Home,L,0.0,1.0,Arsenal,1.0,2.0,47.0,24189.0,Joel Ward,4-2-3-1,David Coote,Match Report,,14.0,2.0,16.4,1.0,0,0,2024,Crystal Palace +2,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Away,D,1.0,1.0,Brentford,0.8,1.0,40.0,16997.0,Joel Ward,4-2-3-1,Peter Bankes,Match Report,,15.0,5.0,16.9,1.0,0,0,2024,Crystal Palace +4,2023-09-03,14:00,Premier League,Matchweek 4,Sun,Home,W,3.0,2.0,Wolves,2.1,1.2,43.0,24741.0,Joel Ward,4-3-3,Robert Jones,Match Report,,16.0,10.0,13.8,1.0,0,0,2024,Crystal Palace +5,2023-09-16,15:00,Premier League,Matchweek 5,Sat,Away,L,1.0,3.0,Aston Villa,1.2,3.0,34.0,40809.0,Joel Ward,4-4-1-1,Darren England,Match Report,,6.0,3.0,16.1,0.0,0,0,2024,Crystal Palace +6,2023-09-23,15:00,Premier League,Matchweek 6,Sat,Home,D,0.0,0.0,Fulham,0.3,0.6,51.0,25072.0,Joel Ward,4-2-3-1,Paul Tierney,Match Report,,7.0,3.0,18.9,1.0,0,0,2024,Crystal Palace +8,2023-09-30,15:00,Premier League,Matchweek 7,Sat,Away,W,1.0,0.0,Manchester Utd,0.9,1.3,23.0,73428.0,Joel Ward,4-3-3,Chris Kavanagh,Match Report,,8.0,2.0,13.5,0.0,0,0,2024,Crystal Palace +9,2023-10-07,17:30,Premier League,Matchweek 8,Sat,Home,D,0.0,0.0,Nott'ham Forest,0.8,1.0,52.0,25017.0,Marc Guéhi,4-3-3,Craig Pawson,Match Report,,8.0,2.0,15.2,0.0,0,0,2024,Crystal Palace +10,2023-10-21,15:00,Premier League,Matchweek 9,Sat,Away,L,0.0,4.0,Newcastle Utd,1.2,2.4,41.0,52189.0,Joel Ward,4-3-3,Tim Robinson,Match Report,,17.0,3.0,17.8,1.0,0,0,2024,Crystal Palace +11,2023-10-27,20:00,Premier League,Matchweek 10,Fri,Home,L,1.0,2.0,Tottenham,0.6,1.1,25.0,25074.0,Joel Ward,4-2-3-1,Andy Madley,Match Report,,13.0,3.0,17.2,0.0,0,0,2024,Crystal Palace +12,2023-11-04,15:00,Premier League,Matchweek 11,Sat,Away,W,2.0,0.0,Burnley,1.3,1.1,33.0,21578.0,Joel Ward,4-2-3-1,Peter Bankes,Match Report,,4.0,3.0,13.9,0.0,0,0,2024,Crystal Palace +13,2023-11-11,15:00,Premier League,Matchweek 12,Sat,Home,L,2.0,3.0,Everton,2.2,1.5,67.0,25103.0,Joel Ward,4-2-3-1,Samuel Barrott,Match Report,,12.0,3.0,17.9,0.0,1,1,2024,Crystal Palace +14,2023-11-25,15:00,Premier League,Matchweek 13,Sat,Away,L,1.0,2.0,Luton Town,1.6,0.9,61.0,11029.0,Joel Ward,4-2-3-1,Jarred Gillett,Match Report,,16.0,8.0,16.3,1.0,0,0,2024,Crystal Palace +15,2023-12-03,14:00,Premier League,Matchweek 14,Sun,Away,D,1.0,1.0,West Ham,0.9,1.1,45.0,62414.0,Joel Ward,4-3-3,Michael Oliver,Match Report,,9.0,2.0,17.4,1.0,0,0,2024,Crystal Palace +16,2023-12-06,19:30,Premier League,Matchweek 15,Wed,Home,L,0.0,2.0,Bournemouth,1.0,1.8,59.0,25078.0,Joel Ward,4-2-3-1,Craig Pawson,Match Report,,16.0,3.0,18.9,1.0,0,0,2024,Crystal Palace +17,2023-12-09,12:30,Premier League,Matchweek 16,Sat,Home,L,1.0,2.0,Liverpool,1.7,1.2,24.0,25103.0,Joel Ward,4-3-3,Andy Madley,Match Report,,7.0,3.0,17.4,0.0,1,1,2024,Crystal Palace +18,2023-12-16,15:00,Premier League,Matchweek 17,Sat,Away,D,2.0,2.0,Manchester City,1.8,1.6,26.0,53248.0,Joel Ward,5-4-1,Paul Tierney,Match Report,,4.0,1.0,21.1,1.0,1,1,2024,Crystal Palace +19,2023-12-21,20:00,Premier League,Matchweek 18,Thu,Home,D,1.0,1.0,Brighton,1.3,1.2,35.0,24171.0,Marc Guéhi,4-3-3,John Brooks,Match Report,,11.0,3.0,13.4,0.0,0,0,2024,Crystal Palace +20,2023-12-27,19:30,Premier League,Matchweek 19,Wed,Away,L,1.0,2.0,Chelsea,1.1,2.6,37.0,39618.0,Marc Guéhi,4-3-3,Michael Salisbury,Match Report,,13.0,5.0,19.6,2.0,0,0,2024,Crystal Palace +21,2023-12-30,15:00,Premier League,Matchweek 20,Sat,Home,W,3.0,1.0,Brentford,1.0,1.4,47.0,25472.0,Marc Guéhi,4-3-3,Robert Jones,Match Report,,13.0,6.0,16.2,0.0,0,0,2024,Crystal Palace +24,2024-01-20,12:30,Premier League,Matchweek 21,Sat,Away,L,0.0,5.0,Arsenal,0.3,3.3,40.0,60284.0,Marc Guéhi,3-4-3,Paul Tierney,Match Report,,12.0,5.0,24.4,2.0,0,0,2024,Crystal Palace +25,2024-01-30,20:00,Premier League,Matchweek 22,Tue,Home,W,3.0,2.0,Sheffield Utd,1.1,0.8,53.0,24781.0,Marc Guéhi,4-3-3,Tony Harrington,Match Report,,12.0,4.0,17.1,0.0,0,0,2024,Crystal Palace +26,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Away,L,1.0,4.0,Brighton,0.3,1.4,32.0,31345.0,Marc Guéhi,4-3-3,Simon Hooper,Match Report,,7.0,5.0,20.6,0.0,0,0,2024,Crystal Palace +27,2024-02-12,20:00,Premier League,Matchweek 24,Mon,Home,L,1.0,3.0,Chelsea,0.6,1.4,23.0,25110.0,Joachim Andersen,4-1-4-1,Michael Oliver,Match Report,,13.0,4.0,18.7,0.0,0,0,2024,Crystal Palace +28,2024-02-19,20:00,Premier League,Matchweek 25,Mon,Away,D,1.0,1.0,Everton,0.7,1.7,39.0,38164.0,Joel Ward,3-4-3,Paul Tierney,Match Report,,10.0,3.0,13.0,0.0,0,0,2024,Crystal Palace +29,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Home,W,3.0,0.0,Burnley,2.4,0.1,56.0,24042.0,Joel Ward,3-4-3,Lewis Smith,Match Report,,14.0,5.0,15.3,1.0,1,1,2024,Crystal Palace 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Home,D,1.0,1.0,West Ham,1.3,1.1,62.0,11245.0,Neto,4-2-3-1,Peter Bankes,Match Report,,14.0,5.0,20.7,1.0,0,0,2024,Bournemouth 1,2023-08-19,15:00,Premier League,Matchweek 2,Sat,Away,L,1.0,3.0,Liverpool,1.3,3.0,36.0,53145.0,Neto,4-2-3-1,Thomas Bramall,Match Report,,13.0,5.0,19.7,1.0,0,0,2024,Bournemouth 2,2023-08-26,12:30,Premier League,Matchweek 3,Sat,Home,L,0.0,2.0,Tottenham,0.7,2.1,44.0,10567.0,Neto,4-2-3-1,Tim Robinson,Match Report,,11.0,3.0,17.8,0.0,0,0,2024,Bournemouth @@ -324,6 +357,7 @@ 26,2024-02-04,14:00,Premier League,Matchweek 23,Sun,Home,D,1.0,1.0,Nott'ham Forest,1.3,0.5,45.0,11200.0,Neto,4-2-3-1,Rebecca Welch,Match Report,,9.0,1.0,16.7,1.0,0,0,2024,Bournemouth 27,2024-02-10,15:00,Premier League,Matchweek 24,Sat,Away,L,1.0,3.0,Fulham,1.8,1.6,51.0,24271.0,Neto,4-2-3-1,Darren England,Match Report,,25.0,4.0,16.7,1.0,0,0,2024,Bournemouth 28,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Away,D,2.0,2.0,Newcastle Utd,2.2,2.2,38.0,52224.0,Neto,4-2-3-1,Michael Salisbury,Match Report,,12.0,6.0,20.3,0.0,0,0,2024,Bournemouth +29,2024-02-24,17:30,Premier League,Matchweek 26,Sat,Home,L,0.0,1.0,Manchester City,0.9,1.6,38.0,11184.0,Neto,4-2-3-1,Jarred Gillett,Match Report,,13.0,4.0,17.1,0.0,0,0,2024,Bournemouth 0,2023-08-13,14:00,Premier League,Matchweek 1,Sun,Home,D,2,2,Tottenham,2.2,1.3,31.0,17066.0,Christian Nørgaard,5-3-2,Robert Jones,Match Report,,10.0,5.0,18.0,0.0,1,1,2024,Brentford 1,2023-08-19,15:00,Premier League,Matchweek 2,Sat,Away,W,3,0,Fulham,3.7,0.5,45.0,24236.0,Christian Nørgaard,4-3-3,Darren Bond,Match Report,,16.0,7.0,13.8,1.0,1,1,2024,Brentford 2,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Home,D,1,1,Crystal Palace,1.0,0.8,60.0,16997.0,Christian Nørgaard,4-3-3,Peter Bankes,Match Report,,12.0,1.0,13.7,0.0,0,0,2024,Brentford @@ -349,31 +383,6 @@ 26,2024-02-10,15:00,Premier League,Matchweek 24,Sat,Away,W,2,0,Wolves,1.9,1.0,29.0,30731.0,Christian Nørgaard,3-5-2,Simon Hooper,Match Report,,9.0,6.0,14.0,0.0,0,0,2024,Brentford 27,2024-02-17,12:30,Premier League,Matchweek 25,Sat,Home,L,1,4,Liverpool,1.6,2.8,38.0,17193.0,Christian Nørgaard,3-5-2,Michael Oliver,Match Report,,15.0,6.0,19.8,3.0,0,0,2024,Brentford 28,2024-02-20,19:30,Premier League,Matchweek 18,Tue,Away,L,0,1,Manchester City,0.4,2.3,30.0,52247.0,Christian Nørgaard,3-5-2,Darren England,Match Report,,6.0,2.0,19.4,1.0,0,0,2024,Brentford -0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Away,W,1.0,0.0,Sheffield Utd,1.9,0.5,68.0,31194.0,Joel Ward,4-2-3-1,John Brooks,Match Report,,24.0,8.0,18.5,1.0,0,0,2024,Crystal Palace -1,2023-08-21,20:00,Premier League,Matchweek 2,Mon,Home,L,0.0,1.0,Arsenal,1.0,2.0,47.0,24189.0,Joel Ward,4-2-3-1,David Coote,Match Report,,14.0,2.0,16.4,1.0,0,0,2024,Crystal Palace -2,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Away,D,1.0,1.0,Brentford,0.8,1.0,40.0,16997.0,Joel Ward,4-2-3-1,Peter Bankes,Match Report,,15.0,5.0,16.9,1.0,0,0,2024,Crystal Palace -4,2023-09-03,14:00,Premier League,Matchweek 4,Sun,Home,W,3.0,2.0,Wolves,2.1,1.2,43.0,24741.0,Joel Ward,4-3-3,Robert Jones,Match Report,,16.0,10.0,13.8,1.0,0,0,2024,Crystal Palace -5,2023-09-16,15:00,Premier League,Matchweek 5,Sat,Away,L,1.0,3.0,Aston Villa,1.2,3.0,34.0,40809.0,Joel Ward,4-4-1-1,Darren England,Match Report,,6.0,3.0,16.1,0.0,0,0,2024,Crystal Palace -6,2023-09-23,15:00,Premier League,Matchweek 6,Sat,Home,D,0.0,0.0,Fulham,0.3,0.6,51.0,25072.0,Joel Ward,4-2-3-1,Paul Tierney,Match Report,,7.0,3.0,18.9,1.0,0,0,2024,Crystal Palace -8,2023-09-30,15:00,Premier League,Matchweek 7,Sat,Away,W,1.0,0.0,Manchester Utd,0.9,1.3,23.0,73428.0,Joel Ward,4-3-3,Chris Kavanagh,Match Report,,8.0,2.0,13.5,0.0,0,0,2024,Crystal Palace -9,2023-10-07,17:30,Premier League,Matchweek 8,Sat,Home,D,0.0,0.0,Nott'ham Forest,0.8,1.0,52.0,25017.0,Marc Guéhi,4-3-3,Craig Pawson,Match Report,,8.0,2.0,15.2,0.0,0,0,2024,Crystal Palace -10,2023-10-21,15:00,Premier League,Matchweek 9,Sat,Away,L,0.0,4.0,Newcastle Utd,1.2,2.4,41.0,52189.0,Joel Ward,4-3-3,Tim Robinson,Match Report,,17.0,3.0,17.8,1.0,0,0,2024,Crystal Palace -11,2023-10-27,20:00,Premier League,Matchweek 10,Fri,Home,L,1.0,2.0,Tottenham,0.6,1.1,25.0,25074.0,Joel Ward,4-2-3-1,Andy Madley,Match Report,,13.0,3.0,17.2,0.0,0,0,2024,Crystal Palace -12,2023-11-04,15:00,Premier League,Matchweek 11,Sat,Away,W,2.0,0.0,Burnley,1.3,1.1,33.0,21578.0,Joel Ward,4-2-3-1,Peter Bankes,Match Report,,4.0,3.0,13.9,0.0,0,0,2024,Crystal Palace -13,2023-11-11,15:00,Premier League,Matchweek 12,Sat,Home,L,2.0,3.0,Everton,2.2,1.5,67.0,25103.0,Joel Ward,4-2-3-1,Samuel Barrott,Match Report,,12.0,3.0,17.9,0.0,1,1,2024,Crystal Palace -14,2023-11-25,15:00,Premier League,Matchweek 13,Sat,Away,L,1.0,2.0,Luton Town,1.6,0.9,61.0,11029.0,Joel Ward,4-2-3-1,Jarred Gillett,Match Report,,16.0,8.0,16.3,1.0,0,0,2024,Crystal Palace -15,2023-12-03,14:00,Premier League,Matchweek 14,Sun,Away,D,1.0,1.0,West Ham,0.9,1.1,45.0,62414.0,Joel Ward,4-3-3,Michael Oliver,Match Report,,9.0,2.0,17.4,1.0,0,0,2024,Crystal Palace -16,2023-12-06,19:30,Premier League,Matchweek 15,Wed,Home,L,0.0,2.0,Bournemouth,1.0,1.8,59.0,25078.0,Joel Ward,4-2-3-1,Craig Pawson,Match Report,,16.0,3.0,18.9,1.0,0,0,2024,Crystal Palace -17,2023-12-09,12:30,Premier League,Matchweek 16,Sat,Home,L,1.0,2.0,Liverpool,1.7,1.2,24.0,25103.0,Joel Ward,4-3-3,Andy Madley,Match Report,,7.0,3.0,17.4,0.0,1,1,2024,Crystal Palace -18,2023-12-16,15:00,Premier League,Matchweek 17,Sat,Away,D,2.0,2.0,Manchester City,1.8,1.6,26.0,53248.0,Joel Ward,5-4-1,Paul Tierney,Match Report,,4.0,1.0,21.1,1.0,1,1,2024,Crystal Palace -19,2023-12-21,20:00,Premier League,Matchweek 18,Thu,Home,D,1.0,1.0,Brighton,1.3,1.2,35.0,24171.0,Marc Guéhi,4-3-3,John Brooks,Match Report,,11.0,3.0,13.4,0.0,0,0,2024,Crystal Palace -20,2023-12-27,19:30,Premier League,Matchweek 19,Wed,Away,L,1.0,2.0,Chelsea,1.1,2.6,37.0,39618.0,Marc Guéhi,4-3-3,Michael Salisbury,Match Report,,13.0,5.0,19.6,2.0,0,0,2024,Crystal Palace -21,2023-12-30,15:00,Premier League,Matchweek 20,Sat,Home,W,3.0,1.0,Brentford,1.0,1.4,47.0,25472.0,Marc Guéhi,4-3-3,Robert Jones,Match Report,,13.0,6.0,16.2,0.0,0,0,2024,Crystal Palace -24,2024-01-20,12:30,Premier League,Matchweek 21,Sat,Away,L,0.0,5.0,Arsenal,0.3,3.3,40.0,60284.0,Marc Guéhi,3-4-3,Paul Tierney,Match Report,,12.0,5.0,24.4,2.0,0,0,2024,Crystal Palace -25,2024-01-30,20:00,Premier League,Matchweek 22,Tue,Home,W,3.0,2.0,Sheffield Utd,1.1,0.8,53.0,24781.0,Marc Guéhi,4-3-3,Tony Harrington,Match Report,,12.0,4.0,17.1,0.0,0,0,2024,Crystal Palace -26,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Away,L,1.0,4.0,Brighton,0.3,1.4,32.0,31345.0,Marc Guéhi,4-3-3,Simon Hooper,Match Report,,7.0,5.0,20.6,0.0,0,0,2024,Crystal Palace -27,2024-02-12,20:00,Premier League,Matchweek 24,Mon,Home,L,1.0,3.0,Chelsea,0.6,1.4,23.0,25110.0,Joachim Andersen,4-1-4-1,Michael Oliver,Match Report,,13.0,4.0,18.7,0.0,0,0,2024,Crystal Palace -28,2024-02-19,20:00,Premier League,Matchweek 25,Mon,Away,D,1.0,1.0,Everton,0.7,1.7,39.0,38164.0,Joel Ward,3-4-3,Paul Tierney,Match Report,,10.0,3.0,13.0,0.0,0,0,2024,Crystal Palace 0,2023-08-12,12:30,Premier League,Matchweek 1,Sat,Away,L,1,2,Arsenal,1.2,0.8,22.0,59984.0,Joe Worrall,3-4-3,Michael Oliver,Match Report,,6.0,2.0,17.3,0.0,0,0,2024,Nottingham Forest 1,2023-08-18,19:45,Premier League,Matchweek 2,Fri,Home,W,2,1,Sheffield Utd,1.4,0.5,50.0,29432.0,Joe Worrall,3-4-3,Peter Bankes,Match Report,,16.0,4.0,15.6,0.0,0,0,2024,Nottingham Forest 2,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Away,L,2,3,Manchester Utd,1.2,2.8,34.0,73595.0,Joe Worrall,3-4-3,Stuart Attwell,Match Report,,9.0,4.0,14.7,0.0,0,0,2024,Nottingham Forest @@ -399,6 +408,7 @@ 26,2024-02-04,14:00,Premier League,Matchweek 23,Sun,Away,D,1,1,Bournemouth,0.5,1.3,55.0,11200.0,Ryan Yates,4-2-3-1,Rebecca Welch,Match Report,,8.0,6.0,19.9,0.0,0,0,2024,Nottingham Forest 28,2024-02-10,17:30,Premier League,Matchweek 24,Sat,Home,L,2,3,Newcastle Utd,1.5,0.5,39.0,29451.0,Ryan Yates,4-2-3-1,Anthony Taylor,Match Report,,13.0,3.0,21.8,0.0,0,0,2024,Nottingham Forest 29,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Home,W,2,0,West Ham,2.8,0.5,49.0,29490.0,Morgan Gibbs-White,4-2-3-1,Thomas Bramall,Match Report,,19.0,8.0,16.5,0.0,0,0,2024,Nottingham Forest +30,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Away,L,2,4,Aston Villa,2.6,3.6,42.0,,Morgan Gibbs-White,4-2-3-1,Samuel Barrott,Match Report,,10.0,3.0,16.4,0.0,0,0,2024,Nottingham Forest 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Home,L,0,1,Fulham,2.7,1.5,42.0,39940.0,James Tarkowski,4-4-1-1,Stuart Attwell,Match Report,,19.0,9.0,15.8,0.0,0,0,2024,Everton 1,2023-08-20,14:00,Premier League,Matchweek 2,Sun,Away,L,0,4,Aston Villa,0.6,2.9,40.0,41694.0,James Tarkowski,4-1-4-1,Anthony Taylor,Match Report,,9.0,2.0,14.7,0.0,0,0,2024,Everton 2,2023-08-26,15:00,Premier League,Matchweek 3,Sat,Home,L,0,1,Wolves,1.3,1.1,47.0,38851.0,James Tarkowski,4-1-4-1,Craig Pawson,Match Report,,15.0,7.0,13.8,0.0,0,0,2024,Everton @@ -424,6 +434,7 @@ 29,2024-02-03,12:30,Premier League,Matchweek 23,Sat,Home,D,2,2,Tottenham,2.6,1.0,43.0,39321.0,James Tarkowski,4-4-1-1,Michael Oliver,Match Report,,14.0,4.0,14.3,0.0,0,0,2024,Everton 30,2024-02-10,12:30,Premier League,Matchweek 24,Sat,Away,L,0,2,Manchester City,0.3,1.6,28.0,52187.0,James Tarkowski,4-2-3-1,John Brooks,Match Report,,5.0,1.0,22.9,0.0,0,0,2024,Everton 31,2024-02-19,20:00,Premier League,Matchweek 25,Mon,Home,D,1,1,Crystal Palace,1.7,0.7,61.0,38164.0,James Tarkowski,4-4-1-1,Paul Tierney,Match Report,,19.0,4.0,16.4,1.0,0,0,2024,Everton +32,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Away,D,1,1,Brighton,0.3,1.3,36.0,41646.0,James Tarkowski,4-4-1-1,Tony Harrington,Match Report,,6.0,2.0,16.0,0.0,0,0,2024,Everton 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Away,L,1.0,4.0,Brighton,1.5,4.0,30.0,31872.0,Tom Lockyer,3-5-2,David Coote,Match Report,,8.0,2.0,16.6,0.0,1,1,2024,Luton Town 1,2023-08-25,20:00,Premier League,Matchweek 3,Fri,Away,L,0.0,3.0,Chelsea,0.4,2.2,33.0,39893.0,Tom Lockyer,5-3-2,Robert Jones,Match Report,,11.0,1.0,19.0,1.0,0,0,2024,Luton Town 3,2023-09-01,20:00,Premier League,Matchweek 4,Fri,Home,L,1.0,2.0,West Ham,1.4,1.0,39.0,10802.0,Carlton Morris,5-3-2,Paul Tierney,Match Report,,16.0,1.0,11.9,0.0,0,0,2024,Luton Town @@ -474,6 +485,7 @@ 26,2024-02-03,15:00,Premier League,Matchweek 23,Sat,Home,D,2.0,2.0,Fulham,1.8,1.5,44.0,20203.0,Josh Brownhill,4-4-2,Darren Bond,Match Report,,12.0,4.0,15.4,0.0,0,0,2024,Burnley 27,2024-02-10,15:00,Premier League,Matchweek 24,Sat,Away,L,1.0,3.0,Liverpool,1.3,2.8,30.0,59896.0,Josh Brownhill,4-4-2,Tim Robinson,Match Report,,9.0,4.0,17.6,0.0,0,0,2024,Burnley 28,2024-02-17,15:00,Premier League,Matchweek 25,Sat,Home,L,0.0,5.0,Arsenal,0.3,2.3,36.0,21311.0,Josh Brownhill,4-4-2,Jarred Gillett,Match Report,,8.0,0.0,18.6,0.0,0,0,2024,Burnley +29,2024-02-24,15:00,Premier League,Matchweek 26,Sat,Away,L,0.0,3.0,Crystal Palace,0.1,2.4,44.0,24042.0,Josh Brownhill,4-4-2,Lewis Smith,Match Report,,2.0,0.0,12.0,0.0,0,0,2024,Burnley 0,2023-08-12,15:00,Premier League,Matchweek 1,Sat,Home,L,0,1,Crystal Palace,0.5,1.9,32.0,31194.0,John Egan,3-4-3,John Brooks,Match Report,,8.0,1.0,19.4,0.0,0,0,2024,Sheffield United 1,2023-08-18,19:45,Premier League,Matchweek 2,Fri,Away,L,1,2,Nott'ham Forest,0.5,1.4,50.0,29432.0,John Egan,3-4-3,Peter Bankes,Match Report,,7.0,3.0,18.8,0.0,0,0,2024,Sheffield United 2,2023-08-27,14:00,Premier League,Matchweek 3,Sun,Home,L,1,2,Manchester City,0.7,3.5,21.0,31336.0,John Egan,3-5-2,Jarred Gillett,Match Report,,6.0,1.0,16.1,0.0,0,0,2024,Sheffield United