commit cfcaa3f321669f62aac98b049f4ce0c6bf1d2d8f Author: Koushik R Kirugulige Date: Mon Jun 3 17:01:10 2019 +0530 adding 5 ipynb files diff --git a/PassMap.ipynb b/PassMap.ipynb new file mode 100644 index 0000000..4e72d56 --- /dev/null +++ b/PassMap.ipynb @@ -0,0 +1,2325 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "import json\n", + "import os\n", + "from pandas.io.json import json_normalize\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.patches import Arc, Rectangle, ConnectionPatch\n", + "from matplotlib.offsetbox import OffsetImage\n", + "#import squarify\n", + "from functools import reduce\n", + "path = \"\"\"C:\\\\Users\\\\Koushik\\\\Downloads\\\\open-data-master\\\\open-data-master\\\\data\\\\my_events\\\\\"\"\"\n", + "Xg_req = pd.DataFrame(data=None)\n", + "for filename in (os.listdir(path)):\n", + " #print(filename)\n", + " \n", + " with open(\"%s\" % path + filename,encoding=\"utf8\") as data_file: \n", + " data = json.load(data_file)\n", + " df = pd.DataFrame(data=None)\n", + " \n", + " df = json_normalize(data, sep = \"_\")\n", + " \n", + " #df = df[(df['type_name'] == \"Shot\")]\n", + " #df = df.loc[:,['location','shot_body_part_id','shot_end_location','shot_one_on_one','shot_technique_id','shot_type_id','under_pressure','shot_outcome_id']]\n", + " #print(df.shape)\n", + " Xg_req = Xg_req.append(df,ignore_index=True,sort=False)\n", + " #df.drop(df.index, inplace=True)\n", + " \n", + "print(\"done\")\n", + "df = Xg_req" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
bad_behaviour_card_idbad_behaviour_card_nameball_receipt_outcome_idball_receipt_outcome_nameball_recovery_offensiveball_recovery_recovery_failureblock_deflectiondribble_nutmegdribble_outcome_iddribble_outcome_name...pass_miscommunicationshot_aerial_wonshot_open_goal50_50_outcome_id50_50_outcome_nameblock_offensivemiscontrol_aerial_wonfoul_committed_penaltyshot_deflectedshot_redirect
204NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
749NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1651NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2741NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3890NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4594NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNTrueNaNNaNNaNNaNNaNNaNNaN
4647NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4784NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNTrueNaNNaNNaNNaNNaNNaNNaNNaN
4918NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
6271NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
7406NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
7924NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
9525NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
10606NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
10877NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNTrueNaN
12291NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
13231NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
13839NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
13975NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
14105NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
14173NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
14561NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
15815NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
15894NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNTrueNaN
15928NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
19882NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
20227NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
20823NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
20917NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
21975NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
..................................................................
152707NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNTrueNaNNaNNaNNaNNaNNaNNaN
155048NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
158183NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
161937NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNTrueNaNNaNNaNNaNNaNNaNNaNNaN
162329NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
163634NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
163781NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
164961NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
165854NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
166107NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNTrue
166301NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
166464NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
166557NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
167304NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
168706NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171222NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171224NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171226NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171228NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171232NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171234NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
171236NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
172725NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNTrueNaNNaNNaNNaNNaNNaNNaN
173646NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNTrueNaNNaNNaNNaNNaNNaNNaN
175473NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
175627NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
176100NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
176213NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNTrueNaNNaNNaNNaNNaNNaNNaNNaN
176750NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
178726NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNTrueNaN
\n", + "

200 rows × 118 columns

