{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# StatsBomb 360 Data Engineering\n",
"##### Notebook to engineer previously parsed CSV data from the [StatsBomb Open Data GitHub repository](https://github.com/statsbomb/open-data) using [pandas](http://pandas.pydata.org/).\n",
"\n",
"### By [Edd Webster](https://www.twitter.com/eddwebster)\n",
"Notebook first written: 29/10/2021 \n",
"Notebook last updated: 05/12/2021\n",
"\n",
"![StatsBomb](../../img/logos/stats-bomb-logo.png)\n",
"\n",
"![StatsBomb 360](../../img/logos/stats-bomb-360-logo.png)\n",
"\n",
"Click [here](#section5) to jump straight to the Exploratory Data Analysis section and skip the [Task Brief](#section2), [Data Sources](#section3), [Data Engineering](#section4), [Data Aggregation](#section5), and [Subsetted DataFrames](#section6) sections."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"\n",
"## Introduction\n",
"This notebook engineered pubicly available [StatsBomb](https://statsbomb.com/) 360 data, using [pandas](http://pandas.pydata.org/) for data manipulation through DataFrames.\n",
"\n",
"For more information about this notebook and the author, I'm available through all the following channels:\n",
"* [eddwebster.com](https://www.eddwebster.com/);\n",
"* edd.j.webster@gmail.com;\n",
"* [@eddwebster](https://www.twitter.com/eddwebster);\n",
"* [linkedin.com/in/eddwebster](https://www.linkedin.com/in/eddwebster/);\n",
"* [github/eddwebster](https://github.com/eddwebster/); and\n",
"* [public.tableau.com/profile/edd.webster](https://public.tableau.com/profile/edd.webster).\n",
"\n",
"![Edd Webster](../../img/edd_webster/fifa21eddwebsterbanner.png)\n",
"\n",
"The accompanying GitHub repository for this notebook can be found [here](https://github.com/eddwebster/football_analytics) and a static version of this notebook can be found [here](https://nbviewer.org/github/eddwebster/football_analytics/blob/master/notebooks/2_data_parsing/Parma%20Calcio%201913%20-%20StatsBomb%20Data%20Parsing%20and%20Engineering.ipynb)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"## Notebook Contents\n",
"1. [Notebook Dependencies](#section1) \n",
"2. [Project Brief](#section2) \n",
"3. [Data Sources](#section3) \n",
" 1. [Introduction](#section3.1) \n",
" 2. [Read in the Datasets](#section3.2) \n",
" 4. [Initial Data Handling](#section3.3) \n",
"4. [Data Engineering](#section4) \n",
" 1. [Assign Raw DataFrame to Engineered DataFrame](#section4.1) \n",
" 2. [Sort the DataFrame](#section4.2) \n",
" 3. [Determine Each Player's Most Frequent Position](#section4.3) \n",
" 4. [Determine Each Player's Total Minutes Played](#section4.4) \n",
" 5. [Isolate In-Play Events](#section4.5) \n",
" 6. [Break Down All location Attributes](#section4.6) \n",
" 7. [Create New Attributes](#section4.7) \n",
" 8. [Fill Null Values](#section4.8) \n",
" 9. [Export Events Dataset](#section4.9) \n",
"5. [Aggregated Data](#section5) \n",
" 1. [Groupby and Aggregate by Player and Match](#section5.1) \n",
" 2. [Groupby and Aggregate by Player for the Entire Tournament](#section5.2) \n",
"6. [Subset Data](#section6) \n",
" 1. [Passing Matrix Data](#section6.1) \n",
" 2. [Passing Network Data](#section6.2) \n",
" 3. [...](#section6.3) \n",
"7. [Summary](#section7) \n",
"8. [Next Steps](#section8) \n",
"9. [References](#section9) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"___\n",
"\n",
"\n",
"\n",
"## 1. Notebook Dependencies\n",
"\n",
"This notebook was written using [Python 3](https://docs.python.org/3.7/) and requires the following libraries:\n",
"* [`Jupyter notebooks`](https://jupyter.org/) for this notebook environment with which this project is presented;\n",
"* [`NumPy`](http://www.numpy.org/) for multidimensional array computing; and\n",
"* [`pandas`](http://pandas.pydata.org/) for data analysis and manipulation.\n",
"\n",
"All packages used for this notebook except for BeautifulSoup can be obtained by downloading and installing the [Conda](https://anaconda.org/anaconda/conda) distribution, available on all platforms (Windows, Linux and Mac OSX). Step-by-step guides on how to install Anaconda can be found for Windows [here](https://medium.com/@GalarnykMichael/install-python-on-windows-anaconda-c63c7c3d1444) and Mac [here](https://medium.com/@GalarnykMichael/install-python-on-mac-anaconda-ccd9f2014072), as well as in the Anaconda documentation itself [here](https://docs.anaconda.com/anaconda/install/)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Import Libraries and Modules"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Setup Complete\n"
]
}
],
"source": [
"# Python ≥3.5 (ideally)\n",
"import platform\n",
"import sys, getopt\n",
"assert sys.version_info >= (3, 5)\n",
"import csv\n",
"\n",
"# Import Dependencies\n",
"%matplotlib inline\n",
"\n",
"# Math Operations\n",
"import numpy as np\n",
"from math import pi\n",
"\n",
"# Datetime\n",
"import datetime\n",
"from datetime import date\n",
"import time\n",
"\n",
"# Data Preprocessing\n",
"import pandas as pd\n",
"import pandas_profiling as pp\n",
"import os\n",
"import re\n",
"import chardet\n",
"import random\n",
"from io import BytesIO\n",
"from pathlib import Path\n",
"\n",
"# Reading Directories\n",
"import glob\n",
"import os\n",
"\n",
"# Working with JSON\n",
"import json\n",
"from pandas.io.json import json_normalize\n",
"\n",
"# Data Visualisation\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import missingno as msno\n",
"\n",
"# Progress Bar\n",
"from tqdm import tqdm\n",
"\n",
"# Display in Jupyter\n",
"from IPython.display import Image, YouTubeVideo\n",
"from IPython.core.display import HTML\n",
"\n",
"# Ignore Warnings\n",
"import warnings\n",
"warnings.filterwarnings(action=\"ignore\", message=\"^internal gelsd\")\n",
"\n",
"print(\"Setup Complete\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from rfpimp import *\n",
"\n",
"\n",
"# Machine learning\n",
"from sklearn import preprocessing, model_selection, svm, metrics\n",
"from sklearn.model_selection import train_test_split, cross_val_predict, cross_val_score, GridSearchCV\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.ensemble import ExtraTreesClassifier\n",
"from sklearn.ensemble import GradientBoostingClassifier\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from xgboost import XGBClassifier\n",
"from sklearn.utils import resample\n",
"from sklearn.feature_selection import RFE\n",
"from imblearn.over_sampling import SMOTE\n",
"from collections import Counter\n",
"\n",
"from sklearn import preprocessing, model_selection, metrics\n",
"from sklearn.model_selection import train_test_split, StratifiedKFold\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.utils.class_weight import compute_class_weight\n",
" \n",
"from imblearn.over_sampling import SMOTENC\n",
"\n",
"\n",
"from sklearn.preprocessing import StandardScaler \n",
"from sklearn.decomposition import PCA\n",
"\n",
"from imblearn.under_sampling import TomekLinks\n",
"from imblearn.under_sampling import EditedNearestNeighbours\n",
"from imblearn.combine import SMOTETomek\n",
"from imblearn.combine import SMOTEENN\n",
"from sklearn.metrics import matthews_corrcoef\n",
"from sklearn.metrics import brier_score_loss\n",
"\n",
"from sklearn.calibration import CalibratedClassifierCV, calibration_curve\n",
"\n",
"from imblearn.ensemble import BalancedRandomForestClassifier\n",
"from sklearn.ensemble import AdaBoostClassifier\n",
"from sklearn.datasets import make_classification\n",
"\n",
"import pickle\n",
"from sklearn.metrics import plot_confusion_matrix \n",
"import scikitplot as skplt"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Python: 3.7.6\n",
"NumPy: 1.20.3\n",
"pandas: 1.3.2\n",
"matplotlib: 3.4.2\n"
]
}
],
"source": [
"# Python / module versions used here for reference\n",
"print('Python: {}'.format(platform.python_version()))\n",
"print('NumPy: {}'.format(np.__version__))\n",
"print('pandas: {}'.format(pd.__version__))\n",
"print('matplotlib: {}'.format(mpl.__version__))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defined Variables"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Define today's date\n",
"today = datetime.datetime.now().strftime('%d/%m/%Y').replace('/', '')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Defined Filepaths"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Set up initial paths to subfolders\n",
"base_dir = os.path.join('..', '..')\n",
"data_dir = os.path.join(base_dir, 'data')\n",
"data_dir_sb = os.path.join(base_dir, 'data', 'sb')\n",
"img_dir = os.path.join(base_dir, 'img')\n",
"fig_dir = os.path.join(base_dir, 'img', 'fig')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Create Directory Structure"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# make the directory structure\n",
"for folder in ['combined', 'competitions', 'events', 'tactics', 'lineups']:\n",
" path = os.path.join(data_dir_sb, 'raw', folder)\n",
" if not os.path.exists(path):\n",
" os.mkdir(path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Custom Functions"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Define custom functions for used in the notebook\n",
"\n",
"## Function to read JSON files that also handles the encoding of special characters e.g. accents in names of players and teams\n",
"def read_json_file(filename):\n",
" with open(filename, 'rb') as json_file:\n",
" return BytesIO(json_file.read()).getvalue().decode('unicode_escape')\n",
"\n",
" \n",
"## Function to flatten pandas DataFrames with nested JSON columns. Source: https://stackoverflow.com/questions/39899005/how-to-flatten-a-pandas-dataframe-with-some-columns-as-json\n",
"def flatten_nested_json_df(df):\n",
"\n",
" df = df.reset_index()\n",
"\n",
" print(f\"original shape: {df.shape}\")\n",
" print(f\"original columns: {df.columns}\")\n",
"\n",
"\n",
" # search for columns to explode/flatten\n",
" s = (df.applymap(type) == list).all()\n",
" list_columns = s[s].index.tolist()\n",
"\n",
" s = (df.applymap(type) == dict).all()\n",
" dict_columns = s[s].index.tolist()\n",
"\n",
" print(f\"lists: {list_columns}, dicts: {dict_columns}\")\n",
" while len(list_columns) > 0 or len(dict_columns) > 0:\n",
" new_columns = []\n",
"\n",
" for col in dict_columns:\n",
" print(f\"flattening: {col}\")\n",
" # explode dictionaries horizontally, adding new columns\n",
" horiz_exploded = pd.json_normalize(df[col]).add_prefix(f'{col}.')\n",
" horiz_exploded.index = df.index\n",
" df = pd.concat([df, horiz_exploded], axis=1).drop(columns=[col])\n",
" new_columns.extend(horiz_exploded.columns) # inplace\n",
"\n",
" for col in list_columns:\n",
" print(f\"exploding: {col}\")\n",
" # explode lists vertically, adding new columns\n",
" df = df.drop(columns=[col]).join(df[col].explode().to_frame())\n",
" new_columns.append(col)\n",
"\n",
" # check if there are still dict o list fields to flatten\n",
" s = (df[new_columns].applymap(type) == list).all()\n",
" list_columns = s[s].index.tolist()\n",
"\n",
" s = (df[new_columns].applymap(type) == dict).all()\n",
" dict_columns = s[s].index.tolist()\n",
"\n",
" print(f\"lists: {list_columns}, dicts: {dict_columns}\")\n",
"\n",
" print(f\"final shape: {df.shape}\")\n",
" print(f\"final columns: {df.columns}\")\n",
" return df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Notebook Settings"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# Display all columns of displayed pandas DataFrames\n",
"pd.set_option('display.max_columns', None)\n",
"pd.options.mode.chained_assignment=None"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"\n",
"\n",
"## 2. Notebook Brief\n",
"This Jupyter notebook is part of a series of notebooks to parse and engineer StatsBomb Event data.\n",
"\n",
"This particular notebook is the **StatsBomb Data Engineer** notebook for 360 data, that takes a previously parsed dataset of StatsBomb 360 data from the StatsBomb Open Data GitHub Repository and prepares it for data analysis.\n",
"\n",
"Links to these notebooks in the [`football_analytics`](https://github.com/eddwebster/football_analytics) GitHub repository can be found at the following:\n",
"* [Data Parsing](https://github.com/eddwebster/football_analytics/tree/master/notebooks/2_data_parsing)\n",
" + [StatsBomb Data Parsing](https://github.com/eddwebster/football_analytics/blob/master/notebooks/2_data_parsing/ELO%20Team%20Ratings%20Data%20Parsing.ipynb)\n",
"* [Data Engineering](https://github.com/eddwebster/football_analytics/tree/master/notebooks/3_data_engineering)\n",
" + [StatsBomb Data Engineering](https://github.com/eddwebster/football_analytics/blob/master/notebooks/3_data_engineering/FBref%20Player%20Stats%20Data%20Engineering.ipynb)\n",
"\n",
"**Notebook Conventions**: \n",
"* Variables that refer a `DataFrame` object are prefixed with `df_`.\n",
"* Variables that refer to a collection of `DataFrame` objects (e.g., a list, a set or a dict) are prefixed with `dfs_`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"\n",
"\n",
"## 3. Data Sources"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.1. Reading In CSV Data\n",
"The following cells read in the previously prepared DataFrame of StatsBomb 360 data."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3441: DtypeWarning: Columns (18,45,69,78,79,80,82,83,84,89,90,92,93,98,100,101,102,108,109,112,113,114,116,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,161,164,168,171) have mixed types.Specify dtype option on import or set low_memory=False.\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type.id
\n",
"
type.name
\n",
"
possession_team.id
\n",
"
possession_team.name
\n",
"
play_pattern.id
\n",
"
play_pattern.name
\n",
"
team.id
\n",
"
team.name
\n",
"
tactics.formation
\n",
"
tactics.lineup
\n",
"
related_events
\n",
"
location
\n",
"
player.id
\n",
"
player.name
\n",
"
position.id
\n",
"
position.name
\n",
"
pass.recipient.id
\n",
"
pass.recipient.name
\n",
"
pass.length
\n",
"
pass.angle
\n",
"
pass.height.id
\n",
"
pass.height.name
\n",
"
pass.end_location
\n",
"
pass.body_part.id
\n",
"
pass.body_part.name
\n",
"
pass.type.id
\n",
"
pass.type.name
\n",
"
carry.end_location
\n",
"
under_pressure
\n",
"
duel.type.id
\n",
"
duel.type.name
\n",
"
pass.aerial_won
\n",
"
counterpress
\n",
"
duel.outcome.id
\n",
"
duel.outcome.name
\n",
"
dribble.outcome.id
\n",
"
dribble.outcome.name
\n",
"
pass.outcome.id
\n",
"
pass.outcome.name
\n",
"
ball_receipt.outcome.id
\n",
"
ball_receipt.outcome.name
\n",
"
interception.outcome.id
\n",
"
interception.outcome.name
\n",
"
shot.statsbomb_xg
\n",
"
shot.end_location
\n",
"
shot.outcome.id
\n",
"
shot.outcome.name
\n",
"
shot.type.id
\n",
"
shot.type.name
\n",
"
shot.body_part.id
\n",
"
shot.body_part.name
\n",
"
shot.technique.id
\n",
"
shot.technique.name
\n",
"
shot.freeze_frame
\n",
"
goalkeeper.end_location
\n",
"
goalkeeper.type.id
\n",
"
goalkeeper.type.name
\n",
"
goalkeeper.position.id
\n",
"
goalkeeper.position.name
\n",
"
out
\n",
"
pass.outswinging
\n",
"
pass.technique.id
\n",
"
pass.technique.name
\n",
"
clearance.head
\n",
"
clearance.body_part.id
\n",
"
clearance.body_part.name
\n",
"
pass.switch
\n",
"
off_camera
\n",
"
pass.cross
\n",
"
clearance.left_foot
\n",
"
dribble.overrun
\n",
"
dribble.nutmeg
\n",
"
clearance.right_foot
\n",
"
pass.no_touch
\n",
"
foul_committed.advantage
\n",
"
foul_won.advantage
\n",
"
pass.assisted_shot_id
\n",
"
pass.shot_assist
\n",
"
shot.key_pass_id
\n",
"
shot.first_time
\n",
"
clearance.other
\n",
"
pass.miscommunication
\n",
"
clearance.aerial_won
\n",
"
pass.through_ball
\n",
"
ball_recovery.recovery_failure
\n",
"
goalkeeper.outcome.id
\n",
"
goalkeeper.outcome.name
\n",
"
goalkeeper.body_part.id
\n",
"
goalkeeper.body_part.name
\n",
"
shot.aerial_won
\n",
"
foul_committed.card.id
\n",
"
foul_committed.card.name
\n",
"
foul_committed.offensive
\n",
"
foul_won.defensive
\n",
"
substitution.outcome.id
\n",
"
substitution.outcome.name
\n",
"
substitution.replacement.id
\n",
"
substitution.replacement.name
\n",
"
50_50.outcome.id
\n",
"
50_50.outcome.name
\n",
"
pass.goal_assist
\n",
"
goalkeeper.technique.id
\n",
"
goalkeeper.technique.name
\n",
"
pass.cut_back
\n",
"
miscontrol.aerial_won
\n",
"
pass.straight
\n",
"
foul_committed.type.id
\n",
"
foul_committed.type.name
\n",
"
match_id
\n",
"
pass.inswinging
\n",
"
pass.deflected
\n",
"
injury_stoppage.in_chain
\n",
"
shot.one_on_one
\n",
"
bad_behaviour.card.id
\n",
"
bad_behaviour.card.name
\n",
"
shot.deflected
\n",
"
block.deflection
\n",
"
foul_committed.penalty
\n",
"
foul_won.penalty
\n",
"
block.save_block
\n",
"
goalkeeper.punched_out
\n",
"
player_off.permanent
\n",
"
shot.saved_off_target
\n",
"
goalkeeper.shot_saved_off_target
\n",
"
shot.saved_to_post
\n",
"
goalkeeper.shot_saved_to_post
\n",
"
shot.open_goal
\n",
"
goalkeeper.penalty_saved_to_post
\n",
"
dribble.no_touch
\n",
"
block.offensive
\n",
"
shot.follows_dribble
\n",
"
ball_recovery.offensive
\n",
"
shot.redirect
\n",
"
goalkeeper.lost_in_play
\n",
"
goalkeeper.success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition.competition_id
\n",
"
competition.country_name
\n",
"
competition.competition_name
\n",
"
season.season_id
\n",
"
season.season_name
\n",
"
home_team.home_team_id
\n",
"
home_team.home_team_name
\n",
"
home_team.home_team_gender
\n",
"
home_team.home_team_group
\n",
"
home_team.country.id
\n",
"
home_team.country.name
\n",
"
home_team.managers
\n",
"
away_team.away_team_id
\n",
"
away_team.away_team_name
\n",
"
away_team.away_team_gender
\n",
"
away_team.away_team_group
\n",
"
away_team.country.id
\n",
"
away_team.country.name
\n",
"
away_team.managers
\n",
"
metadata.data_version
\n",
"
metadata.shot_fidelity_version
\n",
"
metadata.xy_fidelity_version
\n",
"
competition_stage.id
\n",
"
competition_stage.name
\n",
"
stadium.id
\n",
"
stadium.name
\n",
"
stadium.country.id
\n",
"
stadium.country.name
\n",
"
referee.id
\n",
"
referee.name
\n",
"
referee.country.id
\n",
"
referee.country.name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
9427b18a-6b10-411f-90da-3d6240b80c71
\n",
"
1
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
35
\n",
"
Starting XI
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
1835
\n",
"
Finland
\n",
"
352.0
\n",
"
[{'player': {'id': 8667, 'name': 'Lukáš Hrádec...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
542c58bf-5c6c-43ca-9d8d-e086c7f08aaf
\n",
"
2
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
35
\n",
"
Starting XI
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
796
\n",
"
Russia
\n",
"
3421.0
\n",
"
[{'player': {'id': 21298, 'name': 'Matvey Safo...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
2
\n",
"
2
\n",
"
a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33
\n",
"
3
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
18
\n",
"
Half Start
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
1835
\n",
"
Finland
\n",
"
NaN
\n",
"
NaN
\n",
"
['c7156352-f4b7-4140-aa51-6e26fd019a11']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
3
\n",
"
3
\n",
"
c7156352-f4b7-4140-aa51-6e26fd019a11
\n",
"
4
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
18
\n",
"
Half Start
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
796
\n",
"
Russia
\n",
"
NaN
\n",
"
NaN
\n",
"
['a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
4
\n",
"
4
\n",
"
94dbc5c3-ef37-445e-9154-3d9f9ea9245d
\n",
"
5
\n",
"
1
\n",
"
00:00:00.490
\n",
"
0
\n",
"
0
\n",
"
2
\n",
"
1.373215
\n",
"
30
\n",
"
Pass
\n",
"
796
\n",
"
Russia
\n",
"
9
\n",
"
From Kick Off
\n",
"
796
\n",
"
Russia
\n",
"
NaN
\n",
"
NaN
\n",
"
['c0935bbe-3eb4-4a21-9eee-45f380d1f26d']
\n",
"
[60.0, 40.0]
\n",
"
6299.0
\n",
"
Aleksey Miranchuk
\n",
"
18.0
\n",
"
Right Attacking Midfield
\n",
"
31917.0
\n",
"
Igor Diveev
\n",
"
22.357325
\n",
"
3.069967
\n",
"
1.0
\n",
"
Ground Pass
\n",
"
[37.7, 41.6]
\n",
"
38.0
\n",
"
Left Foot
\n",
"
65.0
\n",
"
Kick Off
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period timestamp \\\n",
"0 0 9427b18a-6b10-411f-90da-3d6240b80c71 1 1 00:00:00.000 \n",
"1 1 542c58bf-5c6c-43ca-9d8d-e086c7f08aaf 2 1 00:00:00.000 \n",
"2 2 a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33 3 1 00:00:00.000 \n",
"3 3 c7156352-f4b7-4140-aa51-6e26fd019a11 4 1 00:00:00.000 \n",
"4 4 94dbc5c3-ef37-445e-9154-3d9f9ea9245d 5 1 00:00:00.490 \n",
"\n",
" minute second possession duration type.id type.name \\\n",
"0 0 0 1 0.000000 35 Starting XI \n",
"1 0 0 1 0.000000 35 Starting XI \n",
"2 0 0 1 0.000000 18 Half Start \n",
"3 0 0 1 0.000000 18 Half Start \n",
"4 0 0 2 1.373215 30 Pass \n",
"\n",
" possession_team.id possession_team.name play_pattern.id play_pattern.name \\\n",
"0 1835 Finland 1 Regular Play \n",
"1 1835 Finland 1 Regular Play \n",
"2 1835 Finland 1 Regular Play \n",
"3 1835 Finland 1 Regular Play \n",
"4 796 Russia 9 From Kick Off \n",
"\n",
" team.id team.name tactics.formation \\\n",
"0 1835 Finland 352.0 \n",
"1 796 Russia 3421.0 \n",
"2 1835 Finland NaN \n",
"3 796 Russia NaN \n",
"4 796 Russia NaN \n",
"\n",
" tactics.lineup \\\n",
"0 [{'player': {'id': 8667, 'name': 'Lukáš Hrádec... \n",
"1 [{'player': {'id': 21298, 'name': 'Matvey Safo... \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN \n",
"\n",
" related_events location player.id \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 ['c7156352-f4b7-4140-aa51-6e26fd019a11'] NaN NaN \n",
"3 ['a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33'] NaN NaN \n",
"4 ['c0935bbe-3eb4-4a21-9eee-45f380d1f26d'] [60.0, 40.0] 6299.0 \n",
"\n",
" player.name position.id position.name \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 Aleksey Miranchuk 18.0 Right Attacking Midfield \n",
"\n",
" pass.recipient.id pass.recipient.name pass.length pass.angle \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 31917.0 Igor Diveev 22.357325 3.069967 \n",
"\n",
" pass.height.id pass.height.name pass.end_location pass.body_part.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 1.0 Ground Pass [37.7, 41.6] 38.0 \n",
"\n",
" pass.body_part.name pass.type.id pass.type.name carry.end_location \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 Left Foot 65.0 Kick Off NaN \n",
"\n",
" under_pressure duel.type.id duel.type.name pass.aerial_won counterpress \\\n",
"0 NaN NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN \n",
"\n",
" duel.outcome.id duel.outcome.name dribble.outcome.id dribble.outcome.name \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.outcome.id pass.outcome.name ball_receipt.outcome.id \\\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",
" ball_receipt.outcome.name interception.outcome.id \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" interception.outcome.name shot.statsbomb_xg shot.end_location \\\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",
" shot.outcome.id shot.outcome.name shot.type.id shot.type.name \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" shot.body_part.id shot.body_part.name shot.technique.id \\\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",
" shot.technique.name shot.freeze_frame goalkeeper.end_location \\\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",
" goalkeeper.type.id goalkeeper.type.name goalkeeper.position.id \\\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",
" goalkeeper.position.name out pass.outswinging pass.technique.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.technique.name clearance.head clearance.body_part.id \\\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",
" clearance.body_part.name pass.switch off_camera pass.cross \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" clearance.left_foot dribble.overrun dribble.nutmeg clearance.right_foot \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.no_touch foul_committed.advantage foul_won.advantage \\\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",
" pass.assisted_shot_id pass.shot_assist shot.key_pass_id shot.first_time \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" clearance.other pass.miscommunication clearance.aerial_won \\\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",
" pass.through_ball ball_recovery.recovery_failure goalkeeper.outcome.id \\\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",
" goalkeeper.outcome.name goalkeeper.body_part.id goalkeeper.body_part.name \\\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",
" shot.aerial_won foul_committed.card.id foul_committed.card.name \\\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",
" foul_committed.offensive foul_won.defensive substitution.outcome.id \\\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",
" substitution.outcome.name substitution.replacement.id \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" substitution.replacement.name 50_50.outcome.id 50_50.outcome.name \\\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",
" pass.goal_assist goalkeeper.technique.id goalkeeper.technique.name \\\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",
" pass.cut_back miscontrol.aerial_won pass.straight foul_committed.type.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" foul_committed.type.name match_id pass.inswinging pass.deflected \\\n",
"0 NaN 3788753 NaN NaN \n",
"1 NaN 3788753 NaN NaN \n",
"2 NaN 3788753 NaN NaN \n",
"3 NaN 3788753 NaN NaN \n",
"4 NaN 3788753 NaN NaN \n",
"\n",
" injury_stoppage.in_chain shot.one_on_one bad_behaviour.card.id \\\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",
" bad_behaviour.card.name shot.deflected block.deflection \\\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",
" foul_committed.penalty foul_won.penalty block.save_block \\\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",
" goalkeeper.punched_out player_off.permanent shot.saved_off_target \\\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",
" goalkeeper.shot_saved_off_target shot.saved_to_post \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" goalkeeper.shot_saved_to_post shot.open_goal \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" goalkeeper.penalty_saved_to_post dribble.no_touch block.offensive \\\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",
" shot.follows_dribble ball_recovery.offensive shot.redirect \\\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",
" goalkeeper.lost_in_play goalkeeper.success_in_play match_date \\\n",
"0 NaN NaN 2021-06-16 \n",
"1 NaN NaN 2021-06-16 \n",
"2 NaN NaN 2021-06-16 \n",
"3 NaN NaN 2021-06-16 \n",
"4 NaN NaN 2021-06-16 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"0 15:00:00.000 0 1 available available \n",
"1 15:00:00.000 0 1 available available \n",
"2 15:00:00.000 0 1 available available \n",
"3 15:00:00.000 0 1 available available \n",
"4 15:00:00.000 0 1 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"0 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"1 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"2 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"3 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"4 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"\n",
" competition.competition_id competition.country_name \\\n",
"0 55 Europe \n",
"1 55 Europe \n",
"2 55 Europe \n",
"3 55 Europe \n",
"4 55 Europe \n",
"\n",
" competition.competition_name season.season_id season.season_name \\\n",
"0 UEFA Euro 43 2020 \n",
"1 UEFA Euro 43 2020 \n",
"2 UEFA Euro 43 2020 \n",
"3 UEFA Euro 43 2020 \n",
"4 UEFA Euro 43 2020 \n",
"\n",
" home_team.home_team_id home_team.home_team_name home_team.home_team_gender \\\n",
"0 1835 Finland male \n",
"1 1835 Finland male \n",
"2 1835 Finland male \n",
"3 1835 Finland male \n",
"4 1835 Finland male \n",
"\n",
" home_team.home_team_group home_team.country.id home_team.country.name \\\n",
"0 Group B 77 Finland \n",
"1 Group B 77 Finland \n",
"2 Group B 77 Finland \n",
"3 Group B 77 Finland \n",
"4 Group B 77 Finland \n",
"\n",
" home_team.managers away_team.away_team_id \\\n",
"0 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"1 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"2 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"3 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"4 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"\n",
" away_team.away_team_name away_team.away_team_gender \\\n",
"0 Russia male \n",
"1 Russia male \n",
"2 Russia male \n",
"3 Russia male \n",
"4 Russia male \n",
"\n",
" away_team.away_team_group away_team.country.id away_team.country.name \\\n",
"0 Group B 188 Russia \n",
"1 Group B 188 Russia \n",
"2 Group B 188 Russia \n",
"3 Group B 188 Russia \n",
"4 Group B 188 Russia \n",
"\n",
" away_team.managers metadata.data_version \\\n",
"0 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"1 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"2 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"3 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"4 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"\n",
" metadata.shot_fidelity_version metadata.xy_fidelity_version \\\n",
"0 2 2 \n",
"1 2 2 \n",
"2 2 2 \n",
"3 2 2 \n",
"4 2 2 \n",
"\n",
" competition_stage.id competition_stage.name stadium.id \\\n",
"0 10 Group Stage 4726 \n",
"1 10 Group Stage 4726 \n",
"2 10 Group Stage 4726 \n",
"3 10 Group Stage 4726 \n",
"4 10 Group Stage 4726 \n",
"\n",
" stadium.name stadium.country.id stadium.country.name \\\n",
"0 Saint-Petersburg Stadium 188 Russia \n",
"1 Saint-Petersburg Stadium 188 Russia \n",
"2 Saint-Petersburg Stadium 188 Russia \n",
"3 Saint-Petersburg Stadium 188 Russia \n",
"4 Saint-Petersburg Stadium 188 Russia \n",
"\n",
" referee.id referee.name referee.country.id \\\n",
"0 293 Danny Desmond Makkelie 160 \n",
"1 293 Danny Desmond Makkelie 160 \n",
"2 293 Danny Desmond Makkelie 160 \n",
"3 293 Danny Desmond Makkelie 160 \n",
"4 293 Danny Desmond Makkelie 160 \n",
"\n",
" referee.country.name competition_id season_id country_name \\\n",
"0 Netherlands 55 43 Europe \n",
"1 Netherlands 55 43 Europe \n",
"2 Netherlands 55 43 Europe \n",
"3 Netherlands 55 43 Europe \n",
"4 Netherlands 55 43 Europe \n",
"\n",
" competition_name competition_gender competition_youth \\\n",
"0 UEFA Euro male False \n",
"1 UEFA Euro male False \n",
"2 UEFA Euro male False \n",
"3 UEFA Euro male False \n",
"4 UEFA Euro male False \n",
"\n",
" competition_international season_name match_updated \\\n",
"0 True 2020 2021-11-11T14:00:16.105809 \n",
"1 True 2020 2021-11-11T14:00:16.105809 \n",
"2 True 2020 2021-11-11T14:00:16.105809 \n",
"3 True 2020 2021-11-11T14:00:16.105809 \n",
"4 True 2020 2021-11-11T14:00:16.105809 \n",
"\n",
" match_updated_360 match_available_360 \\\n",
"0 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"1 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"2 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"3 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"4 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available \n",
"0 2021-11-11T14:00:16.105809 \n",
"1 2021-11-11T14:00:16.105809 \n",
"2 2021-11-11T14:00:16.105809 \n",
"3 2021-11-11T14:00:16.105809 \n",
"4 2021-11-11T14:00:16.105809 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sb_events_raw = pd.read_csv(os.path.join(data_dir_sb, 'raw', 'combined', 'combined_sb_360.csv'))\n",
" \n",
"# Display DataFrame\n",
"df_sb_events_raw.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.2. Initial Data Handling\n",
"Let's quality of the dataset by looking first and last rows in pandas using the [head()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html) and [tail()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tail.html) methods."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 3.2.1. Summary Report\n",
"Initial step of the data handling and Exploratory Data Analysis (EDA) is to create a quick summary report of the dataset using [pandas Profiling Report](https://github.com/pandas-profiling/pandas-profiling)."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# Summary of the data using pandas Profiling Report\n",
"#pp.ProfileReport(df_sb_events_raw)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 3.2.2. Further Inspection\n",
"The following commands go into more bespoke summary of the dataset. Some of the commands include content covered in the [pandas Profiling](https://github.com/pandas-profiling/pandas-profiling) summary above, but using the standard [pandas](https://pandas.pydata.org/) functions and methods that most peoplem will be more familiar with.\n",
"\n",
"First check the quality of the dataset by looking first and last rows in pandas using the [head()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html) and [tail()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.tail.html) methods."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type.id
\n",
"
type.name
\n",
"
possession_team.id
\n",
"
possession_team.name
\n",
"
play_pattern.id
\n",
"
play_pattern.name
\n",
"
team.id
\n",
"
team.name
\n",
"
tactics.formation
\n",
"
tactics.lineup
\n",
"
related_events
\n",
"
location
\n",
"
player.id
\n",
"
player.name
\n",
"
position.id
\n",
"
position.name
\n",
"
pass.recipient.id
\n",
"
pass.recipient.name
\n",
"
pass.length
\n",
"
pass.angle
\n",
"
pass.height.id
\n",
"
pass.height.name
\n",
"
pass.end_location
\n",
"
pass.body_part.id
\n",
"
pass.body_part.name
\n",
"
pass.type.id
\n",
"
pass.type.name
\n",
"
carry.end_location
\n",
"
under_pressure
\n",
"
duel.type.id
\n",
"
duel.type.name
\n",
"
pass.aerial_won
\n",
"
counterpress
\n",
"
duel.outcome.id
\n",
"
duel.outcome.name
\n",
"
dribble.outcome.id
\n",
"
dribble.outcome.name
\n",
"
pass.outcome.id
\n",
"
pass.outcome.name
\n",
"
ball_receipt.outcome.id
\n",
"
ball_receipt.outcome.name
\n",
"
interception.outcome.id
\n",
"
interception.outcome.name
\n",
"
shot.statsbomb_xg
\n",
"
shot.end_location
\n",
"
shot.outcome.id
\n",
"
shot.outcome.name
\n",
"
shot.type.id
\n",
"
shot.type.name
\n",
"
shot.body_part.id
\n",
"
shot.body_part.name
\n",
"
shot.technique.id
\n",
"
shot.technique.name
\n",
"
shot.freeze_frame
\n",
"
goalkeeper.end_location
\n",
"
goalkeeper.type.id
\n",
"
goalkeeper.type.name
\n",
"
goalkeeper.position.id
\n",
"
goalkeeper.position.name
\n",
"
out
\n",
"
pass.outswinging
\n",
"
pass.technique.id
\n",
"
pass.technique.name
\n",
"
clearance.head
\n",
"
clearance.body_part.id
\n",
"
clearance.body_part.name
\n",
"
pass.switch
\n",
"
off_camera
\n",
"
pass.cross
\n",
"
clearance.left_foot
\n",
"
dribble.overrun
\n",
"
dribble.nutmeg
\n",
"
clearance.right_foot
\n",
"
pass.no_touch
\n",
"
foul_committed.advantage
\n",
"
foul_won.advantage
\n",
"
pass.assisted_shot_id
\n",
"
pass.shot_assist
\n",
"
shot.key_pass_id
\n",
"
shot.first_time
\n",
"
clearance.other
\n",
"
pass.miscommunication
\n",
"
clearance.aerial_won
\n",
"
pass.through_ball
\n",
"
ball_recovery.recovery_failure
\n",
"
goalkeeper.outcome.id
\n",
"
goalkeeper.outcome.name
\n",
"
goalkeeper.body_part.id
\n",
"
goalkeeper.body_part.name
\n",
"
shot.aerial_won
\n",
"
foul_committed.card.id
\n",
"
foul_committed.card.name
\n",
"
foul_committed.offensive
\n",
"
foul_won.defensive
\n",
"
substitution.outcome.id
\n",
"
substitution.outcome.name
\n",
"
substitution.replacement.id
\n",
"
substitution.replacement.name
\n",
"
50_50.outcome.id
\n",
"
50_50.outcome.name
\n",
"
pass.goal_assist
\n",
"
goalkeeper.technique.id
\n",
"
goalkeeper.technique.name
\n",
"
pass.cut_back
\n",
"
miscontrol.aerial_won
\n",
"
pass.straight
\n",
"
foul_committed.type.id
\n",
"
foul_committed.type.name
\n",
"
match_id
\n",
"
pass.inswinging
\n",
"
pass.deflected
\n",
"
injury_stoppage.in_chain
\n",
"
shot.one_on_one
\n",
"
bad_behaviour.card.id
\n",
"
bad_behaviour.card.name
\n",
"
shot.deflected
\n",
"
block.deflection
\n",
"
foul_committed.penalty
\n",
"
foul_won.penalty
\n",
"
block.save_block
\n",
"
goalkeeper.punched_out
\n",
"
player_off.permanent
\n",
"
shot.saved_off_target
\n",
"
goalkeeper.shot_saved_off_target
\n",
"
shot.saved_to_post
\n",
"
goalkeeper.shot_saved_to_post
\n",
"
shot.open_goal
\n",
"
goalkeeper.penalty_saved_to_post
\n",
"
dribble.no_touch
\n",
"
block.offensive
\n",
"
shot.follows_dribble
\n",
"
ball_recovery.offensive
\n",
"
shot.redirect
\n",
"
goalkeeper.lost_in_play
\n",
"
goalkeeper.success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition.competition_id
\n",
"
competition.country_name
\n",
"
competition.competition_name
\n",
"
season.season_id
\n",
"
season.season_name
\n",
"
home_team.home_team_id
\n",
"
home_team.home_team_name
\n",
"
home_team.home_team_gender
\n",
"
home_team.home_team_group
\n",
"
home_team.country.id
\n",
"
home_team.country.name
\n",
"
home_team.managers
\n",
"
away_team.away_team_id
\n",
"
away_team.away_team_name
\n",
"
away_team.away_team_gender
\n",
"
away_team.away_team_group
\n",
"
away_team.country.id
\n",
"
away_team.country.name
\n",
"
away_team.managers
\n",
"
metadata.data_version
\n",
"
metadata.shot_fidelity_version
\n",
"
metadata.xy_fidelity_version
\n",
"
competition_stage.id
\n",
"
competition_stage.name
\n",
"
stadium.id
\n",
"
stadium.name
\n",
"
stadium.country.id
\n",
"
stadium.country.name
\n",
"
referee.id
\n",
"
referee.name
\n",
"
referee.country.id
\n",
"
referee.country.name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
9427b18a-6b10-411f-90da-3d6240b80c71
\n",
"
1
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
35
\n",
"
Starting XI
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
1835
\n",
"
Finland
\n",
"
352.0
\n",
"
[{'player': {'id': 8667, 'name': 'Lukáš Hrádec...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
542c58bf-5c6c-43ca-9d8d-e086c7f08aaf
\n",
"
2
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
35
\n",
"
Starting XI
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
796
\n",
"
Russia
\n",
"
3421.0
\n",
"
[{'player': {'id': 21298, 'name': 'Matvey Safo...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
2
\n",
"
2
\n",
"
a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33
\n",
"
3
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
18
\n",
"
Half Start
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
1835
\n",
"
Finland
\n",
"
NaN
\n",
"
NaN
\n",
"
['c7156352-f4b7-4140-aa51-6e26fd019a11']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
3
\n",
"
3
\n",
"
c7156352-f4b7-4140-aa51-6e26fd019a11
\n",
"
4
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.000000
\n",
"
18
\n",
"
Half Start
\n",
"
1835
\n",
"
Finland
\n",
"
1
\n",
"
Regular Play
\n",
"
796
\n",
"
Russia
\n",
"
NaN
\n",
"
NaN
\n",
"
['a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
4
\n",
"
4
\n",
"
94dbc5c3-ef37-445e-9154-3d9f9ea9245d
\n",
"
5
\n",
"
1
\n",
"
00:00:00.490
\n",
"
0
\n",
"
0
\n",
"
2
\n",
"
1.373215
\n",
"
30
\n",
"
Pass
\n",
"
796
\n",
"
Russia
\n",
"
9
\n",
"
From Kick Off
\n",
"
796
\n",
"
Russia
\n",
"
NaN
\n",
"
NaN
\n",
"
['c0935bbe-3eb4-4a21-9eee-45f380d1f26d']
\n",
"
[60.0, 40.0]
\n",
"
6299.0
\n",
"
Aleksey Miranchuk
\n",
"
18.0
\n",
"
Right Attacking Midfield
\n",
"
31917.0
\n",
"
Igor Diveev
\n",
"
22.357325
\n",
"
3.069967
\n",
"
1.0
\n",
"
Ground Pass
\n",
"
[37.7, 41.6]
\n",
"
38.0
\n",
"
Left Foot
\n",
"
65.0
\n",
"
Kick Off
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788753
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-16
\n",
"
15:00:00.000
\n",
"
0
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-09-22T16:39:05.697512
\n",
"
2
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
1835
\n",
"
Finland
\n",
"
male
\n",
"
Group B
\n",
"
77
\n",
"
Finland
\n",
"
[{'id': 3622, 'name': 'Markku Kanerva', 'nickn...
\n",
"
796
\n",
"
Russia
\n",
"
male
\n",
"
Group B
\n",
"
188
\n",
"
Russia
\n",
"
[{'id': 365, 'name': 'Stanislav Cherchesov', '...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4726
\n",
"
Saint-Petersburg Stadium
\n",
"
188
\n",
"
Russia
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period timestamp \\\n",
"0 0 9427b18a-6b10-411f-90da-3d6240b80c71 1 1 00:00:00.000 \n",
"1 1 542c58bf-5c6c-43ca-9d8d-e086c7f08aaf 2 1 00:00:00.000 \n",
"2 2 a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33 3 1 00:00:00.000 \n",
"3 3 c7156352-f4b7-4140-aa51-6e26fd019a11 4 1 00:00:00.000 \n",
"4 4 94dbc5c3-ef37-445e-9154-3d9f9ea9245d 5 1 00:00:00.490 \n",
"\n",
" minute second possession duration type.id type.name \\\n",
"0 0 0 1 0.000000 35 Starting XI \n",
"1 0 0 1 0.000000 35 Starting XI \n",
"2 0 0 1 0.000000 18 Half Start \n",
"3 0 0 1 0.000000 18 Half Start \n",
"4 0 0 2 1.373215 30 Pass \n",
"\n",
" possession_team.id possession_team.name play_pattern.id play_pattern.name \\\n",
"0 1835 Finland 1 Regular Play \n",
"1 1835 Finland 1 Regular Play \n",
"2 1835 Finland 1 Regular Play \n",
"3 1835 Finland 1 Regular Play \n",
"4 796 Russia 9 From Kick Off \n",
"\n",
" team.id team.name tactics.formation \\\n",
"0 1835 Finland 352.0 \n",
"1 796 Russia 3421.0 \n",
"2 1835 Finland NaN \n",
"3 796 Russia NaN \n",
"4 796 Russia NaN \n",
"\n",
" tactics.lineup \\\n",
"0 [{'player': {'id': 8667, 'name': 'Lukáš Hrádec... \n",
"1 [{'player': {'id': 21298, 'name': 'Matvey Safo... \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN \n",
"\n",
" related_events location player.id \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 ['c7156352-f4b7-4140-aa51-6e26fd019a11'] NaN NaN \n",
"3 ['a0dfe8a0-a0b9-443e-89e3-a8ba6596fa33'] NaN NaN \n",
"4 ['c0935bbe-3eb4-4a21-9eee-45f380d1f26d'] [60.0, 40.0] 6299.0 \n",
"\n",
" player.name position.id position.name \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 Aleksey Miranchuk 18.0 Right Attacking Midfield \n",
"\n",
" pass.recipient.id pass.recipient.name pass.length pass.angle \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 31917.0 Igor Diveev 22.357325 3.069967 \n",
"\n",
" pass.height.id pass.height.name pass.end_location pass.body_part.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 1.0 Ground Pass [37.7, 41.6] 38.0 \n",
"\n",
" pass.body_part.name pass.type.id pass.type.name carry.end_location \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 Left Foot 65.0 Kick Off NaN \n",
"\n",
" under_pressure duel.type.id duel.type.name pass.aerial_won counterpress \\\n",
"0 NaN NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN \n",
"\n",
" duel.outcome.id duel.outcome.name dribble.outcome.id dribble.outcome.name \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.outcome.id pass.outcome.name ball_receipt.outcome.id \\\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",
" ball_receipt.outcome.name interception.outcome.id \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" interception.outcome.name shot.statsbomb_xg shot.end_location \\\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",
" shot.outcome.id shot.outcome.name shot.type.id shot.type.name \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" shot.body_part.id shot.body_part.name shot.technique.id \\\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",
" shot.technique.name shot.freeze_frame goalkeeper.end_location \\\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",
" goalkeeper.type.id goalkeeper.type.name goalkeeper.position.id \\\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",
" goalkeeper.position.name out pass.outswinging pass.technique.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.technique.name clearance.head clearance.body_part.id \\\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",
" clearance.body_part.name pass.switch off_camera pass.cross \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" clearance.left_foot dribble.overrun dribble.nutmeg clearance.right_foot \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" pass.no_touch foul_committed.advantage foul_won.advantage \\\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",
" pass.assisted_shot_id pass.shot_assist shot.key_pass_id shot.first_time \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" clearance.other pass.miscommunication clearance.aerial_won \\\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",
" pass.through_ball ball_recovery.recovery_failure goalkeeper.outcome.id \\\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",
" goalkeeper.outcome.name goalkeeper.body_part.id goalkeeper.body_part.name \\\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",
" shot.aerial_won foul_committed.card.id foul_committed.card.name \\\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",
" foul_committed.offensive foul_won.defensive substitution.outcome.id \\\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",
" substitution.outcome.name substitution.replacement.id \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" substitution.replacement.name 50_50.outcome.id 50_50.outcome.name \\\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",
" pass.goal_assist goalkeeper.technique.id goalkeeper.technique.name \\\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",
" pass.cut_back miscontrol.aerial_won pass.straight foul_committed.type.id \\\n",
"0 NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN \n",
"3 NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN \n",
"\n",
" foul_committed.type.name match_id pass.inswinging pass.deflected \\\n",
"0 NaN 3788753 NaN NaN \n",
"1 NaN 3788753 NaN NaN \n",
"2 NaN 3788753 NaN NaN \n",
"3 NaN 3788753 NaN NaN \n",
"4 NaN 3788753 NaN NaN \n",
"\n",
" injury_stoppage.in_chain shot.one_on_one bad_behaviour.card.id \\\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",
" bad_behaviour.card.name shot.deflected block.deflection \\\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",
" foul_committed.penalty foul_won.penalty block.save_block \\\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",
" goalkeeper.punched_out player_off.permanent shot.saved_off_target \\\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",
" goalkeeper.shot_saved_off_target shot.saved_to_post \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" goalkeeper.shot_saved_to_post shot.open_goal \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
"4 NaN NaN \n",
"\n",
" goalkeeper.penalty_saved_to_post dribble.no_touch block.offensive \\\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",
" shot.follows_dribble ball_recovery.offensive shot.redirect \\\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",
" goalkeeper.lost_in_play goalkeeper.success_in_play match_date \\\n",
"0 NaN NaN 2021-06-16 \n",
"1 NaN NaN 2021-06-16 \n",
"2 NaN NaN 2021-06-16 \n",
"3 NaN NaN 2021-06-16 \n",
"4 NaN NaN 2021-06-16 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"0 15:00:00.000 0 1 available available \n",
"1 15:00:00.000 0 1 available available \n",
"2 15:00:00.000 0 1 available available \n",
"3 15:00:00.000 0 1 available available \n",
"4 15:00:00.000 0 1 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"0 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"1 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"2 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"3 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"4 2021-11-11T14:00:16.105809 2021-09-22T16:39:05.697512 2 \n",
"\n",
" competition.competition_id competition.country_name \\\n",
"0 55 Europe \n",
"1 55 Europe \n",
"2 55 Europe \n",
"3 55 Europe \n",
"4 55 Europe \n",
"\n",
" competition.competition_name season.season_id season.season_name \\\n",
"0 UEFA Euro 43 2020 \n",
"1 UEFA Euro 43 2020 \n",
"2 UEFA Euro 43 2020 \n",
"3 UEFA Euro 43 2020 \n",
"4 UEFA Euro 43 2020 \n",
"\n",
" home_team.home_team_id home_team.home_team_name home_team.home_team_gender \\\n",
"0 1835 Finland male \n",
"1 1835 Finland male \n",
"2 1835 Finland male \n",
"3 1835 Finland male \n",
"4 1835 Finland male \n",
"\n",
" home_team.home_team_group home_team.country.id home_team.country.name \\\n",
"0 Group B 77 Finland \n",
"1 Group B 77 Finland \n",
"2 Group B 77 Finland \n",
"3 Group B 77 Finland \n",
"4 Group B 77 Finland \n",
"\n",
" home_team.managers away_team.away_team_id \\\n",
"0 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"1 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"2 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"3 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"4 [{'id': 3622, 'name': 'Markku Kanerva', 'nickn... 796 \n",
"\n",
" away_team.away_team_name away_team.away_team_gender \\\n",
"0 Russia male \n",
"1 Russia male \n",
"2 Russia male \n",
"3 Russia male \n",
"4 Russia male \n",
"\n",
" away_team.away_team_group away_team.country.id away_team.country.name \\\n",
"0 Group B 188 Russia \n",
"1 Group B 188 Russia \n",
"2 Group B 188 Russia \n",
"3 Group B 188 Russia \n",
"4 Group B 188 Russia \n",
"\n",
" away_team.managers metadata.data_version \\\n",
"0 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"1 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"2 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"3 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"4 [{'id': 365, 'name': 'Stanislav Cherchesov', '... 1.1.0 \n",
"\n",
" metadata.shot_fidelity_version metadata.xy_fidelity_version \\\n",
"0 2 2 \n",
"1 2 2 \n",
"2 2 2 \n",
"3 2 2 \n",
"4 2 2 \n",
"\n",
" competition_stage.id competition_stage.name stadium.id \\\n",
"0 10 Group Stage 4726 \n",
"1 10 Group Stage 4726 \n",
"2 10 Group Stage 4726 \n",
"3 10 Group Stage 4726 \n",
"4 10 Group Stage 4726 \n",
"\n",
" stadium.name stadium.country.id stadium.country.name \\\n",
"0 Saint-Petersburg Stadium 188 Russia \n",
"1 Saint-Petersburg Stadium 188 Russia \n",
"2 Saint-Petersburg Stadium 188 Russia \n",
"3 Saint-Petersburg Stadium 188 Russia \n",
"4 Saint-Petersburg Stadium 188 Russia \n",
"\n",
" referee.id referee.name referee.country.id \\\n",
"0 293 Danny Desmond Makkelie 160 \n",
"1 293 Danny Desmond Makkelie 160 \n",
"2 293 Danny Desmond Makkelie 160 \n",
"3 293 Danny Desmond Makkelie 160 \n",
"4 293 Danny Desmond Makkelie 160 \n",
"\n",
" referee.country.name competition_id season_id country_name \\\n",
"0 Netherlands 55 43 Europe \n",
"1 Netherlands 55 43 Europe \n",
"2 Netherlands 55 43 Europe \n",
"3 Netherlands 55 43 Europe \n",
"4 Netherlands 55 43 Europe \n",
"\n",
" competition_name competition_gender competition_youth \\\n",
"0 UEFA Euro male False \n",
"1 UEFA Euro male False \n",
"2 UEFA Euro male False \n",
"3 UEFA Euro male False \n",
"4 UEFA Euro male False \n",
"\n",
" competition_international season_name match_updated \\\n",
"0 True 2020 2021-11-11T14:00:16.105809 \n",
"1 True 2020 2021-11-11T14:00:16.105809 \n",
"2 True 2020 2021-11-11T14:00:16.105809 \n",
"3 True 2020 2021-11-11T14:00:16.105809 \n",
"4 True 2020 2021-11-11T14:00:16.105809 \n",
"\n",
" match_updated_360 match_available_360 \\\n",
"0 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"1 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"2 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"3 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"4 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available \n",
"0 2021-11-11T14:00:16.105809 \n",
"1 2021-11-11T14:00:16.105809 \n",
"2 2021-11-11T14:00:16.105809 \n",
"3 2021-11-11T14:00:16.105809 \n",
"4 2021-11-11T14:00:16.105809 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Display the first five rows of the DataFrame, df_sb_events_raw\n",
"df_sb_events_raw.head()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type.id
\n",
"
type.name
\n",
"
possession_team.id
\n",
"
possession_team.name
\n",
"
play_pattern.id
\n",
"
play_pattern.name
\n",
"
team.id
\n",
"
team.name
\n",
"
tactics.formation
\n",
"
tactics.lineup
\n",
"
related_events
\n",
"
location
\n",
"
player.id
\n",
"
player.name
\n",
"
position.id
\n",
"
position.name
\n",
"
pass.recipient.id
\n",
"
pass.recipient.name
\n",
"
pass.length
\n",
"
pass.angle
\n",
"
pass.height.id
\n",
"
pass.height.name
\n",
"
pass.end_location
\n",
"
pass.body_part.id
\n",
"
pass.body_part.name
\n",
"
pass.type.id
\n",
"
pass.type.name
\n",
"
carry.end_location
\n",
"
under_pressure
\n",
"
duel.type.id
\n",
"
duel.type.name
\n",
"
pass.aerial_won
\n",
"
counterpress
\n",
"
duel.outcome.id
\n",
"
duel.outcome.name
\n",
"
dribble.outcome.id
\n",
"
dribble.outcome.name
\n",
"
pass.outcome.id
\n",
"
pass.outcome.name
\n",
"
ball_receipt.outcome.id
\n",
"
ball_receipt.outcome.name
\n",
"
interception.outcome.id
\n",
"
interception.outcome.name
\n",
"
shot.statsbomb_xg
\n",
"
shot.end_location
\n",
"
shot.outcome.id
\n",
"
shot.outcome.name
\n",
"
shot.type.id
\n",
"
shot.type.name
\n",
"
shot.body_part.id
\n",
"
shot.body_part.name
\n",
"
shot.technique.id
\n",
"
shot.technique.name
\n",
"
shot.freeze_frame
\n",
"
goalkeeper.end_location
\n",
"
goalkeeper.type.id
\n",
"
goalkeeper.type.name
\n",
"
goalkeeper.position.id
\n",
"
goalkeeper.position.name
\n",
"
out
\n",
"
pass.outswinging
\n",
"
pass.technique.id
\n",
"
pass.technique.name
\n",
"
clearance.head
\n",
"
clearance.body_part.id
\n",
"
clearance.body_part.name
\n",
"
pass.switch
\n",
"
off_camera
\n",
"
pass.cross
\n",
"
clearance.left_foot
\n",
"
dribble.overrun
\n",
"
dribble.nutmeg
\n",
"
clearance.right_foot
\n",
"
pass.no_touch
\n",
"
foul_committed.advantage
\n",
"
foul_won.advantage
\n",
"
pass.assisted_shot_id
\n",
"
pass.shot_assist
\n",
"
shot.key_pass_id
\n",
"
shot.first_time
\n",
"
clearance.other
\n",
"
pass.miscommunication
\n",
"
clearance.aerial_won
\n",
"
pass.through_ball
\n",
"
ball_recovery.recovery_failure
\n",
"
goalkeeper.outcome.id
\n",
"
goalkeeper.outcome.name
\n",
"
goalkeeper.body_part.id
\n",
"
goalkeeper.body_part.name
\n",
"
shot.aerial_won
\n",
"
foul_committed.card.id
\n",
"
foul_committed.card.name
\n",
"
foul_committed.offensive
\n",
"
foul_won.defensive
\n",
"
substitution.outcome.id
\n",
"
substitution.outcome.name
\n",
"
substitution.replacement.id
\n",
"
substitution.replacement.name
\n",
"
50_50.outcome.id
\n",
"
50_50.outcome.name
\n",
"
pass.goal_assist
\n",
"
goalkeeper.technique.id
\n",
"
goalkeeper.technique.name
\n",
"
pass.cut_back
\n",
"
miscontrol.aerial_won
\n",
"
pass.straight
\n",
"
foul_committed.type.id
\n",
"
foul_committed.type.name
\n",
"
match_id
\n",
"
pass.inswinging
\n",
"
pass.deflected
\n",
"
injury_stoppage.in_chain
\n",
"
shot.one_on_one
\n",
"
bad_behaviour.card.id
\n",
"
bad_behaviour.card.name
\n",
"
shot.deflected
\n",
"
block.deflection
\n",
"
foul_committed.penalty
\n",
"
foul_won.penalty
\n",
"
block.save_block
\n",
"
goalkeeper.punched_out
\n",
"
player_off.permanent
\n",
"
shot.saved_off_target
\n",
"
goalkeeper.shot_saved_off_target
\n",
"
shot.saved_to_post
\n",
"
goalkeeper.shot_saved_to_post
\n",
"
shot.open_goal
\n",
"
goalkeeper.penalty_saved_to_post
\n",
"
dribble.no_touch
\n",
"
block.offensive
\n",
"
shot.follows_dribble
\n",
"
ball_recovery.offensive
\n",
"
shot.redirect
\n",
"
goalkeeper.lost_in_play
\n",
"
goalkeeper.success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition.competition_id
\n",
"
competition.country_name
\n",
"
competition.competition_name
\n",
"
season.season_id
\n",
"
season.season_name
\n",
"
home_team.home_team_id
\n",
"
home_team.home_team_name
\n",
"
home_team.home_team_gender
\n",
"
home_team.home_team_group
\n",
"
home_team.country.id
\n",
"
home_team.country.name
\n",
"
home_team.managers
\n",
"
away_team.away_team_id
\n",
"
away_team.away_team_name
\n",
"
away_team.away_team_gender
\n",
"
away_team.away_team_group
\n",
"
away_team.country.id
\n",
"
away_team.country.name
\n",
"
away_team.managers
\n",
"
metadata.data_version
\n",
"
metadata.shot_fidelity_version
\n",
"
metadata.xy_fidelity_version
\n",
"
competition_stage.id
\n",
"
competition_stage.name
\n",
"
stadium.id
\n",
"
stadium.name
\n",
"
stadium.country.id
\n",
"
stadium.country.name
\n",
"
referee.id
\n",
"
referee.name
\n",
"
referee.country.id
\n",
"
referee.country.name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
\n",
" \n",
" \n",
"
\n",
"
192681
\n",
"
2992
\n",
"
8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20
\n",
"
2993
\n",
"
2
\n",
"
00:50:23.150
\n",
"
95
\n",
"
23
\n",
"
151
\n",
"
0.87093
\n",
"
30
\n",
"
Pass
\n",
"
907
\n",
"
Wales
\n",
"
4
\n",
"
From Throw In
\n",
"
907
\n",
"
Wales
\n",
"
NaN
\n",
"
NaN
\n",
"
['a0bdd045-65d0-4601-9378-a5dacdba3257', 'dcbf...
\n",
"
[110.7, 0.1]
\n",
"
3086.0
\n",
"
Ben Davies
\n",
"
6.0
\n",
"
Left Back
\n",
"
6399.0
\n",
"
Gareth Frank Bale
\n",
"
6.103278
\n",
"
1.254227
\n",
"
2.0
\n",
"
Low Pass
\n",
"
[112.6, 5.9]
\n",
"
NaN
\n",
"
NaN
\n",
"
67.0
\n",
"
Throw-in
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
9.0
\n",
"
Incomplete
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788744
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-12
\n",
"
15:00:00.000
\n",
"
1
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-06-20T12:57:59.258
\n",
"
2021-09-22T16:38:18.433799
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
907
\n",
"
Wales
\n",
"
male
\n",
"
Group A
\n",
"
249
\n",
"
Wales
\n",
"
NaN
\n",
"
773
\n",
"
Switzerland
\n",
"
male
\n",
"
Group A
\n",
"
221
\n",
"
Switzerland
\n",
"
NaN
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4549
\n",
"
Bakı Olimpiya Stadionu
\n",
"
16
\n",
"
Azerbaijan
\n",
"
76
\n",
"
Clément Turpin
\n",
"
78
\n",
"
France
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
192682
\n",
"
2993
\n",
"
a0bdd045-65d0-4601-9378-a5dacdba3257
\n",
"
2994
\n",
"
2
\n",
"
00:50:24.021
\n",
"
95
\n",
"
24
\n",
"
151
\n",
"
NaN
\n",
"
42
\n",
"
Ball Receipt*
\n",
"
907
\n",
"
Wales
\n",
"
4
\n",
"
From Throw In
\n",
"
907
\n",
"
Wales
\n",
"
NaN
\n",
"
NaN
\n",
"
['8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20']
\n",
"
[113.7, 8.0]
\n",
"
6399.0
\n",
"
Gareth Frank Bale
\n",
"
16.0
\n",
"
Left Midfield
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
9.0
\n",
"
Incomplete
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788744
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-12
\n",
"
15:00:00.000
\n",
"
1
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-06-20T12:57:59.258
\n",
"
2021-09-22T16:38:18.433799
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
907
\n",
"
Wales
\n",
"
male
\n",
"
Group A
\n",
"
249
\n",
"
Wales
\n",
"
NaN
\n",
"
773
\n",
"
Switzerland
\n",
"
male
\n",
"
Group A
\n",
"
221
\n",
"
Switzerland
\n",
"
NaN
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4549
\n",
"
Bakı Olimpiya Stadionu
\n",
"
16
\n",
"
Azerbaijan
\n",
"
76
\n",
"
Clément Turpin
\n",
"
78
\n",
"
France
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
192683
\n",
"
2994
\n",
"
dcbfc5e1-b22f-460f-8132-cf6fe7a590f8
\n",
"
2995
\n",
"
2
\n",
"
00:50:24.021
\n",
"
95
\n",
"
24
\n",
"
151
\n",
"
0.00000
\n",
"
10
\n",
"
Interception
\n",
"
907
\n",
"
Wales
\n",
"
4
\n",
"
From Throw In
\n",
"
773
\n",
"
Switzerland
\n",
"
NaN
\n",
"
NaN
\n",
"
['8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20']
\n",
"
[7.5, 74.2]
\n",
"
8814.0
\n",
"
Nico Elvedi
\n",
"
3.0
\n",
"
Right Center Back
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
4.0
\n",
"
Won
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788744
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-12
\n",
"
15:00:00.000
\n",
"
1
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-06-20T12:57:59.258
\n",
"
2021-09-22T16:38:18.433799
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
907
\n",
"
Wales
\n",
"
male
\n",
"
Group A
\n",
"
249
\n",
"
Wales
\n",
"
NaN
\n",
"
773
\n",
"
Switzerland
\n",
"
male
\n",
"
Group A
\n",
"
221
\n",
"
Switzerland
\n",
"
NaN
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4549
\n",
"
Bakı Olimpiya Stadionu
\n",
"
16
\n",
"
Azerbaijan
\n",
"
76
\n",
"
Clément Turpin
\n",
"
78
\n",
"
France
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
192684
\n",
"
2995
\n",
"
97cb188e-82e3-49cb-9ccf-9a5346f042b1
\n",
"
2996
\n",
"
2
\n",
"
00:50:25.404
\n",
"
95
\n",
"
25
\n",
"
151
\n",
"
0.00000
\n",
"
34
\n",
"
Half End
\n",
"
907
\n",
"
Wales
\n",
"
4
\n",
"
From Throw In
\n",
"
773
\n",
"
Switzerland
\n",
"
NaN
\n",
"
NaN
\n",
"
['edfa93d5-a744-41a4-a10d-f1d09017011d']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788744
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-12
\n",
"
15:00:00.000
\n",
"
1
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-06-20T12:57:59.258
\n",
"
2021-09-22T16:38:18.433799
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
907
\n",
"
Wales
\n",
"
male
\n",
"
Group A
\n",
"
249
\n",
"
Wales
\n",
"
NaN
\n",
"
773
\n",
"
Switzerland
\n",
"
male
\n",
"
Group A
\n",
"
221
\n",
"
Switzerland
\n",
"
NaN
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4549
\n",
"
Bakı Olimpiya Stadionu
\n",
"
16
\n",
"
Azerbaijan
\n",
"
76
\n",
"
Clément Turpin
\n",
"
78
\n",
"
France
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
"
\n",
"
192685
\n",
"
2996
\n",
"
edfa93d5-a744-41a4-a10d-f1d09017011d
\n",
"
2997
\n",
"
2
\n",
"
00:50:25.404
\n",
"
95
\n",
"
25
\n",
"
151
\n",
"
0.00000
\n",
"
34
\n",
"
Half End
\n",
"
907
\n",
"
Wales
\n",
"
4
\n",
"
From Throw In
\n",
"
907
\n",
"
Wales
\n",
"
NaN
\n",
"
NaN
\n",
"
['97cb188e-82e3-49cb-9ccf-9a5346f042b1']
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788744
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-12
\n",
"
15:00:00.000
\n",
"
1
\n",
"
1
\n",
"
available
\n",
"
available
\n",
"
2021-06-20T12:57:59.258
\n",
"
2021-09-22T16:38:18.433799
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
907
\n",
"
Wales
\n",
"
male
\n",
"
Group A
\n",
"
249
\n",
"
Wales
\n",
"
NaN
\n",
"
773
\n",
"
Switzerland
\n",
"
male
\n",
"
Group A
\n",
"
221
\n",
"
Switzerland
\n",
"
NaN
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
4549
\n",
"
Bakı Olimpiya Stadionu
\n",
"
16
\n",
"
Azerbaijan
\n",
"
76
\n",
"
Clément Turpin
\n",
"
78
\n",
"
France
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period \\\n",
"192681 2992 8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20 2993 2 \n",
"192682 2993 a0bdd045-65d0-4601-9378-a5dacdba3257 2994 2 \n",
"192683 2994 dcbfc5e1-b22f-460f-8132-cf6fe7a590f8 2995 2 \n",
"192684 2995 97cb188e-82e3-49cb-9ccf-9a5346f042b1 2996 2 \n",
"192685 2996 edfa93d5-a744-41a4-a10d-f1d09017011d 2997 2 \n",
"\n",
" timestamp minute second possession duration type.id \\\n",
"192681 00:50:23.150 95 23 151 0.87093 30 \n",
"192682 00:50:24.021 95 24 151 NaN 42 \n",
"192683 00:50:24.021 95 24 151 0.00000 10 \n",
"192684 00:50:25.404 95 25 151 0.00000 34 \n",
"192685 00:50:25.404 95 25 151 0.00000 34 \n",
"\n",
" type.name possession_team.id possession_team.name \\\n",
"192681 Pass 907 Wales \n",
"192682 Ball Receipt* 907 Wales \n",
"192683 Interception 907 Wales \n",
"192684 Half End 907 Wales \n",
"192685 Half End 907 Wales \n",
"\n",
" play_pattern.id play_pattern.name team.id team.name \\\n",
"192681 4 From Throw In 907 Wales \n",
"192682 4 From Throw In 907 Wales \n",
"192683 4 From Throw In 773 Switzerland \n",
"192684 4 From Throw In 773 Switzerland \n",
"192685 4 From Throw In 907 Wales \n",
"\n",
" tactics.formation tactics.lineup \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" related_events location \\\n",
"192681 ['a0bdd045-65d0-4601-9378-a5dacdba3257', 'dcbf... [110.7, 0.1] \n",
"192682 ['8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20'] [113.7, 8.0] \n",
"192683 ['8aa68a18-79d2-4b8b-ba5f-9d3124f1cd20'] [7.5, 74.2] \n",
"192684 ['edfa93d5-a744-41a4-a10d-f1d09017011d'] NaN \n",
"192685 ['97cb188e-82e3-49cb-9ccf-9a5346f042b1'] NaN \n",
"\n",
" player.id player.name position.id position.name \\\n",
"192681 3086.0 Ben Davies 6.0 Left Back \n",
"192682 6399.0 Gareth Frank Bale 16.0 Left Midfield \n",
"192683 8814.0 Nico Elvedi 3.0 Right Center Back \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" pass.recipient.id pass.recipient.name pass.length pass.angle \\\n",
"192681 6399.0 Gareth Frank Bale 6.103278 1.254227 \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" pass.height.id pass.height.name pass.end_location pass.body_part.id \\\n",
"192681 2.0 Low Pass [112.6, 5.9] NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" pass.body_part.name pass.type.id pass.type.name carry.end_location \\\n",
"192681 NaN 67.0 Throw-in NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" under_pressure duel.type.id duel.type.name pass.aerial_won \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" counterpress duel.outcome.id duel.outcome.name dribble.outcome.id \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" dribble.outcome.name pass.outcome.id pass.outcome.name \\\n",
"192681 NaN 9.0 Incomplete \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" ball_receipt.outcome.id ball_receipt.outcome.name \\\n",
"192681 NaN NaN \n",
"192682 9.0 Incomplete \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" interception.outcome.id interception.outcome.name shot.statsbomb_xg \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 4.0 Won NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" shot.end_location shot.outcome.id shot.outcome.name shot.type.id \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" shot.type.name shot.body_part.id shot.body_part.name \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" shot.technique.id shot.technique.name shot.freeze_frame \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.end_location goalkeeper.type.id goalkeeper.type.name \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.position.id goalkeeper.position.name out pass.outswinging \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" pass.technique.id pass.technique.name clearance.head \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" clearance.body_part.id clearance.body_part.name pass.switch \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" off_camera pass.cross clearance.left_foot dribble.overrun \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" dribble.nutmeg clearance.right_foot pass.no_touch \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" foul_committed.advantage foul_won.advantage pass.assisted_shot_id \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" pass.shot_assist shot.key_pass_id shot.first_time clearance.other \\\n",
"192681 NaN NaN NaN NaN \n",
"192682 NaN NaN NaN NaN \n",
"192683 NaN NaN NaN NaN \n",
"192684 NaN NaN NaN NaN \n",
"192685 NaN NaN NaN NaN \n",
"\n",
" pass.miscommunication clearance.aerial_won pass.through_ball \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" ball_recovery.recovery_failure goalkeeper.outcome.id \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" goalkeeper.outcome.name goalkeeper.body_part.id \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" goalkeeper.body_part.name shot.aerial_won foul_committed.card.id \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" foul_committed.card.name foul_committed.offensive foul_won.defensive \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" substitution.outcome.id substitution.outcome.name \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" substitution.replacement.id substitution.replacement.name \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" 50_50.outcome.id 50_50.outcome.name pass.goal_assist \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.technique.id goalkeeper.technique.name pass.cut_back \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" miscontrol.aerial_won pass.straight foul_committed.type.id \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" foul_committed.type.name match_id pass.inswinging pass.deflected \\\n",
"192681 NaN 3788744 NaN NaN \n",
"192682 NaN 3788744 NaN NaN \n",
"192683 NaN 3788744 NaN NaN \n",
"192684 NaN 3788744 NaN NaN \n",
"192685 NaN 3788744 NaN NaN \n",
"\n",
" injury_stoppage.in_chain shot.one_on_one bad_behaviour.card.id \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" bad_behaviour.card.name shot.deflected block.deflection \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" foul_committed.penalty foul_won.penalty block.save_block \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.punched_out player_off.permanent shot.saved_off_target \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.shot_saved_off_target shot.saved_to_post \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" goalkeeper.shot_saved_to_post shot.open_goal \\\n",
"192681 NaN NaN \n",
"192682 NaN NaN \n",
"192683 NaN NaN \n",
"192684 NaN NaN \n",
"192685 NaN NaN \n",
"\n",
" goalkeeper.penalty_saved_to_post dribble.no_touch block.offensive \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" shot.follows_dribble ball_recovery.offensive shot.redirect \\\n",
"192681 NaN NaN NaN \n",
"192682 NaN NaN NaN \n",
"192683 NaN NaN NaN \n",
"192684 NaN NaN NaN \n",
"192685 NaN NaN NaN \n",
"\n",
" goalkeeper.lost_in_play goalkeeper.success_in_play match_date \\\n",
"192681 NaN NaN 2021-06-12 \n",
"192682 NaN NaN 2021-06-12 \n",
"192683 NaN NaN 2021-06-12 \n",
"192684 NaN NaN 2021-06-12 \n",
"192685 NaN NaN 2021-06-12 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"192681 15:00:00.000 1 1 available available \n",
"192682 15:00:00.000 1 1 available available \n",
"192683 15:00:00.000 1 1 available available \n",
"192684 15:00:00.000 1 1 available available \n",
"192685 15:00:00.000 1 1 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"192681 2021-06-20T12:57:59.258 2021-09-22T16:38:18.433799 1 \n",
"192682 2021-06-20T12:57:59.258 2021-09-22T16:38:18.433799 1 \n",
"192683 2021-06-20T12:57:59.258 2021-09-22T16:38:18.433799 1 \n",
"192684 2021-06-20T12:57:59.258 2021-09-22T16:38:18.433799 1 \n",
"192685 2021-06-20T12:57:59.258 2021-09-22T16:38:18.433799 1 \n",
"\n",
" competition.competition_id competition.country_name \\\n",
"192681 55 Europe \n",
"192682 55 Europe \n",
"192683 55 Europe \n",
"192684 55 Europe \n",
"192685 55 Europe \n",
"\n",
" competition.competition_name season.season_id season.season_name \\\n",
"192681 UEFA Euro 43 2020 \n",
"192682 UEFA Euro 43 2020 \n",
"192683 UEFA Euro 43 2020 \n",
"192684 UEFA Euro 43 2020 \n",
"192685 UEFA Euro 43 2020 \n",
"\n",
" home_team.home_team_id home_team.home_team_name \\\n",
"192681 907 Wales \n",
"192682 907 Wales \n",
"192683 907 Wales \n",
"192684 907 Wales \n",
"192685 907 Wales \n",
"\n",
" home_team.home_team_gender home_team.home_team_group \\\n",
"192681 male Group A \n",
"192682 male Group A \n",
"192683 male Group A \n",
"192684 male Group A \n",
"192685 male Group A \n",
"\n",
" home_team.country.id home_team.country.name home_team.managers \\\n",
"192681 249 Wales NaN \n",
"192682 249 Wales NaN \n",
"192683 249 Wales NaN \n",
"192684 249 Wales NaN \n",
"192685 249 Wales NaN \n",
"\n",
" away_team.away_team_id away_team.away_team_name \\\n",
"192681 773 Switzerland \n",
"192682 773 Switzerland \n",
"192683 773 Switzerland \n",
"192684 773 Switzerland \n",
"192685 773 Switzerland \n",
"\n",
" away_team.away_team_gender away_team.away_team_group \\\n",
"192681 male Group A \n",
"192682 male Group A \n",
"192683 male Group A \n",
"192684 male Group A \n",
"192685 male Group A \n",
"\n",
" away_team.country.id away_team.country.name away_team.managers \\\n",
"192681 221 Switzerland NaN \n",
"192682 221 Switzerland NaN \n",
"192683 221 Switzerland NaN \n",
"192684 221 Switzerland NaN \n",
"192685 221 Switzerland NaN \n",
"\n",
" metadata.data_version metadata.shot_fidelity_version \\\n",
"192681 1.1.0 2 \n",
"192682 1.1.0 2 \n",
"192683 1.1.0 2 \n",
"192684 1.1.0 2 \n",
"192685 1.1.0 2 \n",
"\n",
" metadata.xy_fidelity_version competition_stage.id \\\n",
"192681 2 10 \n",
"192682 2 10 \n",
"192683 2 10 \n",
"192684 2 10 \n",
"192685 2 10 \n",
"\n",
" competition_stage.name stadium.id stadium.name \\\n",
"192681 Group Stage 4549 Bakı Olimpiya Stadionu \n",
"192682 Group Stage 4549 Bakı Olimpiya Stadionu \n",
"192683 Group Stage 4549 Bakı Olimpiya Stadionu \n",
"192684 Group Stage 4549 Bakı Olimpiya Stadionu \n",
"192685 Group Stage 4549 Bakı Olimpiya Stadionu \n",
"\n",
" stadium.country.id stadium.country.name referee.id referee.name \\\n",
"192681 16 Azerbaijan 76 Clément Turpin \n",
"192682 16 Azerbaijan 76 Clément Turpin \n",
"192683 16 Azerbaijan 76 Clément Turpin \n",
"192684 16 Azerbaijan 76 Clément Turpin \n",
"192685 16 Azerbaijan 76 Clément Turpin \n",
"\n",
" referee.country.id referee.country.name competition_id season_id \\\n",
"192681 78 France 55 43 \n",
"192682 78 France 55 43 \n",
"192683 78 France 55 43 \n",
"192684 78 France 55 43 \n",
"192685 78 France 55 43 \n",
"\n",
" country_name competition_name competition_gender competition_youth \\\n",
"192681 Europe UEFA Euro male False \n",
"192682 Europe UEFA Euro male False \n",
"192683 Europe UEFA Euro male False \n",
"192684 Europe UEFA Euro male False \n",
"192685 Europe UEFA Euro male False \n",
"\n",
" competition_international season_name match_updated \\\n",
"192681 True 2020 2021-11-11T14:00:16.105809 \n",
"192682 True 2020 2021-11-11T14:00:16.105809 \n",
"192683 True 2020 2021-11-11T14:00:16.105809 \n",
"192684 True 2020 2021-11-11T14:00:16.105809 \n",
"192685 True 2020 2021-11-11T14:00:16.105809 \n",
"\n",
" match_updated_360 match_available_360 \\\n",
"192681 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"192682 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"192683 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"192684 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"192685 2021-11-11T13:54:37.507376 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available \n",
"192681 2021-11-11T14:00:16.105809 \n",
"192682 2021-11-11T14:00:16.105809 \n",
"192683 2021-11-11T14:00:16.105809 \n",
"192684 2021-11-11T14:00:16.105809 \n",
"192685 2021-11-11T14:00:16.105809 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Display the last five rows of the DataFrame, df_sb_events_raw\n",
"df_sb_events_raw.tail()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(192686, 197)\n"
]
}
],
"source": [
"# Print the shape of the DataFrame, df_sb_events_raw\n",
"print(df_sb_events_raw.shape)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Index(['level_0', 'id', 'index', 'period', 'timestamp', 'minute', 'second',\n",
" 'possession', 'duration', 'type.id',\n",
" ...\n",
" 'country_name', 'competition_name', 'competition_gender',\n",
" 'competition_youth', 'competition_international', 'season_name',\n",
" 'match_updated', 'match_updated_360', 'match_available_360',\n",
" 'match_available'],\n",
" dtype='object', length=197)\n"
]
}
],
"source": [
"# Print the column names of the DataFrame, df_sb_events_raw\n",
"print(df_sb_events_raw.columns)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"level_0 int64\n",
"id object\n",
"index int64\n",
"period int64\n",
"timestamp object\n",
" ... \n",
"season_name int64\n",
"match_updated object\n",
"match_updated_360 object\n",
"match_available_360 object\n",
"match_available object\n",
"Length: 197, dtype: object"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Data types of the features of the raw DataFrame, df_sb_events_raw\n",
"df_sb_events_raw.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"level_0 int64\n",
"id object\n",
"index int64\n",
"period int64\n",
"timestamp object\n",
"minute int64\n",
"second int64\n",
"possession int64\n",
"duration float64\n",
"type.id int64\n",
"type.name object\n",
"possession_team.id int64\n",
"possession_team.name object\n",
"play_pattern.id int64\n",
"play_pattern.name object\n",
"team.id int64\n",
"team.name object\n",
"tactics.formation float64\n",
"tactics.lineup object\n",
"related_events object\n",
"location object\n",
"player.id float64\n",
"player.name object\n",
"position.id float64\n",
"position.name object\n",
"pass.recipient.id float64\n",
"pass.recipient.name object\n",
"pass.length float64\n",
"pass.angle float64\n",
"pass.height.id float64\n",
"pass.height.name object\n",
"pass.end_location object\n",
"pass.body_part.id float64\n",
"pass.body_part.name object\n",
"pass.type.id float64\n",
"pass.type.name object\n",
"carry.end_location object\n",
"under_pressure object\n",
"duel.type.id float64\n",
"duel.type.name object\n",
"pass.aerial_won object\n",
"counterpress object\n",
"duel.outcome.id float64\n",
"duel.outcome.name object\n",
"dribble.outcome.id float64\n",
"dribble.outcome.name object\n",
"pass.outcome.id float64\n",
"pass.outcome.name object\n",
"ball_receipt.outcome.id float64\n",
"ball_receipt.outcome.name object\n",
"interception.outcome.id float64\n",
"interception.outcome.name object\n",
"shot.statsbomb_xg float64\n",
"shot.end_location object\n",
"shot.outcome.id float64\n",
"shot.outcome.name object\n",
"shot.type.id float64\n",
"shot.type.name object\n",
"shot.body_part.id float64\n",
"shot.body_part.name object\n",
"shot.technique.id float64\n",
"shot.technique.name object\n",
"shot.freeze_frame object\n",
"goalkeeper.end_location object\n",
"goalkeeper.type.id float64\n",
"goalkeeper.type.name object\n",
"goalkeeper.position.id float64\n",
"goalkeeper.position.name object\n",
"out object\n",
"pass.outswinging object\n",
"pass.technique.id float64\n",
"pass.technique.name object\n",
"clearance.head object\n",
"clearance.body_part.id float64\n",
"clearance.body_part.name object\n",
"pass.switch object\n",
"off_camera object\n",
"pass.cross object\n",
"clearance.left_foot object\n",
"dribble.overrun object\n",
"dribble.nutmeg object\n",
"clearance.right_foot object\n",
"pass.no_touch object\n",
"foul_committed.advantage object\n",
"foul_won.advantage object\n",
"pass.assisted_shot_id object\n",
"pass.shot_assist object\n",
"shot.key_pass_id object\n",
"shot.first_time object\n",
"clearance.other object\n",
"pass.miscommunication object\n",
"clearance.aerial_won object\n",
"pass.through_ball object\n",
"ball_recovery.recovery_failure object\n",
"goalkeeper.outcome.id float64\n",
"goalkeeper.outcome.name object\n",
"goalkeeper.body_part.id float64\n",
"goalkeeper.body_part.name object\n",
"shot.aerial_won object\n",
"foul_committed.card.id float64\n",
"foul_committed.card.name object\n",
"foul_committed.offensive object\n",
"foul_won.defensive object\n",
"substitution.outcome.id float64\n",
"substitution.outcome.name object\n",
"substitution.replacement.id float64\n",
"substitution.replacement.name object\n",
"50_50.outcome.id float64\n",
"50_50.outcome.name object\n",
"pass.goal_assist object\n",
"goalkeeper.technique.id float64\n",
"goalkeeper.technique.name object\n",
"pass.cut_back object\n",
"miscontrol.aerial_won object\n",
"pass.straight object\n",
"foul_committed.type.id float64\n",
"foul_committed.type.name object\n",
"match_id int64\n",
"pass.inswinging object\n",
"pass.deflected object\n",
"injury_stoppage.in_chain object\n",
"shot.one_on_one object\n",
"bad_behaviour.card.id float64\n",
"bad_behaviour.card.name object\n",
"shot.deflected object\n",
"block.deflection object\n",
"foul_committed.penalty object\n",
"foul_won.penalty object\n",
"block.save_block object\n",
"goalkeeper.punched_out object\n",
"player_off.permanent object\n",
"shot.saved_off_target object\n",
"goalkeeper.shot_saved_off_target object\n",
"shot.saved_to_post object\n",
"goalkeeper.shot_saved_to_post object\n",
"shot.open_goal object\n",
"goalkeeper.penalty_saved_to_post object\n",
"dribble.no_touch object\n",
"block.offensive object\n",
"shot.follows_dribble object\n",
"ball_recovery.offensive object\n",
"shot.redirect object\n",
"goalkeeper.lost_in_play object\n",
"goalkeeper.success_in_play object\n",
"match_date object\n",
"kick_off object\n",
"home_score int64\n",
"away_score int64\n",
"match_status object\n",
"match_status_360 object\n",
"last_updated object\n",
"last_updated_360 object\n",
"match_week int64\n",
"competition.competition_id int64\n",
"competition.country_name object\n",
"competition.competition_name object\n",
"season.season_id int64\n",
"season.season_name int64\n",
"home_team.home_team_id int64\n",
"home_team.home_team_name object\n",
"home_team.home_team_gender object\n",
"home_team.home_team_group object\n",
"home_team.country.id int64\n",
"home_team.country.name object\n",
"home_team.managers object\n",
"away_team.away_team_id int64\n",
"away_team.away_team_name object\n",
"away_team.away_team_gender object\n",
"away_team.away_team_group object\n",
"away_team.country.id int64\n",
"away_team.country.name object\n",
"away_team.managers object\n",
"metadata.data_version object\n",
"metadata.shot_fidelity_version int64\n",
"metadata.xy_fidelity_version int64\n",
"competition_stage.id int64\n",
"competition_stage.name object\n",
"stadium.id int64\n",
"stadium.name object\n",
"stadium.country.id int64\n",
"stadium.country.name object\n",
"referee.id int64\n",
"referee.name object\n",
"referee.country.id int64\n",
"referee.country.name object\n",
"competition_id int64\n",
"season_id int64\n",
"country_name object\n",
"competition_name object\n",
"competition_gender object\n",
"competition_youth bool\n",
"competition_international bool\n",
"season_name int64\n",
"match_updated object\n",
"match_updated_360 object\n",
"match_available_360 object\n",
"match_available object\n",
"dtype: object\n"
]
}
],
"source": [
"# Displays all columns\n",
"with pd.option_context('display.max_rows', None, 'display.max_columns', None):\n",
" print(df_sb_events_raw.dtypes)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Rk477bQOp5kYpR/QEc2Wo2zleKlzW712O1n+EwAAAACYiN133z1bbbVVHnroodJRutIXv/jFfPGLXxz+vBv3/lP60Vb29AMAAAAAgO43Y8aMfPWrX53weXPnzm1Dmu527LHHlo4wKqUfbWVPP2iPZsulWjoUAAAAAJiI5cuX52/+5m/y85//vHSUrvTmN785J5xwQukY41L60VYm/aA9LN8JAAAAAEympUuXKvzG8fWvf13px/Rm0g/ao9mk33h/7kwBAgAAAABr22KLLZ6wT92VV16ZT37ykwUTlXfUUUdliy22yMyZM7u+8EuUfrSZST9oj2aTfiYBAQAAAICJqOs63/nOd/LLX/4ySXLNNdcUTlTGmsVnr1H6AQAAAAAATHMPPvhgPvzhD5eOQQuUfrSV5T2hPZot72kJTwAAAABgIp785CeXjkCLlH4AAAAAAACQZO7cucO3P//5z+fpT396wTQTo/QD6EHN9uxrNgk42gTueMfWPD7eFOFY070mEAEAAACgu82ePTt77713fv7zn5eO0hW22WabbLbZZqVjTIjSj7bq6+sbt5xoNBodywLTSbNScLzjzc4dT7M/8wAAAABAd1q6dKnCbw0PPPBAXvnKVw5//u53vzuHHnpowUTNKf1oK3v6QXvY0w8AAAAAmExbbLFF+vv7J3zemsthTmUXXXRRLrrooiTJfvvtl4svvrhwopGUfkBHrM9yk82Olzp3sq7dSjFnmg4AAAAAoIy77rqrdIRRKf0ACmll3z2TfBPn+w0AAAAAYxsYGMhJJ52URYsWlY5S1PpMO3YLpR9tZU8/hrSyx1yz46XOLXltJs73GwAAAADGtmjRomlf+PU6pR8AAAAAAABk9OGAGTNm5IUvfGFmzpzZ+UAToPSjrRqNRtN9zZgepuKefq0u+djO5SbHu3Y7c3fzMpiW9wQAAACAsW200UalI3SF888/f9T7TzzxxJx++ukdTjMxSj+gI7p1Gc2SSz628tzNCqySubuV5T0BAAAAYGybbLJJXvnKV+bGG29MksyfP79wovK233777Lbbbpk5c2ZOOumk0nGaUvoBAAAAAABMcw8//HD+9V//tXSMrnLvvffm3nvvTZI885nPzIknnlg40fhmlA4AAAAAAABAWbNmmRMbS1VV+dM//dPSMZryO0hb9fX1jbtkXqPR6FgWmEosRdlZrexJaT9AAAAAAHrB0qVLS0foOp/73OfyjGc8o3SMdab0o60ajca4L4YD60cJ1Vn2AwQAAABgqttuu+1y/PHH56abbkqS3HPPPYUTlfe6171u1PsPOeSQnHvuuR1O05zSDwAAAAAAYJpbvnx5/u3f/i2LFy8uHaXr/eQnPykdYVRKP4AeZPIMAAAAAJhMAwMDCr8kp5xyyoj7ZsyYkRNOOCEbbbRRgUTrTukH0IMs7wkAAAAATKa6rktH6Aqnnnpq6QjrTekHdEQrJdVYx0udO1nXbqV8M+kHAAAAAEymqqpKRyiu178HSj/aqq+vb9zyodFodCwLZbVaUo13vNS5rV4bAAAAAKBbbLLJJjnwwANz4403lo7Scd/97neTJLNm9XZt1tvp6XqNRqPptBPTg0m/kcctswkAAAAAdIvZs2fnwgsvbPq4JUuW5KijjupAos6ZPXt26QiTQukHdIRJP1g/61OYd0Op3a3XVrYzlY3394WffQAAANbFokWLsnjx4iTJwMBAbrvtticcH1r+8tRTT838+fNTVVW+9a1vdTznZJs7d+7w7f7+/oJJWqP0A+hBrUxOeuG3t/Rqqd2t14apzM8+AAAArZg/f35OOOGE0jFogdKPtrKnH7SH0gMAAAAAmExbbLFFjjvuuPz0pz9Nkvz+978vnIiJUvrRVvb0g/ZoNulnmg8AAAAAmIiZM2fmzDPPzJlnnpnkiUteTidHHnnk8DKmQx/XVFVVXvOa1+TVr351p6M1pfSjrUz6QXuY5AMAAAAAJtPjjz+eCy64ID/60Y9KRylq6dKlTR/zyU9+UukHAAAAAABA93nkkUemfeG3tne/+93Zf//9hz+v6zpJ8uQnP7lUpHEp/QAAAAAAAKa5LbfcMv39/eM+pq7rPProoznyyCM7lKqs3XbbLZtttlnpGOtM6Udb2dMP2sOefgAAAADAZFu5cmVWrFiRZLDgG5psG7o9VPpNFzNnziwdYUKUfgA9yJ5+AAAAAMBkWrBgQY477rjSMbrK6173uuHbl19+eXbbbbeCaZpT+gEwacaa7jWBCAAAAADdbWBgoHSErvbGN75x+PbrXve6vP71ry+YZnRKP6Ajmi1H2WwZ2PGKpE6fO1nXbmcBNt73u53P29fXZwoRAAAAAHrQ05/+9Fx00UW5/fbbU1XV8P1VVQ3/SpJFixblK1/5SqmYXeFzn/uc0o/pp1kB0Gg0OpaFspoVQa0cL3Vuq9duJ8UbAAAAADBRBxxwQA444IAkyYMPPpjrrrsuSYYLv6qqstlmmxXL12n/8A//kJ133vkJJWg3U/rRVmMt9Zf8cdoJmLhWJictsQkAAAAArG3x4sU5+uijS8foKsuWLcvixYt7puxU+gEAAAAAAExzS5cuLR2h65xxxhnDt1/96lfnTW96U8E0zSn9gI6wp9/I461M3LW6LCkAAAB0s2avI/Sq0b6uXv+agKlj1iyV0XiuvPLKXHnllUmSOXPm5IorriicaCS/g9BjenWPRHv6AYxtrOWwJ+NNAgAAAADrYpNNNsm2226befPmlY7S9W6//fZcc801SZKtt946++67b+FEg5R+0GOm6jvdmBh7+sHU0tfX540CAAAAQFEbbbRRvvzlL7d0jbqu893vfjeLFi3K4sWL88UvfnGS0nWfiy++ePj23//932efffYpmGaQ0o+2avYiZjdPpkE3s7wnAAAAANApt912W04//fTSMbrKy172siTJM57xjOy1116F0wxS+gEAAAAAADAmhV+y1157df2Ke0o/2mqsPYoSy1FCO423/KflPQEAAACAiTj33HNzwQUXlI5R1H/+539m7ty5qaoqr3/963PyySeXjjSC0o+2srwnlGF5TwAAAABgshxyyCE55JBDkiSLFy/O0UcfXThROXVd5zOf+YzSj+nHpB9Dxps8S9L052S046XOnaxrm7gDAAAAAHrB7373u7zuda8rHaOrXHXVVcO367oevn3ooYdmww03LBFJ6Qd0RrPJs1aOlzq31Wu3opUSVdkIAAAAAEzEfffdVzpC1/nwhz886v2/+tWv8o53vKPDaQYp/YCOMOk38ngr5VurZSUAAAAAwLrab7/90t/fP/z5f/zHf+S///u/hz+vqmrE7fvvv/8J03BTwWGHHTZ8e+jrXPvjX/7lX3Y+2GpKP6AjTPoBAAAAAPS+JUuW5G1ve1vpGB3zjne8IzNmzMghhxySDTbYoHSccSn9gI4w6TfyuGU2AQAAAIBecNttt+X0008vHaOID33oQ0mSpz71qdl3330Lpxmf0g/oCJN+TFeNRkM5DAAAAEBP+8pXvlI6QnFve9vbcskllyRJdtxxx2yxxRaFE42k9APoQc0mJxVF3aOvr085DAAAAEBPO+ecc7Lvvvtm6dKlSZJHHnkkixYtSl3XT3jcLbfcknvvvbdExI5461vfOur9G220UZ7ylKckST7wgQ9kxx137GCqP1L6AQAAAAAAMKaVK1fmnnvuycKFC7N06dL8+7//e+lIXWVgYCADAwNJkm9961s588wzi+RQ+gFMQeNNApoCBAAAAAAm4rvf/W6uvPLK0jG6yhlnnJGqqlJVVZIMfzzyyCOLZVL6AR3RbDnKZvuatbIn2mSfO1nXbqV8a3UvQgAAAACAdXXkkUdm8803z6OPPjru4y6++OIOJSrv4x//+Kj3/+IXv8h73/veDqcZpPQDOqLVkqqVPdHadW6r125FKyWqST8AAAAAYCKqqsree++dFStW5LHHHstJJ51UOlLXeuSRR4o9t9IPoAeZ9AMAAAAAOuW6667LBRdcUDpGVznttNNGvf/YY4/tcJI/UvrRVn19feOWD41Go2NZAAAAAACAievr68tuu+2WBx98MEmycOHCsoG6wP/6X/+rdIQRlH60VaPRaLqvGdODPf1GHrfMJgAAAADQC7bccstcfvnlSQYLv5LTbCX91V/9VZLk+c9/fuEko1P6AR1hTz8AAAAAgN70wAMP5Iwzzsj8+fNLRynm9NNPz4knnlg6xriUfgA9qJXJSROGAAAAAMBE/M///M+0LvySZLvttisdoSmlH9ARlvccebyV8q3VCUUAAAAAgHX14he/OP39/U0fd9111+WCCy7oQKLOO++889bpe1CS0g/oCMt7Ti6TfgAAAABAt7njjjtKR5jWlH5AR5j0G3ncpB8AAAAA0AsGBgby8Y9/PAsWLEhd12P+uuWWW0pHbZvXv/71pSM0pfQDOsKk3+RqVqKa5gMAAAAAJst1112Xq666qnSMov7xH/8xr3vd60rHGJfSD+gIk34jj7dz0g8AAAAAYLIcccQR2W677bJs2bIkycc+9rHcf//9hVN13ty5c5MkBx10UF75ylcmSTbffPPsuuuuJWMNU/oBHWHSb3LZ0w8AAAAA6JSqqrLvvvsmSe6///5pWfit6frrr8/1118//Pkll1zSFa+7Kv1oq76+vnGLj0aj0bEsMJXY0w8AAAAA6JSf/exnefvb3146Rld66lOfmj333LN0jCRKP9qs0Wg0XeIQmDiTfgAAAABAp/zwhz8sHaFrzZ8/Py972cuGP7/00kuz1157Fcmi9KOtTPpBe5j0AwAAAAA65eyzz85rX/varFixIo899lje8IY3lI7Utc4666z09/cXeW6lH21l0o8hrUymjXW81LmTdW0TdwAAAABAr9hmm22SZNrv59fMIYccUuy5lX60lUk/hrQ6mTbe8VLntnptAAAAAIBe8POf/zxnn3126RhF7b///vngBz9YOsa4lH60lUm/yadEBQAAAACgkzbffPPSEYo7/vjjS0doSukHPabZMpkAjK3blhoeOm65XwAAAKCb7bLLLsP71C1YsCDHHXdc4USd9w//8A/50z/909IxxqX0o60s7wlAN+nWpYYBAAAAutnAwEAuu+yyLFiwII8//njpOEX8z//8T+kITSn9aCvLezKk26ZrJmMyp9Vrm+wBAAAAAHrBddddl2uuuaZ0jOLmzp3b9DHvfe971+lx7TCjyLMCAAAAAADQE/bdd9/SEXrGo48+Wuy5TfoBHdGtS+qVzNWKZpOTpggBAAAAgMny29/+tnSErjC0r2G3UvrRVvb0g/awN1hntbI8rQIWAAAAgF638847Z+bMmVm5cmXpKMX8y7/8S+kITSn9aCt7+k2+VibPlKywflqdCAWAyTLWf193Yr9ib2QBAIDp66677prWhV+SXHzxxbn44otLxxiX0g96TCsTRyW1mnuyX9zqxAtjzc71whkAaxvt30v/rrCmZitptHPpcgAAYPo68MADh5e2fPTRR/OKV7yicKLOu/nmm7N06dLUdZ0kqev6CbeHbLbZZqmqqkhGpR/QEfb0A4Dm/LsCAABAN1q5cmWuueaaLF26NCtWrCgdp4i6rnPkkUc2fdyJJ56Y008/vQOJRlL6AQAAAAAAMKarrroql1xySekYXW2zzTZLkrzsZS8rlkHpBwAAAAAAwJiOOOKILF68OIsXL37CUpZrL2+55rH58+fnRz/6UWeDFnLFFVdkzpw5pWMo/WivZnuONBqNjmUBAAAAAAAmbtasWTnuuOOyYsWKrFq1ang/u6Ffo923cOHCKV36De1x2E2UfrRVo9HIWWedNeqxSy+9tKNZKOvggw8e9f6hn4NmPyejHS91bjdcu6+vb9RzAQAAAAAm23XXXZcLLrigdIyuMnfu3OHb5557bg455JCCaQYp/QCmoPFKVoUhAAAAADARe+21V3beeec8+OCDWblyZQYGBkpH6ioXXHDBcCl6wQUX5EUvelGR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4u/c/HHPvxFmzpyZAw44IAcccMCE8uy0006ZNWtW1yxjWcJGG22UHXbYIVVVpaqq4fu33nrr7L///sP3vexlLysVUelHe1neE7rPWH8u13X6sZVpvlYmPk0RAgAAADCd1HV9VZKrxjl+f5LXdyLLFltskZe97GV56KGHsnjx4tx6662deNquMjAwkN/85jcj7r/ttttyww03DH9+00035fzzz+9ktGFKP4Ae1Kw8a+f0YytMVgIAAABA77nuuuvyne98p3SMnvDDH/6w2HMr/QAAAAAAABjTEUcckac97Wl57LHHkmR4KcuhpS7X/jxJFi5cmPe///1lAhf08Y9/vNhzK/2AjmhlWcexjpc6d7Ku3cpylSbiAAAAAIBOqaoq++yzz4TOeeSRR9qUpvtcccUVmTNnTukYSj+gM1pd1rGV5SjbdW6r125FsxLV/ncAAAAAwGRZunRp/v7v/z4LFiwY9fiaE35DFi1a1IloxWyxxRaZMWNGdtlllyxatCg///nPkyTPe97zMnPmzCKZlH60VV9f37jFR6PR6FgWmEpM+gEAAAAAnfLDH/4w/f39pWN0lYcffjhJ8tBDD+Xmm28evv+oo47K2WefXSST0o+2ajQaTZc4BCbOpB8AAAAA0CmHH354dtpppzz22GMZGBjIu9/97tKRutbQvoclKP0AAAAAAAAY1+67755k6i/b2aqSe/sp/YCOaDaZ1mwidLTjpc6drGu3Mo1nec+JW5+fQZOTAAAAAJDceeedede73pV58+aVjtL1PvGJT+SEE04o8txKP6AjmpVUrRwvdW6r125FKyXqdC2wWv29BgAAAIDp6p577lH4jWP77bfP9ttvnyR5+9vfXiyH0g/oCJN+I4+3c9JPgQX0gvH+bZiub1AAAACAbnTQQQelv79/+POf/vSn+a//+q9xz1m0aFGuuuqqdkcr4thjj81b3vKW0jFGUPoBAFCENygAAABAb6jrOjfccEOWLl2aP/zhD/n85z9fOlJRd911V+kIo1L60VZ9fX3jvqDXaDQ6loWyLO9JL7OcKgAAAADT2be//e185CMfKR2ja/z6178uHWFUSj8AaMJyqgAAAABMZy9/+cvzu9/9LosWLcqjjz6aG264oXSkopYuXVo6wqiUfrRVo9Fouq8Z04M9/UYeNwEGAAAAAPSC2bNn5zWveU1WrlyZgYGB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b0455ZSsWLGidJSidt1111RV9YT7dtlll5x99tnZcMMNC6X6I6UfbWV5T4ZY3hMAAAAAoDfddddd077wS5JPf/rTpSOMS+lHW1neE9qj2XKplsUDAAAAACbLgQceaHnPHqD0AzrCnn4jj7dSzJkiBAAAAABKWLhwYekIRbzpTW8qHaEppR9tZXlPhljeEwAAAACgN91+++057bTTSsco6pOf/GQ++clPDn8+NPnYTZR+tJXlPaE9LO8JAAAAAHTKnXfeWTpC15k7d26SZNttt83//b//N5tvvnnhREo/gJ7UrVOEYxX9ykgAAAAA6F1PetKTSkfoWvPmzcsDDzyg9AOmD3v6jTw+FQuwZkv6AgAAAAC9Z8MNNywdoet87Wtfe8LnQ3sdbr755qmqatxzq6raNMkFSY5Nsk2Snyf567qubx7lsZcnOS3J2+u6/vB411X60Vb29GOIPf0AAAAAAHrTdtttVzpC13nVq1416v2vfvWr86Y3vanZ6Z9O8rwkpyT5fZLXJvleVVV71HX9h6EHVVV1fJLnJ7l3XTIp/Wgre/pBe9jTDwAAAADolD/5kz9Jf39/kuTxxx/P6aefnjvuuKNwqrKe8pSnpK7r4c/rus6KFSuyfPny/PjHP85+++2XmTNnjjivqqqNkhyX5Li6rn+w+u7zqqo6Ksmbkrxn9eN2TPLRJC9NcvW6ZFL60VYm/aA9TBF2VivL0ypgAQAAAOh1P/zhD/O+972vdIyuceihh+bd73738OcrV67MO97xjtx666355je/me9+97vZfffd86EPfWi04m9WkplJlq11/0CSFyVJVVWzknwpyfvrur612XKha14Y2sakH5SxPiXVZOxFONaf+cnYQ7FkedbqMrAAAAAA0Mue/exnZ6uttspDDz1UOkpXuPbaa3PttdeOeXxgYCC/+tWvctNNN+WAAw54wrG6rh+pqurHSd5TVdUvk9yf5KQkByS5ffXDzk/yUF3Xn5xILqUf0BGtTEqNdbzUuZN17XaWWKX2Imw23as8AwAAAIDes8022+SrX/1q08d973vfy4UXXtiBRN3vsccey+233z6i9Fvt5CSfyeB+fiuT3JLByb59qqo6KMmpSfom+pxKP9rK8p4MabXsaVeRVDIXAAAAAECveOihh/L4448nyYi97IY+/9znPlckW6e88IUvTFVVOfzww3Pg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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot visualisation of the missing values for each feature of the raw DataFrame, df_shots_raw\n",
"msno.matrix(df_sb_events_raw, figsize = (30, 7))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"duration 52722\n",
"tactics.formation 192459\n",
"tactics.lineup 192459\n",
"related_events 7079\n",
"location 1530\n",
" ... \n",
"goalkeeper.success_in_play 192684\n",
"home_team.home_team_group 63094\n",
"home_team.managers 12516\n",
"away_team.away_team_group 63094\n",
"away_team.managers 12516\n",
"Length: 131, dtype: int64"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Counts of missing values\n",
"null_value_stats = df_sb_events_raw.isnull().sum(axis=0)\n",
"null_value_stats[null_value_stats != 0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"\n",
"\n",
"## 4. Data Engineering\n",
"The next ext step is to wrangle the dataset to into a format that’s suitable for analysis, through the creation of bespoke in-possession and out-of-possession metrics.\n",
"\n",
"This section is broken down into the following subsections:\n",
"\n",
"4.1. [Assign Raw DataFrame to Engineered DataFrame](#section4.1) \n",
"4.2. [Sort the DataFrame](#section4.2) \n",
"4.3. [Determine Each Player's Most Frequent Position](#section4.3) \n",
"4.4. [Determine Each Player's Total Minutes Played](#section4.4) \n",
"4.5. [Isolate In-Play Events](#section4.5) \n",
"4.6. [Break Down All location Attributes](#section4.6) \n",
"4.7. [Create New Attributes](#section4.7) \n",
"4.8. [Fill Null Values](#section4.8) \n",
"4.9. [Export Events Dataset](#section4.9) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.1. Assign Raw DataFrame to Engineered DataFrame"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"# Assign Raw DataFrame to Engineered DataFrame\n",
"df_sb_events = df_sb_events_raw"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.2. Clean Column Names\n",
"Remove dots (.) from column names."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: FutureWarning: The default value of regex will change from True to False in a future version.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
}
],
"source": [
"# Replace dots (.) in column names with an underscore (_)\n",
"df_sb_events.columns = df_sb_events.columns.str.replace('[.]', '_')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.3. Sort DataFrame\n",
"Sort DataFrame into correct order of events by time and date, required for creating accurate features."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"# Sort DataFrame\n",
"\n",
"## Create a 'Full_Fixture Data' attribute from the date, teams, and goals scored\n",
"df_sb_events['Full_Fixture_Date'] = df_sb_events['match_date'].astype(str) + ' ' + df_sb_events['home_team_home_team_name'].astype(str) + ' ' + df_sb_events['home_score'].astype(str) + ' ' + ' vs. ' + ' ' + df_sb_events['away_score'].astype(str) + ' ' + df_sb_events['away_team_away_team_name'].astype(str)\n",
"\n",
"## Sort the DataFrame by the newly created 'Full_Fixture_Date' attribute\n",
"df_sb_events = df_sb_events.sort_values(['Full_Fixture_Date', 'match_date', 'timestamp'], ascending=[True, True, True])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.4. Determine Each Player's Most Frequent Playing Position\n",
"A player's dominant position is determined as the most frequent position in which the player is playing in the Events data i.e. the highest count of Events in that position. \n",
"\n",
"The following determined positions will be used as the player's primary position"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
player_name
\n",
"
team_name
\n",
"
primary_position_name
\n",
"
\n",
" \n",
" \n",
"
\n",
"
2
\n",
"
Aaron Ramsey
\n",
"
Wales
\n",
"
Left Center Midfield
\n",
"
\n",
"
\n",
"
3
\n",
"
Adam Hložek
\n",
"
Czech Republic
\n",
"
Left Wing
\n",
"
\n",
"
\n",
"
6
\n",
"
Adama Traoré Diarra
\n",
"
Spain
\n",
"
Right Back
\n",
"
\n",
"
\n",
"
8
\n",
"
Admir Mehmedi
\n",
"
Switzerland
\n",
"
Left Center Forward
\n",
"
\n",
"
\n",
"
11
\n",
"
Adrien Rabiot
\n",
"
France
\n",
"
Left Center Midfield
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" player_name team_name primary_position_name\n",
"2 Aaron Ramsey Wales Left Center Midfield\n",
"3 Adam Hložek Czech Republic Left Wing\n",
"6 Adama Traoré Diarra Spain Right Back\n",
"8 Admir Mehmedi Switzerland Left Center Forward\n",
"11 Adrien Rabiot France Left Center Midfield"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Determine Each Player's Most Frequent Playing Position\n",
"\n",
"## Groupby and Aggregate by player name and position\n",
"df_sb_player_positions = (df_sb_events\n",
" .groupby(['player_name', 'team_name', 'position_name'])\n",
" .agg({'type_name': 'count'})\n",
" .reset_index()\n",
" )\n",
"\n",
"## Rename columns after groupby and aggregation\n",
"df_sb_player_positions.columns = ['player_name', 'team_name', 'primary_position_name', 'count']\n",
"\n",
"## Drop level\n",
"#df_sb_player_positions.columns = df_sb_player_positions.columns.droplevel(level=0)\n",
"\n",
"## Reset index\n",
"df_sb_player_positions = df_sb_player_positions.reset_index()\n",
"\n",
"## Sort by 'mins_total' decending\n",
"df_sb_player_positions = df_sb_player_positions.sort_values(['player_name', 'count'], ascending=[True, False])\n",
"\n",
"## Groupby position and drop the counts\n",
"df_sb_player_positions = (df_sb_player_positions\n",
" .groupby(['player_name', 'team_name']).head(1)\n",
" .drop(['index', 'count'], axis=1)\n",
" )\n",
"\n",
"## Display DataFrame\n",
"df_sb_player_positions.head(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Aggregate the positions into Goalkeepers, Defenders, Midfielders, and Forwards."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([nan, 'Right Center Midfield', 'Right Back', 'Center Forward',\n",
" 'Center Defensive Midfield', 'Left Center Back', 'Left Back',\n",
" 'Right Midfield', 'Right Center Back', 'Goalkeeper', 'Left Wing',\n",
" 'Left Midfield', 'Left Center Midfield', 'Right Wing',\n",
" 'Right Defensive Midfield', 'Center Attacking Midfield',\n",
" 'Left Defensive Midfield', 'Left Wing Back', 'Center Back',\n",
" 'Right Wing Back', 'Right Attacking Midfield',\n",
" 'Left Attacking Midfield', 'Left Center Forward',\n",
" 'Right Center Forward'], dtype=object)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Show all unique values for position\n",
"df_sb_events['position_name'].unique()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# Map a defined dictionary of grouped positions, per specific position\n",
"\n",
"## Define a dictionary of positions\n",
"dict_positions_grouped = {'Goalkeeper': 'Goalkeeper',\n",
" 'Left Center Back': 'Defender',\n",
" 'Center Back': 'Defender',\n",
" 'Right Center Back': 'Defender',\n",
" 'Left Back': 'Defender',\n",
" 'Right Back': 'Defender',\n",
" 'Left Wing Back': 'Defender',\n",
" 'Right Wing Back': 'Defender',\n",
" 'Left Defensive Midfield': 'Midfield',\n",
" 'Center Defensive Midfield': 'Midfield',\n",
" 'Right Defensive Midfield': 'Midfield',\n",
" 'Left Center Midfield': 'Midfield',\n",
" 'Center Midfield': 'Midfield',\n",
" 'Right Center Midfield': 'Midfield',\n",
" 'Left Midfield': 'Midfield',\n",
" 'Right Midfield': 'Midfield',\n",
" 'Left Attacking Midfield': 'Midfield',\n",
" 'Right Attacking Midfield': 'Midfield',\n",
" 'Center Attacking Midfield': 'Midfield',\n",
" 'Left Center Forward': 'Forward',\n",
" 'Center Forward': 'Forward',\n",
" 'Right Center Forward': 'Forward',\n",
" 'Left Wing': 'Forward',\n",
" 'Right Wing': 'Forward',\n",
" 'Secondary Striker': 'Forward'\n",
" }\n",
"\n",
"## Map grouped positions to DataFrame\n",
"df_sb_player_positions['primary_position_name_grouped'] = df_sb_player_positions['primary_position_name'].map(dict_positions_grouped)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['Midfield', 'Forward', 'Defender', 'Goalkeeper'], dtype=object)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Show all unique values for position\n",
"df_sb_player_positions['primary_position_name_grouped'].unique()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, create an `outfield_goalkeeper` attribute."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"# Separate Goalkeepers and Outfielders\n",
"df_sb_player_positions['outfielder_goalkeeper'] = np.where(df_sb_player_positions['primary_position_name'].isnull(), np.nan, (np.where(df_sb_player_positions['primary_position_name'] == 'Goalkeeper', 'Goalkeeper', 'Outfielder')))"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"# Export DataFrame as a CSV file\n",
"\n",
"## \n",
"if not os.path.exists(os.path.join(data_dir_sb, 'engineered', 'combined', 'sb_360', 'sb_events_grouped_position.csv')):\n",
" df_sb_player_positions.to_csv(os.path.join(data_dir_sb, 'engineered', 'combined', 'sb_360', 'sb_events_grouped_position.csv'), index=None, header=True)\n",
"\n",
"## \n",
"else:\n",
" pass"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.5. Determine Each Player's Total Minutes"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
player_name
\n",
"
mins_total
\n",
"
\n",
" \n",
" \n",
"
\n",
"
144
\n",
"
Gianluigi Donnarumma
\n",
"
729
\n",
"
\n",
"
\n",
"
197
\n",
"
Jorge Luiz Frello Filho
\n",
"
721
\n",
"
\n",
"
\n",
"
195
\n",
"
Jordan Pickford
\n",
"
699
\n",
"
\n",
"
\n",
"
250
\n",
"
Leonardo Bonucci
\n",
"
681
\n",
"
\n",
"
\n",
"
190
\n",
"
John Stones
\n",
"
679
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" player_name mins_total\n",
"144 Gianluigi Donnarumma 729\n",
"197 Jorge Luiz Frello Filho 721\n",
"195 Jordan Pickford 699\n",
"250 Leonardo Bonucci 681\n",
"190 John Stones 679"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Determine Each Player's Total Minutes Played\n",
"\n",
"## Groupby and Aggregate by player name and position\n",
"df_sb_player_minutes = (df_sb_events\n",
" .groupby(['player_name', 'Full_Fixture_Date'])\n",
" .agg({'minute': ['min', 'max']})\n",
" )\n",
"\n",
"## Drop level\n",
"df_sb_player_minutes.columns = df_sb_player_minutes.columns.droplevel(level=0)\n",
"\n",
"## Reset index\n",
"df_sb_player_minutes = df_sb_player_minutes.reset_index()\n",
"\n",
"\n",
"## Reset 'min_start'\n",
"df_sb_player_minutes['min'] = np.where(df_sb_player_minutes['min'] <= 5, 0, df_sb_player_minutes['min']) \n",
"\n",
"## Determine the total minutes played per match\n",
"df_sb_player_minutes['mins_total'] = df_sb_player_minutes['max'] - df_sb_player_minutes['min'] \n",
"\n",
"## Sum the total minutes played\n",
"df_sb_player_minutes = (df_sb_player_minutes\n",
" .groupby(['player_name'])\n",
" .agg({'mins_total': ['sum']})\n",
" )\n",
"\n",
"## Reset index\n",
"df_sb_player_minutes = df_sb_player_minutes.reset_index()\n",
"\n",
"## Rename columns after groupby and aggregation\n",
"df_sb_player_minutes.columns = ['player_name', 'mins_total']\n",
"\n",
"## Sort by 'mins_total' decending\n",
"df_sb_player_minutes = df_sb_player_minutes.sort_values(['mins_total'], ascending=[False])\n",
"\n",
"## Display DataFrame\n",
"df_sb_player_minutes.head(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.6. Break Down All `location` Attributes\n",
"Separate all location attributes for X, Y (and sometimes Z) coordinates"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"location\n",
"pass_end_location\n",
"carry_end_location\n",
"shot_end_location\n",
"goalkeeper_end_location\n"
]
}
],
"source": [
"# Display all location columns\n",
"for col in df_sb_events.columns:\n",
" if 'location' in col:\n",
" print(col)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are the following five 'location' attributes:\n",
"- `location`\n",
"- `pass.end_location`\n",
"- `carry.end_location`\n",
"- `shot.end_location`\n",
"- `goalkeeper.end_location`\n",
"\n",
"From reviewing the official documentation [[link](https://statsbomb.com/stat-definitions/)], the five attributes have the following dimensionality:\n",
"- `location` [x, y]\n",
"- `pass.end_location` [x, y]\n",
"- `carry.end_location` [x, y]\n",
"- `shot.end_location` [x, y, z]\n",
"- `goalkeeper.end_location` [x, y]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\"\\n# CURRENTLY NOT WORKING, NEED TO FIX\\n\\n# Normalize 'shot.freeze_frame' attribute - see: https://stackoverflow.com/questions/52795561/flattening-nested-json-in-pandas-data-frame\\n\\n## explode all columns with lists of dicts\\ndf_sb_events_normalize = df_sb_events.apply(lambda x: x.explode()).reset_index(drop=True)\\n\\n## list of columns with dicts\\ncols_to_normalize = ['shot.freeze_frame']\\n\\n## if there are keys, which will become column names, overlap with excising column names. add the current column name as a prefix\\nnormalized = list()\\n\\nfor col in cols_to_normalize:\\n d = pd.json_normalize(df_sb_events_normalize[col], sep='_')\\n d.columns = [f'{col}_{v}' for v in d.columns]\\n normalized.append(d.copy())\\n\\n## combine df with the normalized columns\\ndf_sb_events_normalize = pd.concat([df_sb_events_normalize] + normalized, axis=1).drop(columns=cols_to_normalize)\\n\\n## display(df_lineup_select_normalize)\\ndf_sb_events_normalize.head(30)\\n\""
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"# CURRENTLY NOT WORKING, NEED TO FIX\n",
"\n",
"# Normalize 'shot.freeze_frame' attribute - see: https://stackoverflow.com/questions/52795561/flattening-nested-json-in-pandas-data-frame\n",
"\n",
"## explode all columns with lists of dicts\n",
"df_sb_events_normalize = df_sb_events.apply(lambda x: x.explode()).reset_index(drop=True)\n",
"\n",
"## list of columns with dicts\n",
"cols_to_normalize = ['shot.freeze_frame']\n",
"\n",
"## if there are keys, which will become column names, overlap with excising column names. add the current column name as a prefix\n",
"normalized = list()\n",
"\n",
"for col in cols_to_normalize:\n",
" d = pd.json_normalize(df_sb_events_normalize[col], sep='_')\n",
" d.columns = [f'{col}_{v}' for v in d.columns]\n",
" normalized.append(d.copy())\n",
"\n",
"## combine df with the normalized columns\n",
"df_sb_events_normalize = pd.concat([df_sb_events_normalize] + normalized, axis=1).drop(columns=cols_to_normalize)\n",
"\n",
"## display(df_lineup_select_normalize)\n",
"df_sb_events_normalize.head(30)\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:12: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
" if sys.path[0] == '':\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:13: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
" del sys.path[0]\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:14: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
" \n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:15: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
" from ipykernel import kernelapp as app\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:16: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
" app.launch_new_instance()\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:19: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:20: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:21: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:22: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:23: FutureWarning: The default value of regex will change from True to False in a future version. In addition, single character regular expressions will *not* be treated as literal strings when regex=True.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:26: FutureWarning: Columnar iteration over characters will be deprecated in future releases.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:27: FutureWarning: Columnar iteration over characters will be deprecated in future releases.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:28: FutureWarning: Columnar iteration over characters will be deprecated in future releases.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:29: FutureWarning: Columnar iteration over characters will be deprecated in future releases.\n",
"/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:30: FutureWarning: Columnar iteration over characters will be deprecated in future releases.\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type_id
\n",
"
type_name
\n",
"
possession_team_id
\n",
"
possession_team_name
\n",
"
play_pattern_id
\n",
"
play_pattern_name
\n",
"
team_id
\n",
"
team_name
\n",
"
tactics_formation
\n",
"
tactics_lineup
\n",
"
related_events
\n",
"
location
\n",
"
player_id
\n",
"
player_name
\n",
"
position_id
\n",
"
position_name
\n",
"
pass_recipient_id
\n",
"
pass_recipient_name
\n",
"
pass_length
\n",
"
pass_angle
\n",
"
pass_height_id
\n",
"
pass_height_name
\n",
"
pass_end_location
\n",
"
pass_body_part_id
\n",
"
pass_body_part_name
\n",
"
pass_type_id
\n",
"
pass_type_name
\n",
"
carry_end_location
\n",
"
under_pressure
\n",
"
duel_type_id
\n",
"
duel_type_name
\n",
"
pass_aerial_won
\n",
"
counterpress
\n",
"
duel_outcome_id
\n",
"
duel_outcome_name
\n",
"
dribble_outcome_id
\n",
"
dribble_outcome_name
\n",
"
pass_outcome_id
\n",
"
pass_outcome_name
\n",
"
ball_receipt_outcome_id
\n",
"
ball_receipt_outcome_name
\n",
"
interception_outcome_id
\n",
"
interception_outcome_name
\n",
"
shot_statsbomb_xg
\n",
"
shot_end_location
\n",
"
shot_outcome_id
\n",
"
shot_outcome_name
\n",
"
shot_type_id
\n",
"
shot_type_name
\n",
"
shot_body_part_id
\n",
"
shot_body_part_name
\n",
"
shot_technique_id
\n",
"
shot_technique_name
\n",
"
shot_freeze_frame
\n",
"
goalkeeper_end_location
\n",
"
goalkeeper_type_id
\n",
"
goalkeeper_type_name
\n",
"
goalkeeper_position_id
\n",
"
goalkeeper_position_name
\n",
"
out
\n",
"
pass_outswinging
\n",
"
pass_technique_id
\n",
"
pass_technique_name
\n",
"
clearance_head
\n",
"
clearance_body_part_id
\n",
"
clearance_body_part_name
\n",
"
pass_switch
\n",
"
off_camera
\n",
"
pass_cross
\n",
"
clearance_left_foot
\n",
"
dribble_overrun
\n",
"
dribble_nutmeg
\n",
"
clearance_right_foot
\n",
"
pass_no_touch
\n",
"
foul_committed_advantage
\n",
"
foul_won_advantage
\n",
"
pass_assisted_shot_id
\n",
"
pass_shot_assist
\n",
"
shot_key_pass_id
\n",
"
shot_first_time
\n",
"
clearance_other
\n",
"
pass_miscommunication
\n",
"
clearance_aerial_won
\n",
"
pass_through_ball
\n",
"
ball_recovery_recovery_failure
\n",
"
goalkeeper_outcome_id
\n",
"
goalkeeper_outcome_name
\n",
"
goalkeeper_body_part_id
\n",
"
goalkeeper_body_part_name
\n",
"
shot_aerial_won
\n",
"
foul_committed_card_id
\n",
"
foul_committed_card_name
\n",
"
foul_committed_offensive
\n",
"
foul_won_defensive
\n",
"
substitution_outcome_id
\n",
"
substitution_outcome_name
\n",
"
substitution_replacement_id
\n",
"
substitution_replacement_name
\n",
"
50_50_outcome_id
\n",
"
50_50_outcome_name
\n",
"
pass_goal_assist
\n",
"
goalkeeper_technique_id
\n",
"
goalkeeper_technique_name
\n",
"
pass_cut_back
\n",
"
miscontrol_aerial_won
\n",
"
pass_straight
\n",
"
foul_committed_type_id
\n",
"
foul_committed_type_name
\n",
"
match_id
\n",
"
pass_inswinging
\n",
"
pass_deflected
\n",
"
injury_stoppage_in_chain
\n",
"
shot_one_on_one
\n",
"
bad_behaviour_card_id
\n",
"
bad_behaviour_card_name
\n",
"
shot_deflected
\n",
"
block_deflection
\n",
"
foul_committed_penalty
\n",
"
foul_won_penalty
\n",
"
block_save_block
\n",
"
goalkeeper_punched_out
\n",
"
player_off_permanent
\n",
"
shot_saved_off_target
\n",
"
goalkeeper_shot_saved_off_target
\n",
"
shot_saved_to_post
\n",
"
goalkeeper_shot_saved_to_post
\n",
"
shot_open_goal
\n",
"
goalkeeper_penalty_saved_to_post
\n",
"
dribble_no_touch
\n",
"
block_offensive
\n",
"
shot_follows_dribble
\n",
"
ball_recovery_offensive
\n",
"
shot_redirect
\n",
"
goalkeeper_lost_in_play
\n",
"
goalkeeper_success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition_competition_id
\n",
"
competition_country_name
\n",
"
competition_competition_name
\n",
"
season_season_id
\n",
"
season_season_name
\n",
"
home_team_home_team_id
\n",
"
home_team_home_team_name
\n",
"
home_team_home_team_gender
\n",
"
home_team_home_team_group
\n",
"
home_team_country_id
\n",
"
home_team_country_name
\n",
"
home_team_managers
\n",
"
away_team_away_team_id
\n",
"
away_team_away_team_name
\n",
"
away_team_away_team_gender
\n",
"
away_team_away_team_group
\n",
"
away_team_country_id
\n",
"
away_team_country_name
\n",
"
away_team_managers
\n",
"
metadata_data_version
\n",
"
metadata_shot_fidelity_version
\n",
"
metadata_xy_fidelity_version
\n",
"
competition_stage_id
\n",
"
competition_stage_name
\n",
"
stadium_id
\n",
"
stadium_name
\n",
"
stadium_country_id
\n",
"
stadium_country_name
\n",
"
referee_id
\n",
"
referee_name
\n",
"
referee_country_id
\n",
"
referee_country_name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
Full_Fixture_Date
\n",
"
location_x
\n",
"
location_y
\n",
"
pass_end_location_x
\n",
"
pass_end_location_y
\n",
"
carry_end_location_x
\n",
"
carry_end_location_y
\n",
"
shot_end_location_x
\n",
"
shot_end_location_y
\n",
"
shot_end_location_z
\n",
"
goalkeeper_end_location_x
\n",
"
goalkeeper_end_location_y
\n",
"
\n",
" \n",
" \n",
"
\n",
"
128670
\n",
"
0
\n",
"
19edeac2-e63f-4795-8a8b-17a6e9fdb6e3
\n",
"
1
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.00000
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
4141.0
\n",
"
[{'player': {'id': 30357, 'name': 'Uğurcan Çak...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128671
\n",
"
1
\n",
"
89072e2e-b64f-4099-846b-b22cf000f9c7
\n",
"
2
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.00000
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
433.0
\n",
"
[{'player': {'id': 7036, 'name': 'Gianluigi Do...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128672
\n",
"
2
\n",
"
46c6901e-3b12-495a-b68a-19ca15798ed0
\n",
"
3
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.00000
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['9e5b0646-91cc-49a1-bf88-39bde773b949']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128673
\n",
"
3
\n",
"
9e5b0646-91cc-49a1-bf88-39bde773b949
\n",
"
4
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.00000
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
['46c6901e-3b12-495a-b68a-19ca15798ed0']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130673
\n",
"
2003
\n",
"
5c2a7c70-becf-4520-856d-d80b55367c75
\n",
"
2004
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.00000
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['e767b1ab-b5c8-4ac4-87c9-d7a884399777']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130674
\n",
"
2004
\n",
"
e767b1ab-b5c8-4ac4-87c9-d7a884399777
\n",
"
2005
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.00000
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
['5c2a7c70-becf-4520-856d-d80b55367c75']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130675
\n",
"
2005
\n",
"
16b05b12-cfcb-46cd-b74b-b74b6f8e6ceb
\n",
"
2006
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.00000
\n",
"
19
\n",
"
Substitution
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
29989.0
\n",
"
Yusuf Yazıcı
\n",
"
13.0
\n",
"
Right Center Midfield
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
103.0
\n",
"
Tactical
\n",
"
6971.0
\n",
"
Cengiz Ünder
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130676
\n",
"
2006
\n",
"
35570177-df15-407e-b232-7b9c244ac9da
\n",
"
2007
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.00000
\n",
"
19
\n",
"
Substitution
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
6964.0
\n",
"
Alessandro Florenzi
\n",
"
2.0
\n",
"
Right Back
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
103.0
\n",
"
Tactical
\n",
"
11514.0
\n",
"
Giovanni Di Lorenzo
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130670
\n",
"
2000
\n",
"
225c7ac7-1c71-4225-8be3-d943e85b518d
\n",
"
2001
\n",
"
1
\n",
"
00:00:00.189
\n",
"
0
\n",
"
0
\n",
"
110
\n",
"
NaN
\n",
"
42
\n",
"
Ball Receipt*
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
['9e0765b1-85a1-4d49-9b0c-55c6276646d5']
\n",
"
70.2, 56.4
\n",
"
29989.0
\n",
"
Yusuf Yazıcı
\n",
"
13.0
\n",
"
Right Center Midfield
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
70.2
\n",
"
56.4
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130677
\n",
"
2007
\n",
"
37939db0-8973-469e-ac21-e3246b8eff00
\n",
"
2008
\n",
"
2
\n",
"
00:00:00.189
\n",
"
45
\n",
"
0
\n",
"
111
\n",
"
0.73756
\n",
"
30
\n",
"
Pass
\n",
"
914
\n",
"
Italy
\n",
"
9
\n",
"
From Kick Off
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['2f3a9e17-a5fb-4e00-a12b-41bc392ea588']
\n",
"
60.0, 40.0
\n",
"
7788.0
\n",
"
Ciro Immobile
\n",
"
23.0
\n",
"
Center Forward
\n",
"
7024.0
\n",
"
Jorge Luiz Frello Filho
\n",
"
11.940268
\n",
"
-2.764197
\n",
"
1.0
\n",
"
Ground Pass
\n",
"
48.9, 35.6
\n",
"
40.0
\n",
"
Right Foot
\n",
"
65.0
\n",
"
Kick Off
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
60.0
\n",
"
40.0
\n",
"
48.9
\n",
"
35.6
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period \\\n",
"128670 0 19edeac2-e63f-4795-8a8b-17a6e9fdb6e3 1 1 \n",
"128671 1 89072e2e-b64f-4099-846b-b22cf000f9c7 2 1 \n",
"128672 2 46c6901e-3b12-495a-b68a-19ca15798ed0 3 1 \n",
"128673 3 9e5b0646-91cc-49a1-bf88-39bde773b949 4 1 \n",
"130673 2003 5c2a7c70-becf-4520-856d-d80b55367c75 2004 2 \n",
"130674 2004 e767b1ab-b5c8-4ac4-87c9-d7a884399777 2005 2 \n",
"130675 2005 16b05b12-cfcb-46cd-b74b-b74b6f8e6ceb 2006 2 \n",
"130676 2006 35570177-df15-407e-b232-7b9c244ac9da 2007 2 \n",
"130670 2000 225c7ac7-1c71-4225-8be3-d943e85b518d 2001 1 \n",
"130677 2007 37939db0-8973-469e-ac21-e3246b8eff00 2008 2 \n",
"\n",
" timestamp minute second possession duration type_id \\\n",
"128670 00:00:00.000 0 0 1 0.00000 35 \n",
"128671 00:00:00.000 0 0 1 0.00000 35 \n",
"128672 00:00:00.000 0 0 1 0.00000 18 \n",
"128673 00:00:00.000 0 0 1 0.00000 18 \n",
"130673 00:00:00.000 45 0 110 0.00000 18 \n",
"130674 00:00:00.000 45 0 110 0.00000 18 \n",
"130675 00:00:00.000 45 0 110 0.00000 19 \n",
"130676 00:00:00.000 45 0 110 0.00000 19 \n",
"130670 00:00:00.189 0 0 110 NaN 42 \n",
"130677 00:00:00.189 45 0 111 0.73756 30 \n",
"\n",
" type_name possession_team_id possession_team_name \\\n",
"128670 Starting XI 909 Turkey \n",
"128671 Starting XI 909 Turkey \n",
"128672 Half Start 909 Turkey \n",
"128673 Half Start 909 Turkey \n",
"130673 Half Start 909 Turkey \n",
"130674 Half Start 909 Turkey \n",
"130675 Substitution 909 Turkey \n",
"130676 Substitution 909 Turkey \n",
"130670 Ball Receipt* 909 Turkey \n",
"130677 Pass 914 Italy \n",
"\n",
" play_pattern_id play_pattern_name team_id team_name \\\n",
"128670 1 Regular Play 909 Turkey \n",
"128671 1 Regular Play 914 Italy \n",
"128672 1 Regular Play 914 Italy \n",
"128673 1 Regular Play 909 Turkey \n",
"130673 3 From Free Kick 914 Italy \n",
"130674 3 From Free Kick 909 Turkey \n",
"130675 3 From Free Kick 909 Turkey \n",
"130676 3 From Free Kick 914 Italy \n",
"130670 3 From Free Kick 909 Turkey \n",
"130677 9 From Kick Off 914 Italy \n",
"\n",
" tactics_formation tactics_lineup \\\n",
"128670 4141.0 [{'player': {'id': 30357, 'name': 'Uğurcan Çak... \n",
"128671 433.0 [{'player': {'id': 7036, 'name': 'Gianluigi Do... \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" related_events location player_id \\\n",
"128670 NaN nan NaN \n",
"128671 NaN nan NaN \n",
"128672 ['9e5b0646-91cc-49a1-bf88-39bde773b949'] nan NaN \n",
"128673 ['46c6901e-3b12-495a-b68a-19ca15798ed0'] nan NaN \n",
"130673 ['e767b1ab-b5c8-4ac4-87c9-d7a884399777'] nan NaN \n",
"130674 ['5c2a7c70-becf-4520-856d-d80b55367c75'] nan NaN \n",
"130675 NaN nan 29989.0 \n",
"130676 NaN nan 6964.0 \n",
"130670 ['9e0765b1-85a1-4d49-9b0c-55c6276646d5'] 70.2, 56.4 29989.0 \n",
"130677 ['2f3a9e17-a5fb-4e00-a12b-41bc392ea588'] 60.0, 40.0 7788.0 \n",
"\n",
" player_name position_id position_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 Yusuf Yazıcı 13.0 Right Center Midfield \n",
"130676 Alessandro Florenzi 2.0 Right Back \n",
"130670 Yusuf Yazıcı 13.0 Right Center Midfield \n",
"130677 Ciro Immobile 23.0 Center Forward \n",
"\n",
" pass_recipient_id pass_recipient_name pass_length pass_angle \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 7024.0 Jorge Luiz Frello Filho 11.940268 -2.764197 \n",
"\n",
" pass_height_id pass_height_name pass_end_location pass_body_part_id \\\n",
"128670 NaN NaN nan NaN \n",
"128671 NaN NaN nan NaN \n",
"128672 NaN NaN nan NaN \n",
"128673 NaN NaN nan NaN \n",
"130673 NaN NaN nan NaN \n",
"130674 NaN NaN nan NaN \n",
"130675 NaN NaN nan NaN \n",
"130676 NaN NaN nan NaN \n",
"130670 NaN NaN nan NaN \n",
"130677 1.0 Ground Pass 48.9, 35.6 40.0 \n",
"\n",
" pass_body_part_name pass_type_id pass_type_name carry_end_location \\\n",
"128670 NaN NaN NaN nan \n",
"128671 NaN NaN NaN nan \n",
"128672 NaN NaN NaN nan \n",
"128673 NaN NaN NaN nan \n",
"130673 NaN NaN NaN nan \n",
"130674 NaN NaN NaN nan \n",
"130675 NaN NaN NaN nan \n",
"130676 NaN NaN NaN nan \n",
"130670 NaN NaN NaN nan \n",
"130677 Right Foot 65.0 Kick Off nan \n",
"\n",
" under_pressure duel_type_id duel_type_name pass_aerial_won \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 NaN NaN NaN NaN \n",
"\n",
" counterpress duel_outcome_id duel_outcome_name dribble_outcome_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 NaN NaN NaN NaN \n",
"\n",
" dribble_outcome_name pass_outcome_id pass_outcome_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" ball_receipt_outcome_id ball_receipt_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" interception_outcome_id interception_outcome_name shot_statsbomb_xg \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" shot_end_location shot_outcome_id shot_outcome_name shot_type_id \\\n",
"128670 nan NaN NaN NaN \n",
"128671 nan NaN NaN NaN \n",
"128672 nan NaN NaN NaN \n",
"128673 nan NaN NaN NaN \n",
"130673 nan NaN NaN NaN \n",
"130674 nan NaN NaN NaN \n",
"130675 nan NaN NaN NaN \n",
"130676 nan NaN NaN NaN \n",
"130670 nan NaN NaN NaN \n",
"130677 nan NaN NaN NaN \n",
"\n",
" shot_type_name shot_body_part_id shot_body_part_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" shot_technique_id shot_technique_name shot_freeze_frame \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" goalkeeper_end_location goalkeeper_type_id goalkeeper_type_name \\\n",
"128670 nan NaN NaN \n",
"128671 nan NaN NaN \n",
"128672 nan NaN NaN \n",
"128673 nan NaN NaN \n",
"130673 nan NaN NaN \n",
"130674 nan NaN NaN \n",
"130675 nan NaN NaN \n",
"130676 nan NaN NaN \n",
"130670 nan NaN NaN \n",
"130677 nan NaN NaN \n",
"\n",
" goalkeeper_position_id goalkeeper_position_name out pass_outswinging \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 NaN NaN NaN NaN \n",
"\n",
" pass_technique_id pass_technique_name clearance_head \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" clearance_body_part_id clearance_body_part_name pass_switch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" off_camera pass_cross clearance_left_foot dribble_overrun \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 NaN NaN NaN NaN \n",
"\n",
" dribble_nutmeg clearance_right_foot pass_no_touch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" foul_committed_advantage foul_won_advantage pass_assisted_shot_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" pass_shot_assist shot_key_pass_id shot_first_time clearance_other \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"130674 NaN NaN NaN NaN \n",
"130675 NaN NaN NaN NaN \n",
"130676 NaN NaN NaN NaN \n",
"130670 NaN NaN NaN NaN \n",
"130677 NaN NaN NaN NaN \n",
"\n",
" pass_miscommunication clearance_aerial_won pass_through_ball \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" ball_recovery_recovery_failure goalkeeper_outcome_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" goalkeeper_outcome_name goalkeeper_body_part_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" goalkeeper_body_part_name shot_aerial_won foul_committed_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" foul_committed_card_name foul_committed_offensive foul_won_defensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" substitution_outcome_id substitution_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 103.0 Tactical \n",
"130676 103.0 Tactical \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" substitution_replacement_id substitution_replacement_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 6971.0 Cengiz Ünder \n",
"130676 11514.0 Giovanni Di Lorenzo \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" 50_50_outcome_id 50_50_outcome_name pass_goal_assist \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" goalkeeper_technique_id goalkeeper_technique_name pass_cut_back \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" miscontrol_aerial_won pass_straight foul_committed_type_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" foul_committed_type_name match_id pass_inswinging pass_deflected \\\n",
"128670 NaN 3788741 NaN NaN \n",
"128671 NaN 3788741 NaN NaN \n",
"128672 NaN 3788741 NaN NaN \n",
"128673 NaN 3788741 NaN NaN \n",
"130673 NaN 3788741 NaN NaN \n",
"130674 NaN 3788741 NaN NaN \n",
"130675 NaN 3788741 NaN NaN \n",
"130676 NaN 3788741 NaN NaN \n",
"130670 NaN 3788741 NaN NaN \n",
"130677 NaN 3788741 NaN NaN \n",
"\n",
" injury_stoppage_in_chain shot_one_on_one bad_behaviour_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" bad_behaviour_card_name shot_deflected block_deflection \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" foul_committed_penalty foul_won_penalty block_save_block \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" goalkeeper_punched_out player_off_permanent shot_saved_off_target \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" goalkeeper_shot_saved_off_target shot_saved_to_post \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" goalkeeper_shot_saved_to_post shot_open_goal \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" goalkeeper_penalty_saved_to_post dribble_no_touch block_offensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" shot_follows_dribble ball_recovery_offensive shot_redirect \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" goalkeeper_lost_in_play goalkeeper_success_in_play match_date \\\n",
"128670 NaN NaN 2021-06-11 \n",
"128671 NaN NaN 2021-06-11 \n",
"128672 NaN NaN 2021-06-11 \n",
"128673 NaN NaN 2021-06-11 \n",
"130673 NaN NaN 2021-06-11 \n",
"130674 NaN NaN 2021-06-11 \n",
"130675 NaN NaN 2021-06-11 \n",
"130676 NaN NaN 2021-06-11 \n",
"130670 NaN NaN 2021-06-11 \n",
"130677 NaN NaN 2021-06-11 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"128670 21:00:00.000 0 3 available available \n",
"128671 21:00:00.000 0 3 available available \n",
"128672 21:00:00.000 0 3 available available \n",
"128673 21:00:00.000 0 3 available available \n",
"130673 21:00:00.000 0 3 available available \n",
"130674 21:00:00.000 0 3 available available \n",
"130675 21:00:00.000 0 3 available available \n",
"130676 21:00:00.000 0 3 available available \n",
"130670 21:00:00.000 0 3 available available \n",
"130677 21:00:00.000 0 3 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"128670 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128671 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128672 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130674 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130675 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130676 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130670 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130677 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"\n",
" competition_competition_id competition_country_name \\\n",
"128670 55 Europe \n",
"128671 55 Europe \n",
"128672 55 Europe \n",
"128673 55 Europe \n",
"130673 55 Europe \n",
"130674 55 Europe \n",
"130675 55 Europe \n",
"130676 55 Europe \n",
"130670 55 Europe \n",
"130677 55 Europe \n",
"\n",
" competition_competition_name season_season_id season_season_name \\\n",
"128670 UEFA Euro 43 2020 \n",
"128671 UEFA Euro 43 2020 \n",
"128672 UEFA Euro 43 2020 \n",
"128673 UEFA Euro 43 2020 \n",
"130673 UEFA Euro 43 2020 \n",
"130674 UEFA Euro 43 2020 \n",
"130675 UEFA Euro 43 2020 \n",
"130676 UEFA Euro 43 2020 \n",
"130670 UEFA Euro 43 2020 \n",
"130677 UEFA Euro 43 2020 \n",
"\n",
" home_team_home_team_id home_team_home_team_name \\\n",
"128670 909 Turkey \n",
"128671 909 Turkey \n",
"128672 909 Turkey \n",
"128673 909 Turkey \n",
"130673 909 Turkey \n",
"130674 909 Turkey \n",
"130675 909 Turkey \n",
"130676 909 Turkey \n",
"130670 909 Turkey \n",
"130677 909 Turkey \n",
"\n",
" home_team_home_team_gender home_team_home_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"130674 male Group A \n",
"130675 male Group A \n",
"130676 male Group A \n",
"130670 male Group A \n",
"130677 male Group A \n",
"\n",
" home_team_country_id home_team_country_name \\\n",
"128670 233 Turkey \n",
"128671 233 Turkey \n",
"128672 233 Turkey \n",
"128673 233 Turkey \n",
"130673 233 Turkey \n",
"130674 233 Turkey \n",
"130675 233 Turkey \n",
"130676 233 Turkey \n",
"130670 233 Turkey \n",
"130677 233 Turkey \n",
"\n",
" home_team_managers \\\n",
"128670 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128671 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128672 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130674 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130675 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130676 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130670 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130677 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"\n",
" away_team_away_team_id away_team_away_team_name \\\n",
"128670 914 Italy \n",
"128671 914 Italy \n",
"128672 914 Italy \n",
"128673 914 Italy \n",
"130673 914 Italy \n",
"130674 914 Italy \n",
"130675 914 Italy \n",
"130676 914 Italy \n",
"130670 914 Italy \n",
"130677 914 Italy \n",
"\n",
" away_team_away_team_gender away_team_away_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"130674 male Group A \n",
"130675 male Group A \n",
"130676 male Group A \n",
"130670 male Group A \n",
"130677 male Group A \n",
"\n",
" away_team_country_id away_team_country_name \\\n",
"128670 112 Italy \n",
"128671 112 Italy \n",
"128672 112 Italy \n",
"128673 112 Italy \n",
"130673 112 Italy \n",
"130674 112 Italy \n",
"130675 112 Italy \n",
"130676 112 Italy \n",
"130670 112 Italy \n",
"130677 112 Italy \n",
"\n",
" away_team_managers \\\n",
"128670 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128671 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128672 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130674 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130675 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130676 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130670 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130677 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"\n",
" metadata_data_version metadata_shot_fidelity_version \\\n",
"128670 1.1.0 2 \n",
"128671 1.1.0 2 \n",
"128672 1.1.0 2 \n",
"128673 1.1.0 2 \n",
"130673 1.1.0 2 \n",
"130674 1.1.0 2 \n",
"130675 1.1.0 2 \n",
"130676 1.1.0 2 \n",
"130670 1.1.0 2 \n",
"130677 1.1.0 2 \n",
"\n",
" metadata_xy_fidelity_version competition_stage_id \\\n",
"128670 2 10 \n",
"128671 2 10 \n",
"128672 2 10 \n",
"128673 2 10 \n",
"130673 2 10 \n",
"130674 2 10 \n",
"130675 2 10 \n",
"130676 2 10 \n",
"130670 2 10 \n",
"130677 2 10 \n",
"\n",
" competition_stage_name stadium_id stadium_name \\\n",
"128670 Group Stage 381 Stadio Olimpico (Roma) \n",
"128671 Group Stage 381 Stadio Olimpico (Roma) \n",
"128672 Group Stage 381 Stadio Olimpico (Roma) \n",
"128673 Group Stage 381 Stadio Olimpico (Roma) \n",
"130673 Group Stage 381 Stadio Olimpico (Roma) \n",
"130674 Group Stage 381 Stadio Olimpico (Roma) \n",
"130675 Group Stage 381 Stadio Olimpico (Roma) \n",
"130676 Group Stage 381 Stadio Olimpico (Roma) \n",
"130670 Group Stage 381 Stadio Olimpico (Roma) \n",
"130677 Group Stage 381 Stadio Olimpico (Roma) \n",
"\n",
" stadium_country_id stadium_country_name referee_id \\\n",
"128670 112 Italy 293 \n",
"128671 112 Italy 293 \n",
"128672 112 Italy 293 \n",
"128673 112 Italy 293 \n",
"130673 112 Italy 293 \n",
"130674 112 Italy 293 \n",
"130675 112 Italy 293 \n",
"130676 112 Italy 293 \n",
"130670 112 Italy 293 \n",
"130677 112 Italy 293 \n",
"\n",
" referee_name referee_country_id referee_country_name \\\n",
"128670 Danny Desmond Makkelie 160 Netherlands \n",
"128671 Danny Desmond Makkelie 160 Netherlands \n",
"128672 Danny Desmond Makkelie 160 Netherlands \n",
"128673 Danny Desmond Makkelie 160 Netherlands \n",
"130673 Danny Desmond Makkelie 160 Netherlands \n",
"130674 Danny Desmond Makkelie 160 Netherlands \n",
"130675 Danny Desmond Makkelie 160 Netherlands \n",
"130676 Danny Desmond Makkelie 160 Netherlands \n",
"130670 Danny Desmond Makkelie 160 Netherlands \n",
"130677 Danny Desmond Makkelie 160 Netherlands \n",
"\n",
" competition_id season_id country_name competition_name \\\n",
"128670 55 43 Europe UEFA Euro \n",
"128671 55 43 Europe UEFA Euro \n",
"128672 55 43 Europe UEFA Euro \n",
"128673 55 43 Europe UEFA Euro \n",
"130673 55 43 Europe UEFA Euro \n",
"130674 55 43 Europe UEFA Euro \n",
"130675 55 43 Europe UEFA Euro \n",
"130676 55 43 Europe UEFA Euro \n",
"130670 55 43 Europe UEFA Euro \n",
"130677 55 43 Europe UEFA Euro \n",
"\n",
" competition_gender competition_youth competition_international \\\n",
"128670 male False True \n",
"128671 male False True \n",
"128672 male False True \n",
"128673 male False True \n",
"130673 male False True \n",
"130674 male False True \n",
"130675 male False True \n",
"130676 male False True \n",
"130670 male False True \n",
"130677 male False True \n",
"\n",
" season_name match_updated match_updated_360 \\\n",
"128670 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128671 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128672 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130674 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130675 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130676 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130670 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130677 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available_360 match_available \\\n",
"128670 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128671 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128672 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130674 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130675 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130676 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130670 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130677 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"\n",
" Full_Fixture_Date location_x location_y \\\n",
"128670 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128671 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128672 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130674 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130675 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130676 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130670 2021-06-11 Turkey 0 vs. 3 Italy 70.2 56.4 \n",
"130677 2021-06-11 Turkey 0 vs. 3 Italy 60.0 40.0 \n",
"\n",
" pass_end_location_x pass_end_location_y carry_end_location_x \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 48.9 35.6 NaN \n",
"\n",
" carry_end_location_y shot_end_location_x shot_end_location_y \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"130674 NaN NaN NaN \n",
"130675 NaN NaN NaN \n",
"130676 NaN NaN NaN \n",
"130670 NaN NaN NaN \n",
"130677 NaN NaN NaN \n",
"\n",
" shot_end_location_z goalkeeper_end_location_x \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"130674 NaN NaN \n",
"130675 NaN NaN \n",
"130676 NaN NaN \n",
"130670 NaN NaN \n",
"130677 NaN NaN \n",
"\n",
" goalkeeper_end_location_y \n",
"128670 NaN \n",
"128671 NaN \n",
"128672 NaN \n",
"128673 NaN \n",
"130673 NaN \n",
"130674 NaN \n",
"130675 NaN \n",
"130676 NaN \n",
"130670 NaN \n",
"130677 NaN "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#\n",
"\n",
"##\n",
"df_sb_events['location'] = df_sb_events['location'].astype(str)\n",
"df_sb_events['pass_end_location'] = df_sb_events['pass_end_location'].astype(str)\n",
"df_sb_events['carry_end_location'] = df_sb_events['carry_end_location'].astype(str)\n",
"df_sb_events['shot_end_location'] = df_sb_events['shot_end_location'].astype(str)\n",
"df_sb_events['goalkeeper_end_location'] = df_sb_events['goalkeeper_end_location'].astype(str)\n",
"df_sb_events['shot_end_location'] = df_sb_events['shot_end_location'].astype(str)\n",
"\n",
"##\n",
"df_sb_events['location'] = df_sb_events['location'].str.replace('[','')\n",
"df_sb_events['pass_end_location'] = df_sb_events['pass_end_location'].str.replace('[','')\n",
"df_sb_events['carry_end_location'] = df_sb_events['carry_end_location'].str.replace('[','')\n",
"df_sb_events['shot_end_location'] = df_sb_events['shot_end_location'].str.replace('[','')\n",
"df_sb_events['goalkeeper_end_location'] = df_sb_events['goalkeeper_end_location'].str.replace('[','')\n",
"\n",
"##\n",
"df_sb_events['location'] = df_sb_events['location'].str.replace(']','')\n",
"df_sb_events['pass_end_location'] = df_sb_events['pass_end_location'].str.replace(']','')\n",
"df_sb_events['carry_end_location'] = df_sb_events['carry_end_location'].str.replace(']','')\n",
"df_sb_events['shot_end_location'] = df_sb_events['shot_end_location'].str.replace(']','')\n",
"df_sb_events['goalkeeper_end_location'] = df_sb_events['goalkeeper_end_location'].str.replace(']','')\n",
"\n",
"##\n",
"df_sb_events['location_x'], df_sb_events['location_y'] = df_sb_events['location'].str.split(',', 1).str\n",
"df_sb_events['pass_end_location_x'], df_sb_events['pass_end_location_y'] = df_sb_events['pass_end_location'].str.split(',', 1).str\n",
"df_sb_events['carry_end_location_x'], df_sb_events['carry_end_location_y'] = df_sb_events['carry_end_location'].str.split(',', 1).str\n",
"df_sb_events['shot_end_location_x'], df_sb_events['shot_end_location_y'], df_sb_events['shot_end_location_z'] = df_sb_events['shot_end_location'].str.split(',', 3).str[0:3].str\n",
"df_sb_events['goalkeeper_end_location_x'], df_sb_events['goalkeeper_end_location_y'] = df_sb_events['goalkeeper_end_location'].str.split(',', 1).str\n",
"\n",
"## Convert to float\n",
"df_sb_events['location_x'] = df_sb_events['location_x'].astype(float)\n",
"df_sb_events['location_y'] = df_sb_events['location_y'].astype(float)\n",
"df_sb_events['pass_end_location_x'] = df_sb_events['pass_end_location_x'].astype(float)\n",
"df_sb_events['pass_end_location_y'] = df_sb_events['pass_end_location_y'].astype(float)\n",
"df_sb_events['carry_end_location_x'] = df_sb_events['carry_end_location_x'].astype(float)\n",
"df_sb_events['carry_end_location_y'] = df_sb_events['carry_end_location_y'].astype(float)\n",
"df_sb_events['shot_end_location_x'] = df_sb_events['shot_end_location_x'].astype(float)\n",
"df_sb_events['shot_end_location_y'] = df_sb_events['shot_end_location_y'].astype(float)\n",
"df_sb_events['goalkeeper_end_location_x'] = df_sb_events['goalkeeper_end_location_x'].astype(float)\n",
"df_sb_events['goalkeeper_end_location_y'] = df_sb_events['goalkeeper_end_location_y'].astype(float)\n",
"\n",
"## Display DataFrame\n",
"df_sb_events.head(10)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(192686, 209)"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sb_events.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.8. Create New Attributes\n",
"\n",
"Baseline attributes required for determining in-possession and out-of-possession metrics in later section:\n",
"* **Team**: the team or in this case, the country that the player is playing for;\n",
"* **Opponent**: the team or in this case, the country that the player is playing against;\n",
"* **Minutes played**: the number of minutes played; and\n",
"* **Games played**: the total number of matches played (for the aggregated version only)."
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type_id
\n",
"
type_name
\n",
"
possession_team_id
\n",
"
possession_team_name
\n",
"
play_pattern_id
\n",
"
play_pattern_name
\n",
"
team_id
\n",
"
team_name
\n",
"
tactics_formation
\n",
"
tactics_lineup
\n",
"
related_events
\n",
"
location
\n",
"
player_id
\n",
"
player_name
\n",
"
position_id
\n",
"
position_name
\n",
"
pass_recipient_id
\n",
"
pass_recipient_name
\n",
"
pass_length
\n",
"
pass_angle
\n",
"
pass_height_id
\n",
"
pass_height_name
\n",
"
pass_end_location
\n",
"
pass_body_part_id
\n",
"
pass_body_part_name
\n",
"
pass_type_id
\n",
"
pass_type_name
\n",
"
carry_end_location
\n",
"
under_pressure
\n",
"
duel_type_id
\n",
"
duel_type_name
\n",
"
pass_aerial_won
\n",
"
counterpress
\n",
"
duel_outcome_id
\n",
"
duel_outcome_name
\n",
"
dribble_outcome_id
\n",
"
dribble_outcome_name
\n",
"
pass_outcome_id
\n",
"
pass_outcome_name
\n",
"
ball_receipt_outcome_id
\n",
"
ball_receipt_outcome_name
\n",
"
interception_outcome_id
\n",
"
interception_outcome_name
\n",
"
shot_statsbomb_xg
\n",
"
shot_end_location
\n",
"
shot_outcome_id
\n",
"
shot_outcome_name
\n",
"
shot_type_id
\n",
"
shot_type_name
\n",
"
shot_body_part_id
\n",
"
shot_body_part_name
\n",
"
shot_technique_id
\n",
"
shot_technique_name
\n",
"
shot_freeze_frame
\n",
"
goalkeeper_end_location
\n",
"
goalkeeper_type_id
\n",
"
goalkeeper_type_name
\n",
"
goalkeeper_position_id
\n",
"
goalkeeper_position_name
\n",
"
out
\n",
"
pass_outswinging
\n",
"
pass_technique_id
\n",
"
pass_technique_name
\n",
"
clearance_head
\n",
"
clearance_body_part_id
\n",
"
clearance_body_part_name
\n",
"
pass_switch
\n",
"
off_camera
\n",
"
pass_cross
\n",
"
clearance_left_foot
\n",
"
dribble_overrun
\n",
"
dribble_nutmeg
\n",
"
clearance_right_foot
\n",
"
pass_no_touch
\n",
"
foul_committed_advantage
\n",
"
foul_won_advantage
\n",
"
pass_assisted_shot_id
\n",
"
pass_shot_assist
\n",
"
shot_key_pass_id
\n",
"
shot_first_time
\n",
"
clearance_other
\n",
"
pass_miscommunication
\n",
"
clearance_aerial_won
\n",
"
pass_through_ball
\n",
"
ball_recovery_recovery_failure
\n",
"
goalkeeper_outcome_id
\n",
"
goalkeeper_outcome_name
\n",
"
goalkeeper_body_part_id
\n",
"
goalkeeper_body_part_name
\n",
"
shot_aerial_won
\n",
"
foul_committed_card_id
\n",
"
foul_committed_card_name
\n",
"
foul_committed_offensive
\n",
"
foul_won_defensive
\n",
"
substitution_outcome_id
\n",
"
substitution_outcome_name
\n",
"
substitution_replacement_id
\n",
"
substitution_replacement_name
\n",
"
50_50_outcome_id
\n",
"
50_50_outcome_name
\n",
"
pass_goal_assist
\n",
"
goalkeeper_technique_id
\n",
"
goalkeeper_technique_name
\n",
"
pass_cut_back
\n",
"
miscontrol_aerial_won
\n",
"
pass_straight
\n",
"
foul_committed_type_id
\n",
"
foul_committed_type_name
\n",
"
match_id
\n",
"
pass_inswinging
\n",
"
pass_deflected
\n",
"
injury_stoppage_in_chain
\n",
"
shot_one_on_one
\n",
"
bad_behaviour_card_id
\n",
"
bad_behaviour_card_name
\n",
"
shot_deflected
\n",
"
block_deflection
\n",
"
foul_committed_penalty
\n",
"
foul_won_penalty
\n",
"
block_save_block
\n",
"
goalkeeper_punched_out
\n",
"
player_off_permanent
\n",
"
shot_saved_off_target
\n",
"
goalkeeper_shot_saved_off_target
\n",
"
shot_saved_to_post
\n",
"
goalkeeper_shot_saved_to_post
\n",
"
shot_open_goal
\n",
"
goalkeeper_penalty_saved_to_post
\n",
"
dribble_no_touch
\n",
"
block_offensive
\n",
"
shot_follows_dribble
\n",
"
ball_recovery_offensive
\n",
"
shot_redirect
\n",
"
goalkeeper_lost_in_play
\n",
"
goalkeeper_success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition_competition_id
\n",
"
competition_country_name
\n",
"
competition_competition_name
\n",
"
season_season_id
\n",
"
season_season_name
\n",
"
home_team_home_team_id
\n",
"
home_team_home_team_name
\n",
"
home_team_home_team_gender
\n",
"
home_team_home_team_group
\n",
"
home_team_country_id
\n",
"
home_team_country_name
\n",
"
home_team_managers
\n",
"
away_team_away_team_id
\n",
"
away_team_away_team_name
\n",
"
away_team_away_team_gender
\n",
"
away_team_away_team_group
\n",
"
away_team_country_id
\n",
"
away_team_country_name
\n",
"
away_team_managers
\n",
"
metadata_data_version
\n",
"
metadata_shot_fidelity_version
\n",
"
metadata_xy_fidelity_version
\n",
"
competition_stage_id
\n",
"
competition_stage_name
\n",
"
stadium_id
\n",
"
stadium_name
\n",
"
stadium_country_id
\n",
"
stadium_country_name
\n",
"
referee_id
\n",
"
referee_name
\n",
"
referee_country_id
\n",
"
referee_country_name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
Full_Fixture_Date
\n",
"
location_x
\n",
"
location_y
\n",
"
pass_end_location_x
\n",
"
pass_end_location_y
\n",
"
carry_end_location_x
\n",
"
carry_end_location_y
\n",
"
shot_end_location_x
\n",
"
shot_end_location_y
\n",
"
shot_end_location_z
\n",
"
goalkeeper_end_location_x
\n",
"
goalkeeper_end_location_y
\n",
"
Team
\n",
"
Opponent
\n",
"
next_event
\n",
"
previous_event
\n",
"
next_team_possession
\n",
"
previous_team_possession
\n",
"
possession_retained
\n",
"
endloc_x
\n",
"
endloc_y
\n",
"
dist1
\n",
"
dist2
\n",
"
diffdist
\n",
"
\n",
" \n",
" \n",
"
\n",
"
128670
\n",
"
0
\n",
"
19edeac2-e63f-4795-8a8b-17a6e9fdb6e3
\n",
"
1
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
4141.0
\n",
"
[{'player': {'id': 30357, 'name': 'Uğurcan Çak...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Turkey
\n",
"
Italy
\n",
"
Starting XI
\n",
"
NaN
\n",
"
Turkey
\n",
"
NaN
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128671
\n",
"
1
\n",
"
89072e2e-b64f-4099-846b-b22cf000f9c7
\n",
"
2
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
433.0
\n",
"
[{'player': {'id': 7036, 'name': 'Gianluigi Do...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Starting XI
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128672
\n",
"
2
\n",
"
46c6901e-3b12-495a-b68a-19ca15798ed0
\n",
"
3
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['9e5b0646-91cc-49a1-bf88-39bde773b949']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Starting XI
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
128673
\n",
"
3
\n",
"
9e5b0646-91cc-49a1-bf88-39bde773b949
\n",
"
4
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
['46c6901e-3b12-495a-b68a-19ca15798ed0']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Turkey
\n",
"
Italy
\n",
"
Half Start
\n",
"
Half Start
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
130673
\n",
"
2003
\n",
"
5c2a7c70-becf-4520-856d-d80b55367c75
\n",
"
2004
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['e767b1ab-b5c8-4ac4-87c9-d7a884399777']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Half Start
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period \\\n",
"128670 0 19edeac2-e63f-4795-8a8b-17a6e9fdb6e3 1 1 \n",
"128671 1 89072e2e-b64f-4099-846b-b22cf000f9c7 2 1 \n",
"128672 2 46c6901e-3b12-495a-b68a-19ca15798ed0 3 1 \n",
"128673 3 9e5b0646-91cc-49a1-bf88-39bde773b949 4 1 \n",
"130673 2003 5c2a7c70-becf-4520-856d-d80b55367c75 2004 2 \n",
"\n",
" timestamp minute second possession duration type_id \\\n",
"128670 00:00:00.000 0 0 1 0.0 35 \n",
"128671 00:00:00.000 0 0 1 0.0 35 \n",
"128672 00:00:00.000 0 0 1 0.0 18 \n",
"128673 00:00:00.000 0 0 1 0.0 18 \n",
"130673 00:00:00.000 45 0 110 0.0 18 \n",
"\n",
" type_name possession_team_id possession_team_name play_pattern_id \\\n",
"128670 Starting XI 909 Turkey 1 \n",
"128671 Starting XI 909 Turkey 1 \n",
"128672 Half Start 909 Turkey 1 \n",
"128673 Half Start 909 Turkey 1 \n",
"130673 Half Start 909 Turkey 3 \n",
"\n",
" play_pattern_name team_id team_name tactics_formation \\\n",
"128670 Regular Play 909 Turkey 4141.0 \n",
"128671 Regular Play 914 Italy 433.0 \n",
"128672 Regular Play 914 Italy NaN \n",
"128673 Regular Play 909 Turkey NaN \n",
"130673 From Free Kick 914 Italy NaN \n",
"\n",
" tactics_lineup \\\n",
"128670 [{'player': {'id': 30357, 'name': 'Uğurcan Çak... \n",
"128671 [{'player': {'id': 7036, 'name': 'Gianluigi Do... \n",
"128672 NaN \n",
"128673 NaN \n",
"130673 NaN \n",
"\n",
" related_events location player_id \\\n",
"128670 NaN nan NaN \n",
"128671 NaN nan NaN \n",
"128672 ['9e5b0646-91cc-49a1-bf88-39bde773b949'] nan NaN \n",
"128673 ['46c6901e-3b12-495a-b68a-19ca15798ed0'] nan NaN \n",
"130673 ['e767b1ab-b5c8-4ac4-87c9-d7a884399777'] nan NaN \n",
"\n",
" player_name position_id position_name pass_recipient_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_recipient_name pass_length pass_angle pass_height_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_height_name pass_end_location pass_body_part_id \\\n",
"128670 NaN nan NaN \n",
"128671 NaN nan NaN \n",
"128672 NaN nan NaN \n",
"128673 NaN nan NaN \n",
"130673 NaN nan NaN \n",
"\n",
" pass_body_part_name pass_type_id pass_type_name carry_end_location \\\n",
"128670 NaN NaN NaN nan \n",
"128671 NaN NaN NaN nan \n",
"128672 NaN NaN NaN nan \n",
"128673 NaN NaN NaN nan \n",
"130673 NaN NaN NaN nan \n",
"\n",
" under_pressure duel_type_id duel_type_name pass_aerial_won \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" counterpress duel_outcome_id duel_outcome_name dribble_outcome_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" dribble_outcome_name pass_outcome_id pass_outcome_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" ball_receipt_outcome_id ball_receipt_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" interception_outcome_id interception_outcome_name shot_statsbomb_xg \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_end_location shot_outcome_id shot_outcome_name shot_type_id \\\n",
"128670 nan NaN NaN NaN \n",
"128671 nan NaN NaN NaN \n",
"128672 nan NaN NaN NaN \n",
"128673 nan NaN NaN NaN \n",
"130673 nan NaN NaN NaN \n",
"\n",
" shot_type_name shot_body_part_id shot_body_part_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_technique_id shot_technique_name shot_freeze_frame \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_end_location goalkeeper_type_id goalkeeper_type_name \\\n",
"128670 nan NaN NaN \n",
"128671 nan NaN NaN \n",
"128672 nan NaN NaN \n",
"128673 nan NaN NaN \n",
"130673 nan NaN NaN \n",
"\n",
" goalkeeper_position_id goalkeeper_position_name out pass_outswinging \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_technique_id pass_technique_name clearance_head \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" clearance_body_part_id clearance_body_part_name pass_switch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" off_camera pass_cross clearance_left_foot dribble_overrun \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" dribble_nutmeg clearance_right_foot pass_no_touch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_advantage foul_won_advantage pass_assisted_shot_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" pass_shot_assist shot_key_pass_id shot_first_time clearance_other \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_miscommunication clearance_aerial_won pass_through_ball \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" ball_recovery_recovery_failure goalkeeper_outcome_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_outcome_name goalkeeper_body_part_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_body_part_name shot_aerial_won foul_committed_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_card_name foul_committed_offensive foul_won_defensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" substitution_outcome_id substitution_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" substitution_replacement_id substitution_replacement_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" 50_50_outcome_id 50_50_outcome_name pass_goal_assist \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_technique_id goalkeeper_technique_name pass_cut_back \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" miscontrol_aerial_won pass_straight foul_committed_type_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_type_name match_id pass_inswinging pass_deflected \\\n",
"128670 NaN 3788741 NaN NaN \n",
"128671 NaN 3788741 NaN NaN \n",
"128672 NaN 3788741 NaN NaN \n",
"128673 NaN 3788741 NaN NaN \n",
"130673 NaN 3788741 NaN NaN \n",
"\n",
" injury_stoppage_in_chain shot_one_on_one bad_behaviour_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" bad_behaviour_card_name shot_deflected block_deflection \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_penalty foul_won_penalty block_save_block \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_punched_out player_off_permanent shot_saved_off_target \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_shot_saved_off_target shot_saved_to_post \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_shot_saved_to_post shot_open_goal \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_penalty_saved_to_post dribble_no_touch block_offensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_follows_dribble ball_recovery_offensive shot_redirect \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_lost_in_play goalkeeper_success_in_play match_date \\\n",
"128670 NaN NaN 2021-06-11 \n",
"128671 NaN NaN 2021-06-11 \n",
"128672 NaN NaN 2021-06-11 \n",
"128673 NaN NaN 2021-06-11 \n",
"130673 NaN NaN 2021-06-11 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"128670 21:00:00.000 0 3 available available \n",
"128671 21:00:00.000 0 3 available available \n",
"128672 21:00:00.000 0 3 available available \n",
"128673 21:00:00.000 0 3 available available \n",
"130673 21:00:00.000 0 3 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"128670 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128671 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128672 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"\n",
" competition_competition_id competition_country_name \\\n",
"128670 55 Europe \n",
"128671 55 Europe \n",
"128672 55 Europe \n",
"128673 55 Europe \n",
"130673 55 Europe \n",
"\n",
" competition_competition_name season_season_id season_season_name \\\n",
"128670 UEFA Euro 43 2020 \n",
"128671 UEFA Euro 43 2020 \n",
"128672 UEFA Euro 43 2020 \n",
"128673 UEFA Euro 43 2020 \n",
"130673 UEFA Euro 43 2020 \n",
"\n",
" home_team_home_team_id home_team_home_team_name \\\n",
"128670 909 Turkey \n",
"128671 909 Turkey \n",
"128672 909 Turkey \n",
"128673 909 Turkey \n",
"130673 909 Turkey \n",
"\n",
" home_team_home_team_gender home_team_home_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"\n",
" home_team_country_id home_team_country_name \\\n",
"128670 233 Turkey \n",
"128671 233 Turkey \n",
"128672 233 Turkey \n",
"128673 233 Turkey \n",
"130673 233 Turkey \n",
"\n",
" home_team_managers \\\n",
"128670 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128671 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128672 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"\n",
" away_team_away_team_id away_team_away_team_name \\\n",
"128670 914 Italy \n",
"128671 914 Italy \n",
"128672 914 Italy \n",
"128673 914 Italy \n",
"130673 914 Italy \n",
"\n",
" away_team_away_team_gender away_team_away_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"\n",
" away_team_country_id away_team_country_name \\\n",
"128670 112 Italy \n",
"128671 112 Italy \n",
"128672 112 Italy \n",
"128673 112 Italy \n",
"130673 112 Italy \n",
"\n",
" away_team_managers \\\n",
"128670 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128671 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128672 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"\n",
" metadata_data_version metadata_shot_fidelity_version \\\n",
"128670 1.1.0 2 \n",
"128671 1.1.0 2 \n",
"128672 1.1.0 2 \n",
"128673 1.1.0 2 \n",
"130673 1.1.0 2 \n",
"\n",
" metadata_xy_fidelity_version competition_stage_id \\\n",
"128670 2 10 \n",
"128671 2 10 \n",
"128672 2 10 \n",
"128673 2 10 \n",
"130673 2 10 \n",
"\n",
" competition_stage_name stadium_id stadium_name \\\n",
"128670 Group Stage 381 Stadio Olimpico (Roma) \n",
"128671 Group Stage 381 Stadio Olimpico (Roma) \n",
"128672 Group Stage 381 Stadio Olimpico (Roma) \n",
"128673 Group Stage 381 Stadio Olimpico (Roma) \n",
"130673 Group Stage 381 Stadio Olimpico (Roma) \n",
"\n",
" stadium_country_id stadium_country_name referee_id \\\n",
"128670 112 Italy 293 \n",
"128671 112 Italy 293 \n",
"128672 112 Italy 293 \n",
"128673 112 Italy 293 \n",
"130673 112 Italy 293 \n",
"\n",
" referee_name referee_country_id referee_country_name \\\n",
"128670 Danny Desmond Makkelie 160 Netherlands \n",
"128671 Danny Desmond Makkelie 160 Netherlands \n",
"128672 Danny Desmond Makkelie 160 Netherlands \n",
"128673 Danny Desmond Makkelie 160 Netherlands \n",
"130673 Danny Desmond Makkelie 160 Netherlands \n",
"\n",
" competition_id season_id country_name competition_name \\\n",
"128670 55 43 Europe UEFA Euro \n",
"128671 55 43 Europe UEFA Euro \n",
"128672 55 43 Europe UEFA Euro \n",
"128673 55 43 Europe UEFA Euro \n",
"130673 55 43 Europe UEFA Euro \n",
"\n",
" competition_gender competition_youth competition_international \\\n",
"128670 male False True \n",
"128671 male False True \n",
"128672 male False True \n",
"128673 male False True \n",
"130673 male False True \n",
"\n",
" season_name match_updated match_updated_360 \\\n",
"128670 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128671 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128672 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available_360 match_available \\\n",
"128670 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128671 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128672 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"\n",
" Full_Fixture_Date location_x location_y \\\n",
"128670 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128671 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128672 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"\n",
" pass_end_location_x pass_end_location_y carry_end_location_x \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" carry_end_location_y shot_end_location_x shot_end_location_y \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_end_location_z goalkeeper_end_location_x \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_end_location_y Team Opponent next_event \\\n",
"128670 NaN Turkey Italy Starting XI \n",
"128671 NaN Italy Turkey Half Start \n",
"128672 NaN Italy Turkey Half Start \n",
"128673 NaN Turkey Italy Half Start \n",
"130673 NaN Italy Turkey Half Start \n",
"\n",
" previous_event next_team_possession previous_team_possession \\\n",
"128670 NaN Turkey NaN \n",
"128671 Starting XI Turkey Turkey \n",
"128672 Starting XI Turkey Turkey \n",
"128673 Half Start Turkey Turkey \n",
"130673 Half Start Turkey Turkey \n",
"\n",
" possession_retained endloc_x endloc_y dist1 dist2 diffdist \n",
"128670 1 NaN NaN NaN NaN NaN \n",
"128671 1 NaN NaN NaN NaN NaN \n",
"128672 1 NaN NaN NaN NaN NaN \n",
"128673 1 NaN NaN NaN NaN NaN \n",
"130673 1 NaN NaN NaN NaN NaN "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#\n",
"df_sb_events['Team'] = np.where(df_sb_events['team_name'] == df_sb_events['home_team_home_team_name'], df_sb_events['home_team_home_team_name'], df_sb_events['away_team_away_team_name'])\n",
"df_sb_events['Opponent'] = np.where(df_sb_events['team_name'] == df_sb_events['away_team_away_team_name'], df_sb_events['home_team_home_team_name'], df_sb_events['away_team_away_team_name'])\n",
"df_sb_events['next_event'] = df_sb_events['type_name'].shift(-1)\n",
"df_sb_events['previous_event'] = df_sb_events['type_name'].shift(+1)\n",
"df_sb_events['next_team_possession'] = df_sb_events['possession_team_name'].shift(-1)\n",
"df_sb_events['previous_team_possession'] = df_sb_events['possession_team_name'].shift(+1)\n",
"df_sb_events['possession_retained'] = np.where((df_sb_events['possession_team_name'] == df_sb_events['next_team_possession']), 1, 0)\n",
"df_sb_events['endloc_x'] = np.where(df_sb_events['type_name'] == 'Pass', df_sb_events['pass_end_location_x'], np.where(df_sb_events['type_name'] == 'Carry', df_sb_events['carry_end_location_x'], df_sb_events['location_x']))\n",
"df_sb_events['endloc_y'] = np.where(df_sb_events['type_name'] == 'Pass', df_sb_events['pass_end_location_y'], np.where(df_sb_events['type_name'] == 'Carry', df_sb_events['carry_end_location_y'], df_sb_events['location_y']))\n",
"df_sb_events['dist1'] = np.sqrt((df_sb_events['location_x'] - 120)**2 + (df_sb_events['location_y'] - 40)**2)\n",
"df_sb_events['dist2'] = np.sqrt((df_sb_events['endloc_x'] - 120)**2 + (df_sb_events['endloc_y'] - 40)**2)\n",
"df_sb_events['diffdist'] = df_sb_events['dist1'] - df_sb_events['dist2']\n",
"\n",
"# Display DataFrame\n",
"df_sb_events.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.9. Create In-Posession Metrics\n",
"\n",
"The in- possession metrics (passes and carries) that are created in the following section include following:\n",
"* **Open Play Passes p90**: the number of attempted passes in open play, per 90 minutes;\n",
"* **Pass Completion %**: the number of completed passes divded by the number of attempted passes;\n",
"* **Being Pressured Change in Pass %**: How does passing % change when under pressure? This is calculated as Pressured Pass % minus Pass %\n",
"* **Deep Progressions p90**: the number of passes and dribbles/carries into the opposition final third, p90\n",
"* **xGBuildup p90**: xG Chain is the total xG of every possession the player is involved in. xG build up is the same minus shots and key passes. To determine this: 1.Find all the possessions each player is involved in, 2.Find all the shots within those possessions, 3.Sum their xG (you might take the highest xG per possession, or you might treat the shots as dependent events), and 4.Assign that sum to each player, however involved they were.\n",
"* **Carries p90**: the number of carries, defined as when a player controls the ball at their feet while moving or standing still, p90;\n",
"* **Carry %**: percentage of a player's Carries that were successful; and\n",
"* **Carry Length p90**: average Carry length, p90.\n",
"\n",
"Progressive passes and carries are defined as actions that move the ball closer to the goal by 25% or that get the ball into the box."
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
level_0
\n",
"
id
\n",
"
index
\n",
"
period
\n",
"
timestamp
\n",
"
minute
\n",
"
second
\n",
"
possession
\n",
"
duration
\n",
"
type_id
\n",
"
type_name
\n",
"
possession_team_id
\n",
"
possession_team_name
\n",
"
play_pattern_id
\n",
"
play_pattern_name
\n",
"
team_id
\n",
"
team_name
\n",
"
tactics_formation
\n",
"
tactics_lineup
\n",
"
related_events
\n",
"
location
\n",
"
player_id
\n",
"
player_name
\n",
"
position_id
\n",
"
position_name
\n",
"
pass_recipient_id
\n",
"
pass_recipient_name
\n",
"
pass_length
\n",
"
pass_angle
\n",
"
pass_height_id
\n",
"
pass_height_name
\n",
"
pass_end_location
\n",
"
pass_body_part_id
\n",
"
pass_body_part_name
\n",
"
pass_type_id
\n",
"
pass_type_name
\n",
"
carry_end_location
\n",
"
under_pressure
\n",
"
duel_type_id
\n",
"
duel_type_name
\n",
"
pass_aerial_won
\n",
"
counterpress
\n",
"
duel_outcome_id
\n",
"
duel_outcome_name
\n",
"
dribble_outcome_id
\n",
"
dribble_outcome_name
\n",
"
pass_outcome_id
\n",
"
pass_outcome_name
\n",
"
ball_receipt_outcome_id
\n",
"
ball_receipt_outcome_name
\n",
"
interception_outcome_id
\n",
"
interception_outcome_name
\n",
"
shot_statsbomb_xg
\n",
"
shot_end_location
\n",
"
shot_outcome_id
\n",
"
shot_outcome_name
\n",
"
shot_type_id
\n",
"
shot_type_name
\n",
"
shot_body_part_id
\n",
"
shot_body_part_name
\n",
"
shot_technique_id
\n",
"
shot_technique_name
\n",
"
shot_freeze_frame
\n",
"
goalkeeper_end_location
\n",
"
goalkeeper_type_id
\n",
"
goalkeeper_type_name
\n",
"
goalkeeper_position_id
\n",
"
goalkeeper_position_name
\n",
"
out
\n",
"
pass_outswinging
\n",
"
pass_technique_id
\n",
"
pass_technique_name
\n",
"
clearance_head
\n",
"
clearance_body_part_id
\n",
"
clearance_body_part_name
\n",
"
pass_switch
\n",
"
off_camera
\n",
"
pass_cross
\n",
"
clearance_left_foot
\n",
"
dribble_overrun
\n",
"
dribble_nutmeg
\n",
"
clearance_right_foot
\n",
"
pass_no_touch
\n",
"
foul_committed_advantage
\n",
"
foul_won_advantage
\n",
"
pass_assisted_shot_id
\n",
"
pass_shot_assist
\n",
"
shot_key_pass_id
\n",
"
shot_first_time
\n",
"
clearance_other
\n",
"
pass_miscommunication
\n",
"
clearance_aerial_won
\n",
"
pass_through_ball
\n",
"
ball_recovery_recovery_failure
\n",
"
goalkeeper_outcome_id
\n",
"
goalkeeper_outcome_name
\n",
"
goalkeeper_body_part_id
\n",
"
goalkeeper_body_part_name
\n",
"
shot_aerial_won
\n",
"
foul_committed_card_id
\n",
"
foul_committed_card_name
\n",
"
foul_committed_offensive
\n",
"
foul_won_defensive
\n",
"
substitution_outcome_id
\n",
"
substitution_outcome_name
\n",
"
substitution_replacement_id
\n",
"
substitution_replacement_name
\n",
"
50_50_outcome_id
\n",
"
50_50_outcome_name
\n",
"
pass_goal_assist
\n",
"
goalkeeper_technique_id
\n",
"
goalkeeper_technique_name
\n",
"
pass_cut_back
\n",
"
miscontrol_aerial_won
\n",
"
pass_straight
\n",
"
foul_committed_type_id
\n",
"
foul_committed_type_name
\n",
"
match_id
\n",
"
pass_inswinging
\n",
"
pass_deflected
\n",
"
injury_stoppage_in_chain
\n",
"
shot_one_on_one
\n",
"
bad_behaviour_card_id
\n",
"
bad_behaviour_card_name
\n",
"
shot_deflected
\n",
"
block_deflection
\n",
"
foul_committed_penalty
\n",
"
foul_won_penalty
\n",
"
block_save_block
\n",
"
goalkeeper_punched_out
\n",
"
player_off_permanent
\n",
"
shot_saved_off_target
\n",
"
goalkeeper_shot_saved_off_target
\n",
"
shot_saved_to_post
\n",
"
goalkeeper_shot_saved_to_post
\n",
"
shot_open_goal
\n",
"
goalkeeper_penalty_saved_to_post
\n",
"
dribble_no_touch
\n",
"
block_offensive
\n",
"
shot_follows_dribble
\n",
"
ball_recovery_offensive
\n",
"
shot_redirect
\n",
"
goalkeeper_lost_in_play
\n",
"
goalkeeper_success_in_play
\n",
"
match_date
\n",
"
kick_off
\n",
"
home_score
\n",
"
away_score
\n",
"
match_status
\n",
"
match_status_360
\n",
"
last_updated
\n",
"
last_updated_360
\n",
"
match_week
\n",
"
competition_competition_id
\n",
"
competition_country_name
\n",
"
competition_competition_name
\n",
"
season_season_id
\n",
"
season_season_name
\n",
"
home_team_home_team_id
\n",
"
home_team_home_team_name
\n",
"
home_team_home_team_gender
\n",
"
home_team_home_team_group
\n",
"
home_team_country_id
\n",
"
home_team_country_name
\n",
"
home_team_managers
\n",
"
away_team_away_team_id
\n",
"
away_team_away_team_name
\n",
"
away_team_away_team_gender
\n",
"
away_team_away_team_group
\n",
"
away_team_country_id
\n",
"
away_team_country_name
\n",
"
away_team_managers
\n",
"
metadata_data_version
\n",
"
metadata_shot_fidelity_version
\n",
"
metadata_xy_fidelity_version
\n",
"
competition_stage_id
\n",
"
competition_stage_name
\n",
"
stadium_id
\n",
"
stadium_name
\n",
"
stadium_country_id
\n",
"
stadium_country_name
\n",
"
referee_id
\n",
"
referee_name
\n",
"
referee_country_id
\n",
"
referee_country_name
\n",
"
competition_id
\n",
"
season_id
\n",
"
country_name
\n",
"
competition_name
\n",
"
competition_gender
\n",
"
competition_youth
\n",
"
competition_international
\n",
"
season_name
\n",
"
match_updated
\n",
"
match_updated_360
\n",
"
match_available_360
\n",
"
match_available
\n",
"
Full_Fixture_Date
\n",
"
location_x
\n",
"
location_y
\n",
"
pass_end_location_x
\n",
"
pass_end_location_y
\n",
"
carry_end_location_x
\n",
"
carry_end_location_y
\n",
"
shot_end_location_x
\n",
"
shot_end_location_y
\n",
"
shot_end_location_z
\n",
"
goalkeeper_end_location_x
\n",
"
goalkeeper_end_location_y
\n",
"
Team
\n",
"
Opponent
\n",
"
next_event
\n",
"
previous_event
\n",
"
next_team_possession
\n",
"
previous_team_possession
\n",
"
possession_retained
\n",
"
endloc_x
\n",
"
endloc_y
\n",
"
dist1
\n",
"
dist2
\n",
"
diffdist
\n",
"
Passes
\n",
"
Successful Passes
\n",
"
Short Passes
\n",
"
Successful Short Passes
\n",
"
Medium Passes
\n",
"
Successful Medium Passes
\n",
"
Long Passes
\n",
"
Successful Long Passes
\n",
"
Final Third Passes
\n",
"
Successful Final Third Passes
\n",
"
Penalty Area Passes
\n",
"
Successful Penalty Area Passes
\n",
"
Under Pressure Passes
\n",
"
Successful Under Pressure Passes
\n",
"
Throughballs
\n",
"
Successful Throughballs
\n",
"
Switches
\n",
"
Successful Switches
\n",
"
Crosses
\n",
"
Successful Crosses
\n",
"
Penalty Area Crosses
\n",
"
Successful Penalty Area Crosses
\n",
"
Progressive Passes
\n",
"
Successful Progressive Passes
\n",
"
Pass Progressive Distance
\n",
"
Carries
\n",
"
Final Third Carries
\n",
"
Progressive Carries
\n",
"
Carry Distance
\n",
"
Carry Progressive Distance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
128670
\n",
"
0
\n",
"
19edeac2-e63f-4795-8a8b-17a6e9fdb6e3
\n",
"
1
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
4141.0
\n",
"
[{'player': {'id': 30357, 'name': 'Uğurcan Çak...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Turkey
\n",
"
Italy
\n",
"
Starting XI
\n",
"
NaN
\n",
"
Turkey
\n",
"
NaN
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
128671
\n",
"
1
\n",
"
89072e2e-b64f-4099-846b-b22cf000f9c7
\n",
"
2
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
35
\n",
"
Starting XI
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
433.0
\n",
"
[{'player': {'id': 7036, 'name': 'Gianluigi Do...
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Starting XI
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
128672
\n",
"
2
\n",
"
46c6901e-3b12-495a-b68a-19ca15798ed0
\n",
"
3
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['9e5b0646-91cc-49a1-bf88-39bde773b949']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Starting XI
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
128673
\n",
"
3
\n",
"
9e5b0646-91cc-49a1-bf88-39bde773b949
\n",
"
4
\n",
"
1
\n",
"
00:00:00.000
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
1
\n",
"
Regular Play
\n",
"
909
\n",
"
Turkey
\n",
"
NaN
\n",
"
NaN
\n",
"
['46c6901e-3b12-495a-b68a-19ca15798ed0']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Turkey
\n",
"
Italy
\n",
"
Half Start
\n",
"
Half Start
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
130673
\n",
"
2003
\n",
"
5c2a7c70-becf-4520-856d-d80b55367c75
\n",
"
2004
\n",
"
2
\n",
"
00:00:00.000
\n",
"
45
\n",
"
0
\n",
"
110
\n",
"
0.0
\n",
"
18
\n",
"
Half Start
\n",
"
909
\n",
"
Turkey
\n",
"
3
\n",
"
From Free Kick
\n",
"
914
\n",
"
Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
['e767b1ab-b5c8-4ac4-87c9-d7a884399777']
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
nan
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
3788741
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
2021-06-11
\n",
"
21:00:00.000
\n",
"
0
\n",
"
3
\n",
"
available
\n",
"
available
\n",
"
2021-06-12T12:49:02.070
\n",
"
2021-09-22T16:38:05.059090
\n",
"
1
\n",
"
55
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
43
\n",
"
2020
\n",
"
909
\n",
"
Turkey
\n",
"
male
\n",
"
Group A
\n",
"
233
\n",
"
Turkey
\n",
"
[{'id': 701, 'name': 'Şenol Güneş', 'nickname'...
\n",
"
914
\n",
"
Italy
\n",
"
male
\n",
"
Group A
\n",
"
112
\n",
"
Italy
\n",
"
[{'id': 2997, 'name': 'Roberto Mancini', 'nick...
\n",
"
1.1.0
\n",
"
2
\n",
"
2
\n",
"
10
\n",
"
Group Stage
\n",
"
381
\n",
"
Stadio Olimpico (Roma)
\n",
"
112
\n",
"
Italy
\n",
"
293
\n",
"
Danny Desmond Makkelie
\n",
"
160
\n",
"
Netherlands
\n",
"
55
\n",
"
43
\n",
"
Europe
\n",
"
UEFA Euro
\n",
"
male
\n",
"
False
\n",
"
True
\n",
"
2020
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T13:54:37.507376
\n",
"
2021-11-11T14:00:16.105809
\n",
"
2021-06-11 Turkey 0 vs. 3 Italy
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Italy
\n",
"
Turkey
\n",
"
Half Start
\n",
"
Half Start
\n",
"
Turkey
\n",
"
Turkey
\n",
"
1
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" level_0 id index period \\\n",
"128670 0 19edeac2-e63f-4795-8a8b-17a6e9fdb6e3 1 1 \n",
"128671 1 89072e2e-b64f-4099-846b-b22cf000f9c7 2 1 \n",
"128672 2 46c6901e-3b12-495a-b68a-19ca15798ed0 3 1 \n",
"128673 3 9e5b0646-91cc-49a1-bf88-39bde773b949 4 1 \n",
"130673 2003 5c2a7c70-becf-4520-856d-d80b55367c75 2004 2 \n",
"\n",
" timestamp minute second possession duration type_id \\\n",
"128670 00:00:00.000 0 0 1 0.0 35 \n",
"128671 00:00:00.000 0 0 1 0.0 35 \n",
"128672 00:00:00.000 0 0 1 0.0 18 \n",
"128673 00:00:00.000 0 0 1 0.0 18 \n",
"130673 00:00:00.000 45 0 110 0.0 18 \n",
"\n",
" type_name possession_team_id possession_team_name play_pattern_id \\\n",
"128670 Starting XI 909 Turkey 1 \n",
"128671 Starting XI 909 Turkey 1 \n",
"128672 Half Start 909 Turkey 1 \n",
"128673 Half Start 909 Turkey 1 \n",
"130673 Half Start 909 Turkey 3 \n",
"\n",
" play_pattern_name team_id team_name tactics_formation \\\n",
"128670 Regular Play 909 Turkey 4141.0 \n",
"128671 Regular Play 914 Italy 433.0 \n",
"128672 Regular Play 914 Italy NaN \n",
"128673 Regular Play 909 Turkey NaN \n",
"130673 From Free Kick 914 Italy NaN \n",
"\n",
" tactics_lineup \\\n",
"128670 [{'player': {'id': 30357, 'name': 'Uğurcan Çak... \n",
"128671 [{'player': {'id': 7036, 'name': 'Gianluigi Do... \n",
"128672 NaN \n",
"128673 NaN \n",
"130673 NaN \n",
"\n",
" related_events location player_id \\\n",
"128670 NaN nan NaN \n",
"128671 NaN nan NaN \n",
"128672 ['9e5b0646-91cc-49a1-bf88-39bde773b949'] nan NaN \n",
"128673 ['46c6901e-3b12-495a-b68a-19ca15798ed0'] nan NaN \n",
"130673 ['e767b1ab-b5c8-4ac4-87c9-d7a884399777'] nan NaN \n",
"\n",
" player_name position_id position_name pass_recipient_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_recipient_name pass_length pass_angle pass_height_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_height_name pass_end_location pass_body_part_id \\\n",
"128670 NaN nan NaN \n",
"128671 NaN nan NaN \n",
"128672 NaN nan NaN \n",
"128673 NaN nan NaN \n",
"130673 NaN nan NaN \n",
"\n",
" pass_body_part_name pass_type_id pass_type_name carry_end_location \\\n",
"128670 NaN NaN NaN nan \n",
"128671 NaN NaN NaN nan \n",
"128672 NaN NaN NaN nan \n",
"128673 NaN NaN NaN nan \n",
"130673 NaN NaN NaN nan \n",
"\n",
" under_pressure duel_type_id duel_type_name pass_aerial_won \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" counterpress duel_outcome_id duel_outcome_name dribble_outcome_id \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" dribble_outcome_name pass_outcome_id pass_outcome_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" ball_receipt_outcome_id ball_receipt_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" interception_outcome_id interception_outcome_name shot_statsbomb_xg \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_end_location shot_outcome_id shot_outcome_name shot_type_id \\\n",
"128670 nan NaN NaN NaN \n",
"128671 nan NaN NaN NaN \n",
"128672 nan NaN NaN NaN \n",
"128673 nan NaN NaN NaN \n",
"130673 nan NaN NaN NaN \n",
"\n",
" shot_type_name shot_body_part_id shot_body_part_name \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_technique_id shot_technique_name shot_freeze_frame \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_end_location goalkeeper_type_id goalkeeper_type_name \\\n",
"128670 nan NaN NaN \n",
"128671 nan NaN NaN \n",
"128672 nan NaN NaN \n",
"128673 nan NaN NaN \n",
"130673 nan NaN NaN \n",
"\n",
" goalkeeper_position_id goalkeeper_position_name out pass_outswinging \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_technique_id pass_technique_name clearance_head \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" clearance_body_part_id clearance_body_part_name pass_switch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" off_camera pass_cross clearance_left_foot dribble_overrun \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" dribble_nutmeg clearance_right_foot pass_no_touch \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_advantage foul_won_advantage pass_assisted_shot_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" pass_shot_assist shot_key_pass_id shot_first_time clearance_other \\\n",
"128670 NaN NaN NaN NaN \n",
"128671 NaN NaN NaN NaN \n",
"128672 NaN NaN NaN NaN \n",
"128673 NaN NaN NaN NaN \n",
"130673 NaN NaN NaN NaN \n",
"\n",
" pass_miscommunication clearance_aerial_won pass_through_ball \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" ball_recovery_recovery_failure goalkeeper_outcome_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_outcome_name goalkeeper_body_part_id \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_body_part_name shot_aerial_won foul_committed_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_card_name foul_committed_offensive foul_won_defensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" substitution_outcome_id substitution_outcome_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" substitution_replacement_id substitution_replacement_name \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" 50_50_outcome_id 50_50_outcome_name pass_goal_assist \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_technique_id goalkeeper_technique_name pass_cut_back \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" miscontrol_aerial_won pass_straight foul_committed_type_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_type_name match_id pass_inswinging pass_deflected \\\n",
"128670 NaN 3788741 NaN NaN \n",
"128671 NaN 3788741 NaN NaN \n",
"128672 NaN 3788741 NaN NaN \n",
"128673 NaN 3788741 NaN NaN \n",
"130673 NaN 3788741 NaN NaN \n",
"\n",
" injury_stoppage_in_chain shot_one_on_one bad_behaviour_card_id \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" bad_behaviour_card_name shot_deflected block_deflection \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" foul_committed_penalty foul_won_penalty block_save_block \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_punched_out player_off_permanent shot_saved_off_target \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_shot_saved_off_target shot_saved_to_post \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_shot_saved_to_post shot_open_goal \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_penalty_saved_to_post dribble_no_touch block_offensive \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_follows_dribble ball_recovery_offensive shot_redirect \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" goalkeeper_lost_in_play goalkeeper_success_in_play match_date \\\n",
"128670 NaN NaN 2021-06-11 \n",
"128671 NaN NaN 2021-06-11 \n",
"128672 NaN NaN 2021-06-11 \n",
"128673 NaN NaN 2021-06-11 \n",
"130673 NaN NaN 2021-06-11 \n",
"\n",
" kick_off home_score away_score match_status match_status_360 \\\n",
"128670 21:00:00.000 0 3 available available \n",
"128671 21:00:00.000 0 3 available available \n",
"128672 21:00:00.000 0 3 available available \n",
"128673 21:00:00.000 0 3 available available \n",
"130673 21:00:00.000 0 3 available available \n",
"\n",
" last_updated last_updated_360 match_week \\\n",
"128670 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128671 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128672 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"128673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"130673 2021-06-12T12:49:02.070 2021-09-22T16:38:05.059090 1 \n",
"\n",
" competition_competition_id competition_country_name \\\n",
"128670 55 Europe \n",
"128671 55 Europe \n",
"128672 55 Europe \n",
"128673 55 Europe \n",
"130673 55 Europe \n",
"\n",
" competition_competition_name season_season_id season_season_name \\\n",
"128670 UEFA Euro 43 2020 \n",
"128671 UEFA Euro 43 2020 \n",
"128672 UEFA Euro 43 2020 \n",
"128673 UEFA Euro 43 2020 \n",
"130673 UEFA Euro 43 2020 \n",
"\n",
" home_team_home_team_id home_team_home_team_name \\\n",
"128670 909 Turkey \n",
"128671 909 Turkey \n",
"128672 909 Turkey \n",
"128673 909 Turkey \n",
"130673 909 Turkey \n",
"\n",
" home_team_home_team_gender home_team_home_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"\n",
" home_team_country_id home_team_country_name \\\n",
"128670 233 Turkey \n",
"128671 233 Turkey \n",
"128672 233 Turkey \n",
"128673 233 Turkey \n",
"130673 233 Turkey \n",
"\n",
" home_team_managers \\\n",
"128670 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128671 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128672 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"128673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"130673 [{'id': 701, 'name': 'Şenol Güneş', 'nickname'... \n",
"\n",
" away_team_away_team_id away_team_away_team_name \\\n",
"128670 914 Italy \n",
"128671 914 Italy \n",
"128672 914 Italy \n",
"128673 914 Italy \n",
"130673 914 Italy \n",
"\n",
" away_team_away_team_gender away_team_away_team_group \\\n",
"128670 male Group A \n",
"128671 male Group A \n",
"128672 male Group A \n",
"128673 male Group A \n",
"130673 male Group A \n",
"\n",
" away_team_country_id away_team_country_name \\\n",
"128670 112 Italy \n",
"128671 112 Italy \n",
"128672 112 Italy \n",
"128673 112 Italy \n",
"130673 112 Italy \n",
"\n",
" away_team_managers \\\n",
"128670 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128671 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128672 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"128673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"130673 [{'id': 2997, 'name': 'Roberto Mancini', 'nick... \n",
"\n",
" metadata_data_version metadata_shot_fidelity_version \\\n",
"128670 1.1.0 2 \n",
"128671 1.1.0 2 \n",
"128672 1.1.0 2 \n",
"128673 1.1.0 2 \n",
"130673 1.1.0 2 \n",
"\n",
" metadata_xy_fidelity_version competition_stage_id \\\n",
"128670 2 10 \n",
"128671 2 10 \n",
"128672 2 10 \n",
"128673 2 10 \n",
"130673 2 10 \n",
"\n",
" competition_stage_name stadium_id stadium_name \\\n",
"128670 Group Stage 381 Stadio Olimpico (Roma) \n",
"128671 Group Stage 381 Stadio Olimpico (Roma) \n",
"128672 Group Stage 381 Stadio Olimpico (Roma) \n",
"128673 Group Stage 381 Stadio Olimpico (Roma) \n",
"130673 Group Stage 381 Stadio Olimpico (Roma) \n",
"\n",
" stadium_country_id stadium_country_name referee_id \\\n",
"128670 112 Italy 293 \n",
"128671 112 Italy 293 \n",
"128672 112 Italy 293 \n",
"128673 112 Italy 293 \n",
"130673 112 Italy 293 \n",
"\n",
" referee_name referee_country_id referee_country_name \\\n",
"128670 Danny Desmond Makkelie 160 Netherlands \n",
"128671 Danny Desmond Makkelie 160 Netherlands \n",
"128672 Danny Desmond Makkelie 160 Netherlands \n",
"128673 Danny Desmond Makkelie 160 Netherlands \n",
"130673 Danny Desmond Makkelie 160 Netherlands \n",
"\n",
" competition_id season_id country_name competition_name \\\n",
"128670 55 43 Europe UEFA Euro \n",
"128671 55 43 Europe UEFA Euro \n",
"128672 55 43 Europe UEFA Euro \n",
"128673 55 43 Europe UEFA Euro \n",
"130673 55 43 Europe UEFA Euro \n",
"\n",
" competition_gender competition_youth competition_international \\\n",
"128670 male False True \n",
"128671 male False True \n",
"128672 male False True \n",
"128673 male False True \n",
"130673 male False True \n",
"\n",
" season_name match_updated match_updated_360 \\\n",
"128670 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128671 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128672 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"128673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"130673 2020 2021-11-11T14:00:16.105809 2021-11-11T13:54:37.507376 \n",
"\n",
" match_available_360 match_available \\\n",
"128670 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128671 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128672 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"128673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"130673 2021-11-11T13:54:37.507376 2021-11-11T14:00:16.105809 \n",
"\n",
" Full_Fixture_Date location_x location_y \\\n",
"128670 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128671 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128672 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"128673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"130673 2021-06-11 Turkey 0 vs. 3 Italy NaN NaN \n",
"\n",
" pass_end_location_x pass_end_location_y carry_end_location_x \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" carry_end_location_y shot_end_location_x shot_end_location_y \\\n",
"128670 NaN NaN NaN \n",
"128671 NaN NaN NaN \n",
"128672 NaN NaN NaN \n",
"128673 NaN NaN NaN \n",
"130673 NaN NaN NaN \n",
"\n",
" shot_end_location_z goalkeeper_end_location_x \\\n",
"128670 NaN NaN \n",
"128671 NaN NaN \n",
"128672 NaN NaN \n",
"128673 NaN NaN \n",
"130673 NaN NaN \n",
"\n",
" goalkeeper_end_location_y Team Opponent next_event \\\n",
"128670 NaN Turkey Italy Starting XI \n",
"128671 NaN Italy Turkey Half Start \n",
"128672 NaN Italy Turkey Half Start \n",
"128673 NaN Turkey Italy Half Start \n",
"130673 NaN Italy Turkey Half Start \n",
"\n",
" previous_event next_team_possession previous_team_possession \\\n",
"128670 NaN Turkey NaN \n",
"128671 Starting XI Turkey Turkey \n",
"128672 Starting XI Turkey Turkey \n",
"128673 Half Start Turkey Turkey \n",
"130673 Half Start Turkey Turkey \n",
"\n",
" possession_retained endloc_x endloc_y dist1 dist2 diffdist \\\n",
"128670 1 NaN NaN NaN NaN NaN \n",
"128671 1 NaN NaN NaN NaN NaN \n",
"128672 1 NaN NaN NaN NaN NaN \n",
"128673 1 NaN NaN NaN NaN NaN \n",
"130673 1 NaN NaN NaN NaN NaN \n",
"\n",
" Passes Successful Passes Short Passes Successful Short Passes \\\n",
"128670 0 0 0 0 \n",
"128671 0 0 0 0 \n",
"128672 0 0 0 0 \n",
"128673 0 0 0 0 \n",
"130673 0 0 0 0 \n",
"\n",
" Medium Passes Successful Medium Passes Long Passes \\\n",
"128670 0 0 0 \n",
"128671 0 0 0 \n",
"128672 0 0 0 \n",
"128673 0 0 0 \n",
"130673 0 0 0 \n",
"\n",
" Successful Long Passes Final Third Passes \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Final Third Passes Penalty Area Passes \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Penalty Area Passes Under Pressure Passes \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Under Pressure Passes Throughballs \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Throughballs Switches Successful Switches Crosses \\\n",
"128670 0 0 0 0 \n",
"128671 0 0 0 0 \n",
"128672 0 0 0 0 \n",
"128673 0 0 0 0 \n",
"130673 0 0 0 0 \n",
"\n",
" Successful Crosses Penalty Area Crosses \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Penalty Area Crosses Progressive Passes \\\n",
"128670 0 0 \n",
"128671 0 0 \n",
"128672 0 0 \n",
"128673 0 0 \n",
"130673 0 0 \n",
"\n",
" Successful Progressive Passes Pass Progressive Distance Carries \\\n",
"128670 0 0.0 0 \n",
"128671 0 0.0 0 \n",
"128672 0 0.0 0 \n",
"128673 0 0.0 0 \n",
"130673 0 0.0 0 \n",
"\n",
" Final Third Carries Progressive Carries Carry Distance \\\n",
"128670 0 0 0.0 \n",
"128671 0 0 0.0 \n",
"128672 0 0 0.0 \n",
"128673 0 0 0.0 \n",
"130673 0 0 0.0 \n",
"\n",
" Carry Progressive Distance \n",
"128670 0.0 \n",
"128671 0.0 \n",
"128672 0.0 \n",
"128673 0.0 \n",
"130673 0.0 "
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create in-possession metrics\n",
"\n",
"## Define masks\n",
"pass_mask = df_sb_events['type_name'] == 'Pass'\n",
"success_mask = df_sb_events.pass_outcome_name.isna()\n",
"openplay_mask = df_sb_events['pass_type_name'].isna()\n",
"shortpass_mask = (df_sb_events.pass_length >= 5) & (df_sb_events.pass_length < 15)\n",
"mediumpass_mask = (df_sb_events.pass_length >= 15) & (df_sb_events.pass_length < 30)\n",
"longpass_mask = (df_sb_events.pass_length >= 30)\n",
"finalthird_mask = (df_sb_events.endloc_x > 80) & (df_sb_events.location_x <= 80)\n",
"penaltyarea_mask = (df_sb_events.endloc_x > 102) & (np.abs(df_sb_events.endloc_y - 40) < 22)\n",
"pressure_mask = df_sb_events.under_pressure==True\n",
"throughball_mask = df_sb_events.pass_through_ball == True \n",
"switch_mask = df_sb_events.pass_switch == True \n",
"cross_mask = df_sb_events.pass_cross == True\n",
"dist_mask = (df_sb_events['dist1'] - df_sb_events['dist2'])/df_sb_events['dist1'] > 0.25\n",
"box_mask = ~(df_sb_events.location_x > 102) & (np.abs(df_sb_events.location_y - 40) < 22)\n",
"prog_mask = dist_mask | (box_mask & penaltyarea_mask)\n",
"carry_mask = df_sb_events.type_name == 'Carry'\n",
"\n",
"\n",
"## Apply defined _masks\n",
"\n",
"### Passes\n",
"df_sb_events['Passes'] = np.where(pass_mask, 1, 0)\n",
"df_sb_events['Successful Passes'] = np.where(pass_mask & success_mask, 1, 0)\n",
"df_sb_events['Short Passes'] = np.where(pass_mask & shortpass_mask, 1, 0)\n",
"df_sb_events['Successful Short Passes'] = np.where((df_sb_events['Short Passes']==1) & success_mask, 1, 0)\n",
"df_sb_events['Medium Passes'] = np.where(pass_mask & mediumpass_mask, 1, 0)\n",
"df_sb_events['Successful Medium Passes'] = np.where((df_sb_events['Medium Passes']==1) & success_mask, 1, 0)\n",
"df_sb_events['Long Passes'] = np.where(pass_mask & longpass_mask, 1, 0)\n",
"df_sb_events['Successful Long Passes'] = np.where((df_sb_events['Long Passes']==1) & success_mask, 1, 0)\n",
"df_sb_events['Final Third Passes'] = np.where(pass_mask & finalthird_mask & openplay_mask, 1, 0)\n",
"df_sb_events['Successful Final Third Passes'] = np.where((df_sb_events['Final Third Passes']==1) & success_mask, 1, 0)\n",
"df_sb_events['Penalty Area Passes'] = np.where(pass_mask & penaltyarea_mask & openplay_mask, 1, 0)\n",
"df_sb_events['Successful Penalty Area Passes'] = np.where((df_sb_events['Penalty Area Passes']==1) & success_mask, 1, 0)\n",
"df_sb_events['Under Pressure Passes'] = np.where(pass_mask & pressure_mask, 1, 0)\n",
"df_sb_events['Successful Under Pressure Passes'] = np.where(pass_mask & pressure_mask & success_mask, 1, 0)\n",
"df_sb_events['Throughballs'] = np.where(throughball_mask, 1, 0)\n",
"df_sb_events['Successful Throughballs'] = np.where(throughball_mask & success_mask, 1, 0)\n",
"df_sb_events['Switches'] = np.where(switch_mask, 1, 0)\n",
"df_sb_events['Successful Switches'] = np.where(switch_mask & success_mask, 1, 0)\n",
"df_sb_events['Crosses'] = np.where(cross_mask, 1, 0)\n",
"df_sb_events['Successful Crosses'] = np.where(cross_mask & success_mask, 1, 0)\n",
"df_sb_events['Penalty Area Crosses'] = np.where(cross_mask & penaltyarea_mask & openplay_mask, 1, 0)\n",
"df_sb_events['Successful Penalty Area Crosses'] = np.where(cross_mask & penaltyarea_mask & openplay_mask & success_mask,\n",
" 1,0)\n",
"### Progressive Passes\n",
"df_sb_events['Progressive Passes'] = np.where(pass_mask & prog_mask, 1, 0)\n",
"df_sb_events['Successful Progressive Passes'] = np.where(pass_mask & prog_mask & success_mask, 1, 0)\n",
"df_sb_events['Pass Progressive Distance'] = np.where(pass_mask & (df_sb_events.diffdist > 0), df_sb_events.diffdist, 0)\n",
"\n",
"### Carries\n",
"df_sb_events['Carries'] = np.where(carry_mask, 1, 0)\n",
"df_sb_events['Final Third Carries'] = np.where(carry_mask & finalthird_mask, 1, 0)\n",
"df_sb_events['Progressive Carries'] = np.where(carry_mask & prog_mask, 1, 0)\n",
"df_sb_events['Carry Distance'] = np.where(carry_mask, np.sqrt((df_sb_events.location_x - df_sb_events.endloc_x)**2 + (df_sb_events.location_y -df_sb_events.endloc_y)**2),0)\n",
"df_sb_events['Carry Progressive Distance'] = np.where(carry_mask & (df_sb_events.diffdist > 0), df_sb_events.diffdist, 0)\n",
"\n",
"\n",
"## Display DataFrame\n",
"df_sb_events.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that the in-possession stats for passing and dribbling have been created, the next stage is to aggregate this stats."
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"