\n", + "
" + ], + "text/plain": [ + " bad_behaviour_card_id bad_behaviour_card_name \\\n", + "204 NaN NaN \n", + "749 NaN NaN \n", + "1651 NaN NaN \n", + "2741 NaN NaN \n", + "3890 NaN NaN \n", + "4594 NaN NaN \n", + "4647 NaN NaN \n", + "4784 NaN NaN \n", + "4918 NaN NaN \n", + "6271 NaN NaN \n", + "7406 NaN NaN \n", + "7924 NaN NaN \n", + "9525 NaN NaN \n", + "10606 NaN NaN \n", + "10877 NaN NaN \n", + "12291 NaN NaN \n", + "13231 NaN NaN \n", + "13839 NaN NaN \n", + "13975 NaN NaN \n", + "14105 NaN NaN \n", + "14173 NaN NaN \n", + "14561 NaN NaN \n", + "15815 NaN NaN \n", + "15894 NaN NaN \n", + "15928 NaN NaN \n", + "19882 NaN NaN \n", + "20227 NaN NaN \n", + "20823 NaN NaN \n", + "20917 NaN NaN \n", + "21975 NaN NaN \n", + "... ... ... \n", + "152707 NaN NaN \n", + "155048 NaN NaN \n", + "158183 NaN NaN \n", + "161937 NaN NaN \n", + "162329 NaN NaN \n", + "163634 NaN NaN \n", + "163781 NaN NaN \n", + "164961 NaN NaN \n", + "165854 NaN NaN \n", + "166107 NaN NaN \n", + "166301 NaN NaN \n", + "166464 NaN NaN \n", + "166557 NaN NaN \n", + "167304 NaN NaN \n", + "168706 NaN NaN \n", + "171222 NaN NaN \n", + "171224 NaN NaN \n", + "171226 NaN NaN \n", + "171228 NaN NaN \n", + "171232 NaN NaN \n", + "171234 NaN NaN \n", + "171236 NaN NaN \n", + "172725 NaN NaN \n", + "173646 NaN NaN \n", + "175473 NaN NaN \n", + "175627 NaN NaN \n", + "176100 NaN NaN \n", + "176213 NaN NaN \n", + "176750 NaN NaN \n", + "178726 NaN NaN \n", + "\n", + " ball_receipt_outcome_id ball_receipt_outcome_name \\\n", + "204 NaN NaN \n", + "749 NaN NaN \n", + "1651 NaN NaN \n", + "2741 NaN NaN \n", + "3890 NaN NaN \n", + "4594 NaN NaN \n", + "4647 NaN NaN \n", + "4784 NaN NaN \n", + "4918 NaN NaN \n", + "6271 NaN NaN \n", + "7406 NaN NaN \n", + "7924 NaN NaN \n", + "9525 NaN NaN \n", + "10606 NaN NaN \n", + "10877 NaN NaN \n", + "12291 NaN NaN \n", + "13231 NaN NaN \n", + "13839 NaN NaN \n", + "13975 NaN NaN \n", + "14105 NaN NaN \n", + "14173 NaN NaN \n", + "14561 NaN NaN \n", + "15815 NaN NaN \n", + "15894 NaN NaN \n", + "15928 NaN NaN \n", + "19882 NaN NaN \n", + "20227 NaN NaN \n", + "20823 NaN NaN \n", + "20917 NaN NaN \n", + "21975 NaN NaN \n", + "... ... ... \n", + "152707 NaN NaN \n", + "155048 NaN NaN \n", + "158183 NaN NaN \n", + "161937 NaN NaN \n", + "162329 NaN NaN \n", + "163634 NaN NaN \n", + "163781 NaN NaN \n", + "164961 NaN NaN \n", + "165854 NaN NaN \n", + "166107 NaN NaN \n", + "166301 NaN NaN \n", + "166464 NaN NaN \n", + "166557 NaN NaN \n", + "167304 NaN NaN \n", + "168706 NaN NaN \n", + "171222 NaN NaN \n", + "171224 NaN NaN \n", + "171226 NaN NaN \n", + "171228 NaN NaN \n", + "171232 NaN NaN \n", + "171234 NaN NaN \n", + "171236 NaN NaN \n", + "172725 NaN NaN \n", + "173646 NaN NaN \n", + "175473 NaN NaN \n", + "175627 NaN NaN \n", + "176100 NaN NaN \n", + "176213 NaN NaN \n", + "176750 NaN NaN \n", + "178726 NaN NaN \n", + "\n", + " ball_recovery_offensive ball_recovery_recovery_failure \\\n", + "204 NaN NaN \n", + "749 NaN NaN \n", + "1651 NaN NaN \n", + "2741 NaN NaN \n", + "3890 NaN NaN \n", + "4594 NaN NaN \n", + "4647 NaN NaN \n", + "4784 NaN NaN \n", + "4918 NaN NaN \n", + "6271 NaN NaN \n", + "7406 NaN NaN \n", + "7924 NaN NaN \n", + "9525 NaN NaN \n", + "10606 NaN NaN \n", + "10877 NaN NaN \n", + "12291 NaN NaN \n", + "13231 NaN NaN \n", + "13839 NaN NaN \n", + "13975 NaN NaN \n", + "14105 NaN NaN \n", + "14173 NaN NaN \n", + "14561 NaN NaN \n", + "15815 NaN NaN \n", + "15894 NaN NaN \n", + "15928 NaN NaN \n", + "19882 NaN NaN \n", + "20227 NaN NaN \n", + "20823 NaN NaN \n", + "20917 NaN NaN \n", + "21975 NaN NaN \n", + "... ... ... \n", + "152707 NaN NaN \n", + "155048 NaN NaN \n", + "158183 NaN NaN \n", + "161937 NaN NaN \n", + "162329 NaN NaN \n", + "163634 NaN NaN \n", + "163781 NaN NaN \n", + "164961 NaN NaN \n", + "165854 NaN NaN \n", + "166107 NaN NaN \n", + "166301 NaN NaN \n", + "166464 NaN NaN \n", + "166557 NaN NaN \n", + "167304 NaN NaN \n", + "168706 NaN NaN \n", + "171222 NaN NaN \n", + "171224 NaN NaN \n", + "171226 NaN NaN \n", + "171228 NaN NaN \n", + "171232 NaN NaN \n", + "171234 NaN NaN \n", + "171236 NaN NaN \n", + "172725 NaN NaN \n", + "173646 NaN NaN \n", + "175473 NaN NaN \n", + "175627 NaN NaN \n", + "176100 NaN NaN \n", + "176213 NaN NaN \n", + "176750 NaN NaN \n", + "178726 NaN NaN \n", + "\n", + " block_deflection dribble_nutmeg dribble_outcome_id \\\n", + "204 NaN NaN NaN \n", + "749 NaN NaN NaN \n", + "1651 NaN NaN NaN \n", + "2741 NaN NaN NaN \n", + "3890 NaN NaN NaN \n", + "4594 NaN NaN NaN \n", + "4647 NaN NaN NaN \n", + "4784 NaN NaN NaN \n", + "4918 NaN NaN NaN \n", + "6271 NaN NaN NaN \n", + "7406 NaN NaN NaN \n", + "7924 NaN NaN NaN \n", + "9525 NaN NaN NaN \n", + "10606 NaN NaN NaN \n", + "10877 NaN NaN NaN \n", + "12291 NaN NaN NaN \n", + "13231 NaN NaN NaN \n", + "13839 NaN NaN NaN \n", + "13975 NaN NaN NaN \n", + "14105 NaN NaN NaN \n", + "14173 NaN NaN NaN \n", + "14561 NaN NaN NaN \n", + "15815 NaN NaN NaN \n", + "15894 NaN NaN NaN \n", + "15928 NaN NaN NaN \n", + "19882 NaN NaN NaN \n", + "20227 NaN NaN NaN \n", + "20823 NaN NaN NaN \n", + "20917 NaN NaN NaN \n", + "21975 NaN NaN NaN \n", + "... ... ... ... \n", + "152707 NaN NaN NaN \n", + "155048 NaN NaN NaN \n", + "158183 NaN NaN NaN \n", + "161937 NaN NaN NaN \n", + "162329 NaN NaN NaN \n", + "163634 NaN NaN NaN \n", + "163781 NaN NaN NaN \n", + "164961 NaN NaN NaN \n", + "165854 NaN NaN NaN \n", + "166107 NaN NaN NaN \n", + "166301 NaN NaN NaN \n", + "166464 NaN NaN NaN \n", + "166557 NaN NaN NaN \n", + "167304 NaN NaN NaN \n", + "168706 NaN NaN NaN \n", + "171222 NaN NaN NaN \n", + "171224 NaN NaN NaN \n", + "171226 NaN NaN NaN \n", + "171228 NaN NaN NaN \n", + "171232 NaN NaN NaN \n", + "171234 NaN NaN NaN \n", + "171236 NaN NaN NaN \n", + "172725 NaN NaN NaN \n", + "173646 NaN NaN NaN \n", + "175473 NaN NaN NaN \n", + "175627 NaN NaN NaN \n", + "176100 NaN NaN NaN \n", + "176213 NaN NaN NaN \n", + "176750 NaN NaN NaN \n", + "178726 NaN NaN NaN \n", + "\n", + " dribble_outcome_name ... pass_miscommunication shot_aerial_won \\\n", + "204 NaN ... NaN NaN \n", + "749 NaN ... NaN NaN \n", + "1651 NaN ... NaN NaN \n", + "2741 NaN ... NaN NaN \n", + "3890 NaN ... NaN NaN \n", + "4594 NaN ... NaN NaN \n", + "4647 NaN ... NaN NaN \n", + "4784 NaN ... NaN True \n", + "4918 NaN ... NaN NaN \n", + "6271 NaN ... NaN NaN \n", + "7406 NaN ... NaN NaN \n", + "7924 NaN ... NaN NaN \n", + "9525 NaN ... NaN NaN \n", + "10606 NaN ... NaN NaN \n", + "10877 NaN ... NaN NaN \n", + "12291 NaN ... NaN NaN \n", + "13231 NaN ... NaN NaN \n", + "13839 NaN ... NaN NaN \n", + "13975 NaN ... NaN NaN \n", + "14105 NaN ... NaN NaN \n", + "14173 NaN ... NaN NaN \n", + "14561 NaN ... NaN NaN \n", + "15815 NaN ... NaN NaN \n", + "15894 NaN ... NaN NaN \n", + "15928 NaN ... NaN NaN \n", + "19882 NaN ... NaN NaN \n", + "20227 NaN ... NaN NaN \n", + "20823 NaN ... NaN NaN \n", + "20917 NaN ... NaN NaN \n", + "21975 NaN ... NaN NaN \n", + "... ... ... ... ... \n", + "152707 NaN ... NaN NaN \n", + "155048 NaN ... NaN NaN \n", + "158183 NaN ... NaN NaN \n", + "161937 NaN ... NaN True \n", + "162329 NaN ... NaN NaN \n", + "163634 NaN ... NaN NaN \n", + "163781 NaN ... NaN NaN \n", + "164961 NaN ... NaN NaN \n", + "165854 NaN ... NaN NaN \n", + "166107 NaN ... NaN NaN \n", + "166301 NaN ... NaN NaN \n", + "166464 NaN ... NaN NaN \n", + "166557 NaN ... NaN NaN \n", + "167304 NaN ... NaN NaN \n", + "168706 NaN ... NaN NaN \n", + "171222 NaN ... NaN NaN \n", + "171224 NaN ... NaN NaN \n", + "171226 NaN ... NaN NaN \n", + "171228 NaN ... NaN NaN \n", + "171232 NaN ... NaN NaN \n", + "171234 NaN ... NaN NaN \n", + "171236 NaN ... NaN NaN \n", + "172725 NaN ... NaN NaN \n", + "173646 NaN ... NaN NaN \n", + "175473 NaN ... NaN NaN \n", + "175627 NaN ... NaN NaN \n", + "176100 NaN ... NaN NaN \n", + "176213 NaN ... NaN True \n", + "176750 NaN ... NaN NaN \n", + "178726 NaN ... NaN NaN \n", + "\n", + " shot_open_goal 50_50_outcome_id 50_50_outcome_name block_offensive \\\n", + "204 NaN NaN NaN NaN \n", + "749 NaN NaN NaN NaN \n", + "1651 NaN NaN NaN NaN \n", + "2741 NaN NaN NaN NaN \n", + "3890 NaN NaN NaN NaN \n", + "4594 True NaN NaN NaN \n", + "4647 NaN NaN NaN NaN \n", + "4784 NaN NaN NaN NaN \n", + "4918 NaN NaN NaN NaN \n", + "6271 NaN NaN NaN NaN \n", + "7406 NaN NaN NaN NaN \n", + "7924 NaN NaN NaN NaN \n", + "9525 NaN NaN NaN NaN \n", + "10606 NaN NaN NaN NaN \n", + "10877 NaN NaN NaN NaN \n", + "12291 NaN NaN NaN NaN \n", + "13231 NaN NaN NaN NaN \n", + "13839 NaN NaN NaN NaN \n", + "13975 NaN NaN NaN NaN \n", + "14105 NaN NaN NaN NaN \n", + "14173 NaN NaN NaN NaN \n", + "14561 NaN NaN NaN NaN \n", + "15815 NaN NaN NaN NaN \n", + "15894 NaN NaN NaN NaN \n", + "15928 NaN NaN NaN NaN \n", + "19882 NaN NaN NaN NaN \n", + "20227 NaN NaN NaN NaN \n", + "20823 NaN NaN NaN NaN \n", + "20917 NaN NaN NaN NaN \n", + "21975 NaN NaN NaN NaN \n", + "... ... ... ... ... \n", + "152707 True NaN NaN NaN \n", + "155048 NaN NaN NaN NaN \n", + "158183 NaN NaN NaN NaN \n", + "161937 NaN NaN NaN NaN \n", + "162329 NaN NaN NaN NaN \n", + "163634 NaN NaN NaN NaN \n", + "163781 NaN NaN NaN NaN \n", + "164961 NaN NaN NaN NaN \n", + "165854 NaN NaN NaN NaN \n", + "166107 NaN NaN NaN NaN \n", + "166301 NaN NaN NaN NaN \n", + "166464 NaN NaN NaN NaN \n", + "166557 NaN NaN NaN NaN \n", + "167304 NaN NaN NaN NaN \n", + "168706 NaN NaN NaN NaN \n", + "171222 NaN NaN NaN NaN \n", + "171224 NaN NaN NaN NaN \n", + "171226 NaN NaN NaN NaN \n", + "171228 NaN NaN NaN NaN \n", + "171232 NaN NaN NaN NaN \n", + "171234 NaN NaN NaN NaN \n", + "171236 NaN NaN NaN NaN \n", + "172725 True NaN NaN NaN \n", + "173646 True NaN NaN NaN \n", + "175473 NaN NaN NaN NaN \n", + "175627 NaN NaN NaN NaN \n", + "176100 NaN NaN NaN NaN \n", + "176213 NaN NaN NaN NaN \n", + "176750 NaN NaN NaN NaN \n", + "178726 NaN NaN NaN NaN \n", + "\n", + " miscontrol_aerial_won foul_committed_penalty shot_deflected \\\n", + "204 NaN NaN NaN \n", + "749 NaN NaN NaN \n", + "1651 NaN NaN NaN \n", + "2741 NaN NaN NaN \n", + "3890 NaN NaN NaN \n", + "4594 NaN NaN NaN \n", + "4647 NaN NaN NaN \n", + "4784 NaN NaN NaN \n", + "4918 NaN NaN NaN \n", + "6271 NaN NaN NaN \n", + "7406 NaN NaN NaN \n", + "7924 NaN NaN NaN \n", + "9525 NaN NaN NaN \n", + "10606 NaN NaN NaN \n", + "10877 NaN NaN True \n", + "12291 NaN NaN NaN \n", + "13231 NaN NaN NaN \n", + "13839 NaN NaN NaN \n", + "13975 NaN NaN NaN \n", + "14105 NaN NaN NaN \n", + "14173 NaN NaN NaN \n", + "14561 NaN NaN NaN \n", + "15815 NaN NaN NaN \n", + "15894 NaN NaN True \n", + "15928 NaN NaN NaN \n", + "19882 NaN NaN NaN \n", + "20227 NaN NaN NaN \n", + "20823 NaN NaN NaN \n", + "20917 NaN NaN NaN \n", + "21975 NaN NaN NaN \n", + "... ... ... ... \n", + "152707 NaN NaN NaN \n", + "155048 NaN NaN NaN \n", + "158183 NaN NaN NaN \n", + "161937 NaN NaN NaN \n", + "162329 NaN NaN NaN \n", + "163634 NaN NaN NaN \n", + "163781 NaN NaN NaN \n", + "164961 NaN NaN NaN \n", + "165854 NaN NaN NaN \n", + "166107 NaN NaN NaN \n", + "166301 NaN NaN NaN \n", + "166464 NaN NaN NaN \n", + "166557 NaN NaN NaN \n", + "167304 NaN NaN NaN \n", + "168706 NaN NaN NaN \n", + "171222 NaN NaN NaN \n", + "171224 NaN NaN NaN \n", + "171226 NaN NaN NaN \n", + "171228 NaN NaN NaN \n", + "171232 NaN NaN NaN \n", + "171234 NaN NaN NaN \n", + "171236 NaN NaN NaN \n", + "172725 NaN NaN NaN \n", + "173646 NaN NaN NaN \n", + "175473 NaN NaN NaN \n", + "175627 NaN NaN NaN \n", + "176100 NaN NaN NaN \n", + "176213 NaN NaN NaN \n", + "176750 NaN NaN NaN \n", + "178726 NaN NaN True \n", + "\n", + " shot_redirect \n", + "204 NaN \n", + "749 NaN \n", + "1651 NaN \n", + "2741 NaN \n", + "3890 NaN \n", + "4594 NaN \n", + "4647 NaN \n", + "4784 NaN \n", + "4918 NaN \n", + "6271 NaN \n", + "7406 NaN \n", + "7924 NaN \n", + "9525 NaN \n", + "10606 NaN \n", + "10877 NaN \n", + "12291 NaN \n", + "13231 NaN \n", + "13839 NaN \n", + "13975 NaN \n", + "14105 NaN \n", + "14173 NaN \n", + "14561 NaN \n", + "15815 NaN \n", + "15894 NaN \n", + "15928 NaN \n", + "19882 NaN \n", + "20227 NaN \n", + "20823 NaN \n", + "20917 NaN \n", + "21975 NaN \n", + "... ... \n", + "152707 NaN \n", + "155048 NaN \n", + "158183 NaN \n", + "161937 NaN \n", + "162329 NaN \n", + "163634 NaN \n", + "163781 NaN \n", + "164961 NaN \n", + "165854 NaN \n", + "166107 True \n", + "166301 NaN \n", + "166464 NaN \n", + "166557 NaN \n", + "167304 NaN \n", + "168706 NaN \n", + "171222 NaN \n", + "171224 NaN \n", + "171226 NaN \n", + "171228 NaN \n", + "171232 NaN \n", + "171234 NaN \n", + "171236 NaN \n", + "172725 NaN \n", + "173646 NaN \n", + "175473 NaN \n", + "175627 NaN \n", + "176100 NaN \n", + "176213 NaN \n", + "176750 NaN \n", + "178726 NaN \n", + "\n", + "[200 rows x 118 columns]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = df.query('shot_outcome_id == 97')\n", + "d" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
idperiodtimestamplocationpass_end_locationpass_recipient_name
4eea20658-0e9f-484a-90d3-dccdc589d81f100:00:00.187[60.0, 40.0][49.0, 35.0]Toni Kroos
10ad723dee-c477-4604-970a-48f6f3e54e45100:00:04.200[55.0, 43.0][37.0, 59.0]Niklas Süle
11289cd84d7-c140-4322-9d13-1cd4abd61829100:02:53.600[65.0, 23.0][71.0, 27.0]Marco Reus
129f189456f-9790-468f-937c-251068dfb181100:03:03.517[60.0, 25.0][56.0, 38.0]Sami Khedira
143408b675d-cbcb-4edd-baff-32bf2c93107d100:03:15.080[67.0, 45.0][56.0, 32.0]Toni Kroos
\n", + "
" + ], + "text/plain": [ + " id period timestamp location \\\n", + "4 eea20658-0e9f-484a-90d3-dccdc589d81f 1 00:00:00.187 [60.0, 40.0] \n", + "10 ad723dee-c477-4604-970a-48f6f3e54e45 1 00:00:04.200 [55.0, 43.0] \n", + "112 89cd84d7-c140-4322-9d13-1cd4abd61829 1 00:02:53.600 [65.0, 23.0] \n", + "129 f189456f-9790-468f-937c-251068dfb181 1 00:03:03.517 [60.0, 25.0] \n", + "143 408b675d-cbcb-4edd-baff-32bf2c93107d 1 00:03:15.080 [67.0, 45.0] \n", + "\n", + " pass_end_location pass_recipient_name \n", + "4 [49.0, 35.0] Toni Kroos \n", + "10 [37.0, 59.0] Niklas Süle \n", + "112 [71.0, 27.0] Marco Reus \n", + "129 [56.0, 38.0] Sami Khedira \n", + "143 [56.0, 32.0] Toni Kroos " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ozil_pass = df[(df.type_name == 'Pass') & (df.team_name == 'Germany') & (df.player_name == 'Mesut Özil') ]\n", + "pass_column = [i for i in df.columns if i.startswith(\"pass\")]\n", + "ozil_pass = ozil_pass[[\"id\", \"period\", \"timestamp\", \"location\", \"pass_end_location\", \"pass_recipient_name\"]]\n", + "ozil_pass.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def draw_pitch(ax):\n", + " # focus on only half of the pitch\n", + " #Pitch Outline & Centre Line\n", + " Pitch = Rectangle([0,0], width = 120, height = 80, fill = False)\n", + " #Left, Right Penalty Area and midline\n", + " LeftPenalty = Rectangle([0,22.3], width = 14.6, height = 35.3, fill = False)\n", + " RightPenalty = Rectangle([105.4,22.3], width = 14.6, height = 35.3, fill = False)\n", + " midline = ConnectionPatch([60,0], [60,80], \"data\", \"data\")\n", + "\n", + " #Left, Right 6-yard Box\n", + " LeftSixYard = Rectangle([0,32], width = 4.9, height = 16, fill = False)\n", + " RightSixYard = Rectangle([115.1,32], width = 4.9, height = 16, fill = False)\n", + "\n", + "\n", + " #Prepare Circles\n", + " centreCircle = plt.Circle((60,40),8.1,color=\"black\", fill = False)\n", + " centreSpot = plt.Circle((60,40),0.71,color=\"black\")\n", + " #Penalty spots and Arcs around penalty boxes\n", + " leftPenSpot = plt.Circle((9.7,40),0.71,color=\"black\")\n", + " rightPenSpot = plt.Circle((110.3,40),0.71,color=\"black\")\n", + " leftArc = Arc((9.7,40),height=16.2,width=16.2,angle=0,theta1=310,theta2=50,color=\"black\")\n", + " rightArc = Arc((110.3,40),height=16.2,width=16.2,angle=0,theta1=130,theta2=230,color=\"black\")\n", + " \n", + " element = [Pitch, LeftPenalty, RightPenalty, midline, LeftSixYard, RightSixYard, centreCircle, \n", + " centreSpot, rightPenSpot, leftPenSpot, leftArc, rightArc]\n", + " for i in element:\n", + " ax.add_patch(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure() #set up the figures\n", + "fig.set_size_inches(7, 5)\n", + "ax=fig.add_subplot(1,1,1)\n", + "draw_pitch(ax) #overlay our different objects on the pitch\n", + "plt.ylim(-2, 82)\n", + "plt.xlim(-2, 122)\n", + "#plt.plot(x_axis,y_axis,'ro')\n", + "#plt.plot(x,y,'bo')\n", + "#plt.axis('off')\n", + "\n", + "for i in range(len(ozil_pass)):\n", + " # annotate draw an arrow from a current position to pass_end_location\n", + " ax.annotate(\"\", xy = (ozil_pass.iloc[i]['pass_end_location'][0], ozil_pass.iloc[i]['pass_end_location'][1]), xycoords = 'data',\n", + " xytext = (ozil_pass.iloc[i]['location'][0], ozil_pass.iloc[i]['location'][1]), textcoords = 'data',\n", + " arrowprops=dict(arrowstyle=\"->\",connectionstyle=\"arc3\", color = \"blue\"),)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "fig.set_size_inches(7, 5)\n", + "\n", + "x_coord = [i[0] for i in ozil_pass[\"location\"]]\n", + "y_coord = [i[1] for i in ozil_pass[\"location\"]]\n", + "\n", + "#shades: give us the heat map we desire\n", + "# n_levels: draw more lines, the larger n, the more blurry it looks\n", + "sns.kdeplot(x_coord, y_coord, shade = \"True\", color = \"black\", n_levels = 30)\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Through_Ball.ipynb b/Through_Ball.ipynb new file mode 100644 index 0000000..2a099e3 --- /dev/null +++ b/Through_Ball.ipynb @@ -0,0 +1,402 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "import json\n", + "import os\n", + "from pandas.io.json import json_normalize\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.patches import Arc, Rectangle, ConnectionPatch\n", + "from matplotlib.offsetbox import OffsetImage\n", + "#import squarify\n", + "from functools import reduce\n", + "path = \"\"\"C:\\\\Users\\\\Koushik\\\\Downloads\\\\open-data-master\\\\open-data-master\\\\data\\\\my_events\\\\\"\"\"\n", + "Xg_req = pd.DataFrame(data=None)\n", + "for filename in (os.listdir(path)):\n", + " #print(filename)\n", + " \n", + " with open(\"%s\" % path + filename,encoding=\"utf8\") as data_file: \n", + " data = json.load(data_file)\n", + " df = pd.DataFrame(data=None)\n", + " \n", + " df = json_normalize(data, sep = \"_\")\n", + " \n", + " #df = df[(df['type_name'] == \"Shot\")]\n", + " #df = df.loc[:,['location','shot_body_part_id','shot_end_location','shot_one_on_one','shot_technique_id','shot_type_id','under_pressure','shot_outcome_id']]\n", + " #print(df.shape)\n", + " Xg_req = Xg_req.append(df,ignore_index=True,sort=False)\n", + " #df.drop(df.index, inplace=True)\n", + " \n", + "print(\"done\")\n", + "df = Xg_req" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "through_ball = df.query('pass_through_ball == True')" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "118\n", + "12\n" + ] + } + ], + "source": [ + "assist = df.query('shot_follows_dribble == True')\n", + "print(len(assist.index))\n", + "goal = assist.query('shot_outcome_id == 97')\n", + "#assist = df.query('pass_goal_assist == True')\n", + "print(len(goal.index))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "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", + "
idperiodtimestamplocationpass_end_locationpass_recipient_name
2795ffe924-77f3-40e2-afc6-23e5fed8865f100:00:38.660[44.0, 17.0][95.0, 23.0]Francesca Kirby
257ce817472-51c1-4b9a-89d5-2b929f422b2e100:08:03.753[89.0, 65.0][116.0, 55.0]Nikita Parris
623cf2ed5ec-1d2f-4746-a482-4ff7a1823adf100:19:30.020[39.0, 38.0][96.0, 42.0]Ramona Bachmann
1574898b1dba-d2e6-431c-b830-4d897c946ad2200:01:56.558[41.0, 79.0][101.0, 47.0]Ramona Bachmann
32927799fb29-209f-4b3a-a73e-2c35f9d83c51100:09:35.360[74.0, 48.0][98.0, 32.0]Mallory Weber
\n", + "
" + ], + "text/plain": [ + " id period timestamp \\\n", + "27 95ffe924-77f3-40e2-afc6-23e5fed8865f 1 00:00:38.660 \n", + "257 ce817472-51c1-4b9a-89d5-2b929f422b2e 1 00:08:03.753 \n", + "623 cf2ed5ec-1d2f-4746-a482-4ff7a1823adf 1 00:19:30.020 \n", + "1574 898b1dba-d2e6-431c-b830-4d897c946ad2 2 00:01:56.558 \n", + "3292 7799fb29-209f-4b3a-a73e-2c35f9d83c51 1 00:09:35.360 \n", + "\n", + " location pass_end_location pass_recipient_name \n", + "27 [44.0, 17.0] [95.0, 23.0] Francesca Kirby \n", + "257 [89.0, 65.0] [116.0, 55.0] Nikita Parris \n", + "623 [39.0, 38.0] [96.0, 42.0] Ramona Bachmann \n", + "1574 [41.0, 79.0] [101.0, 47.0] Ramona Bachmann \n", + "3292 [74.0, 48.0] [98.0, 32.0] Mallory Weber " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "through_ball= through_ball[[\"id\", \"period\", \"timestamp\", \"location\", \"pass_end_location\", \"pass_recipient_name\"]]\n", + "through_ball.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "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", + "
idperiodtimestamplocationpass_end_locationpass_recipient_name
199c547c736-4bf5-484f-9360-463abb19e465100:05:45.020[104.0, 36.0][109.0, 29.0]Millie Bright
746e3eca08d-7c54-4c65-a19a-faa9708225b5100:23:20.340[111.0, 24.0][111.0, 35.0]So-yun Ji
1649d48d70cf-3464-40c9-80c0-f81d7ce46b25200:03:39.570[108.0, 5.0][115.0, 43.0]Nikita Parris
27397f1fe749-1914-4f5d-8f0b-62c7c9f79196200:40:33.251[109.0, 48.0][97.0, 46.0]Georgia Stanway
6366359c55828-1423-4cf5-aef4-58f0cab1d9fe200:06:57.202[81.0, 28.0][87.0, 36.0]Hayley Raso
\n", + "
" + ], + "text/plain": [ + " id period timestamp \\\n", + "199 c547c736-4bf5-484f-9360-463abb19e465 1 00:05:45.020 \n", + "746 e3eca08d-7c54-4c65-a19a-faa9708225b5 1 00:23:20.340 \n", + "1649 d48d70cf-3464-40c9-80c0-f81d7ce46b25 2 00:03:39.570 \n", + "2739 7f1fe749-1914-4f5d-8f0b-62c7c9f79196 2 00:40:33.251 \n", + "63663 59c55828-1423-4cf5-aef4-58f0cab1d9fe 2 00:06:57.202 \n", + "\n", + " location pass_end_location pass_recipient_name \n", + "199 [104.0, 36.0] [109.0, 29.0] Millie Bright \n", + "746 [111.0, 24.0] [111.0, 35.0] So-yun Ji \n", + "1649 [108.0, 5.0] [115.0, 43.0] Nikita Parris \n", + "2739 [109.0, 48.0] [97.0, 46.0] Georgia Stanway \n", + "63663 [81.0, 28.0] [87.0, 36.0] Hayley Raso " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assist= assist[[\"id\", \"period\", \"timestamp\", \"location\", \"pass_end_location\", \"pass_recipient_name\"]]\n", + "assist.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def draw_pitch(ax):\n", + " # focus on only half of the pitch\n", + " #Pitch Outline & Centre Line\n", + " Pitch = Rectangle([0,0], width = 120, height = 80, fill = False)\n", + " #Left, Right Penalty Area and midline\n", + " LeftPenalty = Rectangle([0,22.3], width = 14.6, height = 35.3, fill = False)\n", + " RightPenalty = Rectangle([105.4,22.3], width = 14.6, height = 35.3, fill = False)\n", + " midline = ConnectionPatch([60,0], [60,80], \"data\", \"data\")\n", + "\n", + " #Left, Right 6-yard Box\n", + " LeftSixYard = Rectangle([0,32], width = 4.9, height = 16, fill = False)\n", + " RightSixYard = Rectangle([115.1,32], width = 4.9, height = 16, fill = False)\n", + "\n", + "\n", + " #Prepare Circles\n", + " centreCircle = plt.Circle((60,40),8.1,color=\"black\", fill = False)\n", + " centreSpot = plt.Circle((60,40),0.71,color=\"black\")\n", + " #Penalty spots and Arcs around penalty boxes\n", + " leftPenSpot = plt.Circle((9.7,40),0.71,color=\"black\")\n", + " rightPenSpot = plt.Circle((110.3,40),0.71,color=\"black\")\n", + " leftArc = Arc((9.7,40),height=16.2,width=16.2,angle=0,theta1=310,theta2=50,color=\"black\")\n", + " rightArc = Arc((110.3,40),height=16.2,width=16.2,angle=0,theta1=130,theta2=230,color=\"black\")\n", + " \n", + " element = [Pitch, LeftPenalty, RightPenalty, midline, LeftSixYard, RightSixYard, centreCircle, \n", + " centreSpot, rightPenSpot, leftPenSpot, leftArc, rightArc]\n", + " for i in element:\n", + " ax.add_patch(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure() #set up the figures\n", + "fig.set_size_inches(7, 5)\n", + "ax=fig.add_subplot(1,1,1)\n", + "draw_pitch(ax) #overlay our different objects on the pitch\n", + "plt.ylim(-2, 82)\n", + "plt.xlim(-2, 122)\n", + "#plt.plot(x_axis,y_axis,'ro')\n", + "#plt.plot(x,y,'bo')\n", + "#plt.axis('off')\n", + "\n", + "\"\"\"for i in range(len(through_ball)):\n", + " # annotate draw an arrow from a current position to pass_end_location\n", + " ax.annotate(\"\", xy = (through_ball.iloc[i]['pass_end_location'][0], through_ball.iloc[i]['pass_end_location'][1]), xycoords = 'data',\n", + " xytext = (through_ball.iloc[i]['location'][0], through_ball.iloc[i]['location'][1]), textcoords = 'data',\n", + " arrowprops=dict(arrowstyle=\"->\",connectionstyle=\"arc3\", color = \"blue\"),)\n", + "\"\"\"\n", + "for i in range(len(assist)):\n", + " # annotate draw an arrow from a current position to pass_end_location\n", + " ax.annotate(\"\", xy = (assist.iloc[i]['pass_end_location'][0], assist.iloc[i]['pass_end_location'][1]), xycoords = 'data',\n", + " xytext = (assist.iloc[i]['location'][0], assist.iloc[i]['location'][1]), textcoords = 'data',\n", + " arrowprops=dict(arrowstyle=\"->\",connectionstyle=\"arc3\", color = \"red\"),)\n", + "\n", + "\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/predict_Xg.ipynb b/predict_Xg.ipynb new file mode 100644 index 0000000..a33cb65 --- /dev/null +++ b/predict_Xg.ipynb @@ -0,0 +1,444 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "import json\n", + "from pandas.io.json import json_normalize\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.patches import Arc, Rectangle, ConnectionPatch\n", + "from matplotlib.offsetbox import OffsetImage\n", + "#import squarify\n", + "from functools import reduce\n", + "import os\n", + "path = \"\"\"C:\\\\Users\\\\Koushik\\\\Downloads\\\\open-data-master\\\\open-data-master\\\\data\\\\my_events\\\\\"\"\"\n", + "Xg_req = pd.DataFrame(data=None)\n", + "for filename in (os.listdir(path)):\n", + " #print(filename)\n", + " \n", + " with open(\"%s\" % path + filename,encoding=\"utf8\") as data_file: \n", + " data = json.load(data_file)\n", + " df = pd.DataFrame(data=None)\n", + " \n", + " df = json_normalize(data, sep = \"_\")\n", + " \n", + " df = df[(df['type_name'] == \"Shot\")]\n", + " df = df.loc[:,['location','shot_body_part_id','shot_end_location','shot_one_on_one','shot_technique_id','shot_type_id','under_pressure','shot_outcome_id']]\n", + " #print(df.shape)\n", + " Xg_req = Xg_req.append(df,ignore_index=True,sort=False)\n", + " #df.drop(df.index, inplace=True)\n", + " \n", + "print(\"done\") " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "Xg_req[['shot_X_axis','shot_Y_axis']] = pd.DataFrame(Xg_req.location.values.tolist(), index= Xg_req.location.index) # has the x,y coordinates of shot loc\n", + "Xg_req[['shot_end_X_axis','shot_end_Y_axis','shot_end_Z_axis']] = pd.DataFrame(Xg_req.shot_end_location.values.tolist(), index= Xg_req.location.index)\n", + "#print(Xg_req.location.head())\n", + "#print(Xg_req.shot_end_location.head())\n", + "#print(Xg_req.shot_X_axis)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "Xg_req[['shot_end_Z_axis']] = pd.DataFrame(Xg_req.shot_end_Z_axis.fillna(0),index= Xg_req.location.index)\n", + "Xg_req[['shot_one_on_one']] = pd.DataFrame(Xg_req.shot_one_on_one.fillna(False),index= Xg_req.location.index)\n", + "Xg_req[['under_pressure']] = pd.DataFrame(Xg_req.under_pressure.fillna(False),index= Xg_req.location.index)\n", + "\n", + "Xg_req = Xg_req.loc[:,['shot_body_part_id','shot_one_on_one','shot_technique_id','shot_type_id','under_pressure','shot_outcome_id','shot_end_X_axis','shot_end_Y_axis','shot_end_Z_axis','shot_X_axis','shot_Y_axis']]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import math # to calculate distance from shot location to goal post ends\n", + "#dist_bc=8\n", + "dist_ab = np.zeros(shape=(Xg_req.shape[0]))\n", + "dist_ca = np.zeros(shape=(Xg_req.shape[0]))\n", + "x = Xg_req.shot_X_axis.values.tolist()\n", + "y = Xg_req.shot_Y_axis.values.tolist()\n", + "x = np.asarray(x)\n", + "y = np.asarray(y)\n", + "for i in range(0,x.size):\n", + " dist_ca[i] = math.sqrt((x[i] -120 )**2 + (y[i] - 44)**2) #CA\n", + " dist_ab[i] = math.sqrt((x[i] - 120)**2 + (y[i] - 36)**2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# to calculate angle for shot loc to post \n", + "angle_A = np.zeros(shape=(Xg_req.shape[0]))\n", + "for i in range(0,dist_ab.size):\n", + " angle_A[i] = math.acos(((dist_ca[i]**2) + (dist_ab[i]**2) - 64) / (2 * dist_ca[i] *dist_ab[i])) #inverse_cos((b^2+c^2-a^2)/(2 * c * a))\n", + " angle_A[i] = angle_A[i]*180/math.pi #to convert angle to degrees from rad\n", + "\n", + "\n", + "Xg_req[['shot_angle']] = pd.DataFrame(angle_A,index= Xg_req.shot_X_axis.index) \n", + "goal = Xg_req[(Xg_req['shot_outcome_id'] == 97)] #shot_outcome_id 97 == GOAL\n", + "goal = goal.loc[:,['shot_X_axis','shot_Y_axis','shot_end_X_axis','shot_end_Y_axis','shot_end_Z_axis']]\n", + "Pred_X = np.zeros(shape=(Xg_req.shape[0])) # value to be predicted\n", + "for i in range(0,Pred_X.size):\n", + " if Xg_req.shot_outcome_id[i] == 97:\n", + " Pred_X[i] = 1\n", + " else:\n", + " Pred_X[i] = 0\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "def draw_pitch(ax):\n", + " # focus on only half of the pitch\n", + " #Pitch Outline & Centre Line\n", + " Pitch = Rectangle([0,0], width = 120, height = 80, fill = False)\n", + " #Left, Right Penalty Area and midline\n", + " LeftPenalty = Rectangle([0,22.3], width = 14.6, height = 35.3, fill = False)\n", + " RightPenalty = Rectangle([105.4,22.3], width = 14.6, height = 35.3, fill = False)\n", + " midline = ConnectionPatch([60,0], [60,80], \"data\", \"data\")\n", + "\n", + " #Left, Right 6-yard Box\n", + " LeftSixYard = Rectangle([0,32], width = 4.9, height = 16, fill = False)\n", + " RightSixYard = Rectangle([115.1,32], width = 4.9, height = 16, fill = False)\n", + "\n", + "\n", + " #Prepare Circles\n", + " centreCircle = plt.Circle((60,40),8.1,color=\"black\", fill = False)\n", + " centreSpot = plt.Circle((60,40),0.71,color=\"black\")\n", + " #Penalty spots and Arcs around penalty boxes\n", + " leftPenSpot = plt.Circle((9.7,40),0.71,color=\"black\")\n", + " rightPenSpot = plt.Circle((110.3,40),0.71,color=\"black\")\n", + " leftArc = Arc((9.7,40),height=16.2,width=16.2,angle=0,theta1=310,theta2=50,color=\"black\")\n", + " rightArc = Arc((110.3,40),height=16.2,width=16.2,angle=0,theta1=130,theta2=230,color=\"black\")\n", + " \n", + " element = [Pitch, LeftPenalty, RightPenalty, midline, LeftSixYard, RightSixYard, centreCircle, \n", + " centreSpot, rightPenSpot, leftPenSpot, leftArc, rightArc]\n", + " for i in element:\n", + " ax.add_patch(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAAEyCAYAAACmpOSfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJztnX+wHedZ3z/vvQqxdONQLDtTLPlemcmQkhYoEKANGUhRMU6boVN+FCQljkwiRf5BMqSdDEgwUFIrxWVoXF3HiuSiJLblQoFph7SxRVIoDXQoP22gLZSic6/kQCU5jGXdqwTdc97+sXvu3bNn3913d989e/be72fmGUl79/2xe472e/d5n/d5jLUWIYQQYtqZaXsCQgghhA8SLCGEEJ1AgiWEEKITSLCEEEJ0AgmWEEKITiDBEkII0QkkWEIIITqBBEsIIUQnkGAJIYToBBIsIYQQnUCCJYQQohNIsIQQQnQCCZYQQohOIMESQgjRCSRYQgghOsG2ticAYIzpAQttz0MIIURjLFlr99TpwExDAUdjjLXWmrbnIcQkMMYcBN5srT3Y8lSEmBghnvNyCQohhOgEEiwhhBCdQIIlhBCiE0iwhBBCdAIJlhBCiE4gwRJCCNEJJFhCCCE6gQRLCCFEJ5BgCSGE6AQSLCGEEJ1AgiWEEKITSLCEEEJ0AgmWEEKITiDBEkII0QkkWEIIITqBBEsIIUQnkGAJIYToBBIsIYQQnUCCJYQQohNIsIQQQnQCCZYQQohOIMESQgjRCSRYQgghOoEESwghRCeQYAkhhOgEEiwhhAiFMfsxpocxg/jP/W1PaTOxre0JCCHEpiASp9PAjvjIAnAaY8Das+1NbPOgNywhhAjDcTbEasiO+LgIgARLCCHCMF/yuCiJBEsIIcKwXPK4KIkESwghwnAUWE0dW42PiwBIsIQQIgRRYMUhYAmw8Z+HggdcbOFIREUJCiFEKCJxai4icItHIuoNSwghusOWjkSUYAkhxLQzdANGb1RZbIlIRLkEhRBimhl3A2axJSIR9YYlhBDTTZYbMMmWiUSUYAkhxHST5+5rJhJxSpFLUAghpptlsteulrB2z4Tn0ip6wxJCiOlGG5JjJFhCCDHNTGpDcgeQYAkhNiebKSOEtWexdg/WzsR/bjmxAq1hCSE2I1s8I8RmRW9YQojNyJbOCLFZkWAJIaox3S431abahEiwhBDl2XC5LQCGDZfbtIiWalNtQiRYQogqTLvLTaHgmxAJlhCiCtPjcstyTSoUfFOiKEEhRBVc2Rcm63IrjgaUQG0i9IYlhKjCtLjcpt01KQIiwRJClGd6XG7T45psmypRm5NqEwi5BIUQ1ZgOl9t0uCbbpspG6Um1CYjesIQQXWZaXJNtU8U1Oqk2wZBgCSG6y/S4Jtumimt0Um2CIcESQnSbNhLDutZxjFnEmDWMsfGfi95t68wj2rydRZ5rtMrm6lY3ZEuwhBCiDO4sH88CDwCz8ZmzwAMjohUyQ8hoX1kUuUaruFNbdcEaa+0kxsmfhDHWWuv6DUGITYUx5iDwZmvtwZanIqoQvdG4RCKLPtZuK2hbvnpw/jyWgKOFb5uR6B0ncuktN9aGMM95vWEJIbY2Dhfdu8zpxd3m4tqMGdjd5uLau8zp4ZtS2fWa2YTrziUw430Wuw7rrxtVcae2WJtLYe1CiK2LI0z7A+ZH3nGWH77rOnMAvMDu2bPsfwBzmsfdofQubGqMLF70mVcqfPxF4FZHf5uy/pdcgkJMGLkEpwjHW88CPZYzNGkXF/sXueMexgVolWhNanvGKBZ3UMSQK1h7W9G8SLoOjbmMW7DGz28ZuQSFEMKFXzReplvtAndkdvlZbp8lWr/5DNCPDw/iv2eJFYB5in3s4Twz9NnDeZ5iX/qcnT7zAhYS0YfpNllE/Ux37TJvJFhCiM2HfzReZjj2vCNKOz6+ANzFRjTgDHCzaypPsY/DnGaJPVhmWGIPhzmdFq0XU83ywsSj6EO4lnPORr/TX7vMGwmWEGIz4puRIStMm4c4yg5WUo1XeKhC9PYxjrMar4UNWWWOY/nJITLnlWLO4xzYRAmCJVhCiM2IX0aG0UwZ6xzgad7BGWZZAyyzrPEOznCAp0tPZNkxldTxW2NX3WK8fvUkkRhdAbifE2zjBoYB27jB/ZyA6PldtCZ0K+4AkYXUpufpdxtaa1u3aBrtz0Mmm4QBB4GPtj2PTW3Qs2AzrOfT5kn22R1cG2m6g2v2SfZl9ZlrC5zP/NEC533ar9zHCQuD1OGBvY8TpefiGsPCYvxn+vj+gN97W7cPRQkKMWEUJTgBxsPCIXpjcecZTLTZw3mW2DN2ygI9etxZairDNaykW3AHK5zikNcb2zZu0M/YgTTLGmu8otRccuizsSaXJFiUoaIEhRAiiypJcRNtPN14xH1fic0C19MnHOBpTnGIBXoYBsyzxGPcd93XvdjP1BH38Yq4OpuqumISLCHE5iQvI8Poes3l2AZEgQhHb+ez/awuU9GDWedcAg6kf3aAp+lxJwNm+0vsef4entgO0dtXQbg7s5nDuI9XxNWZcSbxbQEJlhBiazEe5n1rbOsh3+/m5Ke3F0cJzrraA592jP6XwFeBd7g7hzlJ9PKWxMbHg/FHOT8bT+LbFq0vjgZajJPJumIo6KJdcwdkJK33Tk4t7uLCmqFvFzhfNuCiFwcyrMX/Xov/vX5OmWCM+zhhZ7lhYWBnuVE24GI4l7zrXvPoZ63m997W/ewUdCHEhFHQRUVcWcLLZg+PXH9FzxsLvC3ud6HCbC3WjnuwjFl/4M7Qx2Y4uQwDBuHWp6J5GPMc8ZtdTfyywGcQ4jk/NYLV9hwqsmSnJE+X6A4SrAq4o/7OAPdmHM+LBuxRLEJX4j7zEtbmkR1dl3jWhYxEtGQrcA94iUip8pTCFSKYxQpRZEr5HWlQV7CmZg3LWmu6ZlT7zUsIUR5XtoYjjuN5WRyKskgMf1ZVrPIKGt4Y/iVkNg0D58gorLgHDnw1xa+Ts/ByRvtM5oCz0S/rZZ+XtZkawRJCiBxc4dXucGxX5obxkPdkWPpS/DOfxLJDLBtREcNEuE8mx/w35j3P7TE9O0P/FcNowHS4+wI9r71ZGapyDmu/nehtM52Q90nPa7iZRGYND1oJd58al2AX17C6Om/RLnIJVsDtxnN5s7JcevmuwtHxfEp3+LD6EQ5deR//er7qxuE0K5DKTOh0jVZhleieOpP5xpTeUKyNw0KIrUKWG28VOOk4DtOR8HXHBzk6XyH5rZO58UMu12gVdmQPMUKey7NRJFhCiOnHnbniwczjbpdeVin6xXhzrC1Za8qLElkz6hAy7UWeLvSBM1WiBEMgl2ANujpv0S5yCU4At0svXdl3kai2VJrruAsyliJkNOCEcAUdDvF3rSaQS1AIIepxxHE8iFhB2GjACVEkKq3V0pJgCSE2Iy6XXvp40AyyWZSIBuwDz7MR6de++8tNK1GCEiwhxPTiU1QwK5Gt+y1heaRNABzFFUdIJL+lx51ZYrWEtduw9qvjPw3wYdxJaXPxSapbs81y3g8bo25upxBGR3MJdnXesnYN5RL0M9hfWFQw+5w8W/Rs85xHX88d5rEvZBVXPMKj/RJziuY1eu2LJduv2xPsH5QtPlmhYOVi2c8zxPNSQRc16Oq8Rbso6MIT996rjT1AfmmWRttGuNr0iULl3+rR79I2biwEKq44uq/JmDUquiurBHlUaKN9WEIIkXDXuQRj3vF3H+YL2lwEfsOz34WAxRUXUnWnRjrwcdcNz1ly3LZhGH1WX2VC7+P2CzNmYBfMkv24uWd1rK6YMVcxpp/aKlCf1l/7A70qat6yrhhyCbrNz13XS5x/uaTLrGeLy4usWFj16S8q+TH+o1lulJlT2hZtws/o467LOidtwxIpWX3t5JKzTU3X4bqdCPC8nNwXMW8SHX3wd3XesnZNgpVjfmKSXMMqI1grsSCWXfdy2n2csFlrWCXrVaVtpDaVT90s1zlpUXGdt5NLXkJUpoZX2m5IsDRvWfdMgpVj40//pPVGxKr4/L6Fq/E5o21HiyvWMldxxaFAVCwAuW6G7PgNQ7/wHBiMjJ3XV3K+O7lkd3Jpfe5PcGDNwsBnLi4bSLA0b1n3TIKVY+43rF7J84c2+kYWtQn2huWyOq4zy6gq+LzVuFx6O7lky/blmvtPcOzZecft9nnDWpNgad6y7pkEK8d8QtmLz09bL9WmSORqWx3XmY3eCtfX0HzEz1ewfPpyzX2env0Yb1+tKsQvSbA0b1n3TIJVYJEI9WzkyrscW/rvGy6+jfOtwwae5wWzOq6zLHO5F5PuSN/xilyVRXOv6ursB3heah9WDbo6b9Eu2oflSZTV4jTushmjSVjz9m1F5TDy+grKJBLe3s8JHuMB8lL/VRkvwNxt1qQuA7dpH5YQYpNynHyBSSdhddXMOurRF0QZ2oMwiYS3pzhCnlhVHW+ak/VKsIQQ04rP5t2Nc9w1s8569nUT8CijZeZfLjHfdUokvK2Me3OyrTVegLlnqmiIAmMSLCHEtOKTYNV4ZlLw6wu+n40sEzMUl4p34pHwdgxXRous47OOvLiz9HmIoxzjeGEiW9d4VeZeRJBsua0vsNruBi90dd6ydg0FXfhZ+fDzZzPOH24WrpxMdlLmiuC7jxOZx/fyTEawxcDu5RmvkPqaofdlbWWfgi7apavzFu2ioIsSRIEXxymX4DZNUcLbqcAV7DDLGlkJdhfo8Q/4BKc4Qp9ZZulzmJP8Z97qFTQxwUrIS8BRA0/VfV5KsGrQ1XmLdpFgVcCYAcWVcF1YgKfYZ45xnGXmmWeZhzgadE2pLjP0sZmrNJlBdxgGDDLWsVz9pM/PG2+BpVD3x2LtDChbuxBi61BnCWT547z984c5zRJ7sMywxB4Oc9qrsOGkmHdcomGQefwWXizVT/q46zwwIe9P0EKPEiwhRBfICln3YRU4+qN8YPsqc6kfzHFsJCq+XVzh5HOpY1X7SYelZ52XJMD9GW4pCIYESwgxeUbL2vfitSo3UWj6GcqVjF8Pa7/AHZknuOpANUleZF5WOPkKr8rs53OOQHHfsPQDPM07OMMsa8Re0zGK7k9Ona7kloJwtB4JZLsbbdfVecvaNbZ6lGDZfIHuNnl2Odm+TtLWSUQC5kXm1cxLWGouZcZwXcvHOXDD8b23tf/vtP7lDXQhmrdsGg24HfgO4APALwG/BvwZcAX4DPAs8CHgAPA6YKbtOTduZTOy57dx2Yhg1UnaGtKqiE9T4ee+NbQqXUvGZ7ipBKum9dqad9v3TjZdRhTO9a3AzwIvxML0TCxY/xj4FuCfx+L1JuAtwPuBfw+cB14CPgW8HXhl29fTiLlrWKWT1G4kuc2ve+XuKzGmZ9LWsuOUsjJJcZPzneMlO8Oazau5la5hla5InD4v72PwSWqbdy3nwe7LeFbX/v/V+pfX1n/wtyUcEizZ0IA54Ajwh8AfAfcDdxJvHUmd63QJArcB3wX8MvAXsdDtavv6glreG5bbXXjV0cZVubDnOWbSXGMEM983rCJ3nWtDcfqcJ9nn5fpLWrokSY1rGXHzSrAC3ogujSubHiNK4/N+4EXgPwB7s0Qq1cZrDQv4CqLcdn8J/Fvgr7V9vUEsbw3LLSwuYbrq7Kt4zHQb1xjBzNe9V+SuAxuXFck/Z4HzXn1VESzPa+klvs+29v+31r+8AS5EgiVr6fN/bbwO9SvAa0u08xKsxPlfHAvXMvBtbV93EMty+0XHy7v+opRMyWPPOsZctLBmNwTwatz+CyEFKcft+AULgyc4sFbkmnSXvE9fus855W6poT9SZyvpgkybx3nrrlkJVsAb0aVxZe1avE51JF6fei8lAyXKClai3V3ABWARmGv7PjRi7jesNcdxlxtvMdWv661uKaRYOd84NubxnE9fod6wqtgcL2WI3GBMjPSG1VL7OuMC/7DIBSTbPAZ8EfBzwG8Bf6NiH5UEK277JcAT8TrZ5lrbsjZPWBYdx12vImupfutUGq4lMnfQGyTm4TVmiDWsKraDa3Fwx/jPZrnhdb1aw2q4fZ1xgT8A/pVEa/MbUb2k/wT8IjUi+OoIVqKP9wN/Ciy0fV+Cm9tdmBU9aJ022meV6L81O3xTG3UnZlpuBODGPLzH94kALBv9l+4rq9/cIE7f601+bhvfWVv3u6FMF/X5FqLw5A+1PRHRHMaYVwA/T1TQ73uttV9ocz7W2oeBR4BfMcZ8aZtzCY61Z7F2D9bOxH+ezTnuznwxmkHDK6ddMnPDbi7wLk55T9uVm+92PuucY06miJGaVFd4DVd4TW59qlexwiO8l4X15PSjLLA01tcjvJdXpdIz5dXZ8rne+Phu4I2u665M679NBVDeuu3rjgu8Gvg/RA+y1u+nLPjnbICPEr1dvSJAfwcJlOkCOAY8x2aJICxrxXWuvOthZbnhtnPNPsIPeLkEXe3fyanFxHwv551fZkNw2fpZvvWwXHW2Kq5hrV97iOd0+1+4ABfStmDFf/8a4BIlosVk3TDgMPA7BAp0CCxYBniMqNZQ6/eqFSt21/WsxxpWiBRISRfdLi6sjYhVNNe1UOPltffZJJ3X3jdK0GOc9bVECVbAGxFiXOAB4HeBm9q+p7Jgn/Fu4DLwtwL2GUyw4v52EK1nvbXt+xXcRtetLsc2ura1cW6tLBVlslB4WnK+V20qQKTueO7Q94FX1gvX7Soa3yVSTvHa+J7aut+H9r+QAS5kigTLEKXYebTteyoL8vkaohRKPxa436CCFff594jWaV7d9n0LZn6bffcnzq8TCdhYktmmxiuzIbhM1osqeQ1dbsgn2K99WKHbhxyXaJPnReAb2r6vstqf7/cRRYF+UeB+gwtW3O8p4LG271sw8xOgXuL8shndR6zuGlaI8equYRUJUVMJb117wu5gSYIVun3ocWPX4Cfavq+yWp/tK4E/b+IXjwYF64uJEu7+7bbvX6a5wtXd5/u6+JJZK8ZcbxnmPC/p1trNcv8M92T1u2ZrbDjOC1d/Nx++MV+coHesL59bZejnuhEj69th+Pvw78k1rPz22cdnuWHfwi89J8EK1D70uET7dS4CX9f2vZVV/mz3Ab/cUN+NCFbc948AJ9u+f2NWrQZWLRefw1wJdtN22Tlfj4jDPIFxvVXVeePycQ8ucD7ep1Vl6lGUYNm8hMn2b+KErf39bv2LbDefYMU/ez9wpu17K6v82f5X4Lsb6rtJwbqdKFnuzW3fwxGrVgOrlosvw4oS7CbPu+z4Wc8WbCCuIix57jqfNS2fzBhPsq+GYEVuv7JuyHT72t/v1r/IdtMK1m3xg+OWtu+vrPTn+hWxO7D2nitH/8WCVdZ9Ntr/LwDvbvs+pq4nvwaW330YRt1l9VNkvgl2h+7FKmMUWl5kYN2oQZ/6WX5JdV0W9fV6fn895N11nvujrvc9UqaLhrDWXiYq3Pc9bc9FlOYw8DPW2hutjB5lZzgNLBBFKi4ApxNZG4r4CPBuY4xpaIZVeLHk8YjR7Ba3Ye1t5GW3yGaJZMaM/DFngJtL9u/NLY6hb+HFoswRhQwzYzzB27DMMmAWMPTZxse4l6fYxw6uVZ36el//k6+izzair2aZ1rbG2BESrGb5VeDvtj0JUZrvIkow2xbHifZWJdkRH/fhU8CXAnsCzmmaOFni3FXgaFMTCclDHGVHKk3SDlZ4qOT0j3GcVeZGjq0yxzGOcz11vBrVfg+qL1cSrKb5TeAb256E8McYcxtRqq0/bnEa8yWPj2CtHRBlk//aYDOqz86Sx91Y+yBRfbCiN60l4FDizar6mPW5Alz5nGPoz7GT/TzNKQ6xQA/DgAV6nOJQZt7APJYdX5Nl5hm0+siv/8IvwWqWPwR2G2O+pO2JCG++Bvg9Gy8GtYTLB+TnG4r4XUIIljH74ySyg1Qy2bKEuKYNrH0Qa7eBI9PruBsQjFnEmDVCPDnLMwfcmuf26zOa8NaV5NbFMJGudVzePMvOxLaTIMTYEqwGsdauET04vr7tuQhvvpboM2uTo0SurCRlXVv1Bav+WlqSENeUxUtex41ZJNofOVtzvKpsh3y33zaqu82eYh+HOc0Se8jWY8sS8xzmZI1RNvrKJ3v8r+TTNcdFUYJNjws8DPxo2/dY5v2Z/ixwoOExDtJglGA8xm7g/1GnTluVUPQGr8nRZ9b8Ihs9r3IoemjzSUxb1vz2R0X1rJKJbV3nFdfWKm+7OG/rft71viyBbNKCRRQF9LNE2dWfB97Q1LjAIeDxtu+xzPsz/T0a3PANfDdRMt1V4IPAbEPjGKLaXV9cuZ+qoeh+fbvFyyfhrUdBxVQ/eed1yrIEzy9cfeBdqNGwZl/FS0Fv3Ughy4pW70sXyFoQrGeA64CN7SoVyo17Ctbb2MqlHzpmRMEWr2uo72+OhWr4vVsBfrzBa/kL4K9X7iP0G9ZGv+6sF34Jb5/1fEqG3HQ8FebKhlGcjcpmtJmsjod4w9pya1hx5dhvI0qftH4Y2NvQkNeJ/deiE9wENFVN+PsY/S7sAO5paCyAz1Pvu9fUulNe2H7Wz9Ln3eU5Tl4/ncQVsl42jiTdRzls6RbbWWE+wO6CLSdYwCC2NE09pAxVPmHRFpbmosiuM/7da+p7B9H/76zvuh9RhN0hokg8iztM3E12lGFe2L5X6H6XGUbzzdBnD+d5in3ebV0h624s4R4/llnW2Ms5Fujl9Gu5hcvcwhVrGLCLi/39nH30v5cMz8/uuuYrWiDXRa1XxbLtgQ8RuWMs8FfABSrkXvMZl+g36Cfbvscy78/0fwFf0VDfX060rjSIv3srwL4Gr+US8JrW7qfb9ZeXp6+JhLdTY3VLirhzAbrXo9wBGdVcgsP5GscSomEt+VnvT3wfbd3v1FZ8wwJ4H/BDRGtZP0O0yP5yQ2PNMe5WEdPLNaIyHcGx1v4JUeaT3yT6JWm/tTbAr53jGGNmgFdBKoZ6srhcf+B2NWa5IdPnXfcY+1xBP62Ql4WiHpbxNx7Ldl52htLv5VxGm2KG851zfLUSx8tkZ/Gj7d9oQyhv3fZNjku0I/99bd9jmfdnegY41PAYB2koW3tijC8H/qzV+5mfHTUvSjAZAZisdeWT/HaQGHdk/CbCyctaXoLbQcGbWVFZ++3rUX0bta2G1zosDZK+9r08k7plvuZuk0rWqwKOods3OS7w28A3tX2PZd6f6XtouGrvhATr+4BfaPV+hispshKLWFHU32reA7+OKy6UVSkhUrasve+11ikV4jsXC5cT30lb+3vd6hc60IVMq2ARRWitANvbvscy78/0TcBvNjzGJATrYeBYq/czbNHGWht/XUIxT69yn1WsinCWLWvvK4rVizH6z0WC1UD7psYFvgn47bbvr6zUZ3pz/EtGI7Ww4jEmIVifAt7S9v20ZbNbNLQ5qG6tqdCiVcY1mVeWPqu977VWKXdfFNyRcS1BXYJbNehiUnwj0QK76Ag2Cr7pMV2ZzkthjLkJ+Draz4kIo/Ws9pAVEp8MfXeH4dfKnFq31lRI8hLcZoW8583xGnO8l0e8zh8eL0qSW5WL7ObXeWP6cNgb3PpvYAGUt277psYFngW+t+37Kyv9uR4DTjXY/0EafMMCDgDn2r6PXlac2cJavzWsFQvP5b3VTMMalq2wznYfJ7zXmnZwzb6e3894ExrYvTwTaN0q7yV4sF7d2DYQ1t7Ml7DsJDahYAGvJdoHc1Pb91dW+nP9UuAvgVc31H/TgvVrwHe2fR+9LH/NKp0/MD/HYP4errVH+IHndnFhrcAVd9WWzXMUyPLWnoqiBH0EZZYbFdatyntoZ7lhbYb7N8Rz2sQdtYoxxlprK7+f1m3fxLjGmJ8i8t++f8LTEgEwxvw88ClrbZnqtr59HwTebK09mDi4n2jPyjyRG+UoZTJKbPT9eqL1qwVr7Y0Q822UyA2YXY/CWveShTHPMpqi6RxRyjXXc2CJKE/kXtwlRixR7s/jRKVUJsoMfbJWaQyDuNy9+5xRLK5bOuzRH1df+W128UL/bj558nF76MHh0RDPaa1hNYAxZidwL/DhtuciKvMR4IgxpvlfhMLWnXo38DOdEKuI8oUdx8WK+N9rOeMsxOfk1cN6kY3PYeLcwouFx/3W3FxfWZPzs5AYXmD37Fn2P/Auc3oxZM8SrGb4QaI9ML22JyIq82lgG1E5kKbJSwbrjTHmTqL1q1OB5jUJqiTYdSW/fUWNeQznECphrk82jtJkZa1oDstezlUe7zpzPMNbjoSckQQrMMaYLwOOEDoliZgo1toBcBh4xBhzS8PD5SWD9SJ+EzwFPGytnXzoW1XKJNgdRhOGp0+U4WRnwD63E+Up9eZzjuE/x871yL638yTbWWUnl9lw8eVhc86z7OQyO7mMYcA2/ipxvuX1PM+nuJtTHGKBHmY9BaZrnHE+y+1hKzy3vugaYDGubvtQ4wKvJMps8Z6276ks2Gf8CPCxwH0eJBl0EaDuFPD9wO8A29q+Z42YXzRhHctLyjsRcwVE7ORSZvSgOxHuhi1w3msj8X2csFmRhYmIv9w5RhWMx4/v4sJa4jtq634P9IYVloeJfO8n2p6ICMYx4JuNMXc3OEatulPGmNuBnwS+31qbt47TZYrqZNXFlZS3KcbGcSWpjU7OqoFFrrtuBys8xFFnvw8lvl6nOML4+paJjxfP8TAnx45vZ4W7+WTYoKXWf3MKoLx124cYF/hO4DzwJW3fT1nwz/kuouzqdwTq7yDpsPayGSE2+nolUVTgv2j7PgWz0XtxvcZbSzJxbs/m7NNKWDKsvXRMd4ksFplVk5Ptd3IpfotyZ5cYnpM8P/33Bc7bvTwTvwUN7Axrdo6XRuaYN0b6mpKJdJPjzPGSnYl3I8xyw/4Tnl5KfVdt7f87rX85A1xI24LFxp6rb2j7Xsoa+6zfR1Qra2eAvsYFq1o/M8C/A34RmG37HgWx8q6/ohyDK3GfTbsUg25OLrPBNz1Gdlu39u7gWm46J9c1Fc1xB9fsT3Ds2cT31db9fmgfVg2MMRb4SqK6Wj9urX180nMQk8MY8y+J9vrcZa3NjkH26+cg6X1Y5fuYJQrB/jLgbmvt56tsH5ViAAARaElEQVT2NVVEQRULnmevEgVL3Eu+u3Ap/tO330rs4TxL7Bk7vkCPHncG6ctFcoyybSMGZMfgZR+PKg5TOM48SyzZBQNhntMSrBrEgvUXRPWuGinEJ6aHOBLvOPBWItH684r9HKSGYBljXkn0oH4N8I+stW0WaQyLeyNxmiWGm6s3Nl27BGn4kGv0GeGz8bduXzg28pbfXOzXb9540U/zxzEMGNiZYIKloIv6/B2J1dbARr/dHQWeAn7PGPNdk56DMeargP8BfBHw1qkXq2Ri2+jPos3QfiH5yUS6wwS7G29SWX2WDvXPSkSbR8gEu642s44cwBbjlSy3LK7xZhh4Jc+dZxnPz92P1n3WAXybddt3bVxZ+0ZU6v5PgCcpGWhDhTUsok3MPwxcjtubtu9BoVWrh+Wz1vSso+2i4/zFsmtYVdajQq5hucLM9/JM4bpRdrLc8jkB6/aVuvaVfQGel+G/pFUmIcGSddCAOWCRKILwu/EMfCgrWMDXA78B/BeiHIGtX7uXVd1flh8lmC1WPuMVJ8hdtyqVgYeiVabWVZXxixLhJs/Ji+zzrW2V7Mu13yodsZh17ecDPC+1hlWDtsYV04Ux5u8DHwBuJ8of+bjNCcrwWcOK16m+B/gBorWqh4GP2CgDRzeomtg2/HgwuuZV+NALuR5Vhbzxn+BtHOM4S+upJ9NYdnIFiLJkzLPMa/ljfpW99JnFMGCOFa5xc2b7jGt8lCh7z2yd+zIAZhR0IcES04Ex5g1EAvMdRKHmzwC/BSzZxH80l2AZY24F3gB8M1Hmij8geoP7hLW2VgHDVnBH/C0RrTlNarwhq0RpoJ6kIAAjZMRfFVzj7+Qy19kxtpG4GItvzMlOLnOF12T+7FYu8SK3lWozpAfsUdCFENOBtfa3rbXvAF4H/G+iUhW/DlwyxnzSGPOQMeafAt8KvM4Y84PGmB81xvycMeY88H+B9xM9Wb7VWvtt1tr/2EmxiqiVwSPQeEm8Ewq/j59+fntBdogmKZP1wo/Wf69eDXLnWvdzR7942prWa2vebd872fQbkavwO4AfA36aaC3qj4EPET1A30YkcjNtzzW4VczgUWOMYWFH61xs8VxHyluPCrVWVXZ81wbfKkEVLjP0nT/M22Cc9YMB2BtgT8TP6rqf9aZwCbZFV+ct2iXExmERs1FLLLlxeDW2WzNaLBFlwa/8//Yp9nGY0yNvOjtY4RSHOECwHS59Mmp3uVxyhj420Npantuzhqt0dT/sOCuXoBBiC+OqJQYNuSOPcTwzGe2xcBWFrpNfaHKMOVYK6lb5vZhkuD2fT/7DJ5Guq+sQd0eCJYRol/Kbi5O4aobdSiRQV2Cszlat3/KXHUO6jlfgJtcPXDWzrnEzhj4z9AHLDH3muIphwAI99nKOWdZwC5dlljXewZnkW+LzWPvVRFGCfYADPD1SH2snl9nOKm/nycLN1UHuTus+btvdtaCuzlvWrhEo+e2msCqbi0fbF9WwGu+rOGFurlXdo1XCnNfkGjvLsjYtu/dROdsspu7d6vBnZTdKXwrwvNQblhCiTVwuvVD+tay+atVoquEWK0NmZGjW2C6y3JSHOUmeezCjTbrE/fbhXybgGh1DgiWEaBOXp2j8eLbr0Kes/fxIe7gfeBmotAk77RZboBc64OJWHGtYybF91qWGbsphXsST3M8cL6+7DvPaxMxizBrGLBacV3jc54MqQlGCNejqvEW7KEowge/m4vLRgKN9RcEWVdvn8TJwc432lfEpIzLHVT7Ckcyoxu2sZkYc5kT8PQo8UDS+q30PbRwWQnQb383FZaIBs/qq2r6IKrt4g+DjHrweu+iyXHdAWdfmERKvZSVdo5tr43Dbc9hK85a1ayjoYtR8NhfnZWrN3jg82pd/+6sW5+7cqbOiRLgwyN3sW3cDtGf7noX9IZ6XcgnWoKvzFu0il2AF6uYlzM8zuJEYd+P8NUruhWqTbdygz7ax47OssZuLDtehZYElHuJoyPW3NH2s3QYq4CiE2DrUzUuYl2dwATid2v/1R+Wm1y5v5tOMB1FY3sync1yHhiX2cJjThcUpPXjZcfyFuh0nkWAJIaaf6O3nENHbkGV0I3DZ9lmkw9//ZuW5tsCf8jrG90Mb/pTXFUYW1gxF7xMFY7gCT4LtpgYJlhCiK1h7Fmv3YO1M/Oe4WIXLmpHnDmxiHcXW6bcoxPwAT9PjToxfKLsPlsi9dw/w1rKNqzLu9BRCiC4yHvo+dPUNz0iHtadZTvw9M/lsfHyV8KHsw7Fd62y53MKLmSHqtzBaR3Se5cz1rPmRS/di2bHVoFH0hiWE2CzkZc3I+lmS9HqYKxvGScKHsg/HLqrnVRvPUPTrBd3kbRVIc67sHPOQYAkhNgsuv9YC+W8uG+tho9kwstIjPUD45+YO4Cng4x/h0JUFeszQL0wmm8SVFDd93DNLx3ZGXZTJv/eBM7E7tsiPeA5rv93rAjxRWHsNujpv0S4Ka28IYy5TPmvFFay9LW4/cRdXkjp1tmrUqSriHPAmxjOEHCJ6w/LeaqCwdiGECIePi6sx6iSTbTAh71243ax1txqURoIlhNgsVMmvmmwTNAS7LHXqbE0gIW+a+dgteIYN1+mGu7BetKYTRQkKITYLy5SPsltO/b1SlF4I6kbwHeDpJgUqzYuxCN3LRjTlLHBvHJV5L6lozdpbk9EblhBi81A2yi7tvmo8Si+PCdXZKktekIMrKvNI1vEQVbIkWEKIzcF4NowrsQ0zYzxKXqaM8fafn9TMAQ7wdP+D/PDzu7jYL+HWS16j6+9LRMETQ9ddWoTywthdQRI7cbtQMzddh/C3SrCEENOLay3EdXw0G8Ztsc3EUWu/UTjeaPvtcTYHVzqnuiwBB4hckRa4+B5O/LeL3HFxwCw97vRx8b0X1l/LXgncQiQyO4kiJg1DN6e12+LreRujwv0uyl/jALeYZVJ6a3IGCmuvQVfnLdpFYe2euIs2nmF0jWR43J1b0N1XcT7CqNruA7nnlMd1HWW4TiQ6vu3PAR/D/56GZHU/7Dhb83kpwapBV+ct2kWC5Ym7JIgrbZK71Eid8iT5pUmqMKyA7NrH1CRLjjF95+S690VjHjXwlPZhCSHap5kw5lJrJMBCztiuvkaPZ19HU+Huuf0+xT72cL501osCXGLkc40WmCk5L+tMVFyF1quNRm94tStRat6yrhibreJwVLF3JVVldsVmVQ4u12/PUel2raAS7vjYURXirHMve1yHq20dW7GwmlfJdwfXRg7v4FrpisAl7HLGtaetd4Z7rmbN6wn2u0oe9xLfe1v3uyaXYA26Om/RLpvOJVi3GrC73zJrWPlju9M2JVMz9ci+jivxWBPLgtFgqqUsVmPLS2u1Chy6g+UnLnLHmGfuDpbtMgvXyVkjVGomIcQ04E46W8c96C7a+CD5xRiz5uTKgnGrh+tv5wc49plhUtoFenyUe1wVdiE7aWwp6mS9KMmAaF0qT6zWtwC8wK5MzbjIbkOdApue6A2rBl2dt2iXLfSGNcQvGq/a2FfJrk31Mta+OnFej+I5Zr5lfJR7Xr6fD998PT8pbV704gxwk8fVrBPwDWso6nnXnsfGGyhwh7nQz3rD2s2FwQV7R24wRpDnZev+79i32VHrtX3vZN0ztsYaVtp6DY3dd4zXrzDHrHWcld0s97NOX+B8+mDR2pq3hVjDugZ2X2zXKs7jUuqZ95hjXo+xz+uZWfv/TutfdmsJcSEyWVds0wmWtUNBcAVJWAuDhsZ1jWcrzREWE8LTt3DVODTR0HePHUi0FjhvDX27wHkfsboc2yC+zv0lrt3vc4OBY16Fn2+I57xcgkJMmE3nEkzSVACGe7w1XKXsrc1O7u12I2ZuxC3hnhvQXlyA+3qTlN9Tlg5ecbUv/HwVdCGEmDYmXSMpr5S9C1eJ++1kRAJ6JqVdhdRJkyXvepOUSfCb9blNvAZWEgmWECIc7si+8AEX0XgPEiW1TdZkejQ+7qLUcy9da2oXF/s/xAfPHeDp0WuEV1W4giq8TPQ2B37Xu0F+guB0wtzxz23Sn+/4/Nv3f6M1LNkWMjbLGtbGusj4msk02Pj8Fiuu46Qt1PpQuk+fPnp178s7ObW4iwtrhr7dxYW1d3JqcULfe1u3DxVwFEKUZ3xT7wJwGmOGv4W3S/b8ihLYXiF/P9KQjWuNSG9uLsvQpfZGiuf4iRrj8C5zevEs+x8Yhui/wO7Zs+x/AHOax+0hv7e0FlHQhRATZlMEXUw6uKIs4RPWZlF3j9Owj6NEZeV7Hn3Vur+7zcW1F9g9FqSyi4v9i3Z3oy8wIZ7zesMSQlTBL5lse0xiHnUF0abEx2fOta7rs9yeubnXdXzaUNCFEKIKrnp8Ier0hWBa5gE40zNdS/3bZ84v1pnI7Xy2X+b4tCHBEkJUodXwZg/KhG83Sd4c0uH1jc/5bj55cnsq+n47K9zNJ33D4ltFgiVEWzRTQ2oytB3eXMT4/CZFOuT8DO5S8jMjn3s0588U9O9K4uvF4/bQg/s5++guLvaHIfr7OftoFwIuQEEXQkwcY8zB98O9PwlvoErJdlGe8tWL3VWNYbfjZwPg84x/pjeR/3IQfe5+UYIjyWi7hDJdCNFR/hl8HeOh0DuISpSL8LhcmCdLHj+KO6vECtmfaVEGjOHnfqTgvC2PBEuIFrjVnR5oWqLsNhd+tbV8jp/FlV3DneniZkZdhVnMk/3WlqaWS7DryCUoxIQxxhy8BIu3ZYvWdOxjEuWpUXOLfFfj6Hkd/X7IJShER/kp+B2mO8pOlKcoym/oLizrakyft2WRYAnRAg/DeaY5yk6UZ9Tt6GIn/q7GAZErUd+PGAmWEG0RPaT2YO1M/Gd3H0ZdDtGvgut6h5+pW7TyNwdb+yDWbiNynT1G9FZmiNyFb/SexyZFgiWEqMdGotkFoofrMDns5nx4+l2vKyrxEx5twZhFohD34ZrWLPBAfLzMPDYVCroQYsJsiuS3SaY9EW5ofK83Eo7jRBGAy0QidtyzbXEl5Y7ddwVdCCGmgelMhNucu8zverNdvr73yhUtmDw+nfe9QSRYQoi6TF8i3GbdZa4EtD6JaX3vlSsZbfL49N33hpFgCSHqMo2JcI8znZlEfO+VK8Q9eXwa73ujSLCEEPWYzkS4TbrLXNkmirNQ+N4rVzaN6Hi5vjYRCroQYsJsuqCLaaTJgISOBTtMCwq6EEKIbJp0l205V9y0IMESQmw+mnSXbUFX3LQgl6AQE0YuQbEVkUtQCCHElkGCJYQQohNIsIQQQnQCCZYQQohOIMESQgjRCSRYQgghOoEESwghRCeQYAkhhOgEEiwhhBCdQIIlhBCiE0iwhBBCdAIJlhBCiE4gwRJCCNEJJFhCCCE6gQRLCCFEJ5BgCSGE6AQSLCGEEJ1AgiWEEKITSLCEEEJ0AgmWEEKITiDBEkII0QkkWEIIITqBBEsIIUQnkGAJIYToBBIsIYQQnUCCJYQQohNIsIQQQnQCCZYQQohOIMESQgjRCSRYQgghOoEESwghRCeQYAkhhOgEEiwhhBCdQIIlhBCiE0iwhBBCdAIJlhBCiE4gwRJCCNEJJFhCCCE6gQRLCCFEJ5BgCSGE6AQSLCGEEJ1AgiWEEKITSLCEEEJ0AmOtbXsOGGN6wELb8xBCCNEYS9baPXU6mArBEkIIIYqQS1AIIUQnkGAJIYToBBIsIYQQnUCCJYQQohNIsIQQQnQCCZYQQohOIMESQgjRCSRYQgghOoEESwghRCeQYAkhhOgEEiwhhBCdQIIlhBCiE0iwhBBCdAIJlhBCiE4gwRJCCNEJJFhCCCE6gQRLCCFEJ5BgCSGE6AQSLCGEEJ1AgiWEEKITSLCEEEJ0AgmWEEKITiDBEkII0QkkWEIIITqBBEsIIUQnkGAJIYToBBIsIYQQnUCCJYQQohNIsIQQQnSC/w/OcBWF7WGmDwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig=plt.figure() #set up the figures\n", + "fig.set_size_inches(7, 5)\n", + "ax=fig.add_subplot(1,1,1)\n", + "draw_pitch(ax) #overlay our different objects on the pitch\n", + "plt.ylim(-2, 82)\n", + "plt.xlim(-2, 122)\n", + "plt.plot(Xg_req.shot_X_axis,Xg_req.shot_Y_axis,'ro')\n", + "plt.plot(goal.shot_X_axis,goal.shot_Y_axis,'bo')\n", + "plt.axis('off')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "\n", + "plt.scatter(Xg_req.shot_end_Y_axis,Xg_req.shot_end_Z_axis, alpha=0.5)\n", + "plt.scatter(goal.shot_end_Y_axis,goal.shot_end_Z_axis, alpha=0.5,color='red')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.ylim(0, 7)\n", + "plt.xlim(0, 80)\n", + "\n", + "plt.scatter(goal.shot_end_Y_axis,goal.shot_end_Z_axis, alpha=0.5)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "Xg_req.columns\n", + "X = Xg_req[['shot_body_part_id', 'shot_one_on_one', 'shot_technique_id','shot_type_id', 'under_pressure','shot_end_X_axis',\n", + " 'shot_end_Y_axis', 'shot_end_Z_axis', 'shot_X_axis', 'shot_Y_axis','shot_angle']]\n", + "Y = Pred_X" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Log regression test accuracy 0.900\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\sklearn\\cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n", + " \"This module will be removed in 0.20.\", DeprecationWarning)\n" + ] + } + ], + "source": [ + "#LogisticRegression model for predicting Xg\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.cross_validation import train_test_split\n", + "log_r = LogisticRegression()\n", + "\n", + "X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size = 0.2 , random_state = 52)\n", + "\n", + "log_r.fit(X_train,y_train)\n", + "print(\"Log regression test accuracy {:.3f}\".format(log_r.score(X_train,y_train)))" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[325 5]\n", + " [ 43 4]]\n" + ] + } + ], + "source": [ + "prediction = log_r.predict(X_test)\n", + "from sklearn.metrics import confusion_matrix\n", + "confusion_matrix = confusion_matrix(y_test,prediction)\n", + "print(confusion_matrix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[325 5]\n", + " [ 14 33]]\n" + ] + } + ], + "source": [ + "from sklearn.metrics import accuracy_score\n", + "import xgboost as xgb #xgboost model\n", + "model = xgb.XGBClassifier()\n", + "model.fit(X_train, y_train)\n", + "#print(model)\n", + "prediction = model.predict(X_test)\n", + "#prediction = log_r.predict(X_test)\n", + "from sklearn.metrics import confusion_matrix\n", + "confusion_matrix = confusion_matrix(y_test,prediction)\n", + "print(confusion_matrix)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#!pip install --upgrade tensorflow\n", + "!pip uninstall tensorflow\n", + "print(\"done\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'numpy.ndarray' object has no attribute 'values'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mX\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;31m#X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size = 0.2 , random_state = 52)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'numpy.ndarray' object has no attribute 'values'" + ] + } + ], + "source": [ + "\n", + "#X_train,X_test,y_train,y_test = train_test_split(X,Y,test_size = 0.2 , random_state = 52)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + }, + { + "ename": "ImportError", + "evalue": "Traceback (most recent call last):\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 18, in swig_import_helper\n fp, pathname, description = imp.find_module('_pywrap_tensorflow_internal', [dirname(__file__)])\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\imp.py\", line 297, in find_module\n raise ImportError(_ERR_MSG.format(name), name=name)\nImportError: No module named '_pywrap_tensorflow_internal'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow.py\", line 58, in \n from tensorflow.python.pywrap_tensorflow_internal import *\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 28, in \n _pywrap_tensorflow_internal = swig_import_helper()\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 20, in swig_import_helper\n import _pywrap_tensorflow_internal\nModuleNotFoundError: No module named '_pywrap_tensorflow_internal'\n\n\nFailed to load the native TensorFlow runtime.\n\nSee https://www.tensorflow.org/install/errors\n\nfor some common reasons and solutions. Include the entire stack trace\nabove this error message when asking for help.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\u001b[0m in \u001b[0;36mswig_import_helper\u001b[1;34m()\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 18\u001b[1;33m \u001b[0mfp\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpathname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdescription\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfind_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'_pywrap_tensorflow_internal'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mdirname\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m__file__\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 19\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\imp.py\u001b[0m in \u001b[0;36mfind_module\u001b[1;34m(name, path)\u001b[0m\n\u001b[0;32m 296\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 297\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_ERR_MSG\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 298\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mImportError\u001b[0m: No module named '_pywrap_tensorflow_internal'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 57\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 58\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpywrap_tensorflow_internal\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 59\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpywrap_tensorflow_internal\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 27\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0m_mod\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 28\u001b[1;33m \u001b[0m_pywrap_tensorflow_internal\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mswig_import_helper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 29\u001b[0m \u001b[1;32mdel\u001b[0m \u001b[0mswig_import_helper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\u001b[0m in \u001b[0;36mswig_import_helper\u001b[1;34m()\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0m_pywrap_tensorflow_internal\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0m_pywrap_tensorflow_internal\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named '_pywrap_tensorflow_internal'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodels\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSequential\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlayers\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mDense\u001b[0m \u001b[1;31m#'shot_body_part_id', 'shot_one_on_one', 'shot_technique_id','shot_type_id', 'under_pressure','shot_end_X_axis',\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;31m#'shot_end_Y_axis', 'shot_end_Z_axis', 'shot_X_axis', 'shot_Y_axis','shot_angle'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mmodel\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSequential\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mDense\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0minput_dim\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m11\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mactivation\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'relu'\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\keras\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mabsolute_import\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mutils\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mactivations\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mapplications\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\keras\\utils\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdata_utils\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mio_utils\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mconv_utils\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;31m# Globally-importable utils.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\keras\\utils\\conv_utils.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0msix\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmoves\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[1;33m.\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mbackend\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mK\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\keras\\backend\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0m_BACKEND\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'tensorflow'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 88\u001b[0m \u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstderr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Using TensorFlow backend.\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 89\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[1;33m.\u001b[0m\u001b[0mtensorflow_backend\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 90\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 91\u001b[0m \u001b[1;31m# Try and load external backend.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\keras\\backend\\tensorflow_backend.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0m__future__\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mprint_function\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mtensorflow\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 6\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframework\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mops\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mtf_ops\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtraining\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmoving_averages\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[1;31m# pylint: disable=g-bad-import-order\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 24\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpywrap_tensorflow\u001b[0m \u001b[1;31m# pylint: disable=unused-import\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 47\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 49\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpywrap_tensorflow\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 50\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 51\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mtensorflow\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtools\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mcomponent_api_helper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 72\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0msome\u001b[0m \u001b[0mcommon\u001b[0m \u001b[0mreasons\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0msolutions\u001b[0m\u001b[1;33m.\u001b[0m \u001b[0mInclude\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mentire\u001b[0m \u001b[0mstack\u001b[0m \u001b[0mtrace\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 73\u001b[0m above this error message when asking for help.\"\"\" % traceback.format_exc()\n\u001b[1;32m---> 74\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 75\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 76\u001b[0m \u001b[1;31m# pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mImportError\u001b[0m: Traceback (most recent call last):\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 18, in swig_import_helper\n fp, pathname, description = imp.find_module('_pywrap_tensorflow_internal', [dirname(__file__)])\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\imp.py\", line 297, in find_module\n raise ImportError(_ERR_MSG.format(name), name=name)\nImportError: No module named '_pywrap_tensorflow_internal'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow.py\", line 58, in \n from tensorflow.python.pywrap_tensorflow_internal import *\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 28, in \n _pywrap_tensorflow_internal = swig_import_helper()\n File \"C:\\Users\\Koushik\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\pywrap_tensorflow_internal.py\", line 20, in swig_import_helper\n import _pywrap_tensorflow_internal\nModuleNotFoundError: No module named '_pywrap_tensorflow_internal'\n\n\nFailed to load the native TensorFlow runtime.\n\nSee https://www.tensorflow.org/install/errors\n\nfor some common reasons and solutions. Include the entire stack trace\nabove this error message when asking for help." + ] + } + ], + "source": [ + "from keras.models import Sequential\n", + "from keras.layers.core import Dense #'shot_body_part_id', 'shot_one_on_one', 'shot_technique_id','shot_type_id', 'under_pressure','shot_end_X_axis',\n", + " #'shot_end_Y_axis', 'shot_end_Z_axis', 'shot_X_axis', 'shot_Y_axis','shot_angle'\n", + "model = Sequential()\n", + "model.add(Dense(3,input_dim = 11,activation = 'relu' ))\n", + "model.add(Dense(1,activation = 'sigmoid'))\n", + "\n", + "model.compile(loss = 'mean_absolute_error',optimizer = 'adam',metrics = ['binary_accuracy'])\n", + "model.fit(X_train,y_train,epoch = 100,verbose = 2)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/shot_mapping.ipynb b/shot_mapping.ipynb new file mode 100644 index 0000000..7f19bc1 --- /dev/null +++ b/shot_mapping.ipynb @@ -0,0 +1,627 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from pandas.io.json import json_normalize #package for flattening json in pandas df\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "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", + "
bad_behaviourball_receiptball_recoveryblockdribbledueldurationfoul_committedfoul_wongoalkeeper...possession_teamrelated_eventssecondshotsubstitutiontacticsteamtimestamptypeunder_pressure
0NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}NaN0NaNNaN{'formation': 433, 'lineup': [{'player': {'id'...{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:00:00.000{'id': 35, 'name': 'Starting XI'}NaN
1NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}NaN0NaNNaN{'formation': 352, 'lineup': [{'player': {'id'...{'id': 971, 'name': 'Chelsea LFC'}2018-11-30 00:00:00.000{'id': 35, 'name': 'Starting XI'}NaN
2NaNNaNNaNNaNNaNNaN8.16NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[c771a4d4-51cb-41de-83aa-7103cd199c92]0NaNNaNNaN{'id': 971, 'name': 'Chelsea LFC'}2018-11-30 00:00:00.000{'id': 18, 'name': 'Half Start'}NaN
3NaNNaNNaNNaNNaNNaN7.96NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[48b94b06-ebbd-47e9-958c-44bf63622f5e]0NaNNaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:00:00.000{'id': 18, 'name': 'Half Start'}NaN
4NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 971, 'name': 'Chelsea LFC'}[237cac8c-5cb0-4015-9d08-c7df9699a136]0NaNNaNNaN{'id': 971, 'name': 'Chelsea LFC'}2018-11-30 00:00:00.100{'id': 30, 'name': 'Pass'}NaN
\n", + "

5 rows × 33 columns

\n", + "
" + ], + "text/plain": [ + " bad_behaviour ball_receipt ball_recovery block dribble duel duration \\\n", + "0 NaN NaN NaN NaN NaN NaN 0.00 \n", + "1 NaN NaN NaN NaN NaN NaN 0.00 \n", + "2 NaN NaN NaN NaN NaN NaN 8.16 \n", + "3 NaN NaN NaN NaN NaN NaN 7.96 \n", + "4 NaN NaN NaN NaN NaN NaN 0.00 \n", + "\n", + " foul_committed foul_won goalkeeper ... \\\n", + "0 NaN NaN NaN ... \n", + "1 NaN NaN NaN ... \n", + "2 NaN NaN NaN ... \n", + "3 NaN NaN NaN ... \n", + "4 NaN NaN NaN ... \n", + "\n", + " possession_team \\\n", + "0 {'id': 746, 'name': 'Manchester City WFC'} \n", + "1 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2 {'id': 746, 'name': 'Manchester City WFC'} \n", + "3 {'id': 746, 'name': 'Manchester City WFC'} \n", + "4 {'id': 971, 'name': 'Chelsea LFC'} \n", + "\n", + " related_events second shot substitution \\\n", + "0 NaN 0 NaN NaN \n", + "1 NaN 0 NaN NaN \n", + "2 [c771a4d4-51cb-41de-83aa-7103cd199c92] 0 NaN NaN \n", + "3 [48b94b06-ebbd-47e9-958c-44bf63622f5e] 0 NaN NaN \n", + "4 [237cac8c-5cb0-4015-9d08-c7df9699a136] 0 NaN NaN \n", + "\n", + " tactics \\\n", + "0 {'formation': 433, 'lineup': [{'player': {'id'... \n", + "1 {'formation': 352, 'lineup': [{'player': {'id'... \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "\n", + " team timestamp \\\n", + "0 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:00:00.000 \n", + "1 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-30 00:00:00.000 \n", + "2 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-30 00:00:00.000 \n", + "3 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:00:00.000 \n", + "4 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-30 00:00:00.100 \n", + "\n", + " type under_pressure \n", + "0 {'id': 35, 'name': 'Starting XI'} NaN \n", + "1 {'id': 35, 'name': 'Starting XI'} NaN \n", + "2 {'id': 18, 'name': 'Half Start'} NaN \n", + "3 {'id': 18, 'name': 'Half Start'} NaN \n", + "4 {'id': 30, 'name': 'Pass'} NaN \n", + "\n", + "[5 rows x 33 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_json(r\"C:\\Users\\Koushik\\Downloads\\open-data-master\\open-data-master\\data\\events\\7298.json\")\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "shot = df[(df.possession_team =={'id': 971, 'name': 'Chelsea LFC'}) & (df.type == {'id': 16, 'name': 'Shot'})] \n", + "#change possession_team to get shots by a different team" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "df_2 = pd.DataFrame(shot.location)\n", + "df_2[['X_axis','Y_axis']] = pd.DataFrame(shot.location.values.tolist(), index= shot.location.index) #df_2 has the x,y coordinate" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "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", + "
locationX_axisY_axis
33[115.0, 25.0]115.025.0
186[109.0, 51.0]109.051.0
192[99.0, 52.0]99.052.0
196[107.0, 40.0]107.040.0
204[108.0, 32.0]108.032.0
583[108.0, 32.0]108.032.0
695[87.0, 41.0]87.041.0
749[108.0, 36.0]108.036.0
765[105.0, 43.0]105.043.0
1060[112.0, 39.0]112.039.0
1176[115.0, 54.0]115.054.0
1179[102.0, 34.0]102.034.0
1291[108.0, 47.0]108.047.0
1400[94.0, 54.0]94.054.0
1486[108.0, 27.0]108.027.0
1622[114.0, 34.0]114.034.0
1666[109.0, 39.0]109.039.0
1828[117.0, 31.0]117.031.0
2136[91.0, 52.0]91.052.0
2240[118.0, 39.0]118.039.0
2325[111.0, 32.0]111.032.0
2692[107.0, 47.0]107.047.0
2695[110.0, 36.0]110.036.0
2813[113.0, 42.0]113.042.0
2820[109.0, 52.0]109.052.0
\n", + "
" + ], + "text/plain": [ + " location X_axis Y_axis\n", + "33 [115.0, 25.0] 115.0 25.0\n", + "186 [109.0, 51.0] 109.0 51.0\n", + "192 [99.0, 52.0] 99.0 52.0\n", + "196 [107.0, 40.0] 107.0 40.0\n", + "204 [108.0, 32.0] 108.0 32.0\n", + "583 [108.0, 32.0] 108.0 32.0\n", + "695 [87.0, 41.0] 87.0 41.0\n", + "749 [108.0, 36.0] 108.0 36.0\n", + "765 [105.0, 43.0] 105.0 43.0\n", + "1060 [112.0, 39.0] 112.0 39.0\n", + "1176 [115.0, 54.0] 115.0 54.0\n", + "1179 [102.0, 34.0] 102.0 34.0\n", + "1291 [108.0, 47.0] 108.0 47.0\n", + "1400 [94.0, 54.0] 94.0 54.0\n", + "1486 [108.0, 27.0] 108.0 27.0\n", + "1622 [114.0, 34.0] 114.0 34.0\n", + "1666 [109.0, 39.0] 109.0 39.0\n", + "1828 [117.0, 31.0] 117.0 31.0\n", + "2136 [91.0, 52.0] 91.0 52.0\n", + "2240 [118.0, 39.0] 118.0 39.0\n", + "2325 [111.0, 32.0] 111.0 32.0\n", + "2692 [107.0, 47.0] 107.0 47.0\n", + "2695 [110.0, 36.0] 110.0 36.0\n", + "2813 [113.0, 42.0] 113.0 42.0\n", + "2820 [109.0, 52.0] 109.0 52.0" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_2" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "x_axis = df_2.X_axis.values.tolist()\n", + "y_axis = df_2.Y_axis.values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "from scipy.misc import imread\n", + "import matplotlib.cbook as cbook" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "img = plt.imread(r'C:\\Users\\Koushik\\Downloads\\football_field.png')\n", + "fig, ax = plt.subplots()\n", + "\n", + "ax.imshow(img, extent=[0, 120, 0, 80])\n", + "ax.plot(x_axis,y_axis,'ro')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/shots_visuals.ipynb b/shots_visuals.ipynb new file mode 100644 index 0000000..e7364e0 --- /dev/null +++ b/shots_visuals.ipynb @@ -0,0 +1,6582 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from pandas.io.json import json_normalize #package for flattening json in pandas df\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_json(r\"C:\\Users\\Koushik\\Downloads\\open-data-master\\open-data-master\\data\\events\\19714.json\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "shot = df[ (df.type == {'id': 16, 'name': 'Shot'})]" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "33 {'id': 971, 'name': 'Chelsea LFC'}\n", + "186 {'id': 971, 'name': 'Chelsea LFC'}\n", + "192 {'id': 971, 'name': 'Chelsea LFC'}\n", + "196 {'id': 971, 'name': 'Chelsea LFC'}\n", + "204 {'id': 971, 'name': 'Chelsea LFC'}\n", + "583 {'id': 971, 'name': 'Chelsea LFC'}\n", + "695 {'id': 971, 'name': 'Chelsea LFC'}\n", + "749 {'id': 971, 'name': 'Chelsea LFC'}\n", + "765 {'id': 971, 'name': 'Chelsea LFC'}\n", + "832 {'id': 746, 'name': 'Manchester City WFC'}\n", + "843 {'id': 746, 'name': 'Manchester City WFC'}\n", + "1060 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1176 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1179 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1291 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1400 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1486 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1622 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1651 {'id': 746, 'name': 'Manchester City WFC'}\n", + "1666 {'id': 971, 'name': 'Chelsea LFC'}\n", + "1828 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2136 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2240 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2297 {'id': 746, 'name': 'Manchester City WFC'}\n", + "2325 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2453 {'id': 746, 'name': 'Manchester City WFC'}\n", + "2532 {'id': 746, 'name': 'Manchester City WFC'}\n", + "2692 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2695 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2741 {'id': 746, 'name': 'Manchester City WFC'}\n", + "2813 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2820 {'id': 971, 'name': 'Chelsea LFC'}\n", + "2867 {'id': 746, 'name': 'Manchester City WFC'}\n", + "2910 {'id': 746, 'name': 'Manchester City WFC'}\n", + "Name: possession_team, dtype: object" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "eve_type = df[\"type\"] \n", + "eve_loc = df[\"location\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "shot = df[(df.possession_team == {'id': 746, 'name': 'Manchester City WFC'}) & (df.type == {'id': 16, 'name': 'Shot'})]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "
bad_behaviourball_receiptball_recoveryblockdribbledueldurationfoul_committedfoul_wongoalkeeper...possession_teamrelated_eventssecondshotsubstitutiontacticsteamtimestamptypeunder_pressure
832NaNNaNNaNNaNNaNNaN0.240NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[81b72de5-c633-4b86-97a5-e6e3141a637c, b90b070...22{'statsbomb_xg': 0.06657825, 'end_location': [...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:26:22.860{'id': 16, 'name': 'Shot'}1.0
843NaNNaNNaNNaNNaNNaN0.345NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[0853fb46-b768-4d42-986e-77ea3c96c952, e70ec33...32{'statsbomb_xg': 0.046157748000000005, 'end_lo...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:26:32.955{'id': 16, 'name': 'Shot'}NaN
1651NaNNaNNaNNaNNaNNaN0.400NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[cba9cd2d-9992-407a-aaf3-0311eb351c87]41{'one_on_one': True, 'statsbomb_xg': 0.5693016...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:03:41.638{'id': 16, 'name': 'Shot'}NaN
2297NaNNaNNaNNaNNaNNaN2.560NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[79749558-b0e2-4f8c-a1eb-0a8e0aef46e8]7{'statsbomb_xg': 0.008986439, 'end_location': ...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:25:07.438{'id': 16, 'name': 'Shot'}NaN
2453NaNNaNNaNNaNNaNNaN1.640NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[94d2eb1b-8fc9-49c7-b616-aca417904cd6]46{'statsbomb_xg': 0.0063227050000000005, 'end_l...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:29:46.198{'id': 16, 'name': 'Shot'}NaN
2532NaNNaNNaNNaNNaNNaN0.840NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[f74bf297-93f1-45b0-81de-eeb3fc69c680]51{'statsbomb_xg': 0.22746719999999998, 'end_loc...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:31:51.518{'id': 16, 'name': 'Shot'}NaN
2741NaNNaNNaNNaNNaNNaN0.800NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[dd94e36b-a345-4536-b4ee-843bd6e1578b]34{'statsbomb_xg': 0.2832888, 'end_location': [1...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:40:34.118{'id': 16, 'name': 'Shot'}NaN
2867NaNNaNNaNNaNNaNNaN1.000NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[3ae2ccbb-4810-41b4-afd9-5f5d020ca1e0, 4ecdab6...21{'statsbomb_xg': 0.050603393, 'end_location': ...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:44:21.918{'id': 16, 'name': 'Shot'}1.0
2910NaNNaNNaNNaNNaNNaN1.828NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[20798c8c-8446-4460-b16a-ad013b7ed0f6]7{'statsbomb_xg': 0.013315414000000001, 'end_lo...NaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-30 00:46:07.810{'id': 16, 'name': 'Shot'}NaN
\n", + "

9 rows × 33 columns

\n", + "
" + ], + "text/plain": [ + " bad_behaviour ball_receipt ball_recovery block dribble duel duration \\\n", + "832 NaN NaN NaN NaN NaN NaN 0.240 \n", + "843 NaN NaN NaN NaN NaN NaN 0.345 \n", + "1651 NaN NaN NaN NaN NaN NaN 0.400 \n", + "2297 NaN NaN NaN NaN NaN NaN 2.560 \n", + "2453 NaN NaN NaN NaN NaN NaN 1.640 \n", + "2532 NaN NaN NaN NaN NaN NaN 0.840 \n", + "2741 NaN NaN NaN NaN NaN NaN 0.800 \n", + "2867 NaN NaN NaN NaN NaN NaN 1.000 \n", + "2910 NaN NaN NaN NaN NaN NaN 1.828 \n", + "\n", + " foul_committed foul_won goalkeeper ... \\\n", + "832 NaN NaN NaN ... \n", + "843 NaN NaN NaN ... \n", + "1651 NaN NaN NaN ... \n", + "2297 NaN NaN NaN ... \n", + "2453 NaN NaN NaN ... \n", + "2532 NaN NaN NaN ... \n", + "2741 NaN NaN NaN ... \n", + "2867 NaN NaN NaN ... \n", + "2910 NaN NaN NaN ... \n", + "\n", + " possession_team \\\n", + "832 {'id': 746, 'name': 'Manchester City WFC'} \n", + "843 {'id': 746, 'name': 'Manchester City WFC'} \n", + "1651 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2297 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2453 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2532 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2741 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2867 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2910 {'id': 746, 'name': 'Manchester City WFC'} \n", + "\n", + " related_events second \\\n", + "832 [81b72de5-c633-4b86-97a5-e6e3141a637c, b90b070... 22 \n", + "843 [0853fb46-b768-4d42-986e-77ea3c96c952, e70ec33... 32 \n", + "1651 [cba9cd2d-9992-407a-aaf3-0311eb351c87] 41 \n", + "2297 [79749558-b0e2-4f8c-a1eb-0a8e0aef46e8] 7 \n", + "2453 [94d2eb1b-8fc9-49c7-b616-aca417904cd6] 46 \n", + "2532 [f74bf297-93f1-45b0-81de-eeb3fc69c680] 51 \n", + "2741 [dd94e36b-a345-4536-b4ee-843bd6e1578b] 34 \n", + "2867 [3ae2ccbb-4810-41b4-afd9-5f5d020ca1e0, 4ecdab6... 21 \n", + "2910 [20798c8c-8446-4460-b16a-ad013b7ed0f6] 7 \n", + "\n", + " shot substitution tactics \\\n", + "832 {'statsbomb_xg': 0.06657825, 'end_location': [... NaN NaN \n", + "843 {'statsbomb_xg': 0.046157748000000005, 'end_lo... NaN NaN \n", + "1651 {'one_on_one': True, 'statsbomb_xg': 0.5693016... NaN NaN \n", + "2297 {'statsbomb_xg': 0.008986439, 'end_location': ... NaN NaN \n", + "2453 {'statsbomb_xg': 0.0063227050000000005, 'end_l... NaN NaN \n", + "2532 {'statsbomb_xg': 0.22746719999999998, 'end_loc... NaN NaN \n", + "2741 {'statsbomb_xg': 0.2832888, 'end_location': [1... NaN NaN \n", + "2867 {'statsbomb_xg': 0.050603393, 'end_location': ... NaN NaN \n", + "2910 {'statsbomb_xg': 0.013315414000000001, 'end_lo... NaN NaN \n", + "\n", + " team timestamp \\\n", + "832 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:26:22.860 \n", + "843 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:26:32.955 \n", + "1651 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:03:41.638 \n", + "2297 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:25:07.438 \n", + "2453 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:29:46.198 \n", + "2532 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:31:51.518 \n", + "2741 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:40:34.118 \n", + "2867 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:44:21.918 \n", + "2910 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-30 00:46:07.810 \n", + "\n", + " type under_pressure \n", + "832 {'id': 16, 'name': 'Shot'} 1.0 \n", + "843 {'id': 16, 'name': 'Shot'} NaN \n", + "1651 {'id': 16, 'name': 'Shot'} NaN \n", + "2297 {'id': 16, 'name': 'Shot'} NaN \n", + "2453 {'id': 16, 'name': 'Shot'} NaN \n", + "2532 {'id': 16, 'name': 'Shot'} NaN \n", + "2741 {'id': 16, 'name': 'Shot'} NaN \n", + "2867 {'id': 16, 'name': 'Shot'} 1.0 \n", + "2910 {'id': 16, 'name': 'Shot'} NaN \n", + "\n", + "[9 rows x 33 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "832 [117.0, 53.0]\n", + "843 [102.0, 50.0]\n", + "1651 [115.0, 41.0]\n", + "2297 [108.0, 35.0]\n", + "2453 [88.0, 34.0]\n", + "2532 [113.0, 42.0]\n", + "2741 [98.0, 46.0]\n", + "2867 [102.0, 35.0]\n", + "2910 [109.0, 37.0]\n", + "Name: location, dtype: object" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shot.a" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[[117.0, 53.0],\n", + " [102.0, 50.0],\n", + " [115.0, 41.0],\n", + " [108.0, 35.0],\n", + " [88.0, 34.0],\n", + " [113.0, 42.0],\n", + " [98.0, 46.0],\n", + " [102.0, 35.0],\n", + " [109.0, 37.0]]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shot.location.values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "df_2 = pd.DataFrame(shot.location)\n", + "df_2[['team1','team2']] = pd.DataFrame(shot.location.values.tolist(), index= shot.location.index)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "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", + "
locationteam1team2
832[117.0, 53.0]117.053.0
843[102.0, 50.0]102.050.0
1651[115.0, 41.0]115.041.0
2297[108.0, 35.0]108.035.0
2453[88.0, 34.0]88.034.0
2532[113.0, 42.0]113.042.0
2741[98.0, 46.0]98.046.0
2867[102.0, 35.0]102.035.0
2910[109.0, 37.0]109.037.0
\n", + "
" + ], + "text/plain": [ + " location team1 team2\n", + "832 [117.0, 53.0] 117.0 53.0\n", + "843 [102.0, 50.0] 102.0 50.0\n", + "1651 [115.0, 41.0] 115.0 41.0\n", + "2297 [108.0, 35.0] 108.0 35.0\n", + "2453 [88.0, 34.0] 88.0 34.0\n", + "2532 [113.0, 42.0] 113.0 42.0\n", + "2741 [98.0, 46.0] 98.0 46.0\n", + "2867 [102.0, 35.0] 102.0 35.0\n", + "2910 [109.0, 37.0] 109.0 37.0" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_2" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "x = df_2.team1.values.tolist()\n", + "y = df_2.team2.values.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[53.0, 50.0, 41.0, 35.0, 34.0, 42.0, 46.0, 35.0, 37.0]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "x = np.asarray(x)\n", + "y = np.asarray(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([117., 102., 115., 108., 88., 113., 98., 102., 109.])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([53., 50., 41., 35., 34., 42., 46., 35., 37.])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "img = plt.imread(r'C:\\Users\\Koushik\\Documents\\football_field.png')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[117.0, 102.0, 115.0, 108.0, 88.0, 113.0, 98.0, 102.0, 109.0]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "from scipy.misc import imread\n", + "import matplotlib.cbook as cbook\n", + "\n", + "img = plt.imread(r'C:\\Users\\Koushik\\Documents\\football_field.png')\n", + "\"\"\" fig,ax = plt.plot(x,y,'ro')\n", + "plt.axis([0,120,0,80])\n", + "plt.imshow(img, zorder=0, extent=[0.5, 8.0, 1.0, 7.0])\n", + "ax.imshow(img) \"\"\"\n", + "\n", + "fig, ax = plt.subplots()\n", + "\n", + "ax.imshow(img, extent=[0, 120, 0, 80])\n", + "ax.plot(x, y,'ro')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'str' object is not callable", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mstri\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mshot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlocation\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mstri\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstri\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstri\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: 'str' object is not callable" + ] + } + ], + "source": [ + "stri = \"\" \n", + "for x in shot.location:\n", + " stri = stri + str(x)\n", + "print(stri)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "shot.location.to_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "loc= pd.read_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 14, + "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", + "
XY
011753
110250
211541
310835
48834
511342
69846
710235
810937
\n", + "
" + ], + "text/plain": [ + " X Y\n", + "0 117 53\n", + "1 102 50\n", + "2 115 41\n", + "3 108 35\n", + "4 88 34\n", + "5 113 42\n", + "6 98 46\n", + "7 102 35\n", + "8 109 37" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loc" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'DataFrame' object has no attribute 'Location'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ml\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mLocation\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m','\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexpand\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 4374\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4375\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4376\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4377\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4378\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'Location'" + ] + } + ], + "source": [ + "l =loc.Location.str.split(',', expand=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "cannot compare a dtyped [object] array with a scalar of type [bool]", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mna_op\u001b[1;34m(x, y)\u001b[0m\n\u001b[0;32m 1303\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1304\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1305\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mrand_\u001b[1;34m(left, right)\u001b[0m\n\u001b[0;32m 148\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mrand_\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mleft\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mright\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 149\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0moperator\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mand_\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mright\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mleft\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 150\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for &: 'dict' and 'dict'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mna_op\u001b[1;34m(x, y)\u001b[0m\n\u001b[0;32m 1320\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1321\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlibops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mscalar_binop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mop\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1322\u001b[0m \u001b[1;32mexcept\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\ops.pyx\u001b[0m in \u001b[0;36mpandas._libs.ops.scalar_binop\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mrand_\u001b[1;34m(left, right)\u001b[0m\n\u001b[0;32m 148\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mrand_\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mleft\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mright\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 149\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0moperator\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mand_\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mright\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mleft\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 150\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for &: 'bool' and 'dict'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtype\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m16\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'name'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'Shot'\u001b[0m\u001b[1;33m}\u001b[0m \u001b[1;33m&\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpossession_team\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m746\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'name'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'Manchester City WFC'\u001b[0m\u001b[1;33m}\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(self, other)\u001b[0m\n\u001b[0;32m 1358\u001b[0m is_integer_dtype(np.asarray(other)) else fill_bool)\n\u001b[0;32m 1359\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1360\u001b[1;33m \u001b[0mres_values\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mna_op\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1361\u001b[0m \u001b[0munfilled\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mres_values\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1362\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mfiller\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0munfilled\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\ops.py\u001b[0m in \u001b[0;36mna_op\u001b[1;34m(x, y)\u001b[0m\n\u001b[0;32m 1324\u001b[0m \u001b[1;34m\"with a scalar of type [{typ}]\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1325\u001b[0m .format(dtype=x.dtype,\n\u001b[1;32m-> 1326\u001b[1;33m typ=type(y).__name__))\n\u001b[0m\u001b[0;32m 1327\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1328\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: cannot compare a dtyped [object] array with a scalar of type [bool]" + ] + } + ], + "source": [ + "df[df.type == {'id': 16, 'name': 'Shot'} & df.possession_team == {'id': 746, 'name': 'Manchester City WFC'} ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": {}, + "outputs": [], + "source": [ + "ab = df[df.type == {'id': 16, 'name': 'Shot'} ]" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "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", + "
0
33NaN
186NaN
192NaN
196NaN
204NaN
583NaN
695NaN
749NaN
765NaN
832NaN
843NaN
1060NaN
1176NaN
1179NaN
1291NaN
1400NaN
1486NaN
1622NaN
1651NaN
1666NaN
1828NaN
2136NaN
2240NaN
2297NaN
2325NaN
2453NaN
2532NaN
2692NaN
2695NaN
2741NaN
2813NaN
2820NaN
2867NaN
2910NaN
\n", + "
" + ], + "text/plain": [ + " 0\n", + "33 NaN\n", + "186 NaN\n", + "192 NaN\n", + "196 NaN\n", + "204 NaN\n", + "583 NaN\n", + "695 NaN\n", + "749 NaN\n", + "765 NaN\n", + "832 NaN\n", + "843 NaN\n", + "1060 NaN\n", + "1176 NaN\n", + "1179 NaN\n", + "1291 NaN\n", + "1400 NaN\n", + "1486 NaN\n", + "1622 NaN\n", + "1651 NaN\n", + "1666 NaN\n", + "1828 NaN\n", + "2136 NaN\n", + "2240 NaN\n", + "2297 NaN\n", + "2325 NaN\n", + "2453 NaN\n", + "2532 NaN\n", + "2692 NaN\n", + "2695 NaN\n", + "2741 NaN\n", + "2813 NaN\n", + "2820 NaN\n", + "2867 NaN\n", + "2910 NaN" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ab.location.str.split(\",\", n = 1, expand = True) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": {}, + "outputs": [], + "source": [ + "loc = ab.location" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [], + "source": [ + "loc.to_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "loc= pd.read_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "l =loc.Location.str.split(',', expand=True)\n", + "x_axis = np.asarray(l[0])\n", + "y_axis = np.asarray(l[1])\n", + "comb = np.column_stack((x_axis,y_axis))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([['117.0', ' 53.0'],\n", + " ['102.0', ' 50.0'],\n", + " ['115.0', ' 41.0'],\n", + " ['108.0', ' 35.0'],\n", + " ['88.0', ' 34.0'],\n", + " ['113.0', ' 42.0'],\n", + " ['98.0', ' 46.0'],\n", + " ['102.0', ' 35.0'],\n", + " ['109.0', ' 37.0']], dtype=object)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "comb" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'numpy' has no attribute 'comb'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfinal\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcomb\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'X'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'Y'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m: module 'numpy' has no attribute 'comb'" + ] + } + ], + "source": [ + "final = pd.DataFrame(data=npcomb,columns=['X','Y'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 45, + "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", + "
XY
0117.053.0
1102.050.0
2115.041.0
3108.035.0
488.034.0
5113.042.0
698.046.0
7102.035.0
8109.037.0
\n", + "
" + ], + "text/plain": [ + " X Y\n", + "0 117.0 53.0\n", + "1 102.0 50.0\n", + "2 115.0 41.0\n", + "3 108.0 35.0\n", + "4 88.0 34.0\n", + "5 113.0 42.0\n", + "6 98.0 46.0\n", + "7 102.0 35.0\n", + "8 109.0 37.0" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "final.to_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([['117.0', ' 53.0'],\n", + " ['102.0', ' 50.0'],\n", + " ['115.0', ' 41.0'],\n", + " ['108.0', ' 35.0'],\n", + " ['88.0', ' 34.0'],\n", + " ['113.0', ' 42.0'],\n", + " ['98.0', ' 46.0'],\n", + " ['102.0', ' 35.0'],\n", + " ['109.0', ' 37.0']], dtype=object)" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "comb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['117.0', '102.0', '115.0', '108.0', '88.0', '113.0', '98.0',\n", + " '102.0', '109.0'], dtype=object)" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_axis" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns; sns.set()\n", + "import matplotlib.pyplot as plt\n", + "sns.scatterplot(data = comb)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sns.lmplot(x='Attack', y='Defense', data=comb,\n", + " fit_reg=False, # No regression line\n", + " hue='Stage') # Color by evolution stage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 115.0, 25.0\n", + "1 109.0, 51.0\n", + "2 99.0, 52.0\n", + "3 107.0, 40.0\n", + "4 108.0, 32.0\n", + "5 108.0, 32.0\n", + "6 87.0, 41.0\n", + "7 108.0, 36.0\n", + "8 105.0, 43.0\n", + "9 117.0, 53.0\n", + "10 102.0, 50.0\n", + "11 112.0, 39.0\n", + "12 115.0, 54.0\n", + "13 102.0, 34.0\n", + "14 108.0, 47.0\n", + "15 94.0, 54.0\n", + "16 108.0, 27.0\n", + "17 114.0, 34.0\n", + "18 115.0, 41.0\n", + "19 109.0, 39.0\n", + "20 117.0, 31.0\n", + "21 91.0, 52.0\n", + "22 118.0, 39.0\n", + "23 108.0, 35.0\n", + "24 111.0, 32.0\n", + "25 88.0, 34.0\n", + "26 113.0, 42.0\n", + "27 107.0, 47.0\n", + "28 110.0, 36.0\n", + "29 98.0, 46.0\n", + "30 113.0, 42.0\n", + "31 109.0, 52.0\n", + "32 102.0, 35.0\n", + "33 109.0, 37.0\n", + "Name: Cordinates, dtype: object" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loc.Cordinates" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'Series' object has no attribute 'applymap'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mloc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCordinates\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapplymap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 4374\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4375\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4376\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4377\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4378\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mAttributeError\u001b[0m: 'Series' object has no attribute 'applymap'" + ] + } + ], + "source": [ + "x = loc.Cordinates.applymap(str)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'loc' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ml\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCordinates\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m','\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexpand\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0ml\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'loc' is not defined" + ] + } + ], + "source": [ + "l =loc.Cordinates.str.split(',', expand=True)\n", + "l" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [], + "source": [ + "x_axis = np.asarray(l[0])\n", + "y_axis = np.asarray(l[1])" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['115.0', '109.0', '99.0', '107.0', '108.0', '108.0', '87.0',\n", + " '108.0', '105.0', '117.0', '102.0', '112.0', '115.0', '102.0',\n", + " '108.0', '94.0', '108.0', '114.0', '115.0', '109.0', '117.0',\n", + " '91.0', '118.0', '108.0', '111.0', '88.0', '113.0', '107.0',\n", + " '110.0', '98.0', '113.0', '109.0', '102.0', '109.0'], dtype=object)" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_axis" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([' 25.0', ' 51.0', ' 52.0', ' 40.0', ' 32.0', ' 32.0', ' 41.0',\n", + " ' 36.0', ' 43.0', ' 53.0', ' 50.0', ' 39.0', ' 54.0', ' 34.0',\n", + " ' 47.0', ' 54.0', ' 27.0', ' 34.0', ' 41.0', ' 39.0', ' 31.0',\n", + " ' 52.0', ' 39.0', ' 35.0', ' 32.0', ' 34.0', ' 42.0', ' 47.0',\n", + " ' 36.0', ' 46.0', ' 42.0', ' 52.0', ' 35.0', ' 37.0'], dtype=object)" + ] + }, + "execution_count": 160, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_axis" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.plot(x_axis,y_axis,'ro')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([list([115.0, 25.0]), list([109.0, 51.0]), list([99.0, 52.0]),\n", + " list([107.0, 40.0]), list([108.0, 32.0]), list([108.0, 32.0]),\n", + " list([87.0, 41.0]), list([108.0, 36.0]), list([105.0, 43.0]),\n", + " list([117.0, 53.0]), list([102.0, 50.0]), list([112.0, 39.0]),\n", + " list([115.0, 54.0]), list([102.0, 34.0]), list([108.0, 47.0]),\n", + " list([94.0, 54.0]), list([108.0, 27.0]), list([114.0, 34.0]),\n", + " list([115.0, 41.0]), list([109.0, 39.0]), list([117.0, 31.0]),\n", + " list([91.0, 52.0]), list([118.0, 39.0]), list([108.0, 35.0]),\n", + " list([111.0, 32.0]), list([88.0, 34.0]), list([113.0, 42.0]),\n", + " list([107.0, 47.0]), list([110.0, 36.0]), list([98.0, 46.0]),\n", + " list([113.0, 42.0]), list([109.0, 52.0]), list([102.0, 35.0]),\n", + " list([109.0, 37.0])], dtype=object)" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'keras'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'keras'" + ] + } + ], + "source": [ + "import keras" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "conc = list(zip(eve_type,eve_loc))" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[({'id': 35, 'name': 'Starting XI'}, nan),\n", + " ({'id': 35, 'name': 'Starting XI'}, nan),\n", + " ({'id': 18, 'name': 'Half Start'}, nan),\n", + " ({'id': 18, 'name': 'Half Start'}, nan),\n", + " ({'id': 30, 'name': 'Pass'}, [61.0, 40.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [63.0, 37.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [47.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [69.0, 33.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 5.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [35.0, 69.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [108.0, 10.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [11.0, 72.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [6.0, 43.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [62.0, 12.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [59.0, 71.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [78.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [41.0, 71.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 8.0]),\n", + " ({'id': 6, 'name': 'Block'}, [78.0, 8.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [72.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [43.0, 66.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [58.0, 76.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [58.0, 76.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [48.0, 8.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 71.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [79.0, 70.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [37.0, 10.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [44.0, 17.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [95.0, 23.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [23.0, 59.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [98.0, 22.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [3.0, 59.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [118.0, 22.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [115.0, 25.0]),\n", + " ({'id': 6, 'name': 'Block'}, [4.0, 47.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 54.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [119.0, 2.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [115.0, 33.0]),\n", + " ({'id': 6, 'name': 'Block'}, [115.0, 36.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [5.0, 48.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [49.0, 25.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [67.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [54.0, 24.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [47.0, 10.0]),\n", + " ({'id': 6, 'name': 'Block'}, [68.0, 55.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [72.0, 50.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [32.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 26.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [96.0, 5.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [22.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 5.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [87.0, 16.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [30.0, 57.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [87.0, 17.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [15.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [105.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [100.0, 40.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [90.0, 54.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [30.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [90.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [101.0, 59.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [23.0, 22.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [115.0, 59.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [6.0, 22.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [120.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [118.0, 41.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 39.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [10.0, 38.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [9.0, 41.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [81.0, 38.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [38.0, 47.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [82.0, 32.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [87.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 40.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 55.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 58.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 69.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 10.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [74.0, 74.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [41.0, 7.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [80.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [80.0, 78.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [43.0, 7.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [50.0, 3.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [71.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [78.0, 76.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [43.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 77.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [84.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [81.0, 69.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [39.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [83.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [93.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [90.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [92.0, 55.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 28.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 24.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [29.0, 24.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [25.0, 28.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [25.0, 27.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [26.0, 14.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [93.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [32.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 18.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [24.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [24.0, 53.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [34.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [75.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [43.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [40.0, 61.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [69.0, 21.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [69.0, 22.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [52.0, 59.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [56.0, 60.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [54.0, 7.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [65.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [43.0, 76.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 76.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [36.0, 64.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 53.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [32.0, 27.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 26.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 8.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [83.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [38.0, 7.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [58.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [61.0, 14.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [53.0, 6.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [68.0, 75.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [73.0, 70.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [88.0, 64.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [32.0, 23.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [87.0, 60.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [34.0, 21.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [35.0, 29.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [40.0, 33.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [64.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [57.0, 29.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [57.0, 28.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [66.0, 62.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [66.0, 62.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [53.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 3.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [38.0, 9.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 13.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [25.0, 25.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [21.0, 27.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [44.0, 75.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [76.0, 4.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [47.0, 78.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [76.0, 2.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [51.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [42.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [68.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [47.0, 73.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [57.0, 7.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [63.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [63.0, 70.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [67.0, 78.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [54.0, 3.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [65.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [66.0, 1.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [29.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [91.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [87.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [82.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [81.0, 2.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [88.0, 65.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [14.0, 24.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [116.0, 57.0]),\n", + " ({'id': 6, 'name': 'Block'}, [5.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [6.0, 15.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [116.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [110.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [90.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [104.0, 48.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [102.0, 45.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [17.0, 28.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [10.0, 27.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [113.0, 55.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [111.0, 54.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [109.0, 51.0]),\n", + " ({'id': 6, 'name': 'Block'}, [9.0, 37.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 39.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [120.0, 80.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [13.0, 32.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [99.0, 54.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [99.0, 52.0]),\n", + " ({'id': 6, 'name': 'Block'}, [13.0, 30.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 40.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [111.0, 34.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [107.0, 40.0]),\n", + " ({'id': 6, 'name': 'Block'}, [9.0, 44.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [104.0, 36.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [15.0, 42.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [8.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [109.0, 29.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [8.0, 45.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [108.0, 32.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 43.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 30, 'name': 'Pass'}, [44.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [112.0, 65.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [6.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [11.0, 69.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 54.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [11.0, 33.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [10.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [27.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 59.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [78.0, 30.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [39.0, 52.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 52.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [43.0, 78.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [72.0, 3.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [48.0, 78.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [43.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [72.0, 73.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [74.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [49.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [42.0, 3.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [40.0, 3.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [75.0, 71.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [64.0, 22.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [61.0, 60.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [38.0, 27.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [77.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [77.0, 59.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [71.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [75.0, 41.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [81.0, 7.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [36.0, 77.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [91.0, 13.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [97.0, 6.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [25.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [86.0, 14.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [35.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [85.0, 15.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [21.0, 37.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [99.0, 41.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [90.0, 53.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [90.0, 53.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 63.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [25.0, 12.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 64.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [87.0, 61.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [31.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [89.0, 65.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [104.0, 60.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [5.0, 26.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [16.0, 39.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [23.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [36.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [38.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [36.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [31.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [11.0, 53.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [13.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [91.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [41.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [80.0, 16.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [93.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [102.0, 9.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [11.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [114.0, 17.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [117.0, 24.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [5.0, 45.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [104.0, 51.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [17.0, 33.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [95.0, 48.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [29.0, 33.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 47.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [87.0, 25.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 25.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 9.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [15.0, 70.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [15.0, 69.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [106.0, 12.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [114.0, 19.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [7.0, 7.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [36.0, 17.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [90.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [28.0, 16.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [96.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [97.0, 53.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 53.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 55.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [88.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [85.0, 28.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [108.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [107.0, 47.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [107.0, 36.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [12.0, 41.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [107.0, 36.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [23.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [95.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [29.0, 31.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 41.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 42.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [36.0, 33.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [85.0, 48.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [35.0, 42.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 41.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 66.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [70.0, 18.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [76.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [69.0, 24.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [42.0, 50.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [67.0, 33.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [58.0, 46.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [57.0, 47.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [73.0, 55.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [72.0, 56.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [56.0, 30.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [54.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [56.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [78.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [45.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [70.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 39.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [51.0, 38.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [54.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [79.0, 18.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [37.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [77.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [59.0, 18.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [58.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [69.0, 24.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [52.0, 57.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [62.0, 23.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [56.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 46.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 48.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [66.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [65.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [64.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [64.0, 14.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [66.0, 3.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [58.0, 76.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [67.0, 3.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [38.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 17.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [83.0, 17.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 19.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [75.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [91.0, 3.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [30.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [30.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [26.0, 79.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 71.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [82.0, 10.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [31.0, 76.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [87.0, 6.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 5.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [79.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [79.0, 4.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 19.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [40.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [43.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 71.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [63.0, 16.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [57.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [72.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [93.0, 70.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [11.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 24.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [28.0, 5.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [69.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 10.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [71.0, 2.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [82.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [106.0, 6.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [12.0, 75.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [116.0, 19.0]),\n", + " ({'id': 6, 'name': 'Block'}, [5.0, 53.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [117.0, 23.0]),\n", + " ({'id': 6, 'name': 'Block'}, [5.0, 57.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [111.0, 32.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [10.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [21.0, 58.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [97.0, 22.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [98.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [20.0, 59.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [14.0, 64.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [14.0, 64.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [82.0, 72.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [38.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 47.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [53.0, 46.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 45.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 8.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [91.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [105.0, 37.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [16.0, 48.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [15.0, 65.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [57.0, 66.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [57.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [64.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [70.0, 25.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [72.0, 29.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [23.0, 62.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [113.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [111.0, 10.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [115.0, 12.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [10.0, 65.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [116.0, 12.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [110.0, 47.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [9.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 1.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [84.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 4.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [73.0, 70.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [49.0, 11.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [72.0, 70.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [51.0, 9.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [71.0, 72.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [48.0, 8.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [51.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [64.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [63.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [47.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [54.0, 26.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [27.0, 35.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 65.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [41.0, 61.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [80.0, 20.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [43.0, 56.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [55.0, 22.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [65.0, 56.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [47.0, 22.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [74.0, 59.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [84.0, 77.0]),\n", + " ({'id': 28, 'name': 'Shield'}, [38.0, 2.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [34.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [49.0, 2.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [73.0, 79.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [46.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [75.0, 70.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [71.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [71.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [32.0, 11.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [78.0, 61.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [44.0, 23.0]),\n", + " ({'id': 3, 'name': 'Dispossessed'}, [50.0, 19.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [71.0, 62.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [74.0, 59.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [63.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [72.0, 33.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [96.0, 62.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 24.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [44.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [44.0, 38.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [66.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [58.0, 45.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [58.0, 24.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [47.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [44.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 45.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 8.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [85.0, 15.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [24.0, 48.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [95.0, 31.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 31.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [109.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [2.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [20.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [20.0, 67.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [36.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 57.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [34.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 7.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [32.0, 77.0]),\n", + " ({'id': 6, 'name': 'Block'}, [83.0, 10.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [65.0, 8.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [48.0, 77.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [70.0, 12.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [76.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [76.0, 21.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [46.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [79.0, 16.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [37.0, 61.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [81.0, 18.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [86.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [32.0, 55.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [29.0, 57.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [90.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [29.0, 59.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [28.0, 53.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [89.0, 28.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 50.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [15.0, 33.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [83.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 12.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 2.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 77.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [38.0, 1.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [84.0, 80.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [32.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [88.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [88.0, 70.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [37.0, 2.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [80.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [80.0, 79.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 30, 'name': 'Pass'}, [10.0, 4.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [94.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [23.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [21.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [19.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 28.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [38.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [88.0, 69.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [41.0, 15.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [67.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [46.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [76.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [47.0, 75.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [23.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [2.0, 30.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [117.0, 50.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [118.0, 50.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [3.0, 31.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [118.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [2.0, 34.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [11.0, 45.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [46.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [96.0, 24.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [16.0, 53.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [16.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 36.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 34.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [36.0, 16.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 25.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [48.0, 23.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [41.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [46.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 21.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [69.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [46.0, 33.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [73.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [62.0, 8.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [58.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [77.0, 14.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [37.0, 56.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [85.0, 35.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [41.0, 42.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 65.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [48.0, 57.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [70.0, 18.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [69.0, 23.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [30.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [94.0, 24.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [12.0, 54.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [109.0, 27.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [108.0, 32.0]),\n", + " ({'id': 6, 'name': 'Block'}, [11.0, 47.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 41.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [109.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [107.0, 74.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [21.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [93.0, 67.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [90.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 54.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [21.0, 27.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 54.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [104.0, 54.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [91.0, 62.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [26.0, 22.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [43.0, 17.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [52.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [62.0, 36.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [64.0, 43.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 69.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [20.0, 22.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [102.0, 59.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [19.0, 22.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [112.0, 56.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [5.0, 29.0]),\n", + " ({'id': 22, 'name': 'Foul Committed'}, [110.0, 55.0]),\n", + " ({'id': 21, 'name': 'Foul Won'}, [11.0, 26.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [11.0, 25.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [65.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [25.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [36.0, 60.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 60.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [94.0, 37.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [14.0, 42.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [14.0, 34.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [81.0, 69.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [38.0, 12.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [91.0, 65.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 54.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [37.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 38.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [87.0, 44.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 49.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [25.0, 39.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 40.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 57.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [88.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [28.0, 58.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [38.0, 76.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [78.0, 7.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [38.0, 76.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [70.0, 20.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 60.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 47.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [59.0, 32.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [69.0, 29.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [90.0, 7.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [27.0, 70.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [18.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [108.0, 14.0]),\n", + " ({'id': 6, 'name': 'Block'}, [8.0, 52.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [112.0, 14.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [10.0, 69.0]),\n", + " ({'id': 6, 'name': 'Block'}, [113.0, 12.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 75.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [89.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 77.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [25.0, 76.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [25.0, 78.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [96.0, 3.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [10.0, 63.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [113.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [102.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [19.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [6.0, 13.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [8.0, 9.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [109.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [12.0, 1.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [21.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [24.0, 10.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [10.0, 11.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [105.0, 69.0]),\n", + " ({'id': 22, 'name': 'Foul Committed'}, [99.0, 73.0]),\n", + " ({'id': 21, 'name': 'Foul Won'}, [22.0, 8.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 13.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [25.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [16.0, 20.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [16.0, 20.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [29.0, 9.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 15.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [69.0, 64.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [46.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [42.0, 16.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [41.0, 6.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [76.0, 12.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [50.0, 64.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [89.0, 38.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [95.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [99.0, 57.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 51.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [80.0, 38.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [83.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [78.0, 22.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [81.0, 23.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 38.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [32.0, 49.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [87.0, 41.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [7.0, 45.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [49.0, 63.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [68.0, 18.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [49.0, 63.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [46.0, 22.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [72.0, 59.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [53.0, 47.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [69.0, 33.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [45.0, 73.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [79.0, 6.0]),\n", + " ({'id': 28, 'name': 'Shield'}, [38.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 69.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [86.0, 8.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [34.0, 75.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [82.0, 4.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [34.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 63.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [79.0, 13.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [70.0, 18.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [54.0, 68.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [67.0, 13.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [80.0, 78.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [43.0, 6.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [49.0, 9.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [67.0, 72.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 68.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [68.0, 13.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [57.0, 76.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [56.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [40.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [32.0, 43.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [85.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 36.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 10.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [52.0, 9.0]),\n", + " ({'id': 6, 'name': 'Block'}, [67.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 51.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [100.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [95.0, 44.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [22.0, 36.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [16.0, 44.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [102.0, 37.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [109.0, 26.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [111.0, 24.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [10.0, 45.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [111.0, 35.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [108.0, 36.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 44.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 17, 'name': 'Pressure'}, [99.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [20.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [39.0, 59.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [81.0, 22.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [92.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [92.0, 24.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [97.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [101.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [102.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [102.0, 34.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [104.0, 44.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [13.0, 32.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [14.0, 35.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [105.0, 43.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 41.0]),\n", + " ({'id': 8, 'name': 'Offside'}, [116.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [7.0, 41.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 69.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [63.0, 72.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [57.0, 6.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [65.0, 10.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [55.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [65.0, 10.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [70.0, 20.0]),\n", + " ({'id': 6, 'name': 'Block'}, [56.0, 66.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [46.0, 57.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [49.0, 57.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [72.0, 24.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [71.0, 22.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [79.0, 7.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [80.0, 6.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [73.0, 9.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [49.0, 63.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [66.0, 9.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [62.0, 31.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [61.0, 30.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [43.0, 59.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [70.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [69.0, 20.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [51.0, 57.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 45.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [63.0, 34.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [56.0, 45.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [52.0, 44.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [66.0, 35.0]),\n", + " ({'id': 22, 'name': 'Foul Committed'}, [68.0, 36.0]),\n", + " ({'id': 21, 'name': 'Foul Won'}, [53.0, 45.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [50.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [33.0, 47.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 43.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [32.0, 18.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [83.0, 71.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [32.0, 14.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [79.0, 24.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [40.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [80.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [72.0, 26.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [44.0, 58.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [39.0, 51.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 50.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [12.0, 44.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [16.0, 51.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [43.0, 10.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [85.0, 64.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [31.0, 21.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [88.0, 53.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [82.0, 59.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [34.0, 24.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [82.0, 60.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [77.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [79.0, 67.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [30.0, 28.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [90.0, 51.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [85.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 77.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [23.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [98.0, 62.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [5.0, 29.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [116.0, 53.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [117.0, 53.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [2.0, 35.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [5.0, 25.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [115.0, 55.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [112.0, 62.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [112.0, 62.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [115.0, 27.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [4.0, 51.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [119.0, 26.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [101.0, 50.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [4.0, 48.0]),\n", + " ({'id': 16, 'name': 'Shot'}, [102.0, 50.0]),\n", + " ({'id': 6, 'name': 'Block'}, [10.0, 38.0]),\n", + " ({'id': 23, 'name': 'Goal Keeper'}, [7.0, 37.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [120.0, 1.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [12.0, 44.0]),\n", + " ({'id': 9, 'name': 'Clearance'}, [13.0, 44.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [26.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 41.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [26.0, 36.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 31.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [57.0, 65.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [49.0, 28.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [95.0, 56.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [109.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [113.0, 66.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [92.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [87.0, 73.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [70.0, 68.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [76.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [62.0, 40.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [62.0, 37.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [69.0, 20.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [70.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [91.0, 7.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 2.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 9.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [70.0, 11.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [54.0, 28.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [54.0, 31.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [56.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 62.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [84.0, 77.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [83.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [75.0, 71.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [75.0, 70.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [58.0, 73.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [59.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [74.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [71.0, 76.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [80.0, 78.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [80.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 74.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [91.0, 73.0]),\n", + " ({'id': 2, 'name': 'Ball Recovery'}, [34.0, 7.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [88.0, 73.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [88.0, 70.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [32.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [85.0, 4.0]),\n", + " ({'id': 5, 'name': 'Camera On'}, nan),\n", + " ({'id': 30, 'name': 'Pass'}, [29.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 41.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [87.0, 43.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 42.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [44.0, 41.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [45.0, 38.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 22.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [47.0, 20.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [89.0, 23.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [90.0, 24.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [97.0, 22.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [24.0, 58.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [8.0, 43.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [110.0, 26.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [8.0, 43.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [22.0, 63.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [22.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [12.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [28.0, 68.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 65.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [30.0, 65.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [25.0, 69.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [25.0, 69.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [32.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [42.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [83.0, 60.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [40.0, 22.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [43.0, 19.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [73.0, 66.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [42.0, 19.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [52.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [49.0, 4.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [41.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [50.0, 3.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [45.0, 2.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [42.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 24.0]),\n", + " ({'id': 36, 'name': 'Tactical Shift'}, nan),\n", + " ({'id': 30, 'name': 'Pass'}, [27.0, 27.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 56.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 57.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [13.0, 50.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [15.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [22.0, 19.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 18.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [42.0, 28.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [81.0, 52.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 31.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [14.0, 44.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [15.0, 44.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [23.0, 64.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [93.0, 15.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [21.0, 66.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [35.0, 77.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [34.0, 64.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [33.0, 66.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [76.0, 7.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [47.0, 75.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [47.0, 70.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [74.0, 11.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [55.0, 80.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 76.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [85.0, 18.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 75.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [36.0, 55.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [39.0, 49.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [66.0, 8.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [69.0, 9.0]),\n", + " ({'id': 4, 'name': 'Duel'}, [52.0, 72.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [70.0, 11.0]),\n", + " ({'id': 39, 'name': 'Dribbled Past'}, [68.0, 2.0]),\n", + " ({'id': 14, 'name': 'Dribble'}, [53.0, 79.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [50.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [50.0, 58.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [54.0, 63.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [37.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [37.0, 74.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [33.0, 57.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [85.0, 32.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 51.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [30.0, 23.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [30.0, 21.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [38.0, 10.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [78.0, 74.0]),\n", + " ({'id': 38, 'name': 'Miscontrol'}, [46.0, 3.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [58.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [31.0, 7.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [59.0, 74.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [90.0, 1.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [78.0, 8.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [82.0, 12.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [43.0, 73.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [74.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [74.0, 6.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [74.0, 17.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [74.0, 17.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [78.0, 5.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [82.0, 6.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [86.0, 15.0]),\n", + " ({'id': 17, 'name': 'Pressure'}, [30.0, 69.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 15.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [86.0, 30.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [86.0, 30.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [99.0, 41.0]),\n", + " ({'id': 10, 'name': 'Interception'}, [25.0, 44.0]),\n", + " ({'id': 30, 'name': 'Pass'}, [26.0, 46.0]),\n", + " ({'id': 42, 'name': 'Ball Receipt*'}, [35.0, 54.0]),\n", + " ...]" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conc" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 {'id': 35, 'name': 'Starting XI'}\n", + "1 {'id': 35, 'name': 'Starting XI'}\n", + "2 {'id': 18, 'name': 'Half Start'}\n", + "3 {'id': 18, 'name': 'Half Start'}\n", + "4 {'id': 30, 'name': 'Pass'}\n", + "5 {'id': 42, 'name': 'Ball Receipt*'}\n", + "6 {'id': 17, 'name': 'Pressure'}\n", + "7 {'id': 30, 'name': 'Pass'}\n", + "8 {'id': 42, 'name': 'Ball Receipt*'}\n", + "9 {'id': 17, 'name': 'Pressure'}\n", + "10 {'id': 38, 'name': 'Miscontrol'}\n", + "11 {'id': 17, 'name': 'Pressure'}\n", + "12 {'id': 30, 'name': 'Pass'}\n", + "13 {'id': 30, 'name': 'Pass'}\n", + "14 {'id': 42, 'name': 'Ball Receipt*'}\n", + "15 {'id': 17, 'name': 'Pressure'}\n", + "16 {'id': 30, 'name': 'Pass'}\n", + "17 {'id': 42, 'name': 'Ball Receipt*'}\n", + "18 {'id': 6, 'name': 'Block'}\n", + "19 {'id': 17, 'name': 'Pressure'}\n", + "20 {'id': 30, 'name': 'Pass'}\n", + "21 {'id': 42, 'name': 'Ball Receipt*'}\n", + "22 {'id': 30, 'name': 'Pass'}\n", + "23 {'id': 17, 'name': 'Pressure'}\n", + "24 {'id': 42, 'name': 'Ball Receipt*'}\n", + "25 {'id': 38, 'name': 'Miscontrol'}\n", + "26 {'id': 2, 'name': 'Ball Recovery'}\n", + "27 {'id': 30, 'name': 'Pass'}\n", + "28 {'id': 42, 'name': 'Ball Receipt*'}\n", + "29 {'id': 39, 'name': 'Dribbled Past'}\n", + " ... \n", + "2930 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2931 {'id': 9, 'name': 'Clearance'}\n", + "2932 {'id': 17, 'name': 'Pressure'}\n", + "2933 {'id': 30, 'name': 'Pass'}\n", + "2934 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2935 {'id': 30, 'name': 'Pass'}\n", + "2936 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2937 {'id': 30, 'name': 'Pass'}\n", + "2938 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2939 {'id': 17, 'name': 'Pressure'}\n", + "2940 {'id': 30, 'name': 'Pass'}\n", + "2941 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2942 {'id': 9, 'name': 'Clearance'}\n", + "2943 {'id': 30, 'name': 'Pass'}\n", + "2944 {'id': 2, 'name': 'Ball Recovery'}\n", + "2945 {'id': 30, 'name': 'Pass'}\n", + "2946 {'id': 17, 'name': 'Pressure'}\n", + "2947 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2948 {'id': 9, 'name': 'Clearance'}\n", + "2949 {'id': 30, 'name': 'Pass'}\n", + "2950 {'id': 42, 'name': 'Ball Receipt*'}\n", + "2951 {'id': 17, 'name': 'Pressure'}\n", + "2952 {'id': 30, 'name': 'Pass'}\n", + "2953 {'id': 6, 'name': 'Block'}\n", + "2954 {'id': 30, 'name': 'Pass'}\n", + "2955 {'id': 30, 'name': 'Pass'}\n", + "2956 {'id': 30, 'name': 'Pass'}\n", + "2957 {'id': 9, 'name': 'Clearance'}\n", + "2958 {'id': 34, 'name': 'Half End'}\n", + "2959 {'id': 34, 'name': 'Half End'}\n", + "Name: type, Length: 2960, dtype: object" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.type" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [], + "source": [ + "df.type.to_csv(r\"C:\\Users\\Koushik\\Downloads\\hope.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported type: ", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtype\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_dict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'series'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\series.py\u001b[0m in \u001b[0;36mto_dict\u001b[1;34m(self, into)\u001b[0m\n\u001b[0;32m 1340\u001b[0m \"\"\"\n\u001b[0;32m 1341\u001b[0m \u001b[1;31m# GH16122\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1342\u001b[1;33m \u001b[0minto_c\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstandardize_mapping\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minto\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1343\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0minto_c\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcompat\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miteritems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1344\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\common.py\u001b[0m in \u001b[0;36mstandardize_mapping\u001b[1;34m(into)\u001b[0m\n\u001b[0;32m 470\u001b[0m \u001b[0minto\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minto\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 471\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0missubclass\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minto\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcollections\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mMapping\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 472\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'unsupported type: {into}'\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0minto\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minto\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 473\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0minto\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mcollections\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdefaultdict\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 474\u001b[0m raise TypeError(\n", + "\u001b[1;31mTypeError\u001b[0m: unsupported type: " + ] + } + ], + "source": [ + "df.type.to_dict('series')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "' '" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'id': 35, 'name': 'Starting XI'}" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"{'id': 35, 'name': 'Starting XI'}\"" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "str(a)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conc" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'id': 35, 'name': 'Starting XI'},\n", + " {'id': 18, 'name': 'Half Start'},\n", + " {'id': 18, 'name': 'Half Start'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 28, 'name': 'Shield'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 3, 'name': 'Dispossessed'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 22, 'name': 'Foul Committed'},\n", + " {'id': 21, 'name': 'Foul Won'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 22, 'name': 'Foul Committed'},\n", + " {'id': 21, 'name': 'Foul Won'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 28, 'name': 'Shield'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 8, 'name': 'Offside'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 22, 'name': 'Foul Committed'},\n", + " {'id': 21, 'name': 'Foul Won'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 16, 'name': 'Shot'},\n", + " {'id': 6, 'name': 'Block'},\n", + " {'id': 23, 'name': 'Goal Keeper'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 9, 'name': 'Clearance'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 2, 'name': 'Ball Recovery'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 5, 'name': 'Camera On'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 36, 'name': 'Tactical Shift'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 4, 'name': 'Duel'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 39, 'name': 'Dribbled Past'},\n", + " {'id': 14, 'name': 'Dribble'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 38, 'name': 'Miscontrol'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 17, 'name': 'Pressure'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " {'id': 30, 'name': 'Pass'},\n", + " {'id': 42, 'name': 'Ball Receipt*'},\n", + " {'id': 10, 'name': 'Interception'},\n", + " ...]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "import json \n", + "from pandas.io.json import json_normalize " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "with open(r'C:\\Users\\Koushik\\Downloads\\open-data-master\\open-data-master\\data\\events\\7298.json') as data_file: \n", + " data = json.load(data_file) " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "string indices must be integers", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf_event\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mjson_normalize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'type'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'name'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrecord_prefix\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'type_'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'ignore'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\io\\json\\normalize.py\u001b[0m in \u001b[0;36mjson_normalize\u001b[1;34m(data, record_path, meta, meta_prefix, record_prefix, errors, sep)\u001b[0m\n\u001b[0;32m 260\u001b[0m \u001b[0mrecords\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrecs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 261\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 262\u001b[1;33m \u001b[0m_recursive_extract\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrecord_path\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 263\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 264\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mDataFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrecords\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\io\\json\\normalize.py\u001b[0m in \u001b[0;36m_recursive_extract\u001b[1;34m(data, path, seen_meta, level)\u001b[0m\n\u001b[0;32m 236\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 237\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mobj\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 238\u001b[1;33m \u001b[0mrecs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_pull_field\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpath\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 239\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 240\u001b[0m \u001b[1;31m# For repeating the metadata later\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\io\\json\\normalize.py\u001b[0m in \u001b[0;36m_pull_field\u001b[1;34m(js, spec)\u001b[0m\n\u001b[0;32m 183\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mfield\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 184\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 185\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mspec\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 186\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: string indices must be integers" + ] + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 29, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
type_0idname
0id8671703e-aab7-47a8-818e-a83a91278658NaN
1name8671703e-aab7-47a8-818e-a83a91278658NaN
2id08a66b27-7098-4396-b942-ba73fa2e2df6NaN
3name08a66b27-7098-4396-b942-ba73fa2e2df6NaN
4id48b94b06-ebbd-47e9-958c-44bf63622f5eNaN
5name48b94b06-ebbd-47e9-958c-44bf63622f5eNaN
6idc771a4d4-51cb-41de-83aa-7103cd199c92NaN
7namec771a4d4-51cb-41de-83aa-7103cd199c92NaN
8id272ef47d-171f-4395-a156-f4979e7bf352NaN
9name272ef47d-171f-4395-a156-f4979e7bf352NaN
10id237cac8c-5cb0-4015-9d08-c7df9699a136NaN
11name237cac8c-5cb0-4015-9d08-c7df9699a136NaN
12id4360d68e-392e-4b30-8808-7b7310c9c273NaN
13name4360d68e-392e-4b30-8808-7b7310c9c273NaN
14id1b5ea4d5-1200-4fe4-b43c-112b6414dff2NaN
15name1b5ea4d5-1200-4fe4-b43c-112b6414dff2NaN
16idd74db266-c626-44cc-b504-26507871099fNaN
17named74db266-c626-44cc-b504-26507871099fNaN
18id94d9893d-ab70-4d00-8f0d-84ae8a75cfbbNaN
19name94d9893d-ab70-4d00-8f0d-84ae8a75cfbbNaN
20id2c0070b5-6e05-438c-a26a-e7a87e840823NaN
21name2c0070b5-6e05-438c-a26a-e7a87e840823NaN
22id4d6cc1cc-5884-4328-8306-344aa1ca5d3eNaN
23name4d6cc1cc-5884-4328-8306-344aa1ca5d3eNaN
24id9773edb1-6279-4f3c-85d2-9e0d5e9cf6c0NaN
25name9773edb1-6279-4f3c-85d2-9e0d5e9cf6c0NaN
26id6aa96cce-d444-4600-b2c7-d3898444a745NaN
27name6aa96cce-d444-4600-b2c7-d3898444a745NaN
28ide7730cf8-ea18-48e7-851e-be562d65786fNaN
29namee7730cf8-ea18-48e7-851e-be562d65786fNaN
............
5890idaf3dd5d8-71ba-44fa-9716-9592583a14ebNaN
5891nameaf3dd5d8-71ba-44fa-9716-9592583a14ebNaN
5892id6a3be6e9-fd15-47c8-87fb-b0aab1974ab5NaN
5893name6a3be6e9-fd15-47c8-87fb-b0aab1974ab5NaN
5894id3e7a1caf-9db0-42fb-84b7-80bd94421db7NaN
5895name3e7a1caf-9db0-42fb-84b7-80bd94421db7NaN
5896idb7099973-d989-4edb-a369-bc537106bd9bNaN
5897nameb7099973-d989-4edb-a369-bc537106bd9bNaN
5898id11ed6e6b-ace8-4670-beb7-11943397c360NaN
5899name11ed6e6b-ace8-4670-beb7-11943397c360NaN
5900idf0ee205f-9a4c-4099-b80a-21a2a744dd49NaN
5901namef0ee205f-9a4c-4099-b80a-21a2a744dd49NaN
5902ideba688d7-0630-45b5-beb2-0f10d0223c13NaN
5903nameeba688d7-0630-45b5-beb2-0f10d0223c13NaN
5904id84cde482-86cf-409f-83c5-2ed27e282f82NaN
5905name84cde482-86cf-409f-83c5-2ed27e282f82NaN
5906id21d70847-1582-42ed-a51e-9e91215320ecNaN
5907name21d70847-1582-42ed-a51e-9e91215320ecNaN
5908id62588fc6-a8f5-4f85-b707-344ff5c00d89NaN
5909name62588fc6-a8f5-4f85-b707-344ff5c00d89NaN
5910id32c6d064-7f2e-4443-aa4d-904fd816c7b4NaN
5911name32c6d064-7f2e-4443-aa4d-904fd816c7b4NaN
5912idd79eb27d-4929-49a9-9ab8-d60ba4bc1d12NaN
5913named79eb27d-4929-49a9-9ab8-d60ba4bc1d12NaN
5914idc0bd843f-77eb-4812-83ec-13181beaa21bNaN
5915namec0bd843f-77eb-4812-83ec-13181beaa21bNaN
5916id7620698b-6f87-4a03-aaaa-58eb3133a7c3NaN
5917name7620698b-6f87-4a03-aaaa-58eb3133a7c3NaN
5918idfb15f211-1c83-455b-b535-918330bf6852NaN
5919namefb15f211-1c83-455b-b535-918330bf6852NaN
\n", + "

5920 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " type_0 id name\n", + "0 id 8671703e-aab7-47a8-818e-a83a91278658 NaN\n", + "1 name 8671703e-aab7-47a8-818e-a83a91278658 NaN\n", + "2 id 08a66b27-7098-4396-b942-ba73fa2e2df6 NaN\n", + "3 name 08a66b27-7098-4396-b942-ba73fa2e2df6 NaN\n", + "4 id 48b94b06-ebbd-47e9-958c-44bf63622f5e NaN\n", + "5 name 48b94b06-ebbd-47e9-958c-44bf63622f5e NaN\n", + "6 id c771a4d4-51cb-41de-83aa-7103cd199c92 NaN\n", + "7 name c771a4d4-51cb-41de-83aa-7103cd199c92 NaN\n", + "8 id 272ef47d-171f-4395-a156-f4979e7bf352 NaN\n", + "9 name 272ef47d-171f-4395-a156-f4979e7bf352 NaN\n", + "10 id 237cac8c-5cb0-4015-9d08-c7df9699a136 NaN\n", + "11 name 237cac8c-5cb0-4015-9d08-c7df9699a136 NaN\n", + "12 id 4360d68e-392e-4b30-8808-7b7310c9c273 NaN\n", + "13 name 4360d68e-392e-4b30-8808-7b7310c9c273 NaN\n", + "14 id 1b5ea4d5-1200-4fe4-b43c-112b6414dff2 NaN\n", + "15 name 1b5ea4d5-1200-4fe4-b43c-112b6414dff2 NaN\n", + "16 id d74db266-c626-44cc-b504-26507871099f NaN\n", + "17 name d74db266-c626-44cc-b504-26507871099f NaN\n", + "18 id 94d9893d-ab70-4d00-8f0d-84ae8a75cfbb NaN\n", + "19 name 94d9893d-ab70-4d00-8f0d-84ae8a75cfbb NaN\n", + "20 id 2c0070b5-6e05-438c-a26a-e7a87e840823 NaN\n", + "21 name 2c0070b5-6e05-438c-a26a-e7a87e840823 NaN\n", + "22 id 4d6cc1cc-5884-4328-8306-344aa1ca5d3e NaN\n", + "23 name 4d6cc1cc-5884-4328-8306-344aa1ca5d3e NaN\n", + "24 id 9773edb1-6279-4f3c-85d2-9e0d5e9cf6c0 NaN\n", + "25 name 9773edb1-6279-4f3c-85d2-9e0d5e9cf6c0 NaN\n", + "26 id 6aa96cce-d444-4600-b2c7-d3898444a745 NaN\n", + "27 name 6aa96cce-d444-4600-b2c7-d3898444a745 NaN\n", + "28 id e7730cf8-ea18-48e7-851e-be562d65786f NaN\n", + "29 name e7730cf8-ea18-48e7-851e-be562d65786f NaN\n", + "... ... ... ...\n", + "5890 id af3dd5d8-71ba-44fa-9716-9592583a14eb NaN\n", + "5891 name af3dd5d8-71ba-44fa-9716-9592583a14eb NaN\n", + "5892 id 6a3be6e9-fd15-47c8-87fb-b0aab1974ab5 NaN\n", + "5893 name 6a3be6e9-fd15-47c8-87fb-b0aab1974ab5 NaN\n", + "5894 id 3e7a1caf-9db0-42fb-84b7-80bd94421db7 NaN\n", + "5895 name 3e7a1caf-9db0-42fb-84b7-80bd94421db7 NaN\n", + "5896 id b7099973-d989-4edb-a369-bc537106bd9b NaN\n", + "5897 name b7099973-d989-4edb-a369-bc537106bd9b NaN\n", + "5898 id 11ed6e6b-ace8-4670-beb7-11943397c360 NaN\n", + "5899 name 11ed6e6b-ace8-4670-beb7-11943397c360 NaN\n", + "5900 id f0ee205f-9a4c-4099-b80a-21a2a744dd49 NaN\n", + "5901 name f0ee205f-9a4c-4099-b80a-21a2a744dd49 NaN\n", + "5902 id eba688d7-0630-45b5-beb2-0f10d0223c13 NaN\n", + "5903 name eba688d7-0630-45b5-beb2-0f10d0223c13 NaN\n", + "5904 id 84cde482-86cf-409f-83c5-2ed27e282f82 NaN\n", + "5905 name 84cde482-86cf-409f-83c5-2ed27e282f82 NaN\n", + "5906 id 21d70847-1582-42ed-a51e-9e91215320ec NaN\n", + "5907 name 21d70847-1582-42ed-a51e-9e91215320ec NaN\n", + "5908 id 62588fc6-a8f5-4f85-b707-344ff5c00d89 NaN\n", + "5909 name 62588fc6-a8f5-4f85-b707-344ff5c00d89 NaN\n", + "5910 id 32c6d064-7f2e-4443-aa4d-904fd816c7b4 NaN\n", + "5911 name 32c6d064-7f2e-4443-aa4d-904fd816c7b4 NaN\n", + "5912 id d79eb27d-4929-49a9-9ab8-d60ba4bc1d12 NaN\n", + "5913 name d79eb27d-4929-49a9-9ab8-d60ba4bc1d12 NaN\n", + "5914 id c0bd843f-77eb-4812-83ec-13181beaa21b NaN\n", + "5915 name c0bd843f-77eb-4812-83ec-13181beaa21b NaN\n", + "5916 id 7620698b-6f87-4a03-aaaa-58eb3133a7c3 NaN\n", + "5917 name 7620698b-6f87-4a03-aaaa-58eb3133a7c3 NaN\n", + "5918 id fb15f211-1c83-455b-b535-918330bf6852 NaN\n", + "5919 name fb15f211-1c83-455b-b535-918330bf6852 NaN\n", + "\n", + "[5920 rows x 3 columns]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_event\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'Minute'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m 3077\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3078\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3079\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n", + "\u001b[1;31mKeyError\u001b[0m: 'Minute'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Minute'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 2686\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2687\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2688\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2689\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2690\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m_getitem_column\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 2693\u001b[0m \u001b[1;31m# get column\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2694\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2695\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2696\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2697\u001b[0m \u001b[1;31m# duplicate columns & possible reduce dimensionality\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m_get_item_cache\u001b[1;34m(self, item)\u001b[0m\n\u001b[0;32m 2487\u001b[0m \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2488\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2489\u001b[1;33m \u001b[0mvalues\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2490\u001b[0m \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2491\u001b[0m \u001b[0mcache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mres\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\internals.py\u001b[0m in \u001b[0;36mget\u001b[1;34m(self, item, fastpath)\u001b[0m\n\u001b[0;32m 4113\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4114\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misna\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4115\u001b[1;33m \u001b[0mloc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4116\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4117\u001b[0m \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0misna\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m 3078\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3079\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3080\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3081\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3082\u001b[0m \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n", + "\u001b[1;31mKeyError\u001b[0m: 'Minute'" + ] + } + ], + "source": [ + "df['Minute']\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
bad_behaviourball_receiptball_recoveryblockdribbledueldurationfoul_committedfoul_wongoalkeeper...possession_teamrelated_eventssecondshotsubstitutiontacticsteamtimestamptypeunder_pressure
0NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}NaN0NaNNaN{'formation': 433, 'lineup': [{'player': {'id'...{'id': 746, 'name': 'Manchester City WFC'}2018-11-29 00:00:00.000{'id': 35, 'name': 'Starting XI'}NaN
1NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}NaN0NaNNaN{'formation': 352, 'lineup': [{'player': {'id'...{'id': 971, 'name': 'Chelsea LFC'}2018-11-29 00:00:00.000{'id': 35, 'name': 'Starting XI'}NaN
2NaNNaNNaNNaNNaNNaN8.16NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[c771a4d4-51cb-41de-83aa-7103cd199c92]0NaNNaNNaN{'id': 971, 'name': 'Chelsea LFC'}2018-11-29 00:00:00.000{'id': 18, 'name': 'Half Start'}NaN
3NaNNaNNaNNaNNaNNaN7.96NaNNaNNaN...{'id': 746, 'name': 'Manchester City WFC'}[48b94b06-ebbd-47e9-958c-44bf63622f5e]0NaNNaNNaN{'id': 746, 'name': 'Manchester City WFC'}2018-11-29 00:00:00.000{'id': 18, 'name': 'Half Start'}NaN
4NaNNaNNaNNaNNaNNaN0.00NaNNaNNaN...{'id': 971, 'name': 'Chelsea LFC'}[237cac8c-5cb0-4015-9d08-c7df9699a136]0NaNNaNNaN{'id': 971, 'name': 'Chelsea LFC'}2018-11-29 00:00:00.100{'id': 30, 'name': 'Pass'}NaN
\n", + "

5 rows × 33 columns

\n", + "
" + ], + "text/plain": [ + " bad_behaviour ball_receipt ball_recovery block dribble duel duration \\\n", + "0 NaN NaN NaN NaN NaN NaN 0.00 \n", + "1 NaN NaN NaN NaN NaN NaN 0.00 \n", + "2 NaN NaN NaN NaN NaN NaN 8.16 \n", + "3 NaN NaN NaN NaN NaN NaN 7.96 \n", + "4 NaN NaN NaN NaN NaN NaN 0.00 \n", + "\n", + " foul_committed foul_won goalkeeper ... \\\n", + "0 NaN NaN NaN ... \n", + "1 NaN NaN NaN ... \n", + "2 NaN NaN NaN ... \n", + "3 NaN NaN NaN ... \n", + "4 NaN NaN NaN ... \n", + "\n", + " possession_team \\\n", + "0 {'id': 746, 'name': 'Manchester City WFC'} \n", + "1 {'id': 746, 'name': 'Manchester City WFC'} \n", + "2 {'id': 746, 'name': 'Manchester City WFC'} \n", + "3 {'id': 746, 'name': 'Manchester City WFC'} \n", + "4 {'id': 971, 'name': 'Chelsea LFC'} \n", + "\n", + " related_events second shot substitution \\\n", + "0 NaN 0 NaN NaN \n", + "1 NaN 0 NaN NaN \n", + "2 [c771a4d4-51cb-41de-83aa-7103cd199c92] 0 NaN NaN \n", + "3 [48b94b06-ebbd-47e9-958c-44bf63622f5e] 0 NaN NaN \n", + "4 [237cac8c-5cb0-4015-9d08-c7df9699a136] 0 NaN NaN \n", + "\n", + " tactics \\\n", + "0 {'formation': 433, 'lineup': [{'player': {'id'... \n", + "1 {'formation': 352, 'lineup': [{'player': {'id'... \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "\n", + " team timestamp \\\n", + "0 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-29 00:00:00.000 \n", + "1 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-29 00:00:00.000 \n", + "2 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-29 00:00:00.000 \n", + "3 {'id': 746, 'name': 'Manchester City WFC'} 2018-11-29 00:00:00.000 \n", + "4 {'id': 971, 'name': 'Chelsea LFC'} 2018-11-29 00:00:00.100 \n", + "\n", + " type under_pressure \n", + "0 {'id': 35, 'name': 'Starting XI'} NaN \n", + "1 {'id': 35, 'name': 'Starting XI'} NaN \n", + "2 {'id': 18, 'name': 'Half Start'} NaN \n", + "3 {'id': 18, 'name': 'Half Start'} NaN \n", + "4 {'id': 30, 'name': 'Pass'} NaN \n", + "\n", + "[5 rows x 33 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}