Files
fantabeto/6_neural_network_training_and_prediction.ipynb
T
Giuseppe Musicco 1492328958 Code updated for Serie A 2023/2024
- Reorganization of data folders
- Code adapted for the new Serie A season, also considering only a small number of league games has been played
- Stats from other leagues are considered for players at their first Serie A season (rookies), for now without any adaptation based on league difficulty
- Minor fixes
2023-09-09 19:31:52 +02:00

8276 lines
610 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "4a867836",
"metadata": {},
"source": [
"Bayesian Neural Network model traning and prediction data generation."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "210da263",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.neural_network import MLPRegressor\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.metrics import r2_score\n",
"\n",
"import pickle"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "edbf3b27",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import tensorflow as tf\n",
"from tensorflow import keras\n",
"from tensorflow.keras import layers\n",
"import tensorflow_probability as tfp\n",
"\n",
"tfk = tf.keras\n",
"tf.keras.backend.set_floatx(\"float32\")\n",
"import tensorflow_probability as tfp\n",
"tfd = tfp.distributions\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.ensemble import IsolationForest\n",
"\n",
"from scipy.stats import norm"
]
},
{
"cell_type": "markdown",
"id": "9dadf6ec",
"metadata": {},
"source": [
"Load the training databases, generated in player_match_database_creation"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "fa098fa4",
"metadata": {},
"outputs": [],
"source": [
"db1 = pd.read_excel('mid_outputs/database_entries.xlsx', index_col = 0) \n",
"db2 = pd.read_excel('mid_outputs/season2021/database_entries.xlsx', index_col = 0) \n",
"db3 = pd.read_excel('mid_outputs/season2122/database_entries.xlsx', index_col = 0) \n",
"db4 = pd.read_excel('mid_outputs/season2223/database_entries.xlsx', index_col = 0) "
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "f71fa9a4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>matchday</th>\n",
" <th>player</th>\n",
" <th>team</th>\n",
" <th>oppteam</th>\n",
" <th>home</th>\n",
" <th>vote</th>\n",
" <th>goals</th>\n",
" <th>assists</th>\n",
" <th>cards_malus</th>\n",
" <th>fantavote</th>\n",
" <th>...</th>\n",
" <th>miscontrols</th>\n",
" <th>dispossessed</th>\n",
" <th>fouls</th>\n",
" <th>fouled</th>\n",
" <th>aerials_won</th>\n",
" <th>aerials_lost</th>\n",
" <th>carries</th>\n",
" <th>progressive_carries</th>\n",
" <th>carries_into_final_third</th>\n",
" <th>carries_into_penalty_area</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>Zappacosta</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>6.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>6.5</td>\n",
" <td>...</td>\n",
" <td>0.026316</td>\n",
" <td>0.015789</td>\n",
" <td>0.010526</td>\n",
" <td>0.021053</td>\n",
" <td>0.005263</td>\n",
" <td>0.021053</td>\n",
" <td>0.394737</td>\n",
" <td>0.047368</td>\n",
" <td>0.026316</td>\n",
" <td>0.015789</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>Djimsiti</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>6.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>6.0</td>\n",
" <td>...</td>\n",
" <td>0.007874</td>\n",
" <td>0.000000</td>\n",
" <td>0.007874</td>\n",
" <td>0.000000</td>\n",
" <td>0.019685</td>\n",
" <td>0.027559</td>\n",
" <td>0.350394</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>Kolasinac</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>6.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>6.5</td>\n",
" <td>...</td>\n",
" <td>0.003717</td>\n",
" <td>0.003717</td>\n",
" <td>0.000000</td>\n",
" <td>0.011152</td>\n",
" <td>0.011152</td>\n",
" <td>0.018587</td>\n",
" <td>0.457249</td>\n",
" <td>0.022305</td>\n",
" <td>0.033457</td>\n",
" <td>0.003717</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>Zortea</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>7.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.015625</td>\n",
" <td>0.015625</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.015625</td>\n",
" <td>0.515625</td>\n",
" <td>0.062500</td>\n",
" <td>0.046875</td>\n",
" <td>0.015625</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>Ruggeri</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>6.5</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>7.5</td>\n",
" <td>...</td>\n",
" <td>0.012295</td>\n",
" <td>0.004098</td>\n",
" <td>0.016393</td>\n",
" <td>0.000000</td>\n",
" <td>0.004098</td>\n",
" <td>0.024590</td>\n",
" <td>0.434426</td>\n",
" <td>0.016393</td>\n",
" <td>0.016393</td>\n",
" <td>0.004098</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29789</th>\n",
" <td>38</td>\n",
" <td>Miguel Veloso</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>5.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>0.006019</td>\n",
" <td>0.006019</td>\n",
" <td>0.017197</td>\n",
" <td>0.006879</td>\n",
" <td>0.012038</td>\n",
" <td>0.012038</td>\n",
" <td>0.265692</td>\n",
" <td>0.014617</td>\n",
" <td>0.011178</td>\n",
" <td>0.000860</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29790</th>\n",
" <td>38</td>\n",
" <td>Tameze</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>5.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>0.012867</td>\n",
" <td>0.011217</td>\n",
" <td>0.010558</td>\n",
" <td>0.010228</td>\n",
" <td>0.008908</td>\n",
" <td>0.010228</td>\n",
" <td>0.235236</td>\n",
" <td>0.010558</td>\n",
" <td>0.011217</td>\n",
" <td>0.001320</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29791</th>\n",
" <td>38</td>\n",
" <td>Sulemana I.</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>6.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.5</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>0.015361</td>\n",
" <td>0.013825</td>\n",
" <td>0.016897</td>\n",
" <td>0.004608</td>\n",
" <td>0.015361</td>\n",
" <td>0.018433</td>\n",
" <td>0.201229</td>\n",
" <td>0.006144</td>\n",
" <td>0.010753</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29792</th>\n",
" <td>38</td>\n",
" <td>Djuric</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>5.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>0.019034</td>\n",
" <td>0.010981</td>\n",
" <td>0.017570</td>\n",
" <td>0.021230</td>\n",
" <td>0.144217</td>\n",
" <td>0.041728</td>\n",
" <td>0.191801</td>\n",
" <td>0.001464</td>\n",
" <td>0.003660</td>\n",
" <td>0.002196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29793</th>\n",
" <td>38</td>\n",
" <td>Ngonge</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>5.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>0.030872</td>\n",
" <td>0.016107</td>\n",
" <td>0.017450</td>\n",
" <td>0.014765</td>\n",
" <td>0.022819</td>\n",
" <td>0.046980</td>\n",
" <td>0.242953</td>\n",
" <td>0.024161</td>\n",
" <td>0.014765</td>\n",
" <td>0.012081</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>29794 rows × 122 columns</p>\n",
"</div>"
],
"text/plain": [
" matchday player team oppteam home vote goals \\\n",
"0 1 Zappacosta Atalanta Sassuolo 0 6.5 0 \n",
"1 1 Djimsiti Atalanta Sassuolo 0 6.0 0 \n",
"2 1 Kolasinac Atalanta Sassuolo 0 6.5 0 \n",
"3 1 Zortea Atalanta Sassuolo 0 7.0 1 \n",
"4 1 Ruggeri Atalanta Sassuolo 0 6.5 0 \n",
"... ... ... ... ... ... ... ... \n",
"29789 38 Miguel Veloso Verona Milan 0 5.5 0 \n",
"29790 38 Tameze Verona Milan 0 5.5 0 \n",
"29791 38 Sulemana I. Verona Milan 0 6.0 0 \n",
"29792 38 Djuric Verona Milan 0 5.5 0 \n",
"29793 38 Ngonge Verona Milan 0 5.5 0 \n",
"\n",
" assists cards_malus fantavote ... miscontrols dispossessed \\\n",
"0 0 0.0 6.5 ... 0.026316 0.015789 \n",
"1 0 0.0 6.0 ... 0.007874 0.000000 \n",
"2 0 0.0 6.5 ... 0.003717 0.003717 \n",
"3 0 0.0 10.0 ... 0.000000 0.015625 \n",
"4 1 0.0 7.5 ... 0.012295 0.004098 \n",
"... ... ... ... ... ... ... \n",
"29789 0 0.0 5.5 ... 0.006019 0.006019 \n",
"29790 0 0.0 5.5 ... 0.012867 0.011217 \n",
"29791 0 0.5 5.5 ... 0.015361 0.013825 \n",
"29792 0 0.0 5.5 ... 0.019034 0.010981 \n",
"29793 0 0.0 5.5 ... 0.030872 0.016107 \n",
"\n",
" fouls fouled aerials_won aerials_lost carries \\\n",
"0 0.010526 0.021053 0.005263 0.021053 0.394737 \n",
"1 0.007874 0.000000 0.019685 0.027559 0.350394 \n",
"2 0.000000 0.011152 0.011152 0.018587 0.457249 \n",
"3 0.015625 0.000000 0.000000 0.015625 0.515625 \n",
"4 0.016393 0.000000 0.004098 0.024590 0.434426 \n",
"... ... ... ... ... ... \n",
"29789 0.017197 0.006879 0.012038 0.012038 0.265692 \n",
"29790 0.010558 0.010228 0.008908 0.010228 0.235236 \n",
"29791 0.016897 0.004608 0.015361 0.018433 0.201229 \n",
"29792 0.017570 0.021230 0.144217 0.041728 0.191801 \n",
"29793 0.017450 0.014765 0.022819 0.046980 0.242953 \n",
"\n",
" progressive_carries carries_into_final_third \\\n",
"0 0.047368 0.026316 \n",
"1 0.000000 0.000000 \n",
"2 0.022305 0.033457 \n",
"3 0.062500 0.046875 \n",
"4 0.016393 0.016393 \n",
"... ... ... \n",
"29789 0.014617 0.011178 \n",
"29790 0.010558 0.011217 \n",
"29791 0.006144 0.010753 \n",
"29792 0.001464 0.003660 \n",
"29793 0.024161 0.014765 \n",
"\n",
" carries_into_penalty_area \n",
"0 0.015789 \n",
"1 0.000000 \n",
"2 0.003717 \n",
"3 0.015625 \n",
"4 0.004098 \n",
"... ... \n",
"29789 0.000860 \n",
"29790 0.001320 \n",
"29791 0.000000 \n",
"29792 0.002196 \n",
"29793 0.012081 \n",
"\n",
"[29794 rows x 122 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"db = pd.concat([db1, db2, db3, db4], ignore_index = True) \n",
"\n",
"db"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "1d024554",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>matchday</th>\n",
" <th>player</th>\n",
" <th>team</th>\n",
" <th>oppteam</th>\n",
" <th>home</th>\n",
" <th>vote</th>\n",
" <th>goals</th>\n",
" <th>assists</th>\n",
" <th>cards_malus</th>\n",
" <th>fantavote</th>\n",
" <th>...</th>\n",
" <th>gk_psxg</th>\n",
" <th>gk_psnpxg_per_shot_on_target_against</th>\n",
" <th>gk_psxg_net</th>\n",
" <th>gk_passes_completed_launched</th>\n",
" <th>gk_passes_launched</th>\n",
" <th>gk_passes</th>\n",
" <th>gk_passes_throws</th>\n",
" <th>gk_goal_kicks</th>\n",
" <th>gk_crosses</th>\n",
" <th>gk_crosses_stopped</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>Musso</td>\n",
" <td>Atalanta</td>\n",
" <td>Sassuolo</td>\n",
" <td>0</td>\n",
" <td>6.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>6.5</td>\n",
" <td>...</td>\n",
" <td>2.100000</td>\n",
" <td>0.210000</td>\n",
" <td>0.100000</td>\n",
" <td>11.000000</td>\n",
" <td>34.000000</td>\n",
" <td>88.000000</td>\n",
" <td>18.000000</td>\n",
" <td>18.000000</td>\n",
" <td>28.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>Skorupski</td>\n",
" <td>Bologna</td>\n",
" <td>Milan</td>\n",
" <td>1</td>\n",
" <td>6.0</td>\n",
" <td>-2</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>3.000000</td>\n",
" <td>0.330000</td>\n",
" <td>-1.000000</td>\n",
" <td>11.000000</td>\n",
" <td>31.000000</td>\n",
" <td>63.000000</td>\n",
" <td>14.000000</td>\n",
" <td>19.000000</td>\n",
" <td>45.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>Radunovic</td>\n",
" <td>Cagliari</td>\n",
" <td>Torino</td>\n",
" <td>0</td>\n",
" <td>6.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>6.5</td>\n",
" <td>...</td>\n",
" <td>4.000000</td>\n",
" <td>0.340000</td>\n",
" <td>0.000000</td>\n",
" <td>16.000000</td>\n",
" <td>41.000000</td>\n",
" <td>53.000000</td>\n",
" <td>14.000000</td>\n",
" <td>28.000000</td>\n",
" <td>49.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>Caprile</td>\n",
" <td>Empoli</td>\n",
" <td>Verona</td>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" <td>-1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>0.400000</td>\n",
" <td>0.110000</td>\n",
" <td>-0.600000</td>\n",
" <td>4.000000</td>\n",
" <td>20.000000</td>\n",
" <td>37.000000</td>\n",
" <td>9.000000</td>\n",
" <td>4.000000</td>\n",
" <td>10.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>Terracciano</td>\n",
" <td>Fiorentina</td>\n",
" <td>Genoa</td>\n",
" <td>0</td>\n",
" <td>6.0</td>\n",
" <td>-1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>0.300000</td>\n",
" <td>0.130000</td>\n",
" <td>-0.700000</td>\n",
" <td>3.000000</td>\n",
" <td>5.000000</td>\n",
" <td>47.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.000000</td>\n",
" <td>11.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2344</th>\n",
" <td>38</td>\n",
" <td>Russo A.</td>\n",
" <td>Sassuolo</td>\n",
" <td>Fiorentina</td>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" <td>-3</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" <td>...</td>\n",
" <td>32.550000</td>\n",
" <td>0.325000</td>\n",
" <td>-12.116667</td>\n",
" <td>146.666667</td>\n",
" <td>365.333333</td>\n",
" <td>957.000000</td>\n",
" <td>156.166667</td>\n",
" <td>238.833333</td>\n",
" <td>391.500000</td>\n",
" <td>23.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2345</th>\n",
" <td>38</td>\n",
" <td>Zoet</td>\n",
" <td>Spezia</td>\n",
" <td>Roma</td>\n",
" <td>0</td>\n",
" <td>5.5</td>\n",
" <td>-2</td>\n",
" <td>0</td>\n",
" <td>0.5</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>10.016667</td>\n",
" <td>0.158333</td>\n",
" <td>-1.816667</td>\n",
" <td>46.000000</td>\n",
" <td>145.333333</td>\n",
" <td>254.166667</td>\n",
" <td>37.333333</td>\n",
" <td>51.833333</td>\n",
" <td>130.333333</td>\n",
" <td>5.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2346</th>\n",
" <td>38</td>\n",
" <td>Milinkovic-Savic V.</td>\n",
" <td>Torino</td>\n",
" <td>Inter</td>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" <td>-1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>35.800000</td>\n",
" <td>0.230000</td>\n",
" <td>-5.200000</td>\n",
" <td>285.000000</td>\n",
" <td>939.000000</td>\n",
" <td>1506.000000</td>\n",
" <td>185.000000</td>\n",
" <td>286.000000</td>\n",
" <td>469.000000</td>\n",
" <td>36.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2347</th>\n",
" <td>38</td>\n",
" <td>Silvestri</td>\n",
" <td>Udinese</td>\n",
" <td>Juventus</td>\n",
" <td>1</td>\n",
" <td>6.5</td>\n",
" <td>-1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5.5</td>\n",
" <td>...</td>\n",
" <td>48.700000</td>\n",
" <td>0.310000</td>\n",
" <td>2.700000</td>\n",
" <td>144.000000</td>\n",
" <td>380.000000</td>\n",
" <td>872.000000</td>\n",
" <td>142.000000</td>\n",
" <td>302.000000</td>\n",
" <td>547.000000</td>\n",
" <td>13.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2348</th>\n",
" <td>38</td>\n",
" <td>Montipo'</td>\n",
" <td>Verona</td>\n",
" <td>Milan</td>\n",
" <td>0</td>\n",
" <td>6.0</td>\n",
" <td>-3</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>49.600000</td>\n",
" <td>0.270000</td>\n",
" <td>-6.400000</td>\n",
" <td>360.000000</td>\n",
" <td>775.000000</td>\n",
" <td>905.000000</td>\n",
" <td>124.000000</td>\n",
" <td>284.000000</td>\n",
" <td>496.000000</td>\n",
" <td>26.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2349 rows × 102 columns</p>\n",
"</div>"
],
"text/plain": [
" matchday player team oppteam home vote \\\n",
"0 1 Musso Atalanta Sassuolo 0 6.5 \n",
"1 1 Skorupski Bologna Milan 1 6.0 \n",
"2 1 Radunovic Cagliari Torino 0 6.5 \n",
"3 1 Caprile Empoli Verona 1 5.0 \n",
"4 1 Terracciano Fiorentina Genoa 0 6.0 \n",
"... ... ... ... ... ... ... \n",
"2344 38 Russo A. Sassuolo Fiorentina 1 5.0 \n",
"2345 38 Zoet Spezia Roma 0 5.5 \n",
"2346 38 Milinkovic-Savic V. Torino Inter 1 5.0 \n",
"2347 38 Silvestri Udinese Juventus 1 6.5 \n",
"2348 38 Montipo' Verona Milan 0 6.0 \n",
"\n",
" goals assists cards_malus fantavote ... gk_psxg \\\n",
"0 0 0 0.0 6.5 ... 2.100000 \n",
"1 -2 0 0.0 4.0 ... 3.000000 \n",
"2 0 0 0.0 6.5 ... 4.000000 \n",
"3 -1 0 0.0 4.0 ... 0.400000 \n",
"4 -1 0 0.0 5.0 ... 0.300000 \n",
"... ... ... ... ... ... ... \n",
"2344 -3 0 0.0 2.0 ... 32.550000 \n",
"2345 -2 0 0.5 3.0 ... 10.016667 \n",
"2346 -1 0 0.0 4.0 ... 35.800000 \n",
"2347 -1 0 0.0 5.5 ... 48.700000 \n",
"2348 -3 0 0.0 3.0 ... 49.600000 \n",
"\n",
" gk_psnpxg_per_shot_on_target_against gk_psxg_net \\\n",
"0 0.210000 0.100000 \n",
"1 0.330000 -1.000000 \n",
"2 0.340000 0.000000 \n",
"3 0.110000 -0.600000 \n",
"4 0.130000 -0.700000 \n",
"... ... ... \n",
"2344 0.325000 -12.116667 \n",
"2345 0.158333 -1.816667 \n",
"2346 0.230000 -5.200000 \n",
"2347 0.310000 2.700000 \n",
"2348 0.270000 -6.400000 \n",
"\n",
" gk_passes_completed_launched gk_passes_launched gk_passes \\\n",
"0 11.000000 34.000000 88.000000 \n",
"1 11.000000 31.000000 63.000000 \n",
"2 16.000000 41.000000 53.000000 \n",
"3 4.000000 20.000000 37.000000 \n",
"4 3.000000 5.000000 47.000000 \n",
"... ... ... ... \n",
"2344 146.666667 365.333333 957.000000 \n",
"2345 46.000000 145.333333 254.166667 \n",
"2346 285.000000 939.000000 1506.000000 \n",
"2347 144.000000 380.000000 872.000000 \n",
"2348 360.000000 775.000000 905.000000 \n",
"\n",
" gk_passes_throws gk_goal_kicks gk_crosses gk_crosses_stopped \n",
"0 18.000000 18.000000 28.000000 2.000000 \n",
"1 14.000000 19.000000 45.000000 2.000000 \n",
"2 14.000000 28.000000 49.000000 2.000000 \n",
"3 9.000000 4.000000 10.000000 2.000000 \n",
"4 3.000000 4.000000 11.000000 0.000000 \n",
"... ... ... ... ... \n",
"2344 156.166667 238.833333 391.500000 23.333333 \n",
"2345 37.333333 51.833333 130.333333 5.500000 \n",
"2346 185.000000 286.000000 469.000000 36.000000 \n",
"2347 142.000000 302.000000 547.000000 13.000000 \n",
"2348 124.000000 284.000000 496.000000 26.000000 \n",
"\n",
"[2349 rows x 102 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"db_gk1 = pd.read_excel('mid_outputs/database_entries_gk.xlsx', index_col = 0) \n",
"db_gk2 = pd.read_excel('mid_outputs/season2021/database_entries_gk.xlsx', index_col = 0) \n",
"db_gk3 = pd.read_excel('mid_outputs/season2122/database_entries_gk.xlsx', index_col = 0) \n",
"db_gk4 = pd.read_excel('mid_outputs/season2223/database_entries_gk.xlsx', index_col = 0) \n",
"\n",
"db_gk = pd.concat([db_gk1, db_gk2, db_gk3, db_gk4], ignore_index = True) \n",
"\n",
"db_gk"
]
},
{
"cell_type": "markdown",
"id": "04df0936",
"metadata": {},
"source": [
"Load player stats from current season and past seasons"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "bc9dae87",
"metadata": {},
"outputs": [],
"source": [
"players_orig = pd.read_excel('mid_outputs/players_stats.xlsx', index_col = 3)\n",
"#players = pd.read_excel('mid_outputs/players_stats_rwk.xlsx', index_col = 3) # reworked stats to account for past season\n",
"\n",
"players_old = pd.read_excel('mid_outputs/season2223/players_stats.xlsx', index_col = 3)\n",
"players_old_2 = pd.read_excel('mid_outputs/season2122/players_stats.xlsx', index_col = 3)\n",
"players_old_3 = pd.read_excel('mid_outputs/season2021/players_stats.xlsx', index_col = 3)\n",
"\n",
"players = players_orig"
]
},
{
"cell_type": "markdown",
"id": "397babf2",
"metadata": {},
"source": [
"Load team data from current season and add an average Serie A team row"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "493b0495",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_11684\\661405348.py:3: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" avg_row = pd.DataFrame(index = ['Avg'], data = [team_data.mean()], columns = team_data.columns)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>team</th>\n",
" <th>team_players_used</th>\n",
" <th>team_possession</th>\n",
" <th>team_games</th>\n",
" <th>team_games_starts</th>\n",
" <th>team_minutes</th>\n",
" <th>team_goals</th>\n",
" <th>team_assists</th>\n",
" <th>team_pens_made</th>\n",
" <th>team_pens_att</th>\n",
" <th>...</th>\n",
" <th>vs_team_fouls</th>\n",
" <th>vs_team_fouled</th>\n",
" <th>vs_team_offsides</th>\n",
" <th>vs_team_pens_won</th>\n",
" <th>vs_team_pens_conceded</th>\n",
" <th>vs_team_own_goals</th>\n",
" <th>vs_team_ball_recoveries</th>\n",
" <th>vs_team_aerials_won</th>\n",
" <th>vs_team_aerials_lost</th>\n",
" <th>vs_team_aerials_won_pct</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Atalanta</th>\n",
" <td>Atalanta</td>\n",
" <td>20.00</td>\n",
" <td>51.700</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>6.00</td>\n",
" <td>6.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>28.00</td>\n",
" <td>33.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>157.00</td>\n",
" <td>44.0</td>\n",
" <td>42.0</td>\n",
" <td>51.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bologna</th>\n",
" <td>Bologna</td>\n",
" <td>20.00</td>\n",
" <td>55.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>1.0</td>\n",
" <td>...</td>\n",
" <td>32.00</td>\n",
" <td>30.00</td>\n",
" <td>7.00</td>\n",
" <td>0.00</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>157.00</td>\n",
" <td>23.0</td>\n",
" <td>29.0</td>\n",
" <td>44.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cagliari</th>\n",
" <td>Cagliari</td>\n",
" <td>19.00</td>\n",
" <td>35.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>1.00</td>\n",
" <td>1.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>27.00</td>\n",
" <td>29.00</td>\n",
" <td>4.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>165.00</td>\n",
" <td>44.0</td>\n",
" <td>37.0</td>\n",
" <td>54.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Empoli</th>\n",
" <td>Empoli</td>\n",
" <td>26.00</td>\n",
" <td>48.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>45.00</td>\n",
" <td>38.00</td>\n",
" <td>6.00</td>\n",
" <td>1.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>152.00</td>\n",
" <td>42.0</td>\n",
" <td>30.0</td>\n",
" <td>58.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fiorentina</th>\n",
" <td>Fiorentina</td>\n",
" <td>21.00</td>\n",
" <td>62.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>6.00</td>\n",
" <td>5.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>42.00</td>\n",
" <td>36.00</td>\n",
" <td>3.00</td>\n",
" <td>1.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>142.00</td>\n",
" <td>38.0</td>\n",
" <td>32.0</td>\n",
" <td>54.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Frosinone</th>\n",
" <td>Frosinone</td>\n",
" <td>21.00</td>\n",
" <td>46.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.00</td>\n",
" <td>2.00</td>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>...</td>\n",
" <td>41.00</td>\n",
" <td>31.00</td>\n",
" <td>4.00</td>\n",
" <td>0.00</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>168.00</td>\n",
" <td>46.0</td>\n",
" <td>42.0</td>\n",
" <td>52.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Genoa</th>\n",
" <td>Genoa</td>\n",
" <td>18.00</td>\n",
" <td>33.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>2.00</td>\n",
" <td>1.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>35.00</td>\n",
" <td>31.00</td>\n",
" <td>6.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>148.00</td>\n",
" <td>32.0</td>\n",
" <td>44.0</td>\n",
" <td>42.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Verona</th>\n",
" <td>Hellas Verona</td>\n",
" <td>19.00</td>\n",
" <td>44.700</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>4.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>37.00</td>\n",
" <td>47.00</td>\n",
" <td>6.00</td>\n",
" <td>1.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>138.00</td>\n",
" <td>54.0</td>\n",
" <td>71.0</td>\n",
" <td>43.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Inter</th>\n",
" <td>Inter</td>\n",
" <td>18.00</td>\n",
" <td>51.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>8.00</td>\n",
" <td>7.00</td>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>...</td>\n",
" <td>34.00</td>\n",
" <td>30.00</td>\n",
" <td>3.00</td>\n",
" <td>0.00</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>128.00</td>\n",
" <td>24.0</td>\n",
" <td>36.0</td>\n",
" <td>40.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Juventus</th>\n",
" <td>Juventus</td>\n",
" <td>21.00</td>\n",
" <td>53.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>6.00</td>\n",
" <td>4.00</td>\n",
" <td>1.00</td>\n",
" <td>2.0</td>\n",
" <td>...</td>\n",
" <td>39.00</td>\n",
" <td>36.00</td>\n",
" <td>5.00</td>\n",
" <td>0.00</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>134.00</td>\n",
" <td>22.0</td>\n",
" <td>26.0</td>\n",
" <td>45.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lazio</th>\n",
" <td>Lazio</td>\n",
" <td>19.00</td>\n",
" <td>53.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.00</td>\n",
" <td>3.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>36.00</td>\n",
" <td>31.00</td>\n",
" <td>6.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>155.00</td>\n",
" <td>39.0</td>\n",
" <td>26.0</td>\n",
" <td>60.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lecce</th>\n",
" <td>Lecce</td>\n",
" <td>18.00</td>\n",
" <td>45.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>6.00</td>\n",
" <td>5.00</td>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>...</td>\n",
" <td>47.00</td>\n",
" <td>43.00</td>\n",
" <td>4.00</td>\n",
" <td>0.00</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>150.00</td>\n",
" <td>33.0</td>\n",
" <td>46.0</td>\n",
" <td>41.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Milan</th>\n",
" <td>Milan</td>\n",
" <td>18.00</td>\n",
" <td>54.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>8.00</td>\n",
" <td>5.00</td>\n",
" <td>3.00</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>40.00</td>\n",
" <td>31.00</td>\n",
" <td>5.00</td>\n",
" <td>0.00</td>\n",
" <td>3.0</td>\n",
" <td>0.0</td>\n",
" <td>145.00</td>\n",
" <td>34.0</td>\n",
" <td>27.0</td>\n",
" <td>55.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Monza</th>\n",
" <td>Monza</td>\n",
" <td>21.00</td>\n",
" <td>55.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>2.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>26.00</td>\n",
" <td>35.00</td>\n",
" <td>6.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>144.00</td>\n",
" <td>37.0</td>\n",
" <td>27.0</td>\n",
" <td>57.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Napoli</th>\n",
" <td>Napoli</td>\n",
" <td>18.00</td>\n",
" <td>60.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>6.00</td>\n",
" <td>3.00</td>\n",
" <td>1.00</td>\n",
" <td>2.0</td>\n",
" <td>...</td>\n",
" <td>33.00</td>\n",
" <td>33.00</td>\n",
" <td>6.00</td>\n",
" <td>1.00</td>\n",
" <td>2.0</td>\n",
" <td>0.0</td>\n",
" <td>124.00</td>\n",
" <td>19.0</td>\n",
" <td>33.0</td>\n",
" <td>36.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Roma</th>\n",
" <td>Roma</td>\n",
" <td>21.00</td>\n",
" <td>58.300</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>4.00</td>\n",
" <td>3.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>41.00</td>\n",
" <td>36.00</td>\n",
" <td>2.00</td>\n",
" <td>1.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>114.00</td>\n",
" <td>45.0</td>\n",
" <td>64.0</td>\n",
" <td>41.30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Salernitana</th>\n",
" <td>Salernitana</td>\n",
" <td>21.00</td>\n",
" <td>50.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.00</td>\n",
" <td>3.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>48.00</td>\n",
" <td>34.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>151.00</td>\n",
" <td>68.0</td>\n",
" <td>37.0</td>\n",
" <td>64.80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sassuolo</th>\n",
" <td>Sassuolo</td>\n",
" <td>22.00</td>\n",
" <td>43.000</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.00</td>\n",
" <td>2.00</td>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>...</td>\n",
" <td>35.00</td>\n",
" <td>25.00</td>\n",
" <td>10.00</td>\n",
" <td>1.00</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>159.00</td>\n",
" <td>40.0</td>\n",
" <td>30.0</td>\n",
" <td>57.10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Torino</th>\n",
" <td>Torino</td>\n",
" <td>20.00</td>\n",
" <td>53.700</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>2.00</td>\n",
" <td>2.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>32.00</td>\n",
" <td>33.00</td>\n",
" <td>5.00</td>\n",
" <td>1.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>151.00</td>\n",
" <td>46.0</td>\n",
" <td>41.0</td>\n",
" <td>52.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Udinese</th>\n",
" <td>Udinese</td>\n",
" <td>18.00</td>\n",
" <td>46.700</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>1.00</td>\n",
" <td>1.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>31.00</td>\n",
" <td>41.00</td>\n",
" <td>7.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>137.00</td>\n",
" <td>38.0</td>\n",
" <td>48.0</td>\n",
" <td>44.20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Avg</th>\n",
" <td>Avg</td>\n",
" <td>19.95</td>\n",
" <td>49.995</td>\n",
" <td>3.0</td>\n",
" <td>33.0</td>\n",
" <td>270.0</td>\n",
" <td>3.85</td>\n",
" <td>2.95</td>\n",
" <td>0.45</td>\n",
" <td>0.6</td>\n",
" <td>...</td>\n",
" <td>36.45</td>\n",
" <td>34.15</td>\n",
" <td>4.95</td>\n",
" <td>0.35</td>\n",
" <td>0.6</td>\n",
" <td>0.0</td>\n",
" <td>145.95</td>\n",
" <td>38.4</td>\n",
" <td>38.4</td>\n",
" <td>49.89</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>21 rows × 303 columns</p>\n",
"</div>"
],
"text/plain": [
" team team_players_used team_possession team_games \\\n",
"Atalanta Atalanta 20.00 51.700 3.0 \n",
"Bologna Bologna 20.00 55.300 3.0 \n",
"Cagliari Cagliari 19.00 35.000 3.0 \n",
"Empoli Empoli 26.00 48.000 3.0 \n",
"Fiorentina Fiorentina 21.00 62.300 3.0 \n",
"Frosinone Frosinone 21.00 46.000 3.0 \n",
"Genoa Genoa 18.00 33.000 3.0 \n",
"Verona Hellas Verona 19.00 44.700 3.0 \n",
"Inter Inter 18.00 51.300 3.0 \n",
"Juventus Juventus 21.00 53.000 3.0 \n",
"Lazio Lazio 19.00 53.300 3.0 \n",
"Lecce Lecce 18.00 45.000 3.0 \n",
"Milan Milan 18.00 54.000 3.0 \n",
"Monza Monza 21.00 55.300 3.0 \n",
"Napoli Napoli 18.00 60.300 3.0 \n",
"Roma Roma 21.00 58.300 3.0 \n",
"Salernitana Salernitana 21.00 50.000 3.0 \n",
"Sassuolo Sassuolo 22.00 43.000 3.0 \n",
"Torino Torino 20.00 53.700 3.0 \n",
"Udinese Udinese 18.00 46.700 3.0 \n",
"Avg Avg 19.95 49.995 3.0 \n",
"\n",
" team_games_starts team_minutes team_goals team_assists \\\n",
"Atalanta 33.0 270.0 6.00 6.00 \n",
"Bologna 33.0 270.0 3.00 2.00 \n",
"Cagliari 33.0 270.0 1.00 1.00 \n",
"Empoli 33.0 270.0 0.00 0.00 \n",
"Fiorentina 33.0 270.0 6.00 5.00 \n",
"Frosinone 33.0 270.0 3.00 2.00 \n",
"Genoa 33.0 270.0 2.00 1.00 \n",
"Verona 33.0 270.0 4.00 2.00 \n",
"Inter 33.0 270.0 8.00 7.00 \n",
"Juventus 33.0 270.0 6.00 4.00 \n",
"Lazio 33.0 270.0 3.00 3.00 \n",
"Lecce 33.0 270.0 6.00 5.00 \n",
"Milan 33.0 270.0 8.00 5.00 \n",
"Monza 33.0 270.0 2.00 2.00 \n",
"Napoli 33.0 270.0 6.00 3.00 \n",
"Roma 33.0 270.0 4.00 3.00 \n",
"Salernitana 33.0 270.0 3.00 3.00 \n",
"Sassuolo 33.0 270.0 3.00 2.00 \n",
"Torino 33.0 270.0 2.00 2.00 \n",
"Udinese 33.0 270.0 1.00 1.00 \n",
"Avg 33.0 270.0 3.85 2.95 \n",
"\n",
" team_pens_made team_pens_att ... vs_team_fouls \\\n",
"Atalanta 0.00 0.0 ... 28.00 \n",
"Bologna 0.00 1.0 ... 32.00 \n",
"Cagliari 0.00 0.0 ... 27.00 \n",
"Empoli 0.00 0.0 ... 45.00 \n",
"Fiorentina 0.00 0.0 ... 42.00 \n",
"Frosinone 1.00 1.0 ... 41.00 \n",
"Genoa 0.00 0.0 ... 35.00 \n",
"Verona 0.00 0.0 ... 37.00 \n",
"Inter 1.00 1.0 ... 34.00 \n",
"Juventus 1.00 2.0 ... 39.00 \n",
"Lazio 0.00 0.0 ... 36.00 \n",
"Lecce 1.00 1.0 ... 47.00 \n",
"Milan 3.00 3.0 ... 40.00 \n",
"Monza 0.00 0.0 ... 26.00 \n",
"Napoli 1.00 2.0 ... 33.00 \n",
"Roma 0.00 0.0 ... 41.00 \n",
"Salernitana 0.00 0.0 ... 48.00 \n",
"Sassuolo 1.00 1.0 ... 35.00 \n",
"Torino 0.00 0.0 ... 32.00 \n",
"Udinese 0.00 0.0 ... 31.00 \n",
"Avg 0.45 0.6 ... 36.45 \n",
"\n",
" vs_team_fouled vs_team_offsides vs_team_pens_won \\\n",
"Atalanta 33.00 2.00 0.00 \n",
"Bologna 30.00 7.00 0.00 \n",
"Cagliari 29.00 4.00 0.00 \n",
"Empoli 38.00 6.00 1.00 \n",
"Fiorentina 36.00 3.00 1.00 \n",
"Frosinone 31.00 4.00 0.00 \n",
"Genoa 31.00 6.00 0.00 \n",
"Verona 47.00 6.00 1.00 \n",
"Inter 30.00 3.00 0.00 \n",
"Juventus 36.00 5.00 0.00 \n",
"Lazio 31.00 6.00 0.00 \n",
"Lecce 43.00 4.00 0.00 \n",
"Milan 31.00 5.00 0.00 \n",
"Monza 35.00 6.00 0.00 \n",
"Napoli 33.00 6.00 1.00 \n",
"Roma 36.00 2.00 1.00 \n",
"Salernitana 34.00 2.00 0.00 \n",
"Sassuolo 25.00 10.00 1.00 \n",
"Torino 33.00 5.00 1.00 \n",
"Udinese 41.00 7.00 0.00 \n",
"Avg 34.15 4.95 0.35 \n",
"\n",
" vs_team_pens_conceded vs_team_own_goals \\\n",
"Atalanta 0.0 0.0 \n",
"Bologna 1.0 0.0 \n",
"Cagliari 0.0 0.0 \n",
"Empoli 0.0 0.0 \n",
"Fiorentina 0.0 0.0 \n",
"Frosinone 1.0 0.0 \n",
"Genoa 0.0 0.0 \n",
"Verona 0.0 0.0 \n",
"Inter 1.0 0.0 \n",
"Juventus 2.0 0.0 \n",
"Lazio 0.0 0.0 \n",
"Lecce 1.0 0.0 \n",
"Milan 3.0 0.0 \n",
"Monza 0.0 0.0 \n",
"Napoli 2.0 0.0 \n",
"Roma 0.0 0.0 \n",
"Salernitana 0.0 0.0 \n",
"Sassuolo 1.0 0.0 \n",
"Torino 0.0 0.0 \n",
"Udinese 0.0 0.0 \n",
"Avg 0.6 0.0 \n",
"\n",
" vs_team_ball_recoveries vs_team_aerials_won \\\n",
"Atalanta 157.00 44.0 \n",
"Bologna 157.00 23.0 \n",
"Cagliari 165.00 44.0 \n",
"Empoli 152.00 42.0 \n",
"Fiorentina 142.00 38.0 \n",
"Frosinone 168.00 46.0 \n",
"Genoa 148.00 32.0 \n",
"Verona 138.00 54.0 \n",
"Inter 128.00 24.0 \n",
"Juventus 134.00 22.0 \n",
"Lazio 155.00 39.0 \n",
"Lecce 150.00 33.0 \n",
"Milan 145.00 34.0 \n",
"Monza 144.00 37.0 \n",
"Napoli 124.00 19.0 \n",
"Roma 114.00 45.0 \n",
"Salernitana 151.00 68.0 \n",
"Sassuolo 159.00 40.0 \n",
"Torino 151.00 46.0 \n",
"Udinese 137.00 38.0 \n",
"Avg 145.95 38.4 \n",
"\n",
" vs_team_aerials_lost vs_team_aerials_won_pct \n",
"Atalanta 42.0 51.20 \n",
"Bologna 29.0 44.20 \n",
"Cagliari 37.0 54.30 \n",
"Empoli 30.0 58.30 \n",
"Fiorentina 32.0 54.30 \n",
"Frosinone 42.0 52.30 \n",
"Genoa 44.0 42.10 \n",
"Verona 71.0 43.20 \n",
"Inter 36.0 40.00 \n",
"Juventus 26.0 45.80 \n",
"Lazio 26.0 60.00 \n",
"Lecce 46.0 41.80 \n",
"Milan 27.0 55.70 \n",
"Monza 27.0 57.80 \n",
"Napoli 33.0 36.50 \n",
"Roma 64.0 41.30 \n",
"Salernitana 37.0 64.80 \n",
"Sassuolo 30.0 57.10 \n",
"Torino 41.0 52.90 \n",
"Udinese 48.0 44.20 \n",
"Avg 38.4 49.89 \n",
"\n",
"[21 rows x 303 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"team_data = pd.read_excel('mid_outputs/team_data.xlsx', index_col = 0)\n",
"\n",
"avg_row = pd.DataFrame(index = ['Avg'], data = [team_data.mean()], columns = team_data.columns)\n",
"avg_row['team']['Avg'] = 'Avg'\n",
"\n",
"team_data = pd.concat([team_data, avg_row])\n",
"\n",
"team_data"
]
},
{
"cell_type": "markdown",
"id": "cc1cd13d",
"metadata": {},
"source": [
"Data processing functions copied from player_match_dataset_creation"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "32f56138",
"metadata": {},
"outputs": [],
"source": [
"features_abs = ['r',\n",
" 'games',\n",
" 'games_starts', \n",
" 'minutes',\n",
" 'shots_on_target_pct',\n",
" 'goals_per_shot',\n",
" 'goals_per_shot_on_target',\n",
" 'passes_pct',\n",
" #'dribble_tackles_pct',\n",
" #'dribbles_completed_pct',\n",
" 'aerials_won_pct',\n",
" 'team_possession',\n",
" 'team_goals_assists_per90',\n",
" 'team_goals_pens_per90',\n",
" 'team_goals_assists_pens_per90',\n",
" 'team_xg_per90',\n",
" 'team_gk_goals_against_per90',\n",
" 'team_gk_save_pct',\n",
" 'team_gk_clean_sheets_pct',\n",
" 'team_passes_pct',\n",
" 'team_passes_pct_medium',\n",
" 'team_passes_pct_long',\n",
" 'team_sca_per90',\n",
" 'team_gca_per90',\n",
" #'team_dribble_tackles_pct',\n",
" 'team_aerials_won_pct',\n",
" 'vs_team_possession',\n",
" 'vs_team_goals_per90',\n",
" 'vs_team_assists_per90',\n",
" 'vs_team_xg_per90',\n",
" 'vs_team_gk_save_pct',\n",
" 'vs_team_gk_clean_sheets_pct',\n",
" 'vs_team_gk_pct_passes_launched',\n",
" 'vs_team_gk_crosses_stopped_pct',\n",
" 'vs_team_shots_on_target_per90',\n",
" 'vs_team_passes_pct',\n",
" 'vs_team_passes_pct_short',\n",
" 'vs_team_passes_pct_medium',\n",
" 'vs_team_passes_pct_long',\n",
" 'vs_team_sca_per90',\n",
" 'vs_team_gca_per90',\n",
" #'vs_team_dribble_tackles_pct',\n",
" #'vs_team_dribbles_completed_pct',\n",
" 'vs_team_aerials_won_pct',\n",
" 'opp_team_possession',\n",
" 'opp_team_goals_assists_per90',\n",
" 'opp_team_goals_pens_per90',\n",
" 'opp_team_goals_assists_pens_per90',\n",
" 'opp_team_xg_per90',\n",
" 'opp_team_gk_goals_against_per90',\n",
" 'opp_team_gk_save_pct',\n",
" 'opp_team_gk_clean_sheets_pct',\n",
" 'opp_team_passes_pct',\n",
" 'opp_team_passes_pct_medium',\n",
" 'opp_team_passes_pct_long',\n",
" 'opp_team_sca_per90',\n",
" 'opp_team_gca_per90',\n",
" #'opp_team_dribble_tackles_pct',\n",
" 'opp_team_aerials_won_pct',\n",
" 'opp_vs_team_possession',\n",
" 'opp_vs_team_goals_per90',\n",
" 'opp_vs_team_assists_per90',\n",
" 'opp_vs_team_xg_per90',\n",
" 'opp_vs_team_gk_save_pct',\n",
" 'opp_vs_team_gk_clean_sheets_pct',\n",
" 'opp_vs_team_gk_pct_passes_launched',\n",
" 'opp_vs_team_gk_crosses_stopped_pct',\n",
" 'opp_vs_team_shots_on_target_per90',\n",
" 'opp_vs_team_passes_pct',\n",
" 'opp_vs_team_passes_pct_short',\n",
" 'opp_vs_team_passes_pct_medium',\n",
" 'opp_vs_team_passes_pct_long',\n",
" 'opp_vs_team_sca_per90',\n",
" 'opp_vs_team_gca_per90',\n",
" #'opp_vs_team_dribble_tackles_pct',\n",
" #'opp_vs_team_dribbles_completed_pct',\n",
" 'opp_vs_team_aerials_won_pct',\n",
" \n",
" 'vote_avg',\n",
" 'vote_std']\n",
"\n",
"features_rel = [\n",
" 'goals',\n",
" 'assists',\n",
" 'cards_yellow',\n",
" 'cards_red',\n",
" 'xg',\n",
" 'npxg',\n",
" 'shots_on_target',\n",
" 'passes_completed',\n",
" 'passes_into_final_third',\n",
" 'passes_into_penalty_area',\n",
" 'progressive_passes',\n",
" 'passes_live',\n",
" 'passes_dead',\n",
" 'through_balls',\n",
" 'passes_switches',\n",
" 'crosses',\n",
" 'corner_kicks',\n",
" #'dribble_tackles',\n",
" #'dribbles_vs',\n",
" #'dribbled_past',\n",
" 'blocks',\n",
" 'blocked_shots',\n",
" 'blocked_passes',\n",
" 'interceptions',\n",
" 'clearances',\n",
" 'errors',\n",
" 'touches',\n",
" 'touches_def_pen_area',\n",
" 'touches_def_3rd',\n",
" 'touches_mid_3rd',\n",
" 'touches_att_3rd',\n",
" 'touches_att_pen_area',\n",
" 'touches_live_ball',\n",
" #'dribbles_completed',\n",
" #'dribbles',\n",
" 'passes_received',\n",
" 'miscontrols',\n",
" 'dispossessed',\n",
" 'fouls',\n",
" 'fouled',\n",
" 'aerials_won',\n",
" 'aerials_lost',\n",
" 'carries',\n",
" 'progressive_carries',\n",
" 'carries_into_final_third',\n",
" 'carries_into_penalty_area']\n",
"\n",
"features_rel_gamecorr = [\n",
" 'goals',\n",
" 'assists',\n",
" 'xg',\n",
" 'npxg',\n",
" 'cards_yellow',\n",
" 'cards_red'\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "4001f3f8",
"metadata": {},
"outputs": [],
"source": [
"features_abs_gk = [\n",
" 'gk_games',\n",
" 'gk_games_starts',\n",
" 'gk_minutes',\n",
" 'gk_goals_against_per90', \n",
" 'gk_save_pct',\n",
" 'gk_clean_sheets_pct',\n",
" 'gk_psxg_net_per90',\n",
" 'gk_passes_pct_launched',\n",
" 'gk_pct_passes_launched',\n",
" 'gk_passes_length_avg',\n",
" 'gk_pct_goal_kicks_launched',\n",
" 'gk_goal_kick_length_avg',\n",
" 'gk_crosses_stopped_pct',\n",
" 'gk_def_actions_outside_pen_area_per90',\n",
" 'gk_avg_distance_def_actions',\n",
" \n",
" 'team_possession',\n",
" 'team_goals_assists_per90',\n",
" 'team_goals_pens_per90',\n",
" 'team_goals_assists_pens_per90',\n",
" 'team_xg_per90',\n",
" 'team_gk_goals_against_per90',\n",
" 'team_gk_save_pct',\n",
" 'team_gk_clean_sheets_pct',\n",
" 'team_passes_pct',\n",
" 'team_passes_pct_medium',\n",
" 'team_passes_pct_long',\n",
" 'team_sca_per90',\n",
" 'team_gca_per90',\n",
" #'team_dribble_tackles_pct',\n",
" 'team_aerials_won_pct',\n",
" 'vs_team_possession',\n",
" 'vs_team_goals_per90',\n",
" 'vs_team_assists_per90',\n",
" 'vs_team_xg_per90',\n",
" 'vs_team_gk_save_pct',\n",
" 'vs_team_gk_clean_sheets_pct',\n",
" 'vs_team_gk_pct_passes_launched',\n",
" 'vs_team_gk_crosses_stopped_pct',\n",
" 'vs_team_shots_on_target_per90',\n",
" 'vs_team_passes_pct',\n",
" 'vs_team_passes_pct_short',\n",
" 'vs_team_passes_pct_medium',\n",
" 'vs_team_passes_pct_long',\n",
" 'vs_team_sca_per90',\n",
" 'vs_team_gca_per90',\n",
" #'vs_team_dribble_tackles_pct',\n",
" #'vs_team_dribbles_completed_pct',\n",
" 'vs_team_aerials_won_pct',\n",
" 'opp_team_possession',\n",
" 'opp_team_goals_assists_per90',\n",
" 'opp_team_goals_pens_per90',\n",
" 'opp_team_goals_assists_pens_per90',\n",
" 'opp_team_xg_per90',\n",
" 'opp_team_gk_goals_against_per90',\n",
" 'opp_team_gk_save_pct',\n",
" 'opp_team_gk_clean_sheets_pct',\n",
" 'opp_team_passes_pct',\n",
" 'opp_team_passes_pct_medium',\n",
" 'opp_team_passes_pct_long',\n",
" 'opp_team_sca_per90',\n",
" 'opp_team_gca_per90',\n",
" #'opp_team_dribble_tackles_pct',\n",
" 'opp_team_aerials_won_pct',\n",
" 'opp_vs_team_possession',\n",
" 'opp_vs_team_goals_per90',\n",
" 'opp_vs_team_assists_per90',\n",
" 'opp_vs_team_xg_per90',\n",
" 'opp_vs_team_gk_save_pct',\n",
" 'opp_vs_team_gk_clean_sheets_pct',\n",
" 'opp_vs_team_gk_pct_passes_launched',\n",
" 'opp_vs_team_gk_crosses_stopped_pct',\n",
" 'opp_vs_team_shots_on_target_per90',\n",
" 'opp_vs_team_passes_pct',\n",
" 'opp_vs_team_passes_pct_short',\n",
" 'opp_vs_team_passes_pct_medium',\n",
" 'opp_vs_team_passes_pct_long',\n",
" 'opp_vs_team_sca_per90',\n",
" 'opp_vs_team_gca_per90',\n",
" #'opp_vs_team_dribble_tackles_pct',\n",
" #'opp_vs_team_dribbles_completed_pct',\n",
" 'opp_vs_team_aerials_won_pct',\n",
" \n",
" 'vote_avg',\n",
" 'vote_std']\n",
"\n",
"features_rel_gk = [\n",
" 'gk_shots_on_target_against',\n",
" 'gk_saves',\n",
" 'gk_free_kick_goals_against',\n",
" 'gk_corner_kick_goals_against',\n",
" 'gk_own_goals_against',\n",
" 'gk_psxg',\n",
" 'gk_psnpxg_per_shot_on_target_against',\n",
" 'gk_psxg_net',\n",
" 'gk_passes_completed_launched',\n",
" 'gk_passes_launched',\n",
" 'gk_passes',\n",
" 'gk_passes_throws',\n",
" 'gk_goal_kicks',\n",
" 'gk_crosses',\n",
" 'gk_crosses_stopped',\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "f4017b2f",
"metadata": {},
"outputs": [],
"source": [
"DEL_G = False\n",
"\n",
"features_to_del = [\n",
" 'goals',\n",
" 'assists',\n",
" 'xg',\n",
" 'npxg'\n",
"]\n",
"\n",
"def player_match_data(player, pteam, oppteam, oldseason = False):\n",
" if(not(player in players.index)):\n",
" return None\n",
" \n",
" if(oldseason):\n",
" pdata = players_old.loc[[player]]\n",
" else:\n",
" pdata = players.loc[[player]]\n",
" \n",
" pteam_stats = team_data.loc[[pteam]].rename(index = {pteam : player})\n",
" \n",
" oppteam_stats = team_data.loc[[oppteam]].rename(index = {oppteam : player})\n",
" \n",
" oppteam_stats = oppteam_stats.rename(lambda x: 'opp_' + x, axis='columns')\n",
" \n",
" out = pd.concat([pdata, pteam_stats, oppteam_stats], axis = 1)\n",
" \n",
" return(out)\n",
"\n",
"def player_match_data_ext(player, pteam, oppteam, oldseason = False):\n",
" pdata = player_match_data(player, pteam, oppteam, oldseason = oldseason)\n",
" \n",
" if(not isinstance(pdata, pd.DataFrame)):\n",
" return None\n",
" \n",
" assert pdata['games'][0] > 0\n",
" \n",
" out = pd.concat([pdata[features_abs], pdata[features_rel]], axis = 1)\n",
" \n",
" out[features_rel] = out[features_rel] / max(pdata['minutes'][0], 1)\n",
" \n",
" out[features_rel_gamecorr] = out[features_rel_gamecorr] * (pdata['minutes'][0] / max(pdata['games'][0], 1) / 90)\n",
" \n",
" if(DEL_G):\n",
" out[features_to_del] = 0\n",
" \n",
" return out\n",
"\n",
"def player_match_data_ext_gk(player, pteam, oppteam, oldseason = False):\n",
" pdata = player_match_data(player, pteam, oppteam, oldseason = oldseason)\n",
" \n",
" if(not isinstance(pdata, pd.DataFrame)):\n",
" return None\n",
" \n",
" if(pdata['gk_games'][0] <= 0):\n",
" return None\n",
" \n",
" out = pd.concat([pdata[features_abs_gk], pdata[features_rel_gk]], axis = 1)\n",
" \n",
" out[features_rel_gk] = out[features_rel_gk] / max(pdata['minutes'][0], 1)\n",
"\n",
" return out\n",
" "
]
},
{
"cell_type": "markdown",
"id": "4e6700ec",
"metadata": {},
"source": [
"Load data from previous seasons in other leagues, for new players (rookies) in Serie A"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "3223cfe3",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>nationality</th>\n",
" <th>position</th>\n",
" <th>team</th>\n",
" <th>team.1</th>\n",
" <th>age</th>\n",
" <th>birth_year</th>\n",
" <th>games</th>\n",
" <th>games_starts</th>\n",
" <th>minutes</th>\n",
" <th>...</th>\n",
" <th>vs_team_pens_conceded</th>\n",
" <th>vs_team_own_goals</th>\n",
" <th>league</th>\n",
" <th>season</th>\n",
" <th>surname</th>\n",
" <th>initial</th>\n",
" <th>name</th>\n",
" <th>vote_avg</th>\n",
" <th>vote_std</th>\n",
" <th>r</th>\n",
" </tr>\n",
" <tr>\n",
" <th>player</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Kolasinac</th>\n",
" <td>0</td>\n",
" <td>ba BIH</td>\n",
" <td>DF</td>\n",
" <td>Marseille</td>\n",
" <td>Marseille</td>\n",
" <td>29</td>\n",
" <td>1993</td>\n",
" <td>33</td>\n",
" <td>26</td>\n",
" <td>2214</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>6</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Kolasinac</td>\n",
" <td>S</td>\n",
" <td>Sead Kolašinac</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Freuler</th>\n",
" <td>1</td>\n",
" <td>ch SUI</td>\n",
" <td>MF</td>\n",
" <td>Nott'ham Forest</td>\n",
" <td>Nott'ham Forest</td>\n",
" <td>30</td>\n",
" <td>1992</td>\n",
" <td>28</td>\n",
" <td>24</td>\n",
" <td>2161</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Freuler</td>\n",
" <td>R</td>\n",
" <td>Remo Freuler</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Karlsson</th>\n",
" <td>2</td>\n",
" <td>se SWE</td>\n",
" <td>FW</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>23</td>\n",
" <td>21</td>\n",
" <td>1777</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Karlsson</td>\n",
" <td>J</td>\n",
" <td>Jesper Karlsson</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kristiansen</th>\n",
" <td>3</td>\n",
" <td>dk DEN</td>\n",
" <td>DF</td>\n",
" <td>Leicester City</td>\n",
" <td>Leicester City</td>\n",
" <td>19</td>\n",
" <td>2002</td>\n",
" <td>12</td>\n",
" <td>11</td>\n",
" <td>892</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Kristiansen</td>\n",
" <td>V</td>\n",
" <td>Victor Bernth Kristiansen</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mina</th>\n",
" <td>4</td>\n",
" <td>co COL</td>\n",
" <td>DF</td>\n",
" <td>Everton</td>\n",
" <td>Everton</td>\n",
" <td>27</td>\n",
" <td>1994</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>594</td>\n",
" <td>...</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Mina</td>\n",
" <td>Y</td>\n",
" <td>Yerry Mina</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Monterisi</th>\n",
" <td>5</td>\n",
" <td>it ITA</td>\n",
" <td>DF</td>\n",
" <td>Frosinone</td>\n",
" <td>Frosinone</td>\n",
" <td>20</td>\n",
" <td>2001</td>\n",
" <td>11</td>\n",
" <td>6</td>\n",
" <td>615</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Monterisi</td>\n",
" <td>I</td>\n",
" <td>Ilario Monterisi</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pavard</th>\n",
" <td>6</td>\n",
" <td>fr FRA</td>\n",
" <td>DF</td>\n",
" <td>Bayern Munich</td>\n",
" <td>Bayern Munich</td>\n",
" <td>26</td>\n",
" <td>1996</td>\n",
" <td>30</td>\n",
" <td>27</td>\n",
" <td>2431</td>\n",
" <td>...</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Pavard</td>\n",
" <td>B</td>\n",
" <td>Benjamin Pavard</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thuram</th>\n",
" <td>7</td>\n",
" <td>fr FRA</td>\n",
" <td>FW</td>\n",
" <td>M'Gladbach</td>\n",
" <td>M'Gladbach</td>\n",
" <td>24</td>\n",
" <td>1997</td>\n",
" <td>30</td>\n",
" <td>28</td>\n",
" <td>2513</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Thuram</td>\n",
" <td>M</td>\n",
" <td>Marcus Thuram</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Klaassen</th>\n",
" <td>8</td>\n",
" <td>nl NED</td>\n",
" <td>MF</td>\n",
" <td>Ajax</td>\n",
" <td>Ajax</td>\n",
" <td>29</td>\n",
" <td>1993</td>\n",
" <td>33</td>\n",
" <td>21</td>\n",
" <td>2046</td>\n",
" <td>...</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Klaassen</td>\n",
" <td>D</td>\n",
" <td>Davy Klaassen</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sanchez</th>\n",
" <td>9</td>\n",
" <td>cl CHI</td>\n",
" <td>FW,MF</td>\n",
" <td>Marseille</td>\n",
" <td>Marseille</td>\n",
" <td>33</td>\n",
" <td>1988</td>\n",
" <td>35</td>\n",
" <td>32</td>\n",
" <td>2679</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>6</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Sanchez</td>\n",
" <td>A</td>\n",
" <td>Alexis Sánchez</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Weah</th>\n",
" <td>10</td>\n",
" <td>us USA</td>\n",
" <td>DF,FW</td>\n",
" <td>Lille</td>\n",
" <td>Lille</td>\n",
" <td>22</td>\n",
" <td>2000</td>\n",
" <td>29</td>\n",
" <td>18</td>\n",
" <td>1748</td>\n",
" <td>...</td>\n",
" <td>12</td>\n",
" <td>0</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Weah</td>\n",
" <td>T</td>\n",
" <td>Timothy Weah</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Guendouzi</th>\n",
" <td>11</td>\n",
" <td>fr FRA</td>\n",
" <td>MF</td>\n",
" <td>Marseille</td>\n",
" <td>Marseille</td>\n",
" <td>23</td>\n",
" <td>1999</td>\n",
" <td>33</td>\n",
" <td>25</td>\n",
" <td>2108</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>6</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Guendouzi</td>\n",
" <td>M</td>\n",
" <td>Mattéo Guendouzi</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kamada</th>\n",
" <td>12</td>\n",
" <td>jp JPN</td>\n",
" <td>MF</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>25</td>\n",
" <td>1996</td>\n",
" <td>32</td>\n",
" <td>25</td>\n",
" <td>2265</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Kamada</td>\n",
" <td>D</td>\n",
" <td>Daichi Kamada</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Chukwueze</th>\n",
" <td>13</td>\n",
" <td>ng NGA</td>\n",
" <td>FW,MF</td>\n",
" <td>Villarreal</td>\n",
" <td>Villarreal</td>\n",
" <td>23</td>\n",
" <td>1999</td>\n",
" <td>37</td>\n",
" <td>27</td>\n",
" <td>2339</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>2</td>\n",
" <td>La-Liga</td>\n",
" <td>2022-2023</td>\n",
" <td>Chukwueze</td>\n",
" <td>S</td>\n",
" <td>Samuel Chukwueze</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pulisic</th>\n",
" <td>14</td>\n",
" <td>us USA</td>\n",
" <td>FW,DF</td>\n",
" <td>Chelsea</td>\n",
" <td>Chelsea</td>\n",
" <td>23</td>\n",
" <td>1998</td>\n",
" <td>24</td>\n",
" <td>8</td>\n",
" <td>821</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Pulisic</td>\n",
" <td>C</td>\n",
" <td>Christian Pulisic</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Loftus-Cheek</th>\n",
" <td>15</td>\n",
" <td>eng ENG</td>\n",
" <td>MF,DF</td>\n",
" <td>Chelsea</td>\n",
" <td>Chelsea</td>\n",
" <td>26</td>\n",
" <td>1996</td>\n",
" <td>25</td>\n",
" <td>19</td>\n",
" <td>1536</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Loftus-Cheek</td>\n",
" <td>R</td>\n",
" <td>Ruben Loftus-Cheek</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lindstrom</th>\n",
" <td>16</td>\n",
" <td>dk DEN</td>\n",
" <td>MF,FW</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>22</td>\n",
" <td>2000</td>\n",
" <td>27</td>\n",
" <td>22</td>\n",
" <td>1679</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Lindstrm</td>\n",
" <td>J</td>\n",
" <td>Jesper Lindstrøm</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cajuste</th>\n",
" <td>17</td>\n",
" <td>se SWE</td>\n",
" <td>MF</td>\n",
" <td>Reims</td>\n",
" <td>Reims</td>\n",
" <td>22</td>\n",
" <td>1999</td>\n",
" <td>31</td>\n",
" <td>14</td>\n",
" <td>1530</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>0</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Cajuste</td>\n",
" <td>J</td>\n",
" <td>Jens Cajuste</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cheddira</th>\n",
" <td>18</td>\n",
" <td>ma MAR</td>\n",
" <td>FW</td>\n",
" <td>Bari</td>\n",
" <td>Bari</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>31</td>\n",
" <td>30</td>\n",
" <td>2495</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Cheddira</td>\n",
" <td>W</td>\n",
" <td>Walid Cheddira</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lapadula</th>\n",
" <td>19</td>\n",
" <td>pe PER</td>\n",
" <td>FW</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>32</td>\n",
" <td>1990</td>\n",
" <td>36</td>\n",
" <td>33</td>\n",
" <td>2882</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Lapadula</td>\n",
" <td>G</td>\n",
" <td>Gianluca Lapadula</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kristensen</th>\n",
" <td>20</td>\n",
" <td>dk DEN</td>\n",
" <td>DF</td>\n",
" <td>Leeds United</td>\n",
" <td>Leeds United</td>\n",
" <td>25</td>\n",
" <td>1997</td>\n",
" <td>26</td>\n",
" <td>21</td>\n",
" <td>1960</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Premier-League</td>\n",
" <td>2022-2023</td>\n",
" <td>Nissen</td>\n",
" <td>R</td>\n",
" <td>Rasmus Nissen</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Azmoun</th>\n",
" <td>21</td>\n",
" <td>ir IRN</td>\n",
" <td>FW,MF</td>\n",
" <td>Leverkusen</td>\n",
" <td>Leverkusen</td>\n",
" <td>27</td>\n",
" <td>1995</td>\n",
" <td>23</td>\n",
" <td>8</td>\n",
" <td>927</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>0</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Azmoun</td>\n",
" <td>S</td>\n",
" <td>Sardar Azmoun</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Renato Sanches</th>\n",
" <td>22</td>\n",
" <td>pt POR</td>\n",
" <td>MF</td>\n",
" <td>Paris S-G</td>\n",
" <td>Paris S-G</td>\n",
" <td>24</td>\n",
" <td>1997</td>\n",
" <td>23</td>\n",
" <td>6</td>\n",
" <td>717</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Sanches</td>\n",
" <td>R</td>\n",
" <td>Renato Sanches</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>N'dicka</th>\n",
" <td>23</td>\n",
" <td>fr FRA</td>\n",
" <td>DF</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>Eint Frankfurt</td>\n",
" <td>22</td>\n",
" <td>1999</td>\n",
" <td>30</td>\n",
" <td>30</td>\n",
" <td>2692</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>NDicka</td>\n",
" <td>O</td>\n",
" <td>Obite N'Dicka</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Aouar</th>\n",
" <td>24</td>\n",
" <td>dz ALG</td>\n",
" <td>MF</td>\n",
" <td>Lyon</td>\n",
" <td>Lyon</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>16</td>\n",
" <td>6</td>\n",
" <td>526</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>2</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Aouar</td>\n",
" <td>H</td>\n",
" <td>Houssem Aouar</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pedersen</th>\n",
" <td>25</td>\n",
" <td>no NOR</td>\n",
" <td>DF</td>\n",
" <td>Feyenoord</td>\n",
" <td>Feyenoord</td>\n",
" <td>22</td>\n",
" <td>2000</td>\n",
" <td>29</td>\n",
" <td>25</td>\n",
" <td>2117</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Pedersen</td>\n",
" <td>M</td>\n",
" <td>Marcus Pedersen</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Castillejo</th>\n",
" <td>26</td>\n",
" <td>es ESP</td>\n",
" <td>FW,MF</td>\n",
" <td>Valencia</td>\n",
" <td>Valencia</td>\n",
" <td>27</td>\n",
" <td>1995</td>\n",
" <td>25</td>\n",
" <td>17</td>\n",
" <td>1362</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>2</td>\n",
" <td>La-Liga</td>\n",
" <td>2022-2023</td>\n",
" <td>Castillejo</td>\n",
" <td>S</td>\n",
" <td>Samu Castillejo</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Lucca</th>\n",
" <td>27</td>\n",
" <td>it ITA</td>\n",
" <td>FW,MF</td>\n",
" <td>Ajax</td>\n",
" <td>Ajax</td>\n",
" <td>21</td>\n",
" <td>2000</td>\n",
" <td>14</td>\n",
" <td>0</td>\n",
" <td>150</td>\n",
" <td>...</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Lucca</td>\n",
" <td>L</td>\n",
" <td>Lorenzo Lucca</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Folorunsho</th>\n",
" <td>28</td>\n",
" <td>ng NGA</td>\n",
" <td>MF,FW</td>\n",
" <td>Bari</td>\n",
" <td>Bari</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>27</td>\n",
" <td>25</td>\n",
" <td>1995</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Folorunsho</td>\n",
" <td>M</td>\n",
" <td>Michael Folorunsho</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gudmundsson A.</th>\n",
" <td>29</td>\n",
" <td>is ISL</td>\n",
" <td>MF,FW</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>25</td>\n",
" <td>1997</td>\n",
" <td>36</td>\n",
" <td>32</td>\n",
" <td>2696</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Gumundsson</td>\n",
" <td>A</td>\n",
" <td>Albert Guðmundsson</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bakker</th>\n",
" <td>30</td>\n",
" <td>nl NED</td>\n",
" <td>DF,MF</td>\n",
" <td>Leverkusen</td>\n",
" <td>Leverkusen</td>\n",
" <td>22</td>\n",
" <td>2000</td>\n",
" <td>28</td>\n",
" <td>19</td>\n",
" <td>1659</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>0</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Bakker</td>\n",
" <td>M</td>\n",
" <td>Mitchel Bakker</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Martin</th>\n",
" <td>31</td>\n",
" <td>es ESP</td>\n",
" <td>DF</td>\n",
" <td>Mainz 05</td>\n",
" <td>Mainz 05</td>\n",
" <td>25</td>\n",
" <td>1997</td>\n",
" <td>28</td>\n",
" <td>20</td>\n",
" <td>1847</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>Bundesliga</td>\n",
" <td>2022-2023</td>\n",
" <td>Martin</td>\n",
" <td>A</td>\n",
" <td>Aarón Martín</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dragusin</th>\n",
" <td>32</td>\n",
" <td>ro ROU</td>\n",
" <td>DF</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>20</td>\n",
" <td>2002</td>\n",
" <td>38</td>\n",
" <td>37</td>\n",
" <td>3375</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Dragusin</td>\n",
" <td>R</td>\n",
" <td>Radu Drăgușin</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Viti</th>\n",
" <td>33</td>\n",
" <td>it ITA</td>\n",
" <td>DF</td>\n",
" <td>Nice</td>\n",
" <td>Nice</td>\n",
" <td>20</td>\n",
" <td>2002</td>\n",
" <td>9</td>\n",
" <td>7</td>\n",
" <td>634</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>Ligue-1</td>\n",
" <td>2022-2023</td>\n",
" <td>Viti</td>\n",
" <td>M</td>\n",
" <td>Mattia Viti</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Beukema</th>\n",
" <td>34</td>\n",
" <td>nl NED</td>\n",
" <td>DF</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>23</td>\n",
" <td>1998</td>\n",
" <td>26</td>\n",
" <td>24</td>\n",
" <td>2198</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Beukema</td>\n",
" <td>S</td>\n",
" <td>Sam Beukema</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Reijnders</th>\n",
" <td>35</td>\n",
" <td>nl NED</td>\n",
" <td>MF</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>AZ Alkmaar</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>34</td>\n",
" <td>34</td>\n",
" <td>3046</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Eredivisie</td>\n",
" <td>2022-2023</td>\n",
" <td>Reijnders</td>\n",
" <td>T</td>\n",
" <td>Tijjani Reijnders</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Luvumbo</th>\n",
" <td>36</td>\n",
" <td>ao ANG</td>\n",
" <td>FW,MF</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>20</td>\n",
" <td>2002</td>\n",
" <td>36</td>\n",
" <td>15</td>\n",
" <td>1560</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Zito</td>\n",
" <td>Z</td>\n",
" <td>Zito</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Retegui</th>\n",
" <td>37</td>\n",
" <td>it ITA</td>\n",
" <td>FW</td>\n",
" <td>Tigre</td>\n",
" <td>Tigre</td>\n",
" <td>23</td>\n",
" <td>1999</td>\n",
" <td>21</td>\n",
" <td>20</td>\n",
" <td>1790</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>Primera-Division</td>\n",
" <td>2022-2023</td>\n",
" <td>Retegui</td>\n",
" <td>M</td>\n",
" <td>Mateo Retegui</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fabbian</th>\n",
" <td>38</td>\n",
" <td>it ITA</td>\n",
" <td>MF</td>\n",
" <td>US Reggina</td>\n",
" <td>US Reggina</td>\n",
" <td>19</td>\n",
" <td>2003</td>\n",
" <td>36</td>\n",
" <td>34</td>\n",
" <td>2827</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Fabbian</td>\n",
" <td>G</td>\n",
" <td>Giovanni Fabbian</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Beltran L.</th>\n",
" <td>39</td>\n",
" <td>ar ARG</td>\n",
" <td>FW</td>\n",
" <td>River Plate</td>\n",
" <td>River Plate</td>\n",
" <td>21</td>\n",
" <td>2001</td>\n",
" <td>25</td>\n",
" <td>16</td>\n",
" <td>1371</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>Primera-Division</td>\n",
" <td>2022-2023</td>\n",
" <td>Beltran</td>\n",
" <td>L</td>\n",
" <td>Lucas Beltrán</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Azzi</th>\n",
" <td>40</td>\n",
" <td>br BRA</td>\n",
" <td>DF,MF</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>28</td>\n",
" <td>1994</td>\n",
" <td>16</td>\n",
" <td>13</td>\n",
" <td>1144</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Azzi</td>\n",
" <td>P</td>\n",
" <td>Paulo Azzi</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nandez</th>\n",
" <td>41</td>\n",
" <td>uy URU</td>\n",
" <td>MF,FW</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>26</td>\n",
" <td>1995</td>\n",
" <td>33</td>\n",
" <td>30</td>\n",
" <td>2539</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Nandez</td>\n",
" <td>N</td>\n",
" <td>Nahitan Nández</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pavoletti</th>\n",
" <td>42</td>\n",
" <td>it ITA</td>\n",
" <td>FW,MF</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>33</td>\n",
" <td>1988</td>\n",
" <td>23</td>\n",
" <td>10</td>\n",
" <td>989</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Pavoletti</td>\n",
" <td>L</td>\n",
" <td>Leonardo Pavoletti</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Makoumbou</th>\n",
" <td>43</td>\n",
" <td>cg CGO</td>\n",
" <td>MF</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>24</td>\n",
" <td>1998</td>\n",
" <td>36</td>\n",
" <td>33</td>\n",
" <td>2981</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Makoumbou</td>\n",
" <td>A</td>\n",
" <td>Antoine Makoumbou</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dossena</th>\n",
" <td>44</td>\n",
" <td>it ITA</td>\n",
" <td>DF</td>\n",
" <td>Cagliari</td>\n",
" <td>Cagliari</td>\n",
" <td>23</td>\n",
" <td>1998</td>\n",
" <td>23</td>\n",
" <td>19</td>\n",
" <td>1703</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Dossena</td>\n",
" <td>A</td>\n",
" <td>Alberto Dossena</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Strootman</th>\n",
" <td>45</td>\n",
" <td>nl NED</td>\n",
" <td>MF</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>32</td>\n",
" <td>1990</td>\n",
" <td>30</td>\n",
" <td>25</td>\n",
" <td>2229</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Strootman</td>\n",
" <td>K</td>\n",
" <td>Kevin Strootman</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bani</th>\n",
" <td>46</td>\n",
" <td>it ITA</td>\n",
" <td>DF</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>28</td>\n",
" <td>1993</td>\n",
" <td>33</td>\n",
" <td>31</td>\n",
" <td>2551</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Bani</td>\n",
" <td>M</td>\n",
" <td>Mattia Bani</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Frendrup</th>\n",
" <td>47</td>\n",
" <td>dk DEN</td>\n",
" <td>MF</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>21</td>\n",
" <td>2001</td>\n",
" <td>37</td>\n",
" <td>32</td>\n",
" <td>2921</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Frendrup</td>\n",
" <td>M</td>\n",
" <td>Morten Frendrup</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sabelli</th>\n",
" <td>48</td>\n",
" <td>it ITA</td>\n",
" <td>DF,MF</td>\n",
" <td>Genoa</td>\n",
" <td>Genoa</td>\n",
" <td>29</td>\n",
" <td>1993</td>\n",
" <td>30</td>\n",
" <td>29</td>\n",
" <td>2514</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Sabelli</td>\n",
" <td>S</td>\n",
" <td>Stefano Sabelli</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>D</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Caso</th>\n",
" <td>49</td>\n",
" <td>it ITA</td>\n",
" <td>FW,MF</td>\n",
" <td>Frosinone</td>\n",
" <td>Frosinone</td>\n",
" <td>23</td>\n",
" <td>1998</td>\n",
" <td>35</td>\n",
" <td>23</td>\n",
" <td>1890</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Caso</td>\n",
" <td>G</td>\n",
" <td>Giuseppe Caso</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Baez</th>\n",
" <td>50</td>\n",
" <td>uy URU</td>\n",
" <td>FW</td>\n",
" <td>Frosinone</td>\n",
" <td>Frosinone</td>\n",
" <td>27</td>\n",
" <td>1995</td>\n",
" <td>17</td>\n",
" <td>5</td>\n",
" <td>667</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Baez</td>\n",
" <td>J</td>\n",
" <td>Jaime Báez</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Mulattieri</th>\n",
" <td>51</td>\n",
" <td>it ITA</td>\n",
" <td>FW</td>\n",
" <td>Frosinone</td>\n",
" <td>Frosinone</td>\n",
" <td>21</td>\n",
" <td>2000</td>\n",
" <td>29</td>\n",
" <td>15</td>\n",
" <td>1502</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>Serie-B</td>\n",
" <td>2022-2023</td>\n",
" <td>Mulattieri</td>\n",
" <td>S</td>\n",
" <td>Samuele Mulattieri</td>\n",
" <td>6</td>\n",
" <td>0.3</td>\n",
" <td>A</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>52 rows × 384 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 nationality position team \\\n",
"player \n",
"Kolasinac 0 ba BIH DF Marseille \n",
"Freuler 1 ch SUI MF Nott'ham Forest \n",
"Karlsson 2 se SWE FW AZ Alkmaar \n",
"Kristiansen 3 dk DEN DF Leicester City \n",
"Mina 4 co COL DF Everton \n",
"Monterisi 5 it ITA DF Frosinone \n",
"Pavard 6 fr FRA DF Bayern Munich \n",
"Thuram 7 fr FRA FW M'Gladbach \n",
"Klaassen 8 nl NED MF Ajax \n",
"Sanchez 9 cl CHI FW,MF Marseille \n",
"Weah 10 us USA DF,FW Lille \n",
"Guendouzi 11 fr FRA MF Marseille \n",
"Kamada 12 jp JPN MF Eint Frankfurt \n",
"Chukwueze 13 ng NGA FW,MF Villarreal \n",
"Pulisic 14 us USA FW,DF Chelsea \n",
"Loftus-Cheek 15 eng ENG MF,DF Chelsea \n",
"Lindstrom 16 dk DEN MF,FW Eint Frankfurt \n",
"Cajuste 17 se SWE MF Reims \n",
"Cheddira 18 ma MAR FW Bari \n",
"Lapadula 19 pe PER FW Cagliari \n",
"Kristensen 20 dk DEN DF Leeds United \n",
"Azmoun 21 ir IRN FW,MF Leverkusen \n",
"Renato Sanches 22 pt POR MF Paris S-G \n",
"N'dicka 23 fr FRA DF Eint Frankfurt \n",
"Aouar 24 dz ALG MF Lyon \n",
"Pedersen 25 no NOR DF Feyenoord \n",
"Castillejo 26 es ESP FW,MF Valencia \n",
"Lucca 27 it ITA FW,MF Ajax \n",
"Folorunsho 28 ng NGA MF,FW Bari \n",
"Gudmundsson A. 29 is ISL MF,FW Genoa \n",
"Bakker 30 nl NED DF,MF Leverkusen \n",
"Martin 31 es ESP DF Mainz 05 \n",
"Dragusin 32 ro ROU DF Genoa \n",
"Viti 33 it ITA DF Nice \n",
"Beukema 34 nl NED DF AZ Alkmaar \n",
"Reijnders 35 nl NED MF AZ Alkmaar \n",
"Luvumbo 36 ao ANG FW,MF Cagliari \n",
"Retegui 37 it ITA FW Tigre \n",
"Fabbian 38 it ITA MF US Reggina \n",
"Beltran L. 39 ar ARG FW River Plate \n",
"Azzi 40 br BRA DF,MF Cagliari \n",
"Nandez 41 uy URU MF,FW Cagliari \n",
"Pavoletti 42 it ITA FW,MF Cagliari \n",
"Makoumbou 43 cg CGO MF Cagliari \n",
"Dossena 44 it ITA DF Cagliari \n",
"Strootman 45 nl NED MF Genoa \n",
"Bani 46 it ITA DF Genoa \n",
"Frendrup 47 dk DEN MF Genoa \n",
"Sabelli 48 it ITA DF,MF Genoa \n",
"Caso 49 it ITA FW,MF Frosinone \n",
"Baez 50 uy URU FW Frosinone \n",
"Mulattieri 51 it ITA FW Frosinone \n",
"\n",
" team.1 age birth_year games games_starts \\\n",
"player \n",
"Kolasinac Marseille 29 1993 33 26 \n",
"Freuler Nott'ham Forest 30 1992 28 24 \n",
"Karlsson AZ Alkmaar 24 1998 23 21 \n",
"Kristiansen Leicester City 19 2002 12 11 \n",
"Mina Everton 27 1994 7 7 \n",
"Monterisi Frosinone 20 2001 11 6 \n",
"Pavard Bayern Munich 26 1996 30 27 \n",
"Thuram M'Gladbach 24 1997 30 28 \n",
"Klaassen Ajax 29 1993 33 21 \n",
"Sanchez Marseille 33 1988 35 32 \n",
"Weah Lille 22 2000 29 18 \n",
"Guendouzi Marseille 23 1999 33 25 \n",
"Kamada Eint Frankfurt 25 1996 32 25 \n",
"Chukwueze Villarreal 23 1999 37 27 \n",
"Pulisic Chelsea 23 1998 24 8 \n",
"Loftus-Cheek Chelsea 26 1996 25 19 \n",
"Lindstrom Eint Frankfurt 22 2000 27 22 \n",
"Cajuste Reims 22 1999 31 14 \n",
"Cheddira Bari 24 1998 31 30 \n",
"Lapadula Cagliari 32 1990 36 33 \n",
"Kristensen Leeds United 25 1997 26 21 \n",
"Azmoun Leverkusen 27 1995 23 8 \n",
"Renato Sanches Paris S-G 24 1997 23 6 \n",
"N'dicka Eint Frankfurt 22 1999 30 30 \n",
"Aouar Lyon 24 1998 16 6 \n",
"Pedersen Feyenoord 22 2000 29 25 \n",
"Castillejo Valencia 27 1995 25 17 \n",
"Lucca Ajax 21 2000 14 0 \n",
"Folorunsho Bari 24 1998 27 25 \n",
"Gudmundsson A. Genoa 25 1997 36 32 \n",
"Bakker Leverkusen 22 2000 28 19 \n",
"Martin Mainz 05 25 1997 28 20 \n",
"Dragusin Genoa 20 2002 38 37 \n",
"Viti Nice 20 2002 9 7 \n",
"Beukema AZ Alkmaar 23 1998 26 24 \n",
"Reijnders AZ Alkmaar 24 1998 34 34 \n",
"Luvumbo Cagliari 20 2002 36 15 \n",
"Retegui Tigre 23 1999 21 20 \n",
"Fabbian US Reggina 19 2003 36 34 \n",
"Beltran L. River Plate 21 2001 25 16 \n",
"Azzi Cagliari 28 1994 16 13 \n",
"Nandez Cagliari 26 1995 33 30 \n",
"Pavoletti Cagliari 33 1988 23 10 \n",
"Makoumbou Cagliari 24 1998 36 33 \n",
"Dossena Cagliari 23 1998 23 19 \n",
"Strootman Genoa 32 1990 30 25 \n",
"Bani Genoa 28 1993 33 31 \n",
"Frendrup Genoa 21 2001 37 32 \n",
"Sabelli Genoa 29 1993 30 29 \n",
"Caso Frosinone 23 1998 35 23 \n",
"Baez Frosinone 27 1995 17 5 \n",
"Mulattieri Frosinone 21 2000 29 15 \n",
"\n",
" minutes ... vs_team_pens_conceded vs_team_own_goals \\\n",
"player ... \n",
"Kolasinac 2214 ... 7 6 \n",
"Freuler 2161 ... 6 2 \n",
"Karlsson 1777 ... 3 3 \n",
"Kristiansen 892 ... 6 2 \n",
"Mina 594 ... 2 2 \n",
"Monterisi 615 ... 0 2 \n",
"Pavard 2431 ... 5 2 \n",
"Thuram 2513 ... 6 0 \n",
"Klaassen 2046 ... 5 0 \n",
"Sanchez 2679 ... 7 6 \n",
"Weah 1748 ... 12 0 \n",
"Guendouzi 2108 ... 7 6 \n",
"Kamada 2265 ... 6 2 \n",
"Chukwueze 2339 ... 7 2 \n",
"Pulisic 821 ... 3 1 \n",
"Loftus-Cheek 1536 ... 3 1 \n",
"Lindstrom 1679 ... 6 2 \n",
"Cajuste 1530 ... 8 0 \n",
"Cheddira 2495 ... 0 2 \n",
"Lapadula 2882 ... 0 0 \n",
"Kristensen 1960 ... 3 3 \n",
"Azmoun 927 ... 7 0 \n",
"Renato Sanches 717 ... 7 3 \n",
"N'dicka 2692 ... 6 2 \n",
"Aouar 526 ... 8 2 \n",
"Pedersen 2117 ... 3 4 \n",
"Castillejo 1362 ... 8 2 \n",
"Lucca 150 ... 5 0 \n",
"Folorunsho 1995 ... 0 2 \n",
"Gudmundsson A. 2696 ... 0 0 \n",
"Bakker 1659 ... 7 0 \n",
"Martin 1847 ... 6 0 \n",
"Dragusin 3375 ... 0 0 \n",
"Viti 634 ... 6 1 \n",
"Beukema 2198 ... 3 3 \n",
"Reijnders 3046 ... 3 3 \n",
"Luvumbo 1560 ... 0 0 \n",
"Retegui 1790 ... 0 1 \n",
"Fabbian 2827 ... 0 3 \n",
"Beltran L. 1371 ... 0 1 \n",
"Azzi 1144 ... 0 0 \n",
"Nandez 2539 ... 0 0 \n",
"Pavoletti 989 ... 0 0 \n",
"Makoumbou 2981 ... 0 0 \n",
"Dossena 1703 ... 0 0 \n",
"Strootman 2229 ... 0 0 \n",
"Bani 2551 ... 0 0 \n",
"Frendrup 2921 ... 0 0 \n",
"Sabelli 2514 ... 0 0 \n",
"Caso 1890 ... 0 2 \n",
"Baez 667 ... 0 2 \n",
"Mulattieri 1502 ... 0 2 \n",
"\n",
" league season surname initial \\\n",
"player \n",
"Kolasinac Ligue-1 2022-2023 Kolasinac S \n",
"Freuler Premier-League 2022-2023 Freuler R \n",
"Karlsson Eredivisie 2022-2023 Karlsson J \n",
"Kristiansen Premier-League 2022-2023 Kristiansen V \n",
"Mina Premier-League 2022-2023 Mina Y \n",
"Monterisi Serie-B 2022-2023 Monterisi I \n",
"Pavard Bundesliga 2022-2023 Pavard B \n",
"Thuram Bundesliga 2022-2023 Thuram M \n",
"Klaassen Eredivisie 2022-2023 Klaassen D \n",
"Sanchez Ligue-1 2022-2023 Sanchez A \n",
"Weah Ligue-1 2022-2023 Weah T \n",
"Guendouzi Ligue-1 2022-2023 Guendouzi M \n",
"Kamada Bundesliga 2022-2023 Kamada D \n",
"Chukwueze La-Liga 2022-2023 Chukwueze S \n",
"Pulisic Premier-League 2022-2023 Pulisic C \n",
"Loftus-Cheek Premier-League 2022-2023 Loftus-Cheek R \n",
"Lindstrom Bundesliga 2022-2023 Lindstrm J \n",
"Cajuste Ligue-1 2022-2023 Cajuste J \n",
"Cheddira Serie-B 2022-2023 Cheddira W \n",
"Lapadula Serie-B 2022-2023 Lapadula G \n",
"Kristensen Premier-League 2022-2023 Nissen R \n",
"Azmoun Bundesliga 2022-2023 Azmoun S \n",
"Renato Sanches Ligue-1 2022-2023 Sanches R \n",
"N'dicka Bundesliga 2022-2023 NDicka O \n",
"Aouar Ligue-1 2022-2023 Aouar H \n",
"Pedersen Eredivisie 2022-2023 Pedersen M \n",
"Castillejo La-Liga 2022-2023 Castillejo S \n",
"Lucca Eredivisie 2022-2023 Lucca L \n",
"Folorunsho Serie-B 2022-2023 Folorunsho M \n",
"Gudmundsson A. Serie-B 2022-2023 Gumundsson A \n",
"Bakker Bundesliga 2022-2023 Bakker M \n",
"Martin Bundesliga 2022-2023 Martin A \n",
"Dragusin Serie-B 2022-2023 Dragusin R \n",
"Viti Ligue-1 2022-2023 Viti M \n",
"Beukema Eredivisie 2022-2023 Beukema S \n",
"Reijnders Eredivisie 2022-2023 Reijnders T \n",
"Luvumbo Serie-B 2022-2023 Zito Z \n",
"Retegui Primera-Division 2022-2023 Retegui M \n",
"Fabbian Serie-B 2022-2023 Fabbian G \n",
"Beltran L. Primera-Division 2022-2023 Beltran L \n",
"Azzi Serie-B 2022-2023 Azzi P \n",
"Nandez Serie-B 2022-2023 Nandez N \n",
"Pavoletti Serie-B 2022-2023 Pavoletti L \n",
"Makoumbou Serie-B 2022-2023 Makoumbou A \n",
"Dossena Serie-B 2022-2023 Dossena A \n",
"Strootman Serie-B 2022-2023 Strootman K \n",
"Bani Serie-B 2022-2023 Bani M \n",
"Frendrup Serie-B 2022-2023 Frendrup M \n",
"Sabelli Serie-B 2022-2023 Sabelli S \n",
"Caso Serie-B 2022-2023 Caso G \n",
"Baez Serie-B 2022-2023 Baez J \n",
"Mulattieri Serie-B 2022-2023 Mulattieri S \n",
"\n",
" name vote_avg vote_std r \n",
"player \n",
"Kolasinac Sead Kolašinac 6 0.3 D \n",
"Freuler Remo Freuler 6 0.3 C \n",
"Karlsson Jesper Karlsson 6 0.3 A \n",
"Kristiansen Victor Bernth Kristiansen 6 0.3 D \n",
"Mina Yerry Mina 6 0.3 D \n",
"Monterisi Ilario Monterisi 6 0.3 D \n",
"Pavard Benjamin Pavard 6 0.3 D \n",
"Thuram Marcus Thuram 6 0.3 A \n",
"Klaassen Davy Klaassen 6 0.3 C \n",
"Sanchez Alexis Sánchez 6 0.3 A \n",
"Weah Timothy Weah 6 0.3 C \n",
"Guendouzi Mattéo Guendouzi 6 0.3 C \n",
"Kamada Daichi Kamada 6 0.3 C \n",
"Chukwueze Samuel Chukwueze 6 0.3 C \n",
"Pulisic Christian Pulisic 6 0.3 C \n",
"Loftus-Cheek Ruben Loftus-Cheek 6 0.3 C \n",
"Lindstrom Jesper Lindstrøm 6 0.3 C \n",
"Cajuste Jens Cajuste 6 0.3 C \n",
"Cheddira Walid Cheddira 6 0.3 A \n",
"Lapadula Gianluca Lapadula 6 0.3 A \n",
"Kristensen Rasmus Nissen 6 0.3 D \n",
"Azmoun Sardar Azmoun 6 0.3 A \n",
"Renato Sanches Renato Sanches 6 0.3 C \n",
"N'dicka Obite N'Dicka 6 0.3 D \n",
"Aouar Houssem Aouar 6 0.3 C \n",
"Pedersen Marcus Pedersen 6 0.3 D \n",
"Castillejo Samu Castillejo 6 0.3 C \n",
"Lucca Lorenzo Lucca 6 0.3 A \n",
"Folorunsho Michael Folorunsho 6 0.3 C \n",
"Gudmundsson A. Albert Guðmundsson 6 0.3 C \n",
"Bakker Mitchel Bakker 6 0.3 D \n",
"Martin Aarón Martín 6 0.3 D \n",
"Dragusin Radu Drăgușin 6 0.3 D \n",
"Viti Mattia Viti 6 0.3 D \n",
"Beukema Sam Beukema 6 0.3 D \n",
"Reijnders Tijjani Reijnders 6 0.3 C \n",
"Luvumbo Zito 6 0.3 A \n",
"Retegui Mateo Retegui 6 0.3 A \n",
"Fabbian Giovanni Fabbian 6 0.3 C \n",
"Beltran L. Lucas Beltrán 6 0.3 A \n",
"Azzi Paulo Azzi 6 0.3 D \n",
"Nandez Nahitan Nández 6 0.3 C \n",
"Pavoletti Leonardo Pavoletti 6 0.3 A \n",
"Makoumbou Antoine Makoumbou 6 0.3 C \n",
"Dossena Alberto Dossena 6 0.3 C \n",
"Strootman Kevin Strootman 6 0.3 C \n",
"Bani Mattia Bani 6 0.3 D \n",
"Frendrup Morten Frendrup 6 0.3 C \n",
"Sabelli Stefano Sabelli 6 0.3 D \n",
"Caso Giuseppe Caso 6 0.3 A \n",
"Baez Jaime Báez 6 0.3 C \n",
"Mulattieri Samuele Mulattieri 6 0.3 A \n",
"\n",
"[52 rows x 384 columns]"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rookies_data = pd.read_excel('rookies_stats/out_data/rookies_stats.xlsx', index_col = 1)\n",
"\n",
"rookies_data"
]
},
{
"cell_type": "markdown",
"id": "21fef3ae",
"metadata": {},
"source": [
"Players stats rework:\n",
"the current season stats are averaged (according to a calculated weight) with the past season data.\n",
"In case a player doesn't have past season data, a config file (affine_players) can be used to load the data from an affine player (past season), e.g. Doig affine to Lazovic.\n",
"In case, after this process, the player doesn't result in having a minimum amount of games, its stats are averaged with the average Serie A (defensive) player stat, depending on the games remaining to reach the minimum amount. This allows to use players who still haven't played a single game.\n",
"\n",
"These modified stats are used only for prediction, not for model traning.\n",
"\n",
"WEIGHT_0 = weight given to the current season in respect to the previous; if the player has a low amount of games this season, the weight is lowered\n",
"min_games = minimum games so that the players stats are not averaged with the avg Serie A player stats"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "6f8707b8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" \n",
"Averaging players stats with past seasons:\n",
"Maignan 0.7972027972027971\n",
"Meret 0.5158371040723981\n",
"Szczesny 0.20879120879120883\n",
"Provedel 0.46153846153846145\n",
"Rui Patricio 0.501098901098901\n",
"Di Gregorio 0.47401247401247393\n",
"Skorupski 0.47401247401247393\n",
"Milinkovic-Savic V. 0.46153846153846145\n",
"Terracciano 0.20159151193633953\n",
"Carnesecchi 0.6820512820512821\n",
"Falcone 0.46153846153846145\n",
"Silvestri 0.46153846153846145\n",
"Ochoa 0.8769230769230768\n",
"Montipo' 0.47401247401247393\n",
"Consigli 0.501098901098901\n",
"Musso 0.7307692307692307\n",
"Perin 1\n",
"Berisha 1\n",
"Cragno 1\n",
"Cerofolini 1\n",
"Sportiello 1\n",
"Mirante 1\n",
"Sepe 1\n",
"Lamanna 1\n",
"Pegolo 1\n",
"Perilli 1\n",
"Padelli 1\n",
"Gollini 1\n",
"Perisan 0.8351648351648353\n",
"Audero 0.7366153846153846\n",
"Pinsoglio 1\n",
"Fiorillo 1\n",
"Rossi F. 1\n",
"Ravaglia F. 1\n",
"Brancolini 1\n",
"Berardi A. 1\n",
"Gemello 1\n",
"Boer 1\n",
"Bagnolini 1\n",
"Svilar 1\n",
"Sorrentino A. 1\n",
"Dimarco 0.2657342657342657\n",
"Di Lorenzo 0.23700623700623696\n",
"Hernandez T. 0.2740384615384615\n",
"Carlos Augusto 0.2630769230769231\n",
"Danilo 0.23700623700623696\n",
"Zappacosta 0.4175824175824175\n",
"Schuurs 0.29230769230769227\n",
"Posch 0.29230769230769227\n",
"Bastoni 0.3023872679045092\n",
"Pavard 0.0 (rookie)\n",
"Smalling 0.2740384615384615\n",
"Rrahmani 0.3023872679045092\n",
"Dumfries 0.25791855203619907\n",
"Romagnoli 0.25791855203619907\n",
"Bremer 0.29230769230769227\n",
"Tomori 0.2657342657342657\n",
"Spinazzola 0.3372781065088757\n",
"Darmian 0.2828784119106699\n",
"Biraghi 0.17715617715617715\n",
"Bakker 0.21923076923076926 (rookie)\n",
"Mazzocchi 0.32478632478632474\n",
"Baschirotto 0.23700623700623696\n",
"Doig 0.39860139860139854\n",
"Thiaw 0.4384615384615384\n",
"Mario Rui 0.26573426573426573\n",
"Calabria 0.35076923076923067\n",
"Acerbi 0.0\n",
"Cuadrado 0.29702233250620347\n",
"Milenkovic 0.32478632478632474\n",
"Mancini 0.2505494505494505\n",
"Buongiorno 0.25791855203619907\n",
"Ebuehi 0.22485207100591717\n",
"Casale 0.20159151193633953\n",
"Scalvini 0.2740384615384615\n",
"Holm 0.15346153846153848\n",
"Faraoni 0.25418060200668896\n",
"Kolasinac 0.279020979020979 (rookie)\n",
"Perez N. 0.25791855203619907\n",
"Bijol 0.2740384615384615\n",
"De Vrij 0.32478632478632474\n",
"Toloi 0.0\n",
"Djimsiti 0.36538461538461536\n",
"Rodriguez R. 0.2505494505494505\n",
"Martin 0.32884615384615384 (rookie)\n",
"N'dicka 0.0 (rookie)\n",
"Kyriakopoulos 0.2557692307692308\n",
"Mari' 0.29230769230769227\n",
"Bastoni S. 0.0\n",
"Kristensen 0.0 (rookie)\n",
"Hysaj 0.08597285067873303\n",
"Izzo 0.19487179487179487\n",
"D'ambrosio 0.40923076923076923\n",
"Luperto 0.24358974358974356\n",
"Marusic 0.2657342657342657\n",
"Mina 0.0 (rookie)\n",
"Bellanova 0.5115384615384616\n",
"Caldirola 0.2828784119106699\n",
"Kalulu 0.17194570135746606\n",
"Parisi 0.09300699300699301\n",
"Cambiaso 0.28774038461538465\n",
"Bradaric 0.2828784119106699\n",
"Olivera 0.29230769230769227\n",
"Dodo' 0.2657342657342657\n",
"Lucumi' 0.2657342657342657\n",
"Hien 0.09134615384615385\n",
"Kristiansen 0.2557692307692308 (rookie)\n",
"Pedersen 0.2116710875331565 (rookie)\n",
"Romagnoli S. 1\n",
"Romagnoli S. 0.4846153846153846 (two seasons ago)\n",
"Juan Jesus 0.5846153846153845\n",
"Gyomber 0.32478632478632474\n",
"Alex Sandro 0.23384615384615384\n",
"Hateboer 0.0\n",
"Palomino 0.19487179487179487\n",
"Marchizza 0.9207692307692308\n",
"Marchizza 0.574207100591716 (two seasons ago)\n",
"Lazzari 0.20879120879120883\n",
"Toljan 0.2828784119106699\n",
"Zappa 0.35076923076923067 (two seasons ago)\n",
"Gallo 0.2740384615384615\n",
"Erlic 0.31318681318681313\n",
"Vojvoda 0.3023872679045092\n",
"Llorente D. 0.9743589743589742\n",
"Dragusin 0.2423076923076923 (rookie)\n",
"Vasquez 0.3683076923076923\n",
"Viti 0.3410256410256411 (rookie)\n",
"Gatti 0.1623931623931624\n",
"Birindelli 0.2828784119106699\n",
"Gendrey 0.23700623700623696\n",
"Beukema 0.35414201183431954 (rookie)\n",
"Dossena 0.4003344481605351 (rookie)\n",
"Azzi 0.5754807692307693 (rookie)\n",
"Masina 0.0\n",
"Pezzella Giu. 0.5754807692307693\n",
"Sabelli 0.20461538461538462 (rookie)\n",
"Lykogiannis 0.2783882783882784\n",
"Djidji 0.0\n",
"Ranieri L. 0.6495726495726496\n",
"Ranieri L. 0.5061947549127037 (two seasons ago)\n",
"Augello 0.1659043659043659\n",
"Zortea 0.6138461538461539\n",
"Zortea 0.5386215058151396 (two seasons ago)\n",
"Dawidowicz 0.38127090301003336\n",
"Pirola 0.22485207100591717\n",
"Lovato 0.5158371040723981\n",
"Monterisi 0.837062937062937 (rookie)\n",
"Ismajli 0.23384615384615384\n",
"Martinez Quarta 0.10826210826210828\n",
"Ruggeri 0.5846153846153845\n",
"Pongracic 0.9743589743589742\n",
"Obert 0.9743589743589745 (two seasons ago)\n",
"Ebosele 0.5158371040723981\n",
"Patric 0.1623931623931624\n",
"Pellegrini Lu. 1\n",
"Pellegrini Lu. 0.5115384615384616 (two seasons ago)\n",
"Lazaro 0.25418060200668896\n",
"Calafiori 0.0 (two seasons ago)\n",
"Vina 0.35414201183431954 (two seasons ago)\n",
"Terracciano F. 0.4384615384615384\n",
"Ehizibue 0.0\n",
"Goldaniga 0.26573426573426573 (two seasons ago)\n",
"Ferrari G. 0.0\n",
"Bereszynski 1\n",
"Bereszynski 0.0876923076923077 (two seasons ago)\n",
"Venuti 0.0\n",
"Karsdorp 0.44970414201183434\n",
"Bani 0.279020979020979 (rookie)\n",
"Kjaer 0.3438914027149321\n",
"Gunter 0.0\n",
"Magnani 0.36538461538461536\n",
"Soumaoro 0.0\n",
"Zanoli 0.0\n",
"Zima 0.3247863247863248\n",
"Hefti 0.548076923076923 (two seasons ago)\n",
"Ostigard 0.8351648351648353\n",
"Ostigard 1 (two seasons ago)\n",
"Sambia 0.13286713286713286\n",
"Rugani 0.0\n",
"De Sciglio 0.0\n",
"Florenzi 0.4871794871794872\n",
"Florenzi 0.4340894148586456 (two seasons ago)\n",
"Fazio 0.20879120879120883\n",
"Bonifazi 0.0\n",
"Walukiewicz 0.26573426573426573\n",
"Kumbulla 0.0\n",
"Celik 0.1217948717948718\n",
"Amione 0.11804733727810651\n",
"Daniliuc 0.0\n",
"Haps 0.0 (two seasons ago)\n",
"De Winter 0.0\n",
"Coppola D. 0.3076923076923077\n",
"Cacace 0.4871794871794872\n",
"Ebosse 0.0\n",
"Cabal 0.5314685314685315\n",
"Dermaku 0.0\n",
"Tonelli 0.0\n",
"Tonelli 0.20879120879120883 (two seasons ago)\n",
"De Silvestri 0.19487179487179487\n",
"Okoli 0.0\n",
"Amey 0.0\n",
"Soppy 0.0\n",
"Gila 0.0\n",
"Guessand A. 0.0\n",
"Bronn 0.0\n",
"Guarino 0.0\n",
"Carboni F. 1\n",
"Zaccagni 0.2505494505494505\n",
"Koopmeiners 0.2657342657342657\n",
"Felipe Anderson 0.23076923076923073\n",
"Luis Alberto 0.2505494505494505\n",
"Rabiot 0.2740384615384615\n",
"Zielinski 0.23700623700623696\n",
"Barella 0.2505494505494505\n",
"Pulisic 0.3836538461538462 (rookie)\n",
"Orsolini 0.2740384615384615\n",
"Chukwueze 0.24885654885654884 (rookie)\n",
"Strefezza 0.2505494505494505\n",
"Ferguson 0.2740384615384615\n",
"Candreva 0.2505494505494505\n",
"Calhanoglu 0.2657342657342657\n",
"Frattesi 0.2557692307692308\n",
"Samardzic 0.23700623700623696\n",
"Vlasic 0.25791855203619907\n",
"El Shaarawy 0.3023872679045092\n",
"Aouar 0.5754807692307693 (rookie)\n",
"Bonaventura 0.29230769230769227\n",
"Pellegrini Lo. 0.1826923076923077\n",
"Politano 0.32478632478632474\n",
"Malinovskyi 0.20461538461538462 (two seasons ago)\n",
"Lovric 0.23700623700623696\n",
"Kamada 0.28774038461538465 (rookie)\n",
"Lindstrom 0.0 (rookie)\n",
"Lazovic 0.0\n",
"Loftus-Cheek 0.3683076923076923 (rookie)\n",
"Zambo Anguissa 0.24358974358974356\n",
"Elmas 0.1623931623931624\n",
"Kostic 0.079002079002079\n",
"Gudmundsson A. 0.2557692307692308 (rookie)\n",
"Baldanzi 0.3372781065088757\n",
"Ciurria 0.24358974358974356\n",
"Pasalic 0.09134615384615385\n",
"Mkhitaryan 0.2828784119106699\n",
"Pessina 0.2505494505494505\n",
"Guendouzi 0.09300699300699301 (rookie)\n",
"Lobotka 0.23076923076923073\n",
"Bajrami 0.4871794871794871\n",
"Ricci S. 0.31318681318681313\n",
"Reijnders 0.27081447963800903 (rookie)\n",
"Pogba 0.9743589743589745\n",
"Renato Sanches 0.13344481605351172 (rookie)\n",
"Fagioli 0.22485207100591717\n",
"Ikone' 0.0\n",
"Ilic 0.6263736263736263\n",
"Radonjic 0.31318681318681313\n",
"Ederson D.s. 0.2505494505494505\n",
"Colpani 0.32478632478632474\n",
"De Roon 0.2505494505494505\n",
"Locatelli 0.2740384615384615\n",
"Barak 0.0\n",
"Saponara 0.2116710875331565\n",
"Cristante 0.24358974358974356\n",
"Mandragora 0.3023872679045092\n",
"Weah 0.3175066312997347 (rookie)\n",
"Bennacer 0.0\n",
"Klaassen 0.0 (rookie)\n",
"Castrovilli 0.0\n",
"Miranchuk 0.0\n",
"Matheus Henrique 0.29230769230769227\n",
"De Ketelaere 0.28774038461538465\n",
"Cataldi 0.3023872679045092\n",
"Sottil 0.4871794871794871\n",
"Duda 0.5846153846153845\n",
"Thorsby 0.2630769230769231 (two seasons ago)\n",
"Nandez 0.279020979020979 (rookie)\n",
"Tameze 0.08295218295218296\n",
"Marin 0.2657342657342657\n",
"Messias 0.0\n",
"Mckennie 0.4175824175824175 (two seasons ago)\n",
"Zalewski 0.2657342657342657\n",
"Coulibaly L. 0.08351648351648353\n",
"Harroui 0.4003344481605351\n",
"Krunic 0.38127090301003336\n",
"Paredes 0.3683076923076923\n",
"Freuler 0.0 (rookie)\n",
"Gagliardini 0.4846153846153846\n",
"Kastanos 0.31318681318681313\n",
"Lopez M. 0.20461538461538462\n",
"Gyasi 0.2630769230769231\n",
"Frendrup 0.24885654885654884 (rookie)\n",
"Moro N. 0.3372781065088757\n",
"Vecino 0.1826923076923077\n",
"Strootman 0.20461538461538462 (rookie)\n",
"Duncan 0.23384615384615384\n",
"Machin 0.0\n",
"Sensi 0.10961538461538463\n",
"Linetty 0.2740384615384615\n",
"Walace 0.23700623700623696\n",
"Pobega 0.3076923076923077\n",
"Bove 0.26573426573426573\n",
"Aebischer 0.2740384615384615\n",
"Thorstvedt 0.2828784119106699\n",
"Blin 0.2505494505494505\n",
"Gonzalez J. 0.2505494505494505\n",
"Oudin 0.0\n",
"Fabbian 0.17051282051282055 (rookie)\n",
"Grassi 0.23384615384615384\n",
"Badelj 0.25791855203619907 (two seasons ago)\n",
"Castillejo 0.0 (rookie)\n",
"Hongla 0.4871794871794871 (two seasons ago)\n",
"Miretti 0.21652421652421655\n",
"Fazzini 0.2783882783882784\n",
"Makoumbou 0.2557692307692308 (rookie)\n",
"Baez 0.5416289592760181 (rookie)\n",
"Deiola 0.2657342657342657 (two seasons ago)\n",
"Bourabia 0.0\n",
"Rovella 0.0\n",
"Saelemaekers 0.0\n",
"Maldini 0.0\n",
"Kovalenko 0.17051282051282055\n",
"Maleh 0.18054298642533936\n",
"Bohinen 0.2435897435897436\n",
"Ranocchia F. 0.0\n",
"Adopo 0.3410256410256411\n",
"Maggiore 0.1826923076923077\n",
"Romero L. 0.0\n",
"Basic 0.0\n",
"Asllani 0.14615384615384616\n",
"Sulemana I. 0.5754807692307693\n",
"Folorunsho 0.34102564102564104 (rookie)\n",
"Gaetano 0.0\n",
"Obiang 0.0\n",
"Akpa Akpro 0.0\n",
"Akpa Akpro 0.0 (two seasons ago)\n",
"Urbanski 1\n",
"Volpato 0.4384615384615385\n",
"Volpato 1 (two seasons ago)\n",
"Vignato S. 1\n",
"Hrustic 0.0\n",
"Viola 0.0 (two seasons ago)\n",
"Rog 0.0 (two seasons ago)\n",
"Nicolussi Caviglia 0.0\n",
"Demme 0.0\n",
"Pafundi 0.0\n",
"Adli 0.0\n",
"Zerbin 0.0\n",
"Carboni V. 1\n",
"Faticanti 0.0\n",
"Osimhen 0.2740384615384615\n",
"Martinez L. 0.23076923076923073\n",
"Rafael Leao 0.2505494505494505\n",
"Immobile 0.2828784119106699\n",
"Berardi 0.11242603550295859\n",
"Lukaku 0.12276923076923077\n",
"Kvaratskhelia 0.17194570135746606\n",
"Dybala 0.11692307692307692\n",
"Vlahovic 0.32478632478632474\n",
"Giroud 0.2657342657342657\n",
"Scamacca 0.2557692307692308 (two seasons ago)\n",
"Dia 0.17715617715617715\n",
"Thuram 0.3069230769230769 (rookie)\n",
"Lookman 0.2828784119106699\n",
"Sanabria 0.17715617715617715\n",
"Arnautovic 0.4384615384615384\n",
"Retegui 0.4384615384615384 (rookie)\n",
"Nzola 0.29702233250620347\n",
"Lauriente' 0.31318681318681313\n",
"Zapata D. 0.12276923076923077\n",
"Chiesa 0.4175824175824175\n",
"Milik 0.32478632478632474\n",
"Gonzalez N. 0.36538461538461536\n",
"Beltran L. 0.3683076923076923 (rookie)\n",
"Lapadula 0.0 (rookie)\n",
"Caprari 0.23700623700623696\n",
"Sanchez 0.0 (rookie)\n",
"Abraham 0.0\n",
"Caputo 0.4175824175824175\n",
"Ngonge 0.6263736263736263\n",
"Muriel 0.20159151193633953\n",
"Pinamonti 0.2740384615384615\n",
"Deulofeu 0.0\n",
"Jovic 0.0\n",
"Zirkzee 0.46153846153846145\n",
"Petagna 0.0990074441687345\n",
"Belotti 0.2828784119106699\n",
"Simeone 0.35076923076923067\n",
"Cambiaghi 0.20879120879120883\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Shomurodov 0.6138461538461538\n",
"Azmoun 0.0 (rookie)\n",
"Thauvin 0.548076923076923\n",
"Pedro 0.1623931623931624\n",
"Brekalo 1\n",
"Brekalo 0.28774038461538465 (two seasons ago)\n",
"Henry 0.0\n",
"Mulattieri 0.3175066312997347 (rookie)\n",
"Karlsson 0.26688963210702343 (rookie)\n",
"Kean 0.10439560439560441\n",
"Karamoh 0.2783882783882784\n",
"Djuric 0.31318681318681313\n",
"Mota 0.3023872679045092\n",
"Cheddira 0.198014888337469 (rookie)\n",
"Defrel 0.10826210826210828\n",
"Raspadori 0.35076923076923067\n",
"Colombo 0.09300699300699301\n",
"Luvumbo 0.0 (rookie)\n",
"Banda 0.24358974358974356\n",
"Bonazzoli 0.3836538461538462\n",
"Pellegri 0.4871794871794871\n",
"Kouame' 0.20879120879120883\n",
"Piccoli 0.23609467455621302\n",
"Success 0.29230769230769227\n",
"Botheim 0.31318681318681313\n",
"Lucca 0.6576923076923077 (rookie)\n",
"Caso 0.1753846153846154 (rookie)\n",
"Cancellieri 0.4603846153846154\n",
"Jovane 0.0 (two seasons ago)\n",
"Pavoletti 0.26688963210702343 (rookie)\n",
"Soule' 0.23609467455621302\n",
"Alvarez A. 0.0\n",
"Ekuban 0.29230769230769227 (two seasons ago)\n",
"Seck 0.15384615384615385\n",
"Destro 0.17194570135746606\n",
"Ceide 0.3076923076923077\n",
"Ake' M. 0.0 (two seasons ago)\n",
"Braaf 0.0\n",
"Kallon 0.0\n",
"Kaio Jorge 0.0\n",
"Kaio Jorge 0.0 (two seasons ago)\n",
"Valencia D. 0.0\n",
"Vivaldo 0.0\n",
"Players with low quantity of games:\n",
"Natan 0.0\n",
"Kamara H. 0.5\n",
"Llorente D. 0.5256410256410258\n",
"Zemura 0.5\n",
"Wieteska 0.16666666666666663\n",
"Kabasele 0.5\n",
"Monterisi 0.7172494172494173\n",
"Pongracic 0.5256410256410258\n",
"Obert 0.3504273504273504\n",
"Tressoldi 0.0\n",
"Hatzidiakos 0.0\n",
"Calafiori 0.5\n",
"Vogliacco 0.0\n",
"Lirola 0.0\n",
"Carboni A. 0.33333333333333337\n",
"Di Pardo 0.5\n",
"Ostigard 0.4706959706959706\n",
"Bisseck 0.16666666666666663\n",
"Dorgu 0.5\n",
"Touba 0.0\n",
"Sazonov 0.0\n",
"Cittadini 0.0\n",
"Missori 0.16666666666666663\n",
"Kayode 0.16666666666666663\n",
"Oyono 0.5\n",
"Ferreira J. 0.5\n",
"Corazza 0.33333333333333337\n",
"Kristensen T. 0.0\n",
"Dermaku 0.16666666666666663\n",
"Capradossi 0.0\n",
"Pereira P. 0.33333333333333337\n",
"Bettella 0.0\n",
"Amey 0.0\n",
"Gila 0.6666666666666667\n",
"Guessand A. 0.16666666666666663\n",
"Guarino 0.0\n",
"Carboni F. 0.33333333333333337\n",
"Smajlovic 0.0\n",
"Matturro 0.0\n",
"N'guessan 0.0\n",
"Mateus Lusuardi 0.0\n",
"Kalaj 0.0\n",
"Pierozzi 0.0\n",
"Huijsen 0.0\n",
"Bonfanti 0.0\n",
"Pellegrino 0.0\n",
"Pogba 0.3504273504273504\n",
"Ndoye 0.5\n",
"Musah 0.16666666666666663\n",
"Mboula 0.5\n",
"Jankto 0.5\n",
"Arthur Melo 0.5\n",
"Reinier 0.0\n",
"Ramadani 0.5\n",
"Mancosu 0.0\n",
"Machin 0.0\n",
"Brescianini 0.33333333333333337\n",
"Rafia 0.5\n",
"Cajuste 0.0\n",
"Kaba 0.5\n",
"Mazzitelli 0.5\n",
"Iling Junior 0.0\n",
"Oristanio 0.5\n",
"Boloca 0.33333333333333337\n",
"Martegani 0.33333333333333337\n",
"Serdar 0.33333333333333337\n",
"Payero 0.0\n",
"Racic 0.33333333333333337\n",
"Infantino 0.5\n",
"Kutlu 0.16666666666666663\n",
"Tchatchoua 0.0\n",
"Garritano 0.33333333333333337\n",
"Quina 0.33333333333333337\n",
"Tchaouna 0.16666666666666663\n",
"Barrenechea 0.5\n",
"Gelli 0.5\n",
"Suslov 0.0\n",
"Jagiello 0.0\n",
"Akpa Akpro 0.0\n",
"Urbanski 0.33333333333333337\n",
"Volpato 0.7282051282051283\n",
"Vignato S. 0.33333333333333337\n",
"Zarraga 0.33333333333333337\n",
"Camara E. 0.0\n",
"Amatucci 0.16666666666666663\n",
"Lulic K. 0.0\n",
"Bondo 0.16666666666666663\n",
"Carboni V. 0.33333333333333337\n",
"Faticanti 0.0\n",
"Gineitis 0.0\n",
"Belardinelli 0.0\n",
"El Azzouzi 0.5\n",
"Lipani 0.0\n",
"Joselito 0.0\n",
"Pagano 0.33333333333333337\n",
"Legowski 0.0\n",
"Prati 0.0\n",
"Okafor 0.5\n",
"Toure' E. 0.0\n",
"Krstovic 0.33333333333333337\n",
"Castellanos 0.5\n",
"Almqvist 0.5\n",
"Isaksen 0.5\n",
"Davis K. 0.0\n",
"Brenner 0.0\n",
"Jovane 0.0\n",
"Cuni 0.5\n",
"Kvernadze 0.16666666666666663\n",
"Van Hooijdonk 0.16666666666666663\n",
"Maric 0.33333333333333337\n",
"Shpendi S. 0.33333333333333337\n",
"Ikwuemesi 0.33333333333333337\n",
"Puscas 0.0\n",
"Ake' M. 0.6666666666666667\n",
"Vivaldo 0.0\n",
"Bidaoui 0.0\n",
"Burnete 0.16666666666666663\n",
"Corfitzen 0.0\n",
"Stewart 0.0\n",
"Yildiz 0.0\n"
]
}
],
"source": [
"#for i in range(players.columns.shape[0]):\n",
"# print(str(i) + ' - ' + players.columns[i])\n",
"\n",
"cols_toadapt = players.columns[9:]\n",
"cols_toadapt_rookies = rookies_data.columns.intersection(cols_toadapt)\n",
"\n",
"players = players_orig.copy()\n",
"\n",
"min_games = 6\n",
"\n",
"current_season_games = max(10, max(players_orig['games']))\n",
"\n",
"# weight_0 as function of current_season_games --> 1 as match day reachs 30 ? \n",
"WEIGHT_0_same_team = (1 - (1 - 0.7) * (30 - current_season_games) / (38 - 12)) # 0.7\n",
"WEIGHT_0_different_team = (1 - (1 - 0.75) * (30 - current_season_games) / (38 - 12)) # 0.75\n",
"WEIGHT_mul_gk = 2\n",
"\n",
"rcsv = pd.read_csv('config/affine_players.txt') \n",
"affine_players = pd.DataFrame(rcsv)\n",
"affine_players = affine_players.set_index('player')\n",
"\n",
"\n",
"def calc_weight(games_curr, games_old, same_team = 1, maxgames = current_season_games):\n",
" if(same_team):\n",
" weight_0 = WEIGHT_0_same_team\n",
" else:\n",
" weight_0 = WEIGHT_0_different_team\n",
"\n",
" weight = weight_0 * (games_curr / maxgames) / (max(games_old, 1) / 38)\n",
" weight = min(weight, 1)\n",
"\n",
" return abs(weight)\n",
"\n",
"print(' ')\n",
"print('Averaging players stats with past seasons:')\n",
"\n",
"\n",
"for i in range(players.shape[0]):\n",
" p = players.index[i]\n",
" \n",
"\n",
" if(p in players_old.index or p in affine_players.index):\n",
" p_ = p\n",
" affine = 0\n",
" \n",
" if(p in affine_players.index):\n",
" affine = 1\n",
" p_ = affine_players.loc[p]['alike']\n",
" \n",
" print(p + ' affine to ' + p_)\n",
" \n",
" if(players.loc[p]['r'] == 'P'):\n",
" weight = calc_weight(players.loc[p]['gk_games'], players_old.loc[p_]['gk_games'], affine == 1 or players.loc[p]['team'] == players_old.loc[p]['team'])\n",
" weight *= WEIGHT_mul_gk\n",
" weight = min(weight, 1)\n",
" else:\n",
" weight = calc_weight(players.loc[p]['games'], players_old.loc[p_]['games'], affine == 1 or players.loc[p]['team'] == players_old.loc[p]['team'])\n",
"\n",
" players.at[p, cols_toadapt] = (players.loc[p][cols_toadapt] * weight + (1-weight) * players_old.loc[p_][cols_toadapt])\n",
" \n",
" print(p + ' ' + str(weight)) \n",
" elif(p in rookies_data.index):\n",
" p_ = p\n",
" weight = calc_weight(players.loc[p]['games'], rookies_data.loc[p_]['games'], False)\n",
" players.at[p, cols_toadapt_rookies] = (players.loc[p][cols_toadapt_rookies] * weight + (1-weight) * rookies_data.loc[p_][cols_toadapt_rookies])\n",
" \n",
" print(p + ' ' + str(weight) + ' (rookie)') \n",
"\n",
" \n",
" # to handle players like Scamacca, who only played 2 seasons ago; only outfield players\n",
" if(players.loc[p]['r'] != 'P' and players.loc[p]['games'] < min_games and p in players_old_2.index): \n",
" weight = calc_weight(players.loc[p]['games'], players_old_2.loc[p]['games'], players.loc[p]['team'] == players_old_2.loc[p]['team'])\n",
" \n",
" players.at[p, cols_toadapt] = (players.loc[p][cols_toadapt] * weight + (1-weight) * players_old_2.loc[p][cols_toadapt])\n",
" \n",
" print(p + ' ' + str(weight) + ' (two seasons ago)')\n",
" \n",
" \n",
"# handle players with low quantitites of games\n",
"\n",
"print('Players with low quantity of games:')\n",
"\n",
"def calc_weight_low(current_games, min_games = min_games):\n",
" weight = 1 - (min_games - current_games)/min_games\n",
" \n",
" weight = min(weight, 1)\n",
"\n",
" return abs(weight)\n",
"\n",
"#mean_players_stats = players_orig[players_orig['games'] >= min_games][cols_toadapt].mean()\n",
"\n",
"\n",
"# mean players stats based on old season\n",
"\n",
"mean_players_stats = players_old.loc[players_orig.index[0]][cols_toadapt] * 0\n",
"count = 0\n",
"\n",
"for i in range(players_old.shape[0]):\n",
" if(players_old['games'][i] >= min_games and (players_old['r'][i] == 'D')): # counting only defenders, to add a penalty\n",
" mean_players_stats += players_old.loc[players_old.index[i]][cols_toadapt]\n",
" count = count + 1\n",
" \n",
"mean_players_stats /= count\n",
"\n",
"for i in range(players.shape[0]):\n",
" p = players.index[i]\n",
" \n",
" if(players.loc[p]['games'] < min_games and players.loc[p]['r'] != 'P'):\n",
" weight = calc_weight_low(players.loc[p]['games'])\n",
" \n",
" players.at[p, cols_toadapt] = players.loc[p][cols_toadapt] * weight + (1-weight) * mean_players_stats\n",
" \n",
" print(p + ' ' + str(weight))\n",
" \n",
" \n",
"players_out = players.copy()\n",
"players_out = players_out.set_index(players_out.columns[0])\n",
"players_out.insert(2, 'name', players_out.index)\n",
"players_out.to_excel('mid_outputs/players_stats_rwk.xlsx')\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "49c28b07",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['games', 'games_starts', 'minutes', 'goals', 'assists', 'pens_made',\n",
" 'pens_att', 'cards_yellow', 'cards_red', 'goals_per90',\n",
" ...\n",
" 'gk_pct_goal_kicks_launched', 'gk_goal_kick_length_avg', 'gk_crosses',\n",
" 'gk_crosses_stopped', 'gk_crosses_stopped_pct',\n",
" 'gk_def_actions_outside_pen_area',\n",
" 'gk_def_actions_outside_pen_area_per90', 'gk_avg_distance_def_actions',\n",
" 'vote_avg', 'vote_std'],\n",
" dtype='object', length=151)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"players.columns[9:]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "d29102e5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 - matchday\n",
"1 - player\n",
"2 - team\n",
"3 - oppteam\n",
"4 - home\n",
"5 - vote\n",
"6 - goals\n",
"7 - assists\n",
"8 - cards_malus\n",
"9 - fantavote\n",
"10 - r\n",
"11 - games\n",
"12 - games_starts\n",
"13 - minutes\n",
"14 - shots_on_target_pct\n",
"15 - goals_per_shot\n",
"16 - goals_per_shot_on_target\n",
"17 - passes_pct\n",
"18 - aerials_won_pct\n",
"19 - team_possession\n",
"20 - team_goals_assists_per90\n",
"21 - team_goals_pens_per90\n",
"22 - team_goals_assists_pens_per90\n",
"23 - team_xg_per90\n",
"24 - team_gk_goals_against_per90\n",
"25 - team_gk_save_pct\n",
"26 - team_gk_clean_sheets_pct\n",
"27 - team_passes_pct\n",
"28 - team_passes_pct_medium\n",
"29 - team_passes_pct_long\n",
"30 - team_sca_per90\n",
"31 - team_gca_per90\n",
"32 - team_aerials_won_pct\n",
"33 - vs_team_possession\n",
"34 - vs_team_goals_per90\n",
"35 - vs_team_assists_per90\n",
"36 - vs_team_xg_per90\n",
"37 - vs_team_gk_save_pct\n",
"38 - vs_team_gk_clean_sheets_pct\n",
"39 - vs_team_gk_pct_passes_launched\n",
"40 - vs_team_gk_crosses_stopped_pct\n",
"41 - vs_team_shots_on_target_per90\n",
"42 - vs_team_passes_pct\n",
"43 - vs_team_passes_pct_short\n",
"44 - vs_team_passes_pct_medium\n",
"45 - vs_team_passes_pct_long\n",
"46 - vs_team_sca_per90\n",
"47 - vs_team_gca_per90\n",
"48 - vs_team_aerials_won_pct\n",
"49 - opp_team_possession\n",
"50 - opp_team_goals_assists_per90\n",
"51 - opp_team_goals_pens_per90\n",
"52 - opp_team_goals_assists_pens_per90\n",
"53 - opp_team_xg_per90\n",
"54 - opp_team_gk_goals_against_per90\n",
"55 - opp_team_gk_save_pct\n",
"56 - opp_team_gk_clean_sheets_pct\n",
"57 - opp_team_passes_pct\n",
"58 - opp_team_passes_pct_medium\n",
"59 - opp_team_passes_pct_long\n",
"60 - opp_team_sca_per90\n",
"61 - opp_team_gca_per90\n",
"62 - opp_team_aerials_won_pct\n",
"63 - opp_vs_team_possession\n",
"64 - opp_vs_team_goals_per90\n",
"65 - opp_vs_team_assists_per90\n",
"66 - opp_vs_team_xg_per90\n",
"67 - opp_vs_team_gk_save_pct\n",
"68 - opp_vs_team_gk_clean_sheets_pct\n",
"69 - opp_vs_team_gk_pct_passes_launched\n",
"70 - opp_vs_team_gk_crosses_stopped_pct\n",
"71 - opp_vs_team_shots_on_target_per90\n",
"72 - opp_vs_team_passes_pct\n",
"73 - opp_vs_team_passes_pct_short\n",
"74 - opp_vs_team_passes_pct_medium\n",
"75 - opp_vs_team_passes_pct_long\n",
"76 - opp_vs_team_sca_per90\n",
"77 - opp_vs_team_gca_per90\n",
"78 - opp_vs_team_aerials_won_pct\n",
"79 - vote_avg\n",
"80 - vote_std\n",
"81 - goals.1\n",
"82 - assists.1\n",
"83 - cards_yellow\n",
"84 - cards_red\n",
"85 - xg\n",
"86 - npxg\n",
"87 - shots_on_target\n",
"88 - passes_completed\n",
"89 - passes_into_final_third\n",
"90 - passes_into_penalty_area\n",
"91 - progressive_passes\n",
"92 - passes_live\n",
"93 - passes_dead\n",
"94 - through_balls\n",
"95 - passes_switches\n",
"96 - crosses\n",
"97 - corner_kicks\n",
"98 - blocks\n",
"99 - blocked_shots\n",
"100 - blocked_passes\n",
"101 - interceptions\n",
"102 - clearances\n",
"103 - errors\n",
"104 - touches\n",
"105 - touches_def_pen_area\n",
"106 - touches_def_3rd\n",
"107 - touches_mid_3rd\n",
"108 - touches_att_3rd\n",
"109 - touches_att_pen_area\n",
"110 - touches_live_ball\n",
"111 - passes_received\n",
"112 - miscontrols\n",
"113 - dispossessed\n",
"114 - fouls\n",
"115 - fouled\n",
"116 - aerials_won\n",
"117 - aerials_lost\n",
"118 - carries\n",
"119 - progressive_carries\n",
"120 - carries_into_final_third\n",
"121 - carries_into_penalty_area\n"
]
}
],
"source": [
"for i in range(db.columns.shape[0]):\n",
" print(str(i) + \" - \" + str(db.columns[i]))"
]
},
{
"cell_type": "markdown",
"id": "089690d6",
"metadata": {},
"source": [
"Elaborate databases data to have X and y for training, and split into a train test and a validation test.\n",
"\n",
"For outfield players: X -> y = [vote, fantavote]\n",
"\n",
"For goalkeepers: X -> y = [vote, fantavote, clean sheet probability]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "f19304f6",
"metadata": {},
"outputs": [],
"source": [
"npdb = np.array(db)\n",
"\n",
"y = npdb[:, [5,9]] # vote, fantavote\n",
"\n",
"#y[:, 1] = y[:, 1] - y[:, 0] # target = difference between fantavote and vote\n",
"\n",
"f_start = 14\n",
"\n",
"X = npdb[:, f_start:]\n",
"\n",
"if(DEL_G): \n",
" del_g_idx = [\n",
" list(db.columns).index('goals.1') - f_start,\n",
" list(db.columns).index('assists.1') - f_start,\n",
" list(db.columns).index('xg') - f_start,\n",
" list(db.columns).index('npxg') - f_start,\n",
" list(db.columns).index('shots_on_target') - f_start]\n",
" \n",
" X[:, del_g_idx] = 0\n",
"\n",
"\n",
"# add role and home factor\n",
"toadd = np.zeros((X.shape[0], 4))\n",
"toadd[:, 0] = npdb[:, 4] # home\n",
"\n",
"toadd[:, 1] = npdb[:, 10] == 'D'\n",
"toadd[:, 2] = npdb[:, 10] == 'C'\n",
"toadd[:, 3] = npdb[:, 10] == 'A'\n",
"\n",
"X = np.concatenate((X, toadd), axis = 1)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "370d41d2",
"metadata": {},
"outputs": [],
"source": [
"scaler = StandardScaler()\n",
"scaler.fit(X)\n",
"\n",
"X_train_, X_test_, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 12)\n",
"\n",
"X_train = scaler.transform(X_train_)\n",
"X_test = scaler.transform(X_test_)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "a7b1fb52",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 - matchday\n",
"1 - player\n",
"2 - team\n",
"3 - oppteam\n",
"4 - home\n",
"5 - vote\n",
"6 - goals\n",
"7 - assists\n",
"8 - cards_malus\n",
"9 - fantavote\n",
"10 - gk_games\n",
"11 - gk_games_starts\n",
"12 - gk_minutes\n",
"13 - gk_goals_against_per90\n",
"14 - gk_save_pct\n",
"15 - gk_clean_sheets_pct\n",
"16 - gk_psxg_net_per90\n",
"17 - gk_passes_pct_launched\n",
"18 - gk_pct_passes_launched\n",
"19 - gk_passes_length_avg\n",
"20 - gk_pct_goal_kicks_launched\n",
"21 - gk_goal_kick_length_avg\n",
"22 - gk_crosses_stopped_pct\n",
"23 - gk_def_actions_outside_pen_area_per90\n",
"24 - gk_avg_distance_def_actions\n",
"25 - team_possession\n",
"26 - team_goals_assists_per90\n",
"27 - team_goals_pens_per90\n",
"28 - team_goals_assists_pens_per90\n",
"29 - team_xg_per90\n",
"30 - team_gk_goals_against_per90\n",
"31 - team_gk_save_pct\n",
"32 - team_gk_clean_sheets_pct\n",
"33 - team_passes_pct\n",
"34 - team_passes_pct_medium\n",
"35 - team_passes_pct_long\n",
"36 - team_sca_per90\n",
"37 - team_gca_per90\n",
"38 - team_aerials_won_pct\n",
"39 - vs_team_possession\n",
"40 - vs_team_goals_per90\n",
"41 - vs_team_assists_per90\n",
"42 - vs_team_xg_per90\n",
"43 - vs_team_gk_save_pct\n",
"44 - vs_team_gk_clean_sheets_pct\n",
"45 - vs_team_gk_pct_passes_launched\n",
"46 - vs_team_gk_crosses_stopped_pct\n",
"47 - vs_team_shots_on_target_per90\n",
"48 - vs_team_passes_pct\n",
"49 - vs_team_passes_pct_short\n",
"50 - vs_team_passes_pct_medium\n",
"51 - vs_team_passes_pct_long\n",
"52 - vs_team_sca_per90\n",
"53 - vs_team_gca_per90\n",
"54 - vs_team_aerials_won_pct\n",
"55 - opp_team_possession\n",
"56 - opp_team_goals_assists_per90\n",
"57 - opp_team_goals_pens_per90\n",
"58 - opp_team_goals_assists_pens_per90\n",
"59 - opp_team_xg_per90\n",
"60 - opp_team_gk_goals_against_per90\n",
"61 - opp_team_gk_save_pct\n",
"62 - opp_team_gk_clean_sheets_pct\n",
"63 - opp_team_passes_pct\n",
"64 - opp_team_passes_pct_medium\n",
"65 - opp_team_passes_pct_long\n",
"66 - opp_team_sca_per90\n",
"67 - opp_team_gca_per90\n",
"68 - opp_team_aerials_won_pct\n",
"69 - opp_vs_team_possession\n",
"70 - opp_vs_team_goals_per90\n",
"71 - opp_vs_team_assists_per90\n",
"72 - opp_vs_team_xg_per90\n",
"73 - opp_vs_team_gk_save_pct\n",
"74 - opp_vs_team_gk_clean_sheets_pct\n",
"75 - opp_vs_team_gk_pct_passes_launched\n",
"76 - opp_vs_team_gk_crosses_stopped_pct\n",
"77 - opp_vs_team_shots_on_target_per90\n",
"78 - opp_vs_team_passes_pct\n",
"79 - opp_vs_team_passes_pct_short\n",
"80 - opp_vs_team_passes_pct_medium\n",
"81 - opp_vs_team_passes_pct_long\n",
"82 - opp_vs_team_sca_per90\n",
"83 - opp_vs_team_gca_per90\n",
"84 - opp_vs_team_aerials_won_pct\n",
"85 - vote_avg\n",
"86 - vote_std\n",
"87 - gk_shots_on_target_against\n",
"88 - gk_saves\n",
"89 - gk_free_kick_goals_against\n",
"90 - gk_corner_kick_goals_against\n",
"91 - gk_own_goals_against\n",
"92 - gk_psxg\n",
"93 - gk_psnpxg_per_shot_on_target_against\n",
"94 - gk_psxg_net\n",
"95 - gk_passes_completed_launched\n",
"96 - gk_passes_launched\n",
"97 - gk_passes\n",
"98 - gk_passes_throws\n",
"99 - gk_goal_kicks\n",
"100 - gk_crosses\n",
"101 - gk_crosses_stopped\n"
]
}
],
"source": [
"for i in range(db_gk.columns.shape[0]):\n",
" print(str(i) + \" - \" + str(db_gk.columns[i]))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "5a7cf079",
"metadata": {},
"outputs": [],
"source": [
"npdb_gk= np.array(db_gk)\n",
"\n",
"y_gk = npdb_gk[:, [5,9,6]] # vote, fantavote, goals == 0 (clean sheet)\n",
"y_gk[:, 2] = (y_gk[:, 2] == 0) * 1\n",
"\n",
"f_start_gk = 13\n",
"\n",
"X_gk = npdb_gk[:, f_start_gk:]\n",
"\n",
"# add home factor\n",
"toadd_gk = np.zeros((X_gk.shape[0], 1))\n",
"toadd_gk[:, 0] = npdb_gk[:, 4] # home\n",
"\n",
"X_gk = np.concatenate((X_gk, toadd_gk), axis = 1)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "0bc0568b",
"metadata": {},
"outputs": [],
"source": [
"scaler_gk = StandardScaler()\n",
"scaler_gk.fit(X_gk)\n",
"\n",
"X_gk_train_, X_gk_test_, y_gk_train, y_gk_test = train_test_split(X_gk, y_gk, test_size = 0.2, random_state = 18)\n",
"\n",
"X_gk_train = scaler_gk.transform(X_gk_train_)\n",
"X_gk_test = scaler_gk.transform(X_gk_test_)"
]
},
{
"cell_type": "markdown",
"id": "ebd27493",
"metadata": {},
"source": [
"MLP Regressor , to see performance of a simple neural network"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "04564bee",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\nicol\\anaconda3\\lib\\site-packages\\sklearn\\neural_network\\_multilayer_perceptron.py:549: ConvergenceWarning: lbfgs failed to converge (status=2):\n",
"ABNORMAL_TERMINATION_IN_LNSRCH.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
" self.n_iter_ = _check_optimize_result(\"lbfgs\", opt_res, self.max_iter)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.15507286428738876\n",
"0.18856961333473798\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.1354212153815001\n",
"0.17392551015116653\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"regr = MLPRegressor(max_iter = 400000, solver = 'lbfgs', hidden_layer_sizes = (8, 8), alpha = 500, verbose = True)\n",
"\n",
"regr.fit(X_train, y_train)\n",
"\n",
"\n",
"y_train_predict = regr.predict(X_train)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_train[:, 0], y_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_train[:, 1], y_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_train[:, 0], y_train_predict[:, 0]))\n",
"print(r2_score(y_train[:, 1], y_train_predict[:, 1]))\n",
"\n",
"\n",
"plt.show()\n",
"\n",
"y_test_predict = regr.predict(X_test)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_test[:, 0], y_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_test[:, 1], y_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_test[:, 0], y_test_predict[:, 0]))\n",
"print(r2_score(y_test[:, 1], y_test_predict[:, 1]))\n",
"\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "f9513b25",
"metadata": {},
"source": [
"Train neural network for outfield players.\n",
"\n",
"The outputs of the NN are probability distribution of SinhArcsinh type (a skewed distribution, which is a generalization of Gaussian)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "8aad9652",
"metadata": {},
"outputs": [],
"source": [
"load_model_of = True# load scaler and model weights for outfield player predictor\n",
"refit_model_of = False\n",
"\n",
"if(load_model_of):\n",
" scaler = pickle.load(open('saves/scaler.pkl', 'rb'))\n",
" \n",
" X_train = scaler.transform(X_train_)\n",
" X_test = scaler.transform(X_test_)\n",
"\n",
"\n",
"n_epochs = 1000\n",
"\n",
"n_samples = X_train.shape[0]\n",
"\n",
"batch_size = 256\n",
"\n",
"X_len = X_train.shape[1]\n",
"y_len = y_train.shape[1]\n",
"\n",
"\n",
"#tailweight_param = 1.1\n",
"\n",
"tailweight_min = 0.5\n",
"tailweight_range = 1.2\n",
"\n",
"\n",
"callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience = 10)\n",
"neg_log_likelihood = lambda x, rv_x: -rv_x.log_prob(x)\n",
"\n",
"\n",
"inputs = tfk.layers.Input(shape=(X_len,), name=\"input\")\n",
"x = tfk.layers.Dropout(0.2)(inputs)\n",
"x = tfk.layers.Dense(16, activation=\"relu\") (x)\n",
"x = tfk.layers.Dropout(0.2)(x)\n",
"x = tfk.layers.Dense(16, activation=\"relu\") (x)\n",
"\n",
"\n",
"prob_dist_params = 4\n",
"\n",
"def prob_dist(t): \n",
" return tfp.distributions.SinhArcsinh(loc=t[..., 0], scale=1e-3 + tf.math.softplus(t[..., 1]), skewness = t[..., 2], \n",
" tailweight = tailweight_min + tailweight_range * tf.math.sigmoid(t[..., 3]),\n",
" allow_nan_stats = False)\n",
"\n",
"x1 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n",
"x1 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x1)\n",
"out_1 = tfp.layers.DistributionLambda(prob_dist)(x1)\n",
"\n",
"x2 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n",
"x2 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x2)\n",
"out_2 = tfp.layers.DistributionLambda(prob_dist)(x2)\n",
"\n",
"\n",
"modelb = tf.keras.Model(inputs, [out_1, out_2])\n",
"\n",
"modelb.compile(optimizer=tf.keras.optimizers.Nadam(learning_rate = 0.001), \n",
" loss=neg_log_likelihood)\n",
"\n",
"if(load_model_of):\n",
" modelb.load_weights('saves/modelb')\n",
" \n",
"if( (not load_model_of) or refit_model_of):\n",
" modelb.fit(X_train.astype('float32'), [y_train[:, 0].astype('float32'), y_train[:, 1].astype('float32')], \n",
" validation_data = (X_test.astype('float32'), [y_test[:, 0].astype('float32'), y_test[:, 1].astype('float32')]),\n",
" batch_size = batch_size, shuffle = True, epochs=n_epochs, verbose=True, callbacks = [callback])"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "4e2bf9dc",
"metadata": {},
"outputs": [],
"source": [
"def sample_predict(X, iterations = 100):\n",
" y = np.zeros((2, X.shape[0]))\n",
" \n",
" dist = modelb(X)\n",
" \n",
" for i in range(iterations):\n",
" y[0, :] += dist[0].sample()\n",
" y[1, :] += dist[1].sample()\n",
" \n",
" return y.transpose() / iterations\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "c2674211",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.14119796895209447\n",
"0.16628630402642608\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.12115597123709632\n",
"0.15401380855251512\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y_train_predict = sample_predict(X_train)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_train[:, 0], y_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_train[:, 1], y_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_train[:, 0], y_train_predict[:, 0]))\n",
"print(r2_score(y_train[:, 1], y_train_predict[:, 1]))\n",
"\n",
"plt.show()\n",
"\n",
"y_test_predict = sample_predict(X_test)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_test[:, 0], y_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_test[:, 1], y_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_test[:, 0], y_test_predict[:, 0]))\n",
"print(r2_score(y_test[:, 1], y_test_predict[:, 1]))\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "f574ffdb",
"metadata": {},
"source": [
"Train neural network for goalkeepers.\n",
"\n",
"For clean sheet probability prediction, a Bernoulli distribution is used."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "41e7e1ee",
"metadata": {},
"outputs": [],
"source": [
"load_model_gk = True# load scaler and model weights for goalkeeper player predictor\n",
"refit_model_gk = False\n",
"\n",
"if(load_model_gk):\n",
" scaler_gk = pickle.load(open('saves/scaler_gk.pkl', 'rb'))\n",
" \n",
" X_gk_train = scaler_gk.transform(X_gk_train_)\n",
" X_gk_test = scaler_gk.transform(X_gk_test_)\n",
" \n",
" \n",
"n_epochs = 2500\n",
"\n",
"n_samples = X_gk_train.shape[0]\n",
"\n",
"batch_size = 128\n",
"\n",
"X_gk_len = X_gk_train.shape[1]\n",
"y_gk_len = y_gk_train.shape[1]\n",
"\n",
"\n",
"#tailweight_param = 1.1\n",
"\n",
"tailweight_min = 0.5\n",
"tailweight_range = 0.8\n",
"\n",
"\n",
"callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience = 50)\n",
"neg_log_likelihood = lambda x, rv_x: -rv_x.log_prob(x)\n",
"\n",
"\n",
"inputs = tfk.layers.Input(shape=(X_gk_len,), name=\"input\")\n",
"x = tfk.layers.Dense(16, activation=\"relu\") (inputs)\n",
"x = tfk.layers.Dropout(0.3)(x)\n",
"x = tfk.layers.Dense(16, activation=\"relu\") (x)\n",
"\n",
"\n",
"prob_dist_params = 4\n",
"\n",
"def prob_dist(t): \n",
" return tfp.distributions.SinhArcsinh(loc=t[..., 0], scale=1e-3 + tf.math.softplus(t[..., 1]), skewness = t[..., 2], \n",
" tailweight = tailweight_min + tailweight_range * tf.math.sigmoid(t[..., 3]),\n",
" allow_nan_stats = False)\n",
"\n",
"x1 = tfk.layers.Dense(16, activation=\"sigmoid\")(x)\n",
"x1 = tfk.layers.Dropout(0.2)(x1)\n",
"x1 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x1)\n",
"out_1 = tfp.layers.DistributionLambda(prob_dist)(x1)\n",
"\n",
"x2 = tfk.layers.Dense(16, activation=\"sigmoid\")(x)\n",
"\n",
"x2 = tfk.layers.Dense(prob_dist_params, activation=\"linear\")(x2)\n",
"out_2 = tfp.layers.DistributionLambda(prob_dist)(x2)\n",
"\n",
"x3 = tfk.layers.Dense(8, activation=\"sigmoid\")(x)\n",
"x3 = tfk.layers.Dropout(0.2)(x3)\n",
"x3 = tfk.layers.Dense(1, activation=\"sigmoid\")(x3)\n",
"out_3 = tfp.layers.DistributionLambda(lambda t: tfp.distributions.Bernoulli(probs = t[..., 0]))(x3)\n",
"\n",
"modelb_gk = tf.keras.Model(inputs, [out_1, out_2, out_3])\n",
"\n",
"modelb_gk.compile(optimizer=tf.keras.optimizers.Nadam(learning_rate = 0.001), \n",
" loss=neg_log_likelihood)\n",
"\n",
"if(load_model_gk):\n",
" modelb_gk.load_weights('saves/modelb_gk')\n",
"\n",
"if( (not load_model_gk) or refit_model_gk): \n",
" modelb_gk.fit(X_gk_train.astype('float32'), [y_gk_train[:, 0].astype('float32'), y_gk_train[:, 1].astype('float32'), y_gk_train[:, 2].astype('int')], \n",
" validation_data = (X_gk_test.astype('float32'), [y_gk_test[:, 0].astype('float32'), y_gk_test[:, 1].astype('float32'), y_gk_test[:, 2].astype('int')]),\n",
" batch_size = batch_size, shuffle = True, epochs=n_epochs, verbose=True, callbacks = [callback])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "39a9bdc6",
"metadata": {},
"outputs": [],
"source": [
"def sample_predict_gk(X, iterations = 100):\n",
" y = np.zeros((3, X.shape[0]))\n",
" \n",
" dist = modelb_gk(X)\n",
" \n",
" for i in range(iterations):\n",
" y[0, :] += dist[0].sample()\n",
" y[1, :] += dist[1].sample()\n",
" y[2, :] += dist[2].sample()\n",
" \n",
" return y.transpose() / iterations\n"
]
},
{
"cell_type": "code",
"execution_count": 74,
"id": "c41cf448",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.08495805978919257\n",
"0.2863763629090701\n"
]
},
{
"data": {
"image/png": "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1Sr9/lQyaWlpHDp0SL9DFcwwDB5++GG++uorli9fTnx8vMf+QP/OaEioips4cSKjR48mMTGRXr168cEHH5CSksIDDzwQ6KbVWE8++STDhg2jefPmHD9+nJdeeonMzEzGjh0b6KbVOFlZWezZs8f1ev/+/WzevJmoqCiaN2/O448/ziuvvEJCQgIJCQm88sor1KpVi1GjRgWw1dWfr59LVFQUkyZN4tZbb6VJkyYcOHCAZ599loYNG3LzzTcHsNXV30MPPcRnn33G/PnziYiIcPWkREZGEh4ejsViCezvTIXPQ5IK98477xgtWrQwQkNDjW7durmmoElgjBw50mjSpIkREhJixMbGGrfccouxffv2QDerRlqxYoUBlPgaO3asYRjmNM0XXnjBiImJMWw2m9GnTx9j27ZtgW10DeDr53L27Flj4MCBRqNGjYyQkBCjefPmxtixY42UlJRAN7vaK+1nAhiffPKJ65hA/s5YChspIiIiUmkph0VEREQqPQUsIiIiUukpYBEREZFKTwGLiIiIVHoKWERERKTSU8AiIiIilZ4CFhEREan0FLCIiIhIpaeARURERCo9BSwiIiJS6SlgERERkUpPAYuIiIhUev8fgRQdiYi+n1sAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.029428706465254972\n",
"0.16360124606122328\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y_gk_train_predict = sample_predict_gk(X_gk_train)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_gk_train[:, 0], y_gk_train_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_gk_train[:, 1], y_gk_train_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_gk_train[:, 0], y_gk_train_predict[:, 0]))\n",
"print(r2_score(y_gk_train[:, 1], y_gk_train_predict[:, 1]))\n",
"\n",
"plt.show()\n",
"\n",
"y_gk_test_predict = sample_predict_gk(X_gk_test)\n",
"\n",
"plt.plot([0, 20], [0, 20])\n",
"\n",
"plt.scatter(y_gk_test[:, 0], y_gk_test_predict[:, 0], color = 'orange', edgecolors = 'black', s = 20)\n",
"plt.scatter(y_gk_test[:, 1], y_gk_test_predict[:, 1], color = 'green', edgecolors = 'black', s = 20)\n",
"\n",
"print(r2_score(y_gk_test[:, 0], y_gk_test_predict[:, 0]))\n",
"print(r2_score(y_gk_test[:, 1], y_gk_test_predict[:, 1]))\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "91869883",
"metadata": {},
"source": [
"Use the following codes to save the scalers and the model weights"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "cecf5392",
"metadata": {},
"outputs": [],
"source": [
"save_model_of = True\n",
"save_model_gk = True\n",
"\n",
"if(save_model_of):\n",
" pickle.dump(scaler, open('saves/scaler.pkl', 'wb'))\n",
" modelb.save_weights('saves/modelb')\n",
" \n",
"if(save_model_gk):\n",
" pickle.dump(scaler_gk, open('saves/scaler_gk.pkl', 'wb'))\n",
" modelb_gk.save_weights('saves/modelb_gk')\n",
" "
]
},
{
"cell_type": "markdown",
"id": "32635a0e",
"metadata": {},
"source": [
"Generalized prediction function for a player (playing for team against opp_team, at home or not)\n",
"\n",
"Estimate prediction mean and sigma (using a custom definitions).\n",
"\n",
"Generate a plot.\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "ddf433f9",
"metadata": {},
"outputs": [],
"source": [
"def vote_predict_NNb(player, team, opp_team, home = 1, plot = 0, log = 0, oldseason = False):\n",
" if(players['r'][player] == 'P'):\n",
" ptest = player_match_data_ext_gk(player, team, opp_team, oldseason = oldseason)\n",
"\n",
" x_ptest = np.array(ptest)[:, 3:]\n",
" r = np.array(ptest)[0, 0]\n",
"\n",
" # add home and role\n",
" xadd = np.zeros((1, 1))\n",
" xadd[0, 0] = home\n",
"\n",
" x_ptest = np.concatenate((x_ptest, xadd), axis = 1)\n",
"\n",
" x_scaled = scaler_gk.transform(x_ptest)\n",
"\n",
" dist = modelb_gk(x_scaled)\n",
" \n",
" clean_shoot_prob = dist[2].probs.numpy()[0]\n",
" else:\n",
" ptest = player_match_data_ext(player, team, opp_team, oldseason = oldseason)\n",
"\n",
" x_ptest = np.array(ptest)[:, 4:]\n",
" r = np.array(ptest)[0, 0]\n",
"\n",
" # add home and role\n",
" xadd = np.zeros((1, 4))\n",
" xadd[0, 0] = home\n",
" xadd[0, 1] = r == 'D'\n",
" xadd[0, 2] = r == 'C'\n",
" xadd[0, 3] = r == 'A'\n",
"\n",
" x_ptest = np.concatenate((x_ptest, xadd), axis = 1)\n",
"\n",
" x_scaled = scaler.transform(x_ptest)\n",
"\n",
" dist = modelb(x_scaled)\n",
" \n",
" \n",
" x = np.arange(0, 40, 0.002)\n",
"\n",
" px1 = dist[0].prob(x);\n",
" px2 = dist[1].prob(x);\n",
"\n",
" \n",
" #sample1 = dist[0].sample(10000)\n",
" #sample2 = dist[1].sample(10000)\n",
" \n",
" m1 = np.average(x, weights = px1)\n",
" m2 = np.average(x, weights = px2)\n",
" \n",
" #m1 = np.mean(sample1)\n",
" #m2 = np.mean(sample2)\n",
" \n",
" #s1 = np.std(sample1)\n",
" #s2 = np.std(sample2)\n",
" \n",
" # not standard deviation, but expected range extimated by quantile \n",
" \n",
" if(players['r'][player] == 'P'):\n",
" s1 = ( dist[0].quantile(0.9545) - m1 ) / 2\n",
" s2 = -( dist[1].quantile(1 - 0.9) - m2 ) / 2\n",
" else:\n",
" s1 = ( dist[0].quantile(0.9545) - m1 ) / 2\n",
" s2 = ( dist[1].quantile(0.9) - m2 ) / 2\n",
" \n",
"\n",
" \n",
" #y_pred_m = np.array([dist[0].loc, dist[1].loc]).flatten()\n",
" y_pred_m = np.array([m1, m2]).flatten()\n",
" #y_pred_s = np.array([dist[0].scale, dist[1].scale]).flatten()\n",
" y_pred_s = np.array([s1, s2]).flatten()\n",
" \n",
" clean_sheet_text = ''\n",
" if(players['r'][player] == 'P'):\n",
" clean_sheet_text = ' (' + \"{:.1f}\".format(clean_shoot_prob*100) + '% cs)'\n",
" \n",
" if(plot):\n",
" ax = plt.gca()\n",
" \n",
" plt.plot(x, px1, \n",
" label = 'MV ' + \"{:.2f}\".format(y_pred_m[0]) + ' ± ' + \"{:.2f}\".format(2 * y_pred_s[0]),\n",
" color = 'b')\n",
" plt.plot(x, px2, \n",
" label = 'FV ' + \"{:.2f}\".format(y_pred_m[1]) + ' + ' + \"{:.2f}\".format(2 * y_pred_s[1]) + clean_sheet_text,\n",
" color = 'g')\n",
" \n",
" plt.fill_between(x, px1, color = 'lightblue')\n",
" plt.fill_between(x, px2, color = 'lightgreen')\n",
" \n",
" plt.legend()\n",
" \n",
" plt.vlines(x = y_pred_m[0], color = 'b', ymin = 0, ymax = 3, linestyle = 'dashed')\n",
" plt.vlines(x = y_pred_m[1], color = 'g', ymin = 0, ymax = 3, linestyle = 'dashed')\n",
" \n",
" plt.title(player + ' (' + team + ' vs ' + opp_team + ')')\n",
" \n",
" plt.xlim([0, 15])\n",
" \n",
" if(players['r'][player] == 'P'): \n",
" plt.ylim([0, 2.5])\n",
" else:\n",
" plt.ylim([0, 1.5])\n",
" \n",
" plt.show()\n",
" \n",
" if(log):\n",
" print(player + ': ' + \n",
" 'MV ' + \"{:.2f}\".format(y_pred_m[0]) + ' ± ' + \"{:.2f}\".format(2 * y_pred_s[0]) +\n",
" '; FV ' + \"{:.2f}\".format(y_pred_m[1]) + ' + ' + \"{:.2f}\".format(2 * y_pred_s[1]) + clean_sheet_text);\n",
" return [y_pred_m, y_pred_s, dist]\n"
]
},
{
"cell_type": "markdown",
"id": "98817aa0",
"metadata": {},
"source": [
"Load Serie A calendar. "
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "d31bad38",
"metadata": {},
"outputs": [],
"source": [
"cal = np.array(pd.read_excel('fantacalcio/seriea_calendar.xlsx', header = None))\n",
"\n",
"cal_df = pd.DataFrame(columns = ['matchday', 'team1', 'team2'])\n",
"\n",
"matchday = 0\n",
"\n",
"for i in range(cal.shape[0]):\n",
" if(cal[i, 0][0].isnumeric()):\n",
" matchday = matchday + 1\n",
" continue\n",
" \n",
" teams = cal[i, 0].split('-')\n",
" \n",
" frame = pd.DataFrame([[matchday, teams[0], teams[1]]], columns = cal_df.columns)\n",
"\n",
" cal_df = pd.concat([cal_df, frame], ignore_index = True)\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "62b9f588",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" matchday team1 team2\n",
"0 1 Bologna Milan\n",
"1 1 Empoli Verona\n",
"2 1 Frosinone Napoli\n",
"3 1 Genoa Fiorentina\n",
"4 1 Inter Monza\n",
"5 1 Lecce Lazio\n",
"6 1 Roma Salernitana\n",
"7 1 Sassuolo Atalanta\n",
"8 1 Torino Cagliari\n",
"9 1 Udinese Juventus\n",
"10 2 Cagliari Inter\n",
"11 2 Fiorentina Lecce\n",
"12 2 Frosinone Atalanta\n",
"13 2 Verona Roma\n",
"14 2 Juventus Bologna\n",
"15 2 Lazio Genoa\n",
"16 2 Milan Torino\n",
"17 2 Monza Empoli\n",
"18 2 Napoli Sassuolo\n",
"19 2 Salernitana Udinese\n",
"20 3 Atalanta Monza\n",
"21 3 Bologna Cagliari\n",
"22 3 Empoli Juventus\n",
"23 3 Inter Fiorentina\n",
"24 3 Lecce Salernitana\n",
"25 3 Napoli Lazio\n",
"26 3 Roma Milan\n",
"27 3 Sassuolo Verona\n",
"28 3 Torino Genoa\n",
"29 3 Udinese Frosinone\n",
"30 4 Cagliari Udinese\n",
"31 4 Fiorentina Atalanta\n",
"32 4 Frosinone Sassuolo\n",
"33 4 Genoa Napoli\n",
"34 4 Verona Bologna\n",
"35 4 Inter Milan\n",
"36 4 Juventus Lazio\n",
"37 4 Monza Lecce\n",
"38 4 Roma Empoli\n",
"39 4 Salernitana Torino\n",
"40 5 Atalanta Cagliari\n",
"41 5 Bologna Napoli\n",
"42 5 Empoli Inter\n",
"43 5 Lazio Monza\n",
"44 5 Lecce Genoa\n",
"45 5 Milan Verona\n",
"46 5 Salernitana Frosinone\n",
"47 5 Sassuolo Juventus\n",
"48 5 Torino Roma\n",
"49 5 Udinese Fiorentina\n",
"50 6 Cagliari Milan\n",
"51 6 Empoli Salernitana\n",
"52 6 Frosinone Fiorentina\n",
"53 6 Genoa Roma\n",
"54 6 Verona Atalanta\n",
"55 6 Inter Sassuolo\n",
"56 6 Juventus Lecce\n",
"57 6 Lazio Torino\n",
"58 6 Monza Bologna\n",
"59 6 Napoli Udinese\n",
"60 7 Atalanta Juventus\n",
"61 7 Bologna Empoli\n",
"62 7 Fiorentina Cagliari\n",
"63 7 Lecce Napoli\n",
"64 7 Milan Lazio\n",
"65 7 Roma Frosinone\n",
"66 7 Salernitana Inter\n",
"67 7 Sassuolo Monza\n",
"68 7 Torino Verona\n",
"69 7 Udinese Genoa\n",
"70 8 Cagliari Roma\n",
"71 8 Empoli Udinese\n",
"72 8 Frosinone Verona\n",
"73 8 Genoa Milan\n",
"74 8 Inter Bologna\n",
"75 8 Juventus Torino\n",
"76 8 Lazio Atalanta\n",
"77 8 Lecce Sassuolo\n",
"78 8 Monza Salernitana\n",
"79 8 Napoli Fiorentina\n",
"80 9 Atalanta Genoa\n",
"81 9 Bologna Frosinone\n",
"82 9 Fiorentina Empoli\n",
"83 9 Verona Napoli\n",
"84 9 Milan Juventus\n",
"85 9 Roma Monza\n",
"86 9 Salernitana Cagliari\n",
"87 9 Sassuolo Lazio\n",
"88 9 Torino Inter\n",
"89 9 Udinese Lecce\n",
"90 10 Cagliari Frosinone\n",
"91 10 Empoli Atalanta\n",
"92 10 Genoa Salernitana\n",
"93 10 Inter Roma\n",
"94 10 Juventus Verona\n",
"95 10 Lazio Fiorentina\n",
"96 10 Lecce Torino\n",
"97 10 Monza Udinese\n",
"98 10 Napoli Milan\n",
"99 10 Sassuolo Bologna\n",
"100 11 Atalanta Inter\n",
"101 11 Bologna Lazio\n",
"102 11 Cagliari Genoa\n",
"103 11 Fiorentina Juventus\n",
"104 11 Frosinone Empoli\n",
"105 11 Verona Monza\n",
"106 11 Milan Udinese\n",
"107 11 Roma Lecce\n",
"108 11 Salernitana Napoli\n",
"109 11 Torino Sassuolo\n",
"110 12 Fiorentina Bologna\n",
"111 12 Genoa Verona\n",
"112 12 Inter Frosinone\n",
"113 12 Juventus Cagliari\n",
"114 12 Lazio Roma\n",
"115 12 Lecce Milan\n",
"116 12 Monza Torino\n",
"117 12 Napoli Empoli\n",
"118 12 Sassuolo Salernitana\n",
"119 12 Udinese Atalanta\n",
"120 13 Atalanta Napoli\n",
"121 13 Bologna Torino\n",
"122 13 Cagliari Monza\n",
"123 13 Empoli Sassuolo\n",
"124 13 Frosinone Genoa\n",
"125 13 Verona Lecce\n",
"126 13 Juventus Inter\n",
"127 13 Milan Fiorentina\n",
"128 13 Roma Udinese\n",
"129 13 Salernitana Lazio\n",
"130 14 Fiorentina Salernitana\n",
"131 14 Genoa Empoli\n",
"132 14 Lazio Cagliari\n",
"133 14 Lecce Bologna\n",
"134 14 Milan Frosinone\n",
"135 14 Monza Juventus\n",
"136 14 Napoli Inter\n",
"137 14 Sassuolo Roma\n",
"138 14 Torino Atalanta\n",
"139 14 Udinese Verona\n",
"140 15 Atalanta Milan\n",
"141 15 Cagliari Sassuolo\n",
"142 15 Empoli Lecce\n",
"143 15 Frosinone Torino\n",
"144 15 Verona Lazio\n",
"145 15 Inter Udinese\n",
"146 15 Juventus Napoli\n",
"147 15 Monza Genoa\n",
"148 15 Roma Fiorentina\n",
"149 15 Salernitana Bologna\n",
"150 16 Atalanta Salernitana\n",
"151 16 Bologna Roma\n",
"152 16 Fiorentina Verona\n",
"153 16 Genoa Juventus\n",
"154 16 Lazio Inter\n",
"155 16 Lecce Frosinone\n",
"156 16 Milan Monza\n",
"157 16 Napoli Cagliari\n",
"158 16 Torino Empoli\n",
"159 16 Udinese Sassuolo\n",
"160 17 Bologna Atalanta\n",
"161 17 Empoli Lazio\n",
"162 17 Frosinone Juventus\n",
"163 17 Verona Cagliari\n",
"164 17 Inter Lecce\n",
"165 17 Monza Fiorentina\n",
"166 17 Roma Napoli\n",
"167 17 Salernitana Milan\n",
"168 17 Sassuolo Genoa\n",
"169 17 Torino Udinese\n",
"170 18 Atalanta Lecce\n",
"171 18 Cagliari Empoli\n",
"172 18 Fiorentina Torino\n",
"173 18 Genoa Inter\n",
"174 18 Verona Salernitana\n",
"175 18 Juventus Roma\n",
"176 18 Milan Sassuolo\n",
"177 18 Udinese Bologna\n",
"178 18 Lazio Frosinone\n",
"179 18 Napoli Monza\n",
"180 19 Bologna Genoa\n",
"181 19 Empoli Milan\n",
"182 19 Frosinone Monza\n",
"183 19 Roma Atalanta\n",
"184 19 Lecce Cagliari\n",
"185 19 Sassuolo Fiorentina\n",
"186 19 Inter Verona\n",
"187 19 Salernitana Juventus\n",
"188 19 Udinese Lazio\n",
"189 19 Torino Napoli\n",
"190 20 Atalanta Frosinone\n",
"191 20 Cagliari Bologna\n",
"192 20 Fiorentina Udinese\n",
"193 20 Genoa Torino\n",
"194 20 Verona Empoli\n",
"195 20 Juventus Sassuolo\n",
"196 20 Lazio Lecce\n",
"197 20 Milan Roma\n",
"198 20 Monza Inter\n",
"199 20 Napoli Salernitana\n",
"200 21 Bologna Fiorentina\n",
"201 21 Empoli Monza\n",
"202 21 Frosinone Cagliari\n",
"203 21 Inter Atalanta\n",
"204 21 Lecce Juventus\n",
"205 21 Roma Verona\n",
"206 21 Salernitana Genoa\n",
"207 21 Sassuolo Napoli\n",
"208 21 Torino Lazio\n",
"209 21 Udinese Milan\n",
"210 22 Atalanta Udinese\n",
"211 22 Cagliari Torino\n",
"212 22 Fiorentina Inter\n",
"213 22 Genoa Lecce\n",
"214 22 Verona Frosinone\n",
"215 22 Juventus Empoli\n",
"216 22 Lazio Napoli\n",
"217 22 Milan Bologna\n",
"218 22 Monza Sassuolo\n",
"219 22 Salernitana Roma\n",
"220 23 Atalanta Lazio\n",
"221 23 Bologna Sassuolo\n",
"222 23 Empoli Genoa\n",
"223 23 Frosinone Milan\n",
"224 23 Inter Juventus\n",
"225 23 Lecce Fiorentina\n",
"226 23 Napoli Verona\n",
"227 23 Roma Cagliari\n",
"228 23 Torino Salernitana\n",
"229 23 Udinese Monza\n",
"230 24 Bologna Lecce\n",
"231 24 Cagliari Lazio\n",
"232 24 Fiorentina Frosinone\n",
"233 24 Genoa Atalanta\n",
"234 24 Juventus Udinese\n",
"235 24 Milan Napoli\n",
"236 24 Monza Verona\n",
"237 24 Roma Inter\n",
"238 24 Salernitana Empoli\n",
"239 24 Sassuolo Torino\n",
"240 25 Atalanta Sassuolo\n",
"241 25 Empoli Fiorentina\n",
"242 25 Frosinone Roma\n",
"243 25 Verona Juventus\n",
"244 25 Inter Salernitana\n",
"245 25 Lazio Bologna\n",
"246 25 Monza Milan\n",
"247 25 Napoli Genoa\n",
"248 25 Torino Lecce\n",
"249 25 Udinese Cagliari\n",
"250 26 Bologna Verona\n",
"251 26 Cagliari Napoli\n",
"252 26 Fiorentina Lazio\n",
"253 26 Genoa Udinese\n",
"254 26 Juventus Frosinone\n",
"255 26 Lecce Inter\n",
"256 26 Milan Atalanta\n",
"257 26 Roma Torino\n",
"258 26 Salernitana Monza\n",
"259 26 Sassuolo Empoli\n",
"260 27 Atalanta Bologna\n",
"261 27 Empoli Cagliari\n",
"262 27 Frosinone Lecce\n",
"263 27 Verona Sassuolo\n",
"264 27 Inter Genoa\n",
"265 27 Lazio Milan\n",
"266 27 Monza Roma\n",
"267 27 Napoli Juventus\n",
"268 27 Torino Fiorentina\n",
"269 27 Udinese Salernitana\n",
"270 28 Bologna Inter\n",
"271 28 Cagliari Salernitana\n",
"272 28 Fiorentina Roma\n",
"273 28 Genoa Monza\n",
"274 28 Juventus Atalanta\n",
"275 28 Lazio Udinese\n",
"276 28 Lecce Verona\n",
"277 28 Milan Empoli\n",
"278 28 Napoli Torino\n",
"279 28 Sassuolo Frosinone\n",
"280 29 Atalanta Fiorentina\n",
"281 29 Empoli Bologna\n",
"282 29 Frosinone Lazio\n",
"283 29 Verona Milan\n",
"284 29 Inter Napoli\n",
"285 29 Juventus Genoa\n",
"286 29 Monza Cagliari\n",
"287 29 Roma Sassuolo\n",
"288 29 Salernitana Lecce\n",
"289 29 Udinese Torino\n",
"290 30 Bologna Salernitana\n",
"291 30 Cagliari Verona\n",
"292 30 Fiorentina Milan\n",
"293 30 Genoa Frosinone\n",
"294 30 Inter Empoli\n",
"295 30 Lazio Juventus\n",
"296 30 Lecce Roma\n",
"297 30 Napoli Atalanta\n",
"298 30 Sassuolo Udinese\n",
"299 30 Torino Monza\n",
"300 31 Cagliari Atalanta\n",
"301 31 Empoli Torino\n",
"302 31 Frosinone Bologna\n",
"303 31 Verona Genoa\n",
"304 31 Juventus Fiorentina\n",
"305 31 Milan Lecce\n",
"306 31 Monza Napoli\n",
"307 31 Roma Lazio\n",
"308 31 Salernitana Sassuolo\n",
"309 31 Udinese Inter\n",
"310 32 Atalanta Verona\n",
"311 32 Bologna Monza\n",
"312 32 Fiorentina Genoa\n",
"313 32 Inter Cagliari\n",
"314 32 Lazio Salernitana\n",
"315 32 Lecce Empoli\n",
"316 32 Napoli Frosinone\n",
"317 32 Sassuolo Milan\n",
"318 32 Torino Juventus\n",
"319 32 Udinese Roma\n",
"320 33 Cagliari Juventus\n",
"321 33 Empoli Napoli\n",
"322 33 Genoa Lazio\n",
"323 33 Verona Udinese\n",
"324 33 Milan Inter\n",
"325 33 Monza Atalanta\n",
"326 33 Roma Bologna\n",
"327 33 Salernitana Fiorentina\n",
"328 33 Sassuolo Lecce\n",
"329 33 Torino Frosinone\n",
"330 34 Atalanta Empoli\n",
"331 34 Bologna Udinese\n",
"332 34 Fiorentina Sassuolo\n",
"333 34 Frosinone Salernitana\n",
"334 34 Genoa Cagliari\n",
"335 34 Inter Torino\n",
"336 34 Juventus Milan\n",
"337 34 Lazio Verona\n",
"338 34 Lecce Monza\n",
"339 34 Napoli Roma\n",
"340 35 Cagliari Lecce\n",
"341 35 Empoli Frosinone\n",
"342 35 Verona Fiorentina\n",
"343 35 Milan Genoa\n",
"344 35 Monza Lazio\n",
"345 35 Roma Juventus\n",
"346 35 Salernitana Atalanta\n",
"347 35 Sassuolo Inter\n",
"348 35 Torino Bologna\n",
"349 35 Udinese Napoli\n",
"350 36 Atalanta Roma\n",
"351 36 Fiorentina Monza\n",
"352 36 Frosinone Inter\n",
"353 36 Genoa Sassuolo\n",
"354 36 Verona Torino\n",
"355 36 Juventus Salernitana\n",
"356 36 Lazio Empoli\n",
"357 36 Lecce Udinese\n",
"358 36 Milan Cagliari\n",
"359 36 Napoli Bologna\n",
"360 37 Bologna Juventus\n",
"361 37 Fiorentina Napoli\n",
"362 37 Inter Lazio\n",
"363 37 Lecce Atalanta\n",
"364 37 Monza Frosinone\n",
"365 37 Roma Genoa\n",
"366 37 Salernitana Verona\n",
"367 37 Sassuolo Cagliari\n",
"368 37 Torino Milan\n",
"369 37 Udinese Empoli\n",
"370 38 Atalanta Torino\n",
"371 38 Cagliari Fiorentina\n",
"372 38 Empoli Roma\n",
"373 38 Frosinone Udinese\n",
"374 38 Genoa Bologna\n",
"375 38 Verona Inter\n",
"376 38 Juventus Monza\n",
"377 38 Lazio Sassuolo\n",
"378 38 Milan Salernitana\n",
"379 38 Napoli Lecce\n"
]
}
],
"source": [
"print(cal_df.to_string())"
]
},
{
"cell_type": "markdown",
"id": "62872819",
"metadata": {},
"source": [
"Function for generating a prediction for a player, taking match data from a given matchday, according to Serie A calendar."
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "c58ba41d",
"metadata": {},
"outputs": [],
"source": [
"def PlayerMatch(player, match = 0):\n",
" team = players.loc[player]['team']\n",
" \n",
" if(match == 0):\n",
" oppteam = 'Avg'\n",
" home = 1\n",
" else:\n",
" for i in range (cal_df.shape[0]):\n",
" if(cal_df['matchday'][i] == match):\n",
" if(cal_df['team1'][i] == team):\n",
" home = 1\n",
" oppteam = cal_df['team2'][i]\n",
" elif(cal_df['team2'][i] == team):\n",
" home = 0\n",
" oppteam = cal_df['team1'][i]\n",
" \n",
" return [player, team, oppteam, home]\n",
"\n",
"def predict_player(player, match = 0, plot = 0, log = 0, oldseason = False):\n",
" [player, team, oppteam, home] = PlayerMatch(player, match)\n",
" return vote_predict_NNb(player, team, oppteam, home = home, plot = plot, log = log, oldseason = oldseason)"
]
},
{
"cell_type": "markdown",
"id": "e8b63a98",
"metadata": {},
"source": [
"Load current matchday playing probabilities for Serie A players."
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "f79792b6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>starter</th>\n",
" <th>percentage</th>\n",
" </tr>\n",
" <tr>\n",
" <th>player</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Szczesny</th>\n",
" <td>1.0</td>\n",
" <td>80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Danilo</th>\n",
" <td>1.0</td>\n",
" <td>90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bremer</th>\n",
" <td>1.0</td>\n",
" <td>90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gatti</th>\n",
" <td>0.6</td>\n",
" <td>60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Weah</th>\n",
" <td>1.0</td>\n",
" <td>80</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fabbian</th>\n",
" <td>0.0</td>\n",
" <td>55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Aebischer</th>\n",
" <td>0.0</td>\n",
" <td>60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>El Azzouzi</th>\n",
" <td>0.0</td>\n",
" <td>50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Urbanski</th>\n",
" <td>0.0</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ndoye</th>\n",
" <td>0.4</td>\n",
" <td>60</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>479 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" starter percentage\n",
"player \n",
"Szczesny 1.0 80\n",
"Danilo 1.0 90\n",
"Bremer 1.0 90\n",
"Gatti 0.6 60\n",
"Weah 1.0 80\n",
"... ... ...\n",
"Fabbian 0.0 55\n",
"Aebischer 0.0 60\n",
"El Azzouzi 0.0 50\n",
"Urbanski 0.0 15\n",
"Ndoye 0.4 60\n",
"\n",
"[479 rows x 2 columns]"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"probables = pd.read_excel('mid_outputs/match_probable_players.xlsx', index_col = 0) \n",
"\n",
"probables"
]
},
{
"cell_type": "markdown",
"id": "e4751014",
"metadata": {},
"source": [
"Generate prediction data for each Serie A player for the current matchday.\n",
"\n",
"Output to excel file, using a template made for data elaboration."
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "5e63c2b7",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Maignan: MV 6.17 ± 0.90; FV 4.01 + 2.19 (1.4% cs)\n",
"Meret: MV 6.15 ± 0.92; FV 5.70 + 1.32 (76.0% cs)\n",
"Sommer: MV 6.13 ± 0.93; FV 5.39 + 1.32 (41.8% cs)\n",
"Szczesny: MV 6.08 ± 0.98; FV 5.55 + 1.31 (37.1% cs)\n",
"Provedel: MV 6.18 ± 0.91; FV 4.91 + 1.62 (10.6% cs)\n",
"Rui Patricio: MV 6.15 ± 0.92; FV 5.70 + 1.32 (69.4% cs)\n",
"Di Gregorio: MV 6.18 ± 0.89; FV 4.88 + 1.63 (24.5% cs)\n",
"Skorupski: MV 5.54 ± 1.16; FV 3.49 + 2.77 (0.8% cs)\n",
"Milinkovic-Savic V.: MV 6.17 ± 0.90; FV 5.21 + 1.44 (20.8% cs)\n",
"Terracciano: MV 6.22 ± 0.89; FV 5.19 + 1.49 (26.7% cs)\n",
"Carnesecchi: MV 5.99 ± 0.99; FV 4.08 + 2.13 (0.9% cs)\n",
"Falcone: MV 6.15 ± 0.94; FV 5.20 + 1.46 (33.8% cs)\n",
"Silvestri: MV 6.15 ± 0.91; FV 5.72 + 1.32 (58.6% cs)\n",
"Ochoa: MV 6.18 ± 0.90; FV 5.03 + 1.56 (14.6% cs)\n",
"Radunovic: MV 6.20 ± 0.88; FV 5.73 + 1.32 (52.6% cs)\n",
"Montipo': MV 6.10 ± 0.94; FV 4.64 + 1.77 (5.2% cs)\n",
"Martinez Jo.: MV 6.05 ± 0.95; FV 3.62 + 2.62 (1.2% cs)\n",
"Caprile: MV 5.72 ± 1.05; FV 3.46 + 2.84 (0.8% cs)\n",
"Consigli: MV 6.06 ± 0.93; FV 4.45 + 1.92 (10.8% cs)\n",
"Musso: MV 6.03 ± 0.96; FV 4.63 + 1.77 (1.2% cs)\n",
"Turati: MV 6.15 ± 0.91; FV 5.71 + 1.32 (66.5% cs)\n",
"Perin: MV 6.15 ± 0.92; FV 5.69 + 1.32 (68.9% cs)\n",
"Berisha: MV 6.13 ± 0.92; FV 3.59 + 2.64 (0.9% cs)\n",
"Cragno: MV 5.96 ± 0.95; FV 4.24 + 2.00 (5.8% cs)\n",
"Cerofolini: MV 6.17 ± 0.92; FV 5.19 + 1.48 (26.9% cs)\n",
"Christensen O.: MV 6.17 ± 0.89; FV 4.19 + 2.05 (2.2% cs)\n",
"Sportiello: MV 6.18 ± 0.89; FV 4.25 + 2.00 (1.5% cs)\n",
"Mirante: MV 6.18 ± 0.89; FV 4.25 + 2.00 (1.5% cs)\n",
"Sepe: MV 6.11 ± 0.92; FV 3.71 + 2.49 (1.2% cs)\n",
"Leali: MV 6.05 ± 0.95; FV 3.62 + 2.62 (1.2% cs)\n",
"Lamanna: MV 6.08 ± 0.94; FV 3.54 + 2.70 (1.3% cs)\n",
"Sommariva: MV 6.05 ± 0.95; FV 3.62 + 2.62 (1.2% cs)\n",
"Pegolo: MV 5.96 ± 0.95; FV 4.24 + 2.00 (5.8% cs)\n",
"Perilli: MV 6.21 ± 0.89; FV 5.19 + 1.49 (22.6% cs)\n",
"Padelli: MV 6.20 ± 0.88; FV 5.69 + 1.32 (36.6% cs)\n",
"Scuffet: MV 6.20 ± 0.88; FV 5.73 + 1.32 (52.6% cs)\n",
"Gollini: MV 6.17 ± 0.90; FV 5.68 + 1.32 (75.3% cs)\n",
"Perisan: MV 5.55 ± 1.12; FV 3.40 + 2.84 (0.8% cs)\n",
"Audero: MV 6.14 ± 0.93; FV 5.20 + 1.46 (31.7% cs)\n",
"Di Gennaro: MV 6.13 ± 0.93; FV 5.39 + 1.32 (41.8% cs)\n",
"Pinsoglio: MV 6.05 ± 1.02; FV 5.26 + 1.37 (30.7% cs)\n",
"Aresti: MV 6.20 ± 0.88; FV 5.73 + 1.32 (52.6% cs)\n",
"Fiorillo: MV 6.18 ± 0.90; FV 5.06 + 1.55 (15.7% cs)\n",
"Rossi F.: MV 6.11 ± 0.91; FV 5.14 + 1.50 (3.0% cs)\n",
"Costil: MV 6.18 ± 0.90; FV 5.06 + 1.55 (15.7% cs)\n",
"Ravaglia F.: MV 5.50 ± 1.16; FV 3.48 + 2.78 (0.8% cs)\n",
"Frattali: MV 6.15 ± 0.91; FV 5.71 + 1.32 (66.5% cs)\n",
"Contini: MV 6.17 ± 0.90; FV 5.68 + 1.32 (75.3% cs)\n",
"Brancolini: MV 6.10 ± 0.97; FV 5.21 + 1.44 (32.2% cs)\n",
"Berardi A.: MV 6.21 ± 0.89; FV 5.19 + 1.49 (22.6% cs)\n",
"Gemello: MV 6.17 ± 0.90; FV 5.37 + 1.33 (24.7% cs)\n",
"Boer: MV 6.17 ± 0.90; FV 5.35 + 1.35 (30.5% cs)\n",
"Bagnolini: MV 5.50 ± 1.16; FV 3.48 + 2.78 (0.8% cs)\n",
"Svilar: MV 6.17 ± 0.90; FV 5.35 + 1.35 (30.5% cs)\n",
"Sorrentino A.: MV 6.08 ± 0.94; FV 3.54 + 2.70 (1.3% cs)\n",
"Martinelli T.: MV 6.18 ± 0.89; FV 4.91 + 1.62 (10.8% cs)\n",
"Popa: MV 6.17 ± 0.90; FV 5.37 + 1.33 (24.7% cs)\n",
"Stubljar: MV 5.72 ± 1.05; FV 3.46 + 2.84 (0.8% cs)\n",
"Gori: MV 6.08 ± 0.94; FV 3.54 + 2.70 (1.3% cs)\n",
"Borbei: MV 6.10 ± 0.97; FV 5.21 + 1.44 (32.2% cs)\n",
"Okoye: MV 6.20 ± 0.88; FV 5.69 + 1.32 (36.6% cs)\n",
"Mandas: MV 6.11 ± 0.92; FV 3.71 + 2.49 (1.2% cs)\n",
"Dimarco: MV 6.23 ± 0.92; FV 6.55 + 1.55\n",
"Di Lorenzo: MV 6.38 ± 1.12; FV 7.05 + 2.28\n",
"Hernandez T.: MV 5.93 ± 1.07; FV 6.12 + 1.43\n",
"Carlos Augusto: MV 6.13 ± 1.01; FV 6.45 + 1.61\n",
"Danilo: MV 6.40 ± 0.98; FV 6.83 + 1.83\n",
"Zappacosta: MV 6.08 ± 1.26; FV 6.48 + 2.11\n",
"Schuurs: MV 6.16 ± 0.95; FV 6.44 + 1.48\n",
"Posch: MV 6.19 ± 1.11; FV 6.66 + 1.96\n",
"Bastoni: MV 6.20 ± 0.88; FV 6.38 + 1.22\n",
"Pavard: MV 6.03 ± 0.78; FV 6.15 + 1.03\n",
"Smalling: MV 6.32 ± 0.85; FV 6.68 + 1.55\n",
"Rrahmani: MV 6.21 ± 1.07; FV 6.53 + 1.55\n",
"Dumfries: MV 6.08 ± 1.00; FV 6.33 + 1.50\n",
"Romagnoli: MV 5.94 ± 1.02; FV 6.04 + 1.31\n",
"Bremer: MV 6.21 ± 1.04; FV 6.54 + 1.66\n",
"Tomori: MV 5.87 ± 1.08; FV 5.96 + 1.38\n",
"Spinazzola: MV 6.34 ± 0.91; FV 6.81 + 1.86\n",
"Darmian: MV 6.08 ± 0.75; FV 6.22 + 1.05\n",
"Biraghi: MV 5.99 ± 1.04; FV 6.28 + 1.54\n",
"Bakker: MV 5.98 ± 0.84; FV 5.99 + 1.00\n",
"Mazzocchi: MV 6.15 ± 0.76; FV 6.30 + 0.96\n",
"Baschirotto: MV 6.18 ± 0.92; FV 6.46 + 1.45\n",
"Doig: MV 6.18 ± 1.23; FV 6.75 + 2.23\n",
"Thiaw: MV 5.86 ± 1.15; FV 5.85 + 1.30\n",
"Mario Rui: MV 6.15 ± 0.97; FV 6.33 + 1.35\n",
"Calabria: MV 5.90 ± 0.92; FV 6.04 + 1.22\n",
"Acerbi: MV 5.98 ± 0.89; FV 6.02 + 1.01\n",
"Cuadrado: MV 5.96 ± 0.91; FV 6.03 + 1.15\n",
"Milenkovic: MV 5.76 ± 1.18; FV 5.81 + 1.47\n",
"Mancini: MV 6.13 ± 0.71; FV 6.26 + 0.89\n",
"Buongiorno: MV 6.08 ± 0.90; FV 6.29 + 1.33\n",
"Ebuehi: MV 5.96 ± 0.84; FV 6.10 + 1.12\n",
"Casale: MV 5.89 ± 0.88; FV 5.98 + 1.13\n",
"Scalvini: MV 6.00 ± 1.20; FV 5.98 + 1.47\n",
"Holm: MV 6.10 ± 0.95; FV 6.36 + 1.30\n",
"Faraoni: MV 6.00 ± 0.91; FV 6.31 + 1.47\n",
"Kolasinac: MV 6.08 ± 0.89; FV 6.26 + 1.13\n",
"Perez N.: MV 5.98 ± 0.72; FV 6.01 + 0.86\n",
"Bijol: MV 6.01 ± 0.84; FV 6.18 + 1.21\n",
"De Vrij: MV 6.10 ± 0.78; FV 6.20 + 0.98\n",
"Toloi: MV 6.03 ± 1.13; FV 6.06 + 1.36\n",
"Djimsiti: MV 5.93 ± 1.01; FV 5.81 + 1.06\n",
"Rodriguez R.: MV 6.02 ± 0.80; FV 6.08 + 0.98\n",
"Martin: MV 5.93 ± 0.71; FV 6.05 + 0.91\n",
"N'dicka: MV 6.14 ± 0.61; FV 6.21 + 0.67\n",
"Kyriakopoulos: MV 5.91 ± 0.70; FV 5.94 + 0.88\n",
"Mari': MV 5.69 ± 1.05; FV 5.60 + 1.22\n",
"Bastoni S.: MV 6.17 ± 1.00; FV 6.52 + 1.65\n",
"Kristensen: MV 6.19 ± 0.76; FV 6.50 + 1.35\n",
"Natan: MV 5.98 ± 0.96; FV 6.02 + 1.13\n",
"Hysaj: MV 5.91 ± 0.82; FV 6.02 + 1.08\n",
"Izzo: MV 5.91 ± 1.05; FV 5.84 + 1.22\n",
"D'ambrosio: MV 5.94 ± 0.68; FV 5.83 + 0.71\n",
"Luperto: MV 5.76 ± 1.16; FV 5.56 + 1.31\n",
"Marusic: MV 5.82 ± 0.93; FV 5.78 + 1.04\n",
"Mina: MV 5.87 ± 0.86; FV 6.04 + 1.18\n",
"Bellanova: MV 5.89 ± 0.62; FV 5.89 + 0.67\n",
"Caldirola: MV 5.81 ± 1.09; FV 5.83 + 1.36\n",
"Kalulu: MV 5.62 ± 1.25; FV 5.58 + 1.36\n",
"Parisi: MV 5.96 ± 0.99; FV 6.10 + 1.36\n",
"Cambiaso: MV 6.16 ± 0.86; FV 6.29 + 1.13\n",
"Bradaric: MV 6.00 ± 0.82; FV 6.02 + 0.84\n",
"Kamara H.: MV 6.00 ± 0.66; FV 6.00 + 0.72\n",
"Olivera: MV 6.04 ± 0.73; FV 6.16 + 0.96\n",
"Dodo': MV 5.77 ± 1.10; FV 5.81 + 1.37\n",
"Lucumi': MV 5.87 ± 0.82; FV 5.69 + 0.89\n",
"Hien: MV 5.90 ± 0.95; FV 5.73 + 1.04\n",
"Kristiansen: MV 6.15 ± 0.61; FV 6.17 + 0.74\n",
"Pedersen: MV 5.98 ± 0.69; FV 6.05 + 0.87\n",
"Romagnoli S.: MV 6.17 ± 0.94; FV 6.43 + 1.53\n",
"Juan Jesus: MV 6.16 ± 0.67; FV 6.20 + 0.75\n",
"Gyomber: MV 5.93 ± 0.84; FV 5.85 + 0.77\n",
"Alex Sandro: MV 5.92 ± 0.91; FV 5.87 + 1.01\n",
"Hateboer: MV 5.80 ± 1.13; FV 5.87 + 1.45\n",
"Palomino: MV 5.92 ± 0.92; FV 5.91 + 0.99\n",
"Marchizza: MV 6.04 ± 0.72; FV 6.07 + 0.90\n",
"Lazzari: MV 5.92 ± 0.75; FV 5.88 + 0.77\n",
"Toljan: MV 5.88 ± 0.82; FV 5.87 + 0.94\n",
"Zappa: MV 5.91 ± 0.64; FV 5.87 + 0.55\n",
"Gallo: MV 6.00 ± 0.80; FV 6.01 + 0.93\n",
"Erlic: MV 5.95 ± 0.76; FV 5.90 + 0.78\n",
"Vojvoda: MV 5.96 ± 0.78; FV 6.10 + 1.10\n",
"Llorente D.: MV 6.10 ± 0.80; FV 6.25 + 1.02\n",
"Dragusin: MV 5.80 ± 1.02; FV 5.95 + 1.30\n",
"Vasquez: MV 5.91 ± 1.05; FV 5.95 + 1.23\n",
"Viti: MV 6.19 ± 0.71; FV 6.40 + 1.12\n",
"Gatti: MV 6.12 ± 0.80; FV 6.16 + 0.93\n",
"Birindelli: MV 5.86 ± 0.75; FV 5.80 + 0.84\n",
"Gendrey: MV 5.96 ± 0.74; FV 5.96 + 0.80\n",
"Beukema: MV 5.99 ± 0.83; FV 5.90 + 0.93\n",
"Zemura: MV 5.97 ± 0.59; FV 5.95 + 0.62\n",
"Dossena: MV 5.95 ± 0.63; FV 5.94 + 0.63\n",
"Azzi: MV 6.01 ± 0.66; FV 6.10 + 0.81\n",
"Wieteska: MV 6.08 ± 0.74; FV 6.10 + 0.79\n",
"Masina: MV 6.10 ± 0.93; FV 6.60 + 1.90\n",
"Pezzella Giu.: MV 5.78 ± 0.72; FV 5.69 + 0.74\n",
"Sabelli: MV 5.84 ± 0.74; FV 5.93 + 0.91\n",
"Lykogiannis: MV 5.97 ± 0.63; FV 5.94 + 0.69\n",
"Djidji: MV 5.92 ± 0.82; FV 5.99 + 1.07\n",
"Kabasele: MV 5.94 ± 0.68; FV 5.92 + 0.75\n",
"Ranieri L.: MV 5.65 ± 0.94; FV 5.59 + 1.04\n",
"Augello: MV 6.03 ± 0.73; FV 6.15 + 0.96\n",
"Zortea: MV 6.15 ± 1.03; FV 6.48 + 1.51\n",
"Dawidowicz: MV 5.92 ± 1.01; FV 5.75 + 1.13\n",
"Pirola: MV 6.05 ± 0.90; FV 6.15 + 1.07\n",
"Lovato: MV 5.88 ± 0.71; FV 5.81 + 0.63\n",
"Monterisi: MV 6.39 ± 1.04; FV 7.10 + 2.41\n",
"Ismajli: MV 5.90 ± 0.96; FV 5.71 + 1.03\n",
"Martinez Quarta: MV 5.80 ± 0.95; FV 5.73 + 1.00\n",
"Ruggeri: MV 6.08 ± 1.19; FV 6.19 + 1.54\n",
"Pongracic: MV 6.01 ± 0.81; FV 6.05 + 0.97\n",
"Obert: MV 5.98 ± 0.75; FV 5.98 + 0.73\n",
"Tressoldi: MV 5.99 ± 0.89; FV 6.12 + 1.18\n",
"Ebosele: MV 5.90 ± 0.67; FV 5.87 + 0.69\n",
"Hatzidiakos: MV 6.05 ± 0.78; FV 6.08 + 0.86\n",
"Patric: MV 5.90 ± 0.75; FV 5.82 + 0.75\n",
"Pellegrini Lu.: MV 5.80 ± 0.73; FV 5.75 + 0.80\n",
"Lazaro: MV 6.02 ± 0.78; FV 6.15 + 1.11\n",
"Calafiori: MV 5.96 ± 0.96; FV 5.83 + 1.10\n",
"Vina: MV 5.84 ± 0.75; FV 5.81 + 0.81\n",
"Terracciano F.: MV 6.22 ± 0.73; FV 6.34 + 0.93\n",
"Ehizibue: MV 5.90 ± 0.78; FV 6.04 + 1.14\n",
"Vogliacco: MV 5.80 ± 1.16; FV 5.82 + 1.37\n",
"Goldaniga: MV 5.88 ± 0.71; FV 5.85 + 0.63\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ferrari G.: MV 5.95 ± 0.93; FV 6.06 + 1.25\n",
"Lirola: MV 6.12 ± 0.82; FV 6.25 + 1.21\n",
"Bereszynski: MV 5.62 ± 0.96; FV 5.51 + 1.06\n",
"Venuti: MV 5.94 ± 0.74; FV 5.93 + 0.79\n",
"Karsdorp: MV 6.04 ± 0.54; FV 6.08 + 0.55\n",
"Bani: MV 5.74 ± 1.23; FV 5.80 + 1.52\n",
"Kjaer: MV 5.89 ± 0.72; FV 5.82 + 0.78\n",
"Gunter: MV 5.73 ± 1.05; FV 5.53 + 1.10\n",
"Magnani: MV 5.90 ± 1.08; FV 5.69 + 1.16\n",
"Soumaoro: MV 5.92 ± 1.01; FV 5.68 + 1.08\n",
"Carboni A.: MV 5.93 ± 0.80; FV 5.87 + 0.94\n",
"Di Pardo: MV 5.97 ± 0.73; FV 5.97 + 0.68\n",
"Zanoli: MV 6.20 ± 1.04; FV 6.70 + 1.91\n",
"Zima: MV 5.98 ± 0.69; FV 6.04 + 0.83\n",
"Hefti: MV 5.56 ± 1.12; FV 5.48 + 1.17\n",
"Ostigard: MV 6.05 ± 0.64; FV 6.05 + 0.69\n",
"Sambia: MV 6.01 ± 0.67; FV 5.99 + 0.59\n",
"Bisseck: MV 5.87 ± 0.89; FV 5.85 + 0.99\n",
"Dorgu: MV 6.08 ± 0.76; FV 6.14 + 0.93\n",
"Touba: MV 6.06 ± 0.86; FV 6.19 + 1.17\n",
"Sazonov: MV 6.01 ± 0.90; FV 6.18 + 1.28\n",
"Rugani: MV 6.07 ± 0.62; FV 6.05 + 0.61\n",
"De Sciglio: MV 5.92 ± 0.68; FV 5.89 + 0.67\n",
"Florenzi: MV 5.91 ± 0.74; FV 6.02 + 0.93\n",
"Fazio: MV 5.96 ± 1.15; FV 5.81 + 1.23\n",
"Bonifazi: MV 5.81 ± 0.83; FV 5.64 + 0.87\n",
"Walukiewicz: MV 5.79 ± 0.76; FV 5.69 + 0.76\n",
"Kumbulla: MV 6.10 ± 1.33; FV 5.92 + 1.35\n",
"Celik: MV 5.94 ± 0.64; FV 5.90 + 0.65\n",
"Amione: MV 5.93 ± 0.97; FV 5.82 + 1.14\n",
"Daniliuc: MV 5.91 ± 0.90; FV 5.83 + 0.92\n",
"Haps: MV 5.70 ± 1.17; FV 5.77 + 1.36\n",
"De Winter: MV 5.58 ± 1.18; FV 5.39 + 1.22\n",
"Cittadini: MV 5.83 ± 1.02; FV 5.82 + 1.25\n",
"Coppola D.: MV 5.83 ± 0.80; FV 5.70 + 0.87\n",
"Cacace: MV 5.52 ± 0.88; FV 5.40 + 0.83\n",
"Ebosse: MV 5.91 ± 0.62; FV 5.86 + 0.65\n",
"Cabal: MV 5.97 ± 0.53; FV 5.92 + 0.50\n",
"Missori: MV 5.96 ± 0.82; FV 6.03 + 1.04\n",
"Kayode: MV 5.92 ± 0.93; FV 5.91 + 1.06\n",
"Oyono: MV 6.06 ± 0.72; FV 6.07 + 0.91\n",
"Ferreira J.: MV 5.93 ± 0.66; FV 5.92 + 0.72\n",
"Corazza: MV 5.89 ± 0.75; FV 5.79 + 0.84\n",
"Kristensen T.: MV 5.97 ± 0.76; FV 6.02 + 0.90\n",
"Dermaku: MV 6.04 ± 0.84; FV 6.14 + 1.09\n",
"Tonelli: MV 5.59 ± 1.09; FV 5.40 + 1.22\n",
"Capradossi: MV 6.05 ± 0.78; FV 6.08 + 0.86\n",
"De Silvestri: MV 6.01 ± 0.81; FV 6.09 + 1.04\n",
"Pereira P.: MV 5.75 ± 0.84; FV 5.68 + 0.96\n",
"Bettella: MV 5.83 ± 1.02; FV 5.82 + 1.25\n",
"Okoli: MV 5.96 ± 0.74; FV 5.90 + 0.80\n",
"Amey: MV 5.99 ± 0.94; FV 5.93 + 1.13\n",
"Soppy: MV 5.78 ± 0.92; FV 5.77 + 1.12\n",
"Gila: MV 5.78 ± 0.91; FV 5.75 + 1.00\n",
"Guessand A.: MV 5.98 ± 0.74; FV 6.01 + 0.86\n",
"Bronn: MV 5.83 ± 0.74; FV 5.75 + 0.66\n",
"Guarino: MV 5.93 ± 1.00; FV 5.90 + 1.22\n",
"Carboni F.: MV 5.70 ± 0.86; FV 5.62 + 0.97\n",
"Smajlovic: MV 6.06 ± 0.86; FV 6.19 + 1.17\n",
"Matturro: MV 5.80 ± 1.16; FV 5.82 + 1.37\n",
"N'guessan: MV 6.01 ± 0.90; FV 6.18 + 1.28\n",
"Mateus Lusuardi: MV 6.12 ± 0.82; FV 6.25 + 1.21\n",
"Kalaj: MV 6.12 ± 0.82; FV 6.25 + 1.21\n",
"Pierozzi: MV 5.82 ± 0.98; FV 5.82 + 1.17\n",
"Huijsen: MV 6.09 ± 0.87; FV 6.24 + 1.20\n",
"Bonfanti: MV 5.91 ± 1.07; FV 5.83 + 1.18\n",
"Pellegrino: MV 5.75 ± 1.09; FV 5.80 + 1.30\n",
"Zaccagni: MV 6.18 ± 0.96; FV 6.47 + 1.54\n",
"Koopmeiners: MV 6.42 ± 1.31; FV 7.30 + 2.92\n",
"Felipe Anderson: MV 6.06 ± 1.07; FV 6.41 + 1.72\n",
"Luis Alberto: MV 6.18 ± 0.94; FV 6.45 + 1.50\n",
"Rabiot: MV 6.41 ± 1.18; FV 7.23 + 2.72\n",
"Zielinski: MV 6.37 ± 0.89; FV 6.74 + 1.67\n",
"Barella: MV 6.23 ± 0.98; FV 6.63 + 1.74\n",
"Pulisic: MV 6.05 ± 0.81; FV 6.24 + 1.13\n",
"Orsolini: MV 6.27 ± 1.24; FV 7.01 + 2.62\n",
"Chukwueze: MV 5.92 ± 0.70; FV 6.06 + 0.90\n",
"Strefezza: MV 6.29 ± 1.08; FV 6.87 + 2.16\n",
"Ferguson: MV 6.37 ± 1.15; FV 7.02 + 2.38\n",
"Candreva: MV 6.39 ± 1.17; FV 7.11 + 2.47\n",
"Calhanoglu: MV 6.30 ± 0.93; FV 6.64 + 1.61\n",
"Frattesi: MV 6.17 ± 1.02; FV 6.55 + 1.72\n",
"Samardzic: MV 6.14 ± 0.92; FV 6.50 + 1.61\n",
"Vlasic: MV 6.18 ± 1.08; FV 6.63 + 1.92\n",
"El Shaarawy: MV 6.44 ± 0.98; FV 6.99 + 2.14\n",
"Aouar: MV 6.38 ± 1.05; FV 7.06 + 2.38\n",
"Bonaventura: MV 6.14 ± 1.10; FV 6.54 + 1.81\n",
"Pellegrini Lo.: MV 6.30 ± 1.10; FV 7.02 + 2.43\n",
"Politano: MV 6.36 ± 0.87; FV 6.69 + 1.59\n",
"Malinovskyi: MV 6.04 ± 1.12; FV 6.54 + 2.02\n",
"Lovric: MV 6.13 ± 0.84; FV 6.43 + 1.43\n",
"Kamada: MV 5.97 ± 0.91; FV 6.18 + 1.31\n",
"Lindstrom: MV 6.13 ± 0.90; FV 6.50 + 1.64\n",
"Lazovic: MV 6.38 ± 1.15; FV 6.97 + 2.25\n",
"Loftus-Cheek: MV 5.98 ± 0.67; FV 6.04 + 0.79\n",
"Zambo Anguissa: MV 6.23 ± 0.96; FV 6.61 + 1.59\n",
"Elmas: MV 6.24 ± 0.98; FV 6.69 + 1.84\n",
"Kostic: MV 6.33 ± 1.01; FV 6.84 + 1.98\n",
"Gudmundsson A.: MV 5.99 ± 0.97; FV 6.28 + 1.46\n",
"Baldanzi: MV 6.15 ± 0.93; FV 6.49 + 1.59\n",
"Ciurria: MV 6.12 ± 1.10; FV 6.54 + 1.87\n",
"Pasalic: MV 6.02 ± 1.15; FV 6.47 + 1.78\n",
"Mkhitaryan: MV 6.11 ± 0.89; FV 6.34 + 1.31\n",
"Pessina: MV 6.00 ± 0.94; FV 6.19 + 1.36\n",
"Guendouzi: MV 5.95 ± 0.72; FV 6.07 + 0.90\n",
"Lobotka: MV 6.19 ± 0.75; FV 6.30 + 0.93\n",
"Bajrami: MV 6.03 ± 0.83; FV 6.18 + 1.10\n",
"Ricci S.: MV 6.07 ± 0.85; FV 6.31 + 1.34\n",
"Reijnders: MV 5.97 ± 0.71; FV 6.09 + 0.90\n",
"Pogba: MV 6.07 ± 0.76; FV 6.13 + 0.91\n",
"Renato Sanches: MV 6.14 ± 0.60; FV 6.31 + 0.79\n",
"Fagioli: MV 6.21 ± 1.02; FV 6.67 + 1.84\n",
"Ikone': MV 6.01 ± 1.04; FV 6.40 + 1.69\n",
"Ilic: MV 6.09 ± 0.89; FV 6.35 + 1.41\n",
"Radonjic: MV 6.29 ± 1.13; FV 6.89 + 2.28\n",
"Ndoye: MV 6.05 ± 0.82; FV 6.04 + 1.00\n",
"Ederson D.s.: MV 6.18 ± 0.93; FV 6.49 + 1.40\n",
"Colpani: MV 6.30 ± 1.06; FV 6.84 + 2.11\n",
"De Roon: MV 6.10 ± 1.03; FV 6.29 + 1.35\n",
"Locatelli: MV 6.14 ± 0.79; FV 6.22 + 1.02\n",
"Barak: MV 5.81 ± 0.86; FV 5.99 + 1.15\n",
"Saponara: MV 6.26 ± 1.06; FV 6.71 + 1.94\n",
"Cristante: MV 6.12 ± 0.67; FV 6.23 + 0.81\n",
"Mandragora: MV 5.90 ± 1.01; FV 6.18 + 1.47\n",
"Weah: MV 6.06 ± 0.60; FV 6.08 + 0.65\n",
"Bennacer: MV 6.02 ± 0.92; FV 6.19 + 1.25\n",
"Klaassen: MV 6.03 ± 0.79; FV 6.22 + 1.16\n",
"Castrovilli: MV 6.00 ± 1.09; FV 6.39 + 1.73\n",
"Miranchuk: MV 6.34 ± 1.15; FV 6.90 + 2.15\n",
"Musah: MV 5.85 ± 0.86; FV 5.92 + 1.06\n",
"Matheus Henrique: MV 6.02 ± 0.98; FV 6.37 + 1.62\n",
"De Ketelaere: MV 6.04 ± 1.03; FV 6.40 + 1.50\n",
"Mboula: MV 5.93 ± 0.61; FV 5.89 + 0.65\n",
"Cataldi: MV 5.95 ± 0.68; FV 5.92 + 0.73\n",
"Jankto: MV 6.02 ± 0.60; FV 6.00 + 0.55\n",
"Sottil: MV 5.86 ± 0.73; FV 6.00 + 0.86\n",
"Arthur Melo: MV 5.97 ± 0.98; FV 5.99 + 1.16\n",
"Duda: MV 6.31 ± 1.16; FV 6.88 + 2.21\n",
"Thorsby: MV 5.71 ± 1.17; FV 5.84 + 1.48\n",
"Nandez: MV 6.08 ± 0.65; FV 6.15 + 0.76\n",
"Tameze: MV 5.89 ± 0.84; FV 5.92 + 1.06\n",
"Marin: MV 6.05 ± 0.94; FV 6.19 + 1.33\n",
"Messias: MV 5.96 ± 1.20; FV 6.50 + 2.03\n",
"Mckennie: MV 6.25 ± 0.79; FV 6.50 + 1.23\n",
"Reinier: MV 6.10 ± 0.81; FV 6.19 + 1.15\n",
"Zalewski: MV 6.09 ± 0.69; FV 6.26 + 0.92\n",
"Coulibaly L.: MV 6.14 ± 0.97; FV 6.46 + 1.46\n",
"Harroui: MV 6.36 ± 0.89; FV 6.81 + 1.82\n",
"Krunic: MV 5.94 ± 0.76; FV 6.00 + 0.96\n",
"Paredes: MV 6.07 ± 0.78; FV 6.16 + 1.02\n",
"Freuler: MV 6.03 ± 0.57; FV 6.00 + 0.63\n",
"Gagliardini: MV 5.75 ± 0.84; FV 5.62 + 0.87\n",
"Kastanos: MV 6.10 ± 0.72; FV 6.20 + 0.82\n",
"Lopez M.: MV 5.73 ± 0.82; FV 5.61 + 0.84\n",
"Gyasi: MV 5.61 ± 0.88; FV 5.65 + 0.94\n",
"Frendrup: MV 5.92 ± 0.81; FV 6.02 + 1.03\n",
"Moro N.: MV 6.18 ± 0.83; FV 6.43 + 1.31\n",
"Ramadani: MV 6.16 ± 0.91; FV 6.35 + 1.28\n",
"Mancosu: MV 6.04 ± 0.78; FV 6.05 + 0.83\n",
"Vecino: MV 5.91 ± 0.88; FV 6.01 + 1.17\n",
"Strootman: MV 5.84 ± 0.75; FV 5.92 + 0.94\n",
"Duncan: MV 5.94 ± 0.82; FV 6.15 + 1.21\n",
"Machin: MV 5.89 ± 0.98; FV 5.89 + 1.22\n",
"Sensi: MV 5.95 ± 0.93; FV 6.04 + 1.20\n",
"Linetty: MV 5.95 ± 0.81; FV 6.04 + 1.11\n",
"Walace: MV 5.93 ± 0.66; FV 5.89 + 0.66\n",
"Brescianini: MV 6.08 ± 0.68; FV 6.09 + 0.85\n",
"Pobega: MV 5.88 ± 0.71; FV 5.94 + 0.88\n",
"Bove: MV 6.11 ± 0.68; FV 6.34 + 1.01\n",
"Aebischer: MV 6.00 ± 0.63; FV 6.11 + 0.81\n",
"Thorstvedt: MV 6.00 ± 0.78; FV 6.14 + 1.07\n",
"Blin: MV 6.01 ± 0.64; FV 6.03 + 0.72\n",
"Gonzalez J.: MV 5.99 ± 0.80; FV 6.11 + 1.07\n",
"Oudin: MV 6.15 ± 0.97; FV 6.55 + 1.65\n",
"Fabbian: MV 6.27 ± 0.87; FV 6.68 + 1.78\n",
"Rafia: MV 6.14 ± 0.80; FV 6.40 + 1.32\n",
"Cajuste : MV 6.01 ± 0.94; FV 6.08 + 1.17\n",
"Kaba: MV 6.03 ± 0.64; FV 6.03 + 0.72\n",
"Grassi: MV 5.95 ± 0.73; FV 5.90 + 0.78\n",
"Badelj: MV 5.70 ± 1.06; FV 5.66 + 1.10\n",
"Mazzitelli: MV 6.07 ± 0.82; FV 6.13 + 1.11\n",
"Castillejo: MV 6.01 ± 0.76; FV 6.19 + 1.13\n",
"Hongla: MV 5.99 ± 0.77; FV 6.03 + 0.90\n",
"Miretti: MV 6.04 ± 0.76; FV 6.12 + 0.91\n",
"Fazzini: MV 5.87 ± 0.59; FV 5.85 + 0.63\n",
"Iling Junior: MV 6.08 ± 0.86; FV 6.22 + 1.18\n",
"Oristanio: MV 5.98 ± 0.67; FV 5.96 + 0.60\n",
"Boloca: MV 5.92 ± 0.86; FV 5.96 + 1.09\n",
"Makoumbou: MV 6.01 ± 0.63; FV 6.07 + 0.74\n",
"Martegani: MV 6.07 ± 0.82; FV 6.08 + 0.85\n",
"Serdar: MV 5.99 ± 0.77; FV 5.95 + 0.88\n",
"Payero: MV 5.97 ± 0.74; FV 6.01 + 0.91\n",
"Baez: MV 6.15 ± 0.67; FV 6.37 + 1.03\n",
"Deiola: MV 6.03 ± 0.74; FV 6.13 + 0.91\n",
"Bourabia: MV 6.11 ± 0.76; FV 6.25 + 1.06\n",
"Rovella: MV 6.02 ± 0.99; FV 6.13 + 1.28\n",
"Saelemaekers: MV 6.17 ± 0.96; FV 6.52 + 1.58\n",
"Maldini: MV 6.13 ± 0.93; FV 6.46 + 1.57\n",
"Racic: MV 6.00 ± 0.72; FV 6.03 + 0.87\n",
"Kovalenko: MV 5.98 ± 0.69; FV 6.01 + 0.80\n",
"Maleh: MV 5.74 ± 0.61; FV 5.71 + 0.70\n",
"Bohinen: MV 5.96 ± 0.53; FV 5.90 + 0.44\n",
"Ranocchia F.: MV 6.20 ± 0.90; FV 6.46 + 1.40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Infantino: MV 5.72 ± 0.72; FV 5.62 + 0.74\n",
"Kutlu: MV 5.81 ± 1.00; FV 5.83 + 1.15\n",
"Tchatchoua: MV 6.02 ± 0.89; FV 6.02 + 1.08\n",
"Garritano: MV 6.18 ± 0.71; FV 6.25 + 0.97\n",
"Quina: MV 5.93 ± 0.64; FV 5.90 + 0.68\n",
"Adopo: MV 5.96 ± 0.78; FV 5.96 + 0.79\n",
"Maggiore: MV 5.95 ± 0.51; FV 5.90 + 0.45\n",
"Romero L.: MV 5.99 ± 0.92; FV 6.24 + 1.35\n",
"Basic: MV 5.96 ± 0.75; FV 6.00 + 0.90\n",
"Asllani: MV 5.99 ± 0.67; FV 5.99 + 0.74\n",
"Tchaouna: MV 6.11 ± 0.77; FV 6.13 + 0.80\n",
"Sulemana I.: MV 5.93 ± 0.59; FV 5.90 + 0.53\n",
"Barrenechea: MV 6.15 ± 0.72; FV 6.20 + 0.95\n",
"Gelli: MV 6.12 ± 0.83; FV 6.22 + 1.18\n",
"Folorunsho: MV 6.06 ± 1.02; FV 6.48 + 1.76\n",
"Suslov: MV 6.02 ± 0.89; FV 6.02 + 1.08\n",
"Gaetano: MV 6.29 ± 1.11; FV 6.95 + 2.38\n",
"Jagiello: MV 5.85 ± 1.13; FV 5.89 + 1.32\n",
"Obiang: MV 5.94 ± 0.65; FV 5.92 + 0.70\n",
"Akpa Akpro: MV 5.89 ± 0.98; FV 5.89 + 1.22\n",
"Urbanski: MV 6.03 ± 0.70; FV 6.01 + 0.85\n",
"Volpato: MV 6.19 ± 0.89; FV 6.47 + 1.41\n",
"Vignato S.: MV 5.82 ± 0.79; FV 5.77 + 0.92\n",
"Hrustic: MV 5.62 ± 0.62; FV 5.59 + 0.65\n",
"Zarraga: MV 5.89 ± 0.63; FV 5.86 + 0.68\n",
"Camara E.: MV 5.97 ± 0.74; FV 6.01 + 0.91\n",
"Amatucci: MV 5.81 ± 0.87; FV 5.78 + 1.00\n",
"Viola: MV 5.92 ± 0.56; FV 5.88 + 0.46\n",
"Lulic K.: MV 6.10 ± 0.81; FV 6.19 + 1.15\n",
"Rog: MV 5.96 ± 0.66; FV 5.93 + 0.58\n",
"Nicolussi Caviglia: MV 5.96 ± 0.88; FV 6.06 + 1.12\n",
"Demme: MV 6.01 ± 0.54; FV 5.93 + 0.45\n",
"Pafundi: MV 6.06 ± 0.57; FV 6.06 + 0.58\n",
"Adli: MV 5.89 ± 0.76; FV 5.95 + 0.97\n",
"Bondo: MV 5.94 ± 0.88; FV 5.91 + 1.07\n",
"Zerbin: MV 6.09 ± 0.87; FV 6.24 + 1.15\n",
"Carboni V.: MV 6.02 ± 0.76; FV 6.01 + 0.92\n",
"Faticanti: MV 6.05 ± 0.86; FV 6.16 + 1.14\n",
"Gineitis: MV 6.01 ± 0.91; FV 6.18 + 1.31\n",
"Belardinelli: MV 5.97 ± 0.97; FV 5.97 + 1.21\n",
"El Azzouzi: MV 6.03 ± 0.60; FV 5.99 + 0.65\n",
"Lipani: MV 5.98 ± 0.88; FV 6.09 + 1.17\n",
"Joselito: MV 6.02 ± 0.89; FV 6.02 + 1.08\n",
"Pagano: MV 6.17 ± 0.63; FV 6.27 + 0.75\n",
"Legowski: MV 6.07 ± 0.84; FV 6.09 + 0.90\n",
"Prati: MV 6.04 ± 0.78; FV 6.05 + 0.83\n",
"Osimhen: MV 6.53 ± 1.55; FV 8.10 + 4.32\n",
"Martinez L.: MV 6.46 ± 1.44; FV 7.80 + 3.82\n",
"Rafael Leao: MV 6.28 ± 1.29; FV 7.10 + 2.78\n",
"Immobile: MV 6.03 ± 1.30; FV 6.63 + 2.28\n",
"Berardi: MV 6.48 ± 1.40; FV 7.78 + 3.75\n",
"Lukaku: MV 6.46 ± 1.55; FV 7.85 + 3.96\n",
"Kvaratskhelia: MV 6.47 ± 1.44; FV 7.78 + 3.74\n",
"Dybala: MV 6.52 ± 1.38; FV 7.84 + 3.77\n",
"Vlahovic: MV 6.38 ± 1.45; FV 7.50 + 3.50\n",
"Giroud: MV 6.16 ± 1.17; FV 6.79 + 2.29\n",
"Scamacca: MV 6.41 ± 1.55; FV 7.58 + 3.65\n",
"Dia: MV 6.44 ± 1.48; FV 7.73 + 3.78\n",
"Thuram: MV 6.32 ± 1.09; FV 6.91 + 2.23\n",
"Lookman: MV 6.40 ± 1.44; FV 7.57 + 3.57\n",
"Sanabria: MV 6.25 ± 1.34; FV 7.12 + 2.92\n",
"Arnautovic: MV 6.28 ± 1.19; FV 6.97 + 2.50\n",
"Retegui: MV 5.80 ± 1.19; FV 6.22 + 1.63\n",
"Nzola: MV 6.03 ± 1.26; FV 6.60 + 2.09\n",
"Lauriente': MV 6.31 ± 1.27; FV 7.12 + 2.82\n",
"Zapata D.: MV 5.99 ± 1.01; FV 6.37 + 1.64\n",
"Chiesa: MV 6.42 ± 1.20; FV 7.25 + 2.75\n",
"Milik: MV 6.31 ± 1.09; FV 6.94 + 2.28\n",
"Gonzalez N.: MV 6.14 ± 1.28; FV 6.82 + 2.41\n",
"Okafor: MV 5.85 ± 0.69; FV 5.92 + 0.81\n",
"Toure' E.: MV 5.93 ± 1.06; FV 5.94 + 1.20\n",
"Beltran L.: MV 5.82 ± 0.96; FV 6.20 + 1.44\n",
"Lapadula: MV 6.24 ± 0.97; FV 6.74 + 1.96\n",
"Caprari: MV 6.08 ± 0.97; FV 6.43 + 1.61\n",
"Sanchez: MV 6.07 ± 0.91; FV 6.36 + 1.40\n",
"Abraham: MV 6.41 ± 1.28; FV 7.54 + 3.34\n",
"Caputo: MV 5.98 ± 1.13; FV 6.48 + 1.82\n",
"Ngonge: MV 6.39 ± 1.35; FV 7.40 + 3.18\n",
"Muriel: MV 6.22 ± 1.03; FV 6.67 + 1.81\n",
"Pinamonti: MV 5.93 ± 1.14; FV 6.36 + 1.89\n",
"Deulofeu: MV 6.38 ± 1.19; FV 7.24 + 2.82\n",
"Jovic: MV 5.93 ± 1.21; FV 6.40 + 1.96\n",
"Zirkzee: MV 6.38 ± 1.10; FV 7.00 + 2.32\n",
"Krstovic: MV 6.28 ± 0.83; FV 6.61 + 1.46\n",
"Petagna: MV 6.15 ± 0.90; FV 6.52 + 1.62\n",
"Belotti: MV 6.27 ± 1.05; FV 6.78 + 1.97\n",
"Simeone: MV 6.22 ± 1.02; FV 6.76 + 2.05\n",
"Cambiaghi: MV 6.30 ± 1.06; FV 6.80 + 2.03\n",
"Shomurodov: MV 5.91 ± 0.56; FV 5.96 + 0.56\n",
"Azmoun: MV 6.23 ± 0.88; FV 6.61 + 1.65\n",
"Castellanos: MV 5.97 ± 0.68; FV 6.00 + 0.77\n",
"Thauvin: MV 5.90 ± 0.56; FV 5.99 + 0.67\n",
"Pedro: MV 5.95 ± 0.90; FV 6.16 + 1.29\n",
"Brekalo: MV 6.05 ± 1.16; FV 6.55 + 1.95\n",
"Henry: MV 5.95 ± 1.15; FV 6.41 + 1.77\n",
"Mulattieri: MV 6.09 ± 0.88; FV 6.50 + 1.71\n",
"Almqvist: MV 6.18 ± 1.07; FV 6.67 + 1.90\n",
"Isaksen: MV 5.80 ± 0.84; FV 5.84 + 0.99\n",
"Karlsson: MV 6.31 ± 0.94; FV 6.76 + 1.90\n",
"Kean: MV 6.00 ± 1.26; FV 6.56 + 2.29\n",
"Karamoh: MV 6.08 ± 1.00; FV 6.48 + 1.70\n",
"Djuric: MV 6.16 ± 0.72; FV 6.29 + 0.94\n",
"Davis K.: MV 5.99 ± 0.75; FV 6.11 + 1.03\n",
"Mota: MV 5.91 ± 1.13; FV 6.34 + 1.80\n",
"Brenner: MV 5.99 ± 0.75; FV 6.11 + 1.03\n",
"Cheddira: MV 6.28 ± 1.07; FV 7.04 + 2.53\n",
"Defrel: MV 5.80 ± 0.92; FV 6.06 + 1.38\n",
"Raspadori: MV 5.95 ± 0.90; FV 6.30 + 1.47\n",
"Colombo: MV 5.86 ± 1.07; FV 6.26 + 1.68\n",
"Luvumbo: MV 6.08 ± 0.69; FV 6.25 + 0.96\n",
"Banda: MV 6.17 ± 0.90; FV 6.46 + 1.44\n",
"Bonazzoli: MV 6.19 ± 1.15; FV 6.72 + 2.06\n",
"Pellegri: MV 5.85 ± 0.97; FV 6.17 + 1.47\n",
"Kouame': MV 5.93 ± 1.01; FV 6.30 + 1.58\n",
"Piccoli: MV 6.03 ± 1.01; FV 6.50 + 1.78\n",
"Success: MV 5.93 ± 0.82; FV 6.21 + 1.31\n",
"Botheim: MV 6.00 ± 0.84; FV 6.24 + 1.13\n",
"Lucca: MV 5.96 ± 0.88; FV 6.34 + 1.51\n",
"Caso: MV 6.24 ± 0.84; FV 6.63 + 1.62\n",
"Cancellieri: MV 5.68 ± 0.61; FV 5.73 + 0.67\n",
"Jovane: MV 6.09 ± 0.86; FV 6.17 + 0.99\n",
"Pavoletti: MV 6.09 ± 0.73; FV 6.29 + 1.08\n",
"Soule': MV 6.32 ± 0.88; FV 6.68 + 1.59\n",
"Alvarez A.: MV 5.95 ± 0.93; FV 6.28 + 1.50\n",
"Cuni: MV 6.07 ± 0.62; FV 6.10 + 0.73\n",
"Ekuban: MV 5.79 ± 0.71; FV 5.94 + 0.85\n",
"Seck: MV 6.01 ± 0.70; FV 6.13 + 0.85\n",
"Kvernadze: MV 6.07 ± 0.77; FV 6.15 + 1.03\n",
"Destro: MV 5.68 ± 0.90; FV 5.90 + 1.10\n",
"Van Hooijdonk: MV 6.02 ± 0.83; FV 6.04 + 1.04\n",
"Ceide: MV 5.95 ± 0.71; FV 6.05 + 0.80\n",
"Maric: MV 5.94 ± 0.78; FV 5.92 + 0.93\n",
"Shpendi S.: MV 5.92 ± 0.87; FV 5.94 + 1.06\n",
"Ikwuemesi: MV 5.96 ± 0.69; FV 5.93 + 0.63\n",
"Puscas: MV 5.82 ± 1.11; FV 5.91 + 1.38\n",
"Ake' M.: MV 5.96 ± 0.67; FV 5.96 + 0.73\n",
"Braaf: MV 5.61 ± 0.77; FV 5.80 + 0.94\n",
"Kallon: MV 5.98 ± 0.92; FV 6.30 + 1.42\n",
"Kaio Jorge: MV 6.04 ± 0.59; FV 6.10 + 0.62\n",
"Valencia D.: MV 5.94 ± 0.57; FV 5.91 + 0.55\n",
"Vivaldo: MV 5.99 ± 0.75; FV 6.11 + 1.03\n",
"Bidaoui: MV 6.13 ± 0.85; FV 6.30 + 1.28\n",
"Burnete: MV 6.05 ± 0.80; FV 6.15 + 1.03\n",
"Corfitzen: MV 6.06 ± 0.89; FV 6.22 + 1.22\n",
"Stewart: MV 6.09 ± 0.86; FV 6.17 + 0.99\n",
"Yildiz: MV 6.08 ± 0.88; FV 6.24 + 1.21\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>role</th>\n",
" <th>team</th>\n",
" <th>oppteam</th>\n",
" <th>home</th>\n",
" <th>starter</th>\n",
" <th>vote%</th>\n",
" <th>MV</th>\n",
" <th>MV std</th>\n",
" <th>FV</th>\n",
" <th>FV std</th>\n",
" <th>MV loc</th>\n",
" <th>MV scale</th>\n",
" <th>MV skewness</th>\n",
" <th>MV tailweight</th>\n",
" <th>FV loc</th>\n",
" <th>FV scale</th>\n",
" <th>FV skewness</th>\n",
" <th>FV tailweight</th>\n",
" <th>Clean Sheet %</th>\n",
" </tr>\n",
" <tr>\n",
" <th>player</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Rossi F.</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Fiorentina</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>6.109952</td>\n",
" <td>0.455623</td>\n",
" <td>5.139983</td>\n",
" <td>0.751770</td>\n",
" <td>6.129853</td>\n",
" <td>0.545903</td>\n",
" <td>-0.026930</td>\n",
" <td>1.024186</td>\n",
" <td>5.328891</td>\n",
" <td>1.142012</td>\n",
" <td>-0.122005</td>\n",
" <td>1.029078</td>\n",
" <td>3.029286</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Musso</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Fiorentina</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>80</td>\n",
" <td>6.026820</td>\n",
" <td>0.479838</td>\n",
" <td>4.632784</td>\n",
" <td>0.883422</td>\n",
" <td>6.040918</td>\n",
" <td>0.574122</td>\n",
" <td>-0.018150</td>\n",
" <td>1.038445</td>\n",
" <td>5.058631</td>\n",
" <td>1.267127</td>\n",
" <td>-0.248430</td>\n",
" <td>0.992984</td>\n",
" <td>1.178538</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Carnesecchi</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Fiorentina</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>5</td>\n",
" <td>5.988562</td>\n",
" <td>0.492755</td>\n",
" <td>4.077794</td>\n",
" <td>1.066340</td>\n",
" <td>6.002525</td>\n",
" <td>0.589996</td>\n",
" <td>-0.017496</td>\n",
" <td>1.046207</td>\n",
" <td>4.783760</td>\n",
" <td>1.400133</td>\n",
" <td>-0.389061</td>\n",
" <td>0.954299</td>\n",
" <td>0.944095</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zappacosta</th>\n",
" <td>D</td>\n",
" <td>Atalanta</td>\n",
" <td>Fiorentina</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>90</td>\n",
" <td>6.083625</td>\n",
" <td>0.627924</td>\n",
" <td>6.479160</td>\n",
" <td>1.053932</td>\n",
" <td>5.897724</td>\n",
" <td>0.687691</td>\n",
" <td>0.197360</td>\n",
" <td>0.773252</td>\n",
" <td>5.540676</td>\n",
" <td>1.267551</td>\n",
" <td>0.512369</td>\n",
" <td>1.299510</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zortea</th>\n",
" <td>D</td>\n",
" <td>Atalanta</td>\n",
" <td>Fiorentina</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>6.150186</td>\n",
" <td>0.516681</td>\n",
" <td>6.476537</td>\n",
" <td>0.757362</td>\n",
" <td>6.067196</td>\n",
" <td>0.583386</td>\n",
" <td>0.104385</td>\n",
" <td>0.850812</td>\n",
" <td>5.875261</td>\n",
" <td>0.978617</td>\n",
" <td>0.433943</td>\n",
" <td>1.299440</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bonazzoli</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Bologna</td>\n",
" <td>1</td>\n",
" <td>0.4</td>\n",
" <td>60</td>\n",
" <td>6.194463</td>\n",
" <td>0.573160</td>\n",
" <td>6.719338</td>\n",
" <td>1.030227</td>\n",
" <td>5.917695</td>\n",
" <td>0.593300</td>\n",
" <td>0.338062</td>\n",
" <td>0.807901</td>\n",
" <td>5.607124</td>\n",
" <td>1.010478</td>\n",
" <td>0.712825</td>\n",
" <td>1.299556</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Henry</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Bologna</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>5.948657</td>\n",
" <td>0.576159</td>\n",
" <td>6.411596</td>\n",
" <td>0.883478</td>\n",
" <td>5.582782</td>\n",
" <td>0.562697</td>\n",
" <td>0.465999</td>\n",
" <td>0.808078</td>\n",
" <td>5.444796</td>\n",
" <td>0.848190</td>\n",
" <td>0.732595</td>\n",
" <td>1.299526</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kallon</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Bologna</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>5.984714</td>\n",
" <td>0.458801</td>\n",
" <td>6.300039</td>\n",
" <td>0.708241</td>\n",
" <td>5.767212</td>\n",
" <td>0.467892</td>\n",
" <td>0.336912</td>\n",
" <td>0.899963</td>\n",
" <td>5.570446</td>\n",
" <td>0.741041</td>\n",
" <td>0.651962</td>\n",
" <td>1.299474</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Djuric</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Bologna</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>60</td>\n",
" <td>6.158875</td>\n",
" <td>0.357994</td>\n",
" <td>6.288688</td>\n",
" <td>0.468988</td>\n",
" <td>6.140615</td>\n",
" <td>0.418206</td>\n",
" <td>0.032221</td>\n",
" <td>0.990635</td>\n",
" <td>5.922352</td>\n",
" <td>0.611119</td>\n",
" <td>0.424342</td>\n",
" <td>1.299342</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Braaf</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Bologna</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>5.610724</td>\n",
" <td>0.386826</td>\n",
" <td>5.801877</td>\n",
" <td>0.469637</td>\n",
" <td>5.429425</td>\n",
" <td>0.389900</td>\n",
" <td>0.336936</td>\n",
" <td>0.966595</td>\n",
" <td>5.391262</td>\n",
" <td>0.572295</td>\n",
" <td>0.498442</td>\n",
" <td>1.299333</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>535 rows × 19 columns</p>\n",
"</div>"
],
"text/plain": [
" role team oppteam home starter vote% MV \\\n",
"player \n",
"Rossi F. P Atalanta Fiorentina 0 0.0 1 6.109952 \n",
"Musso P Atalanta Fiorentina 0 1.0 80 6.026820 \n",
"Carnesecchi P Atalanta Fiorentina 0 0.0 5 5.988562 \n",
"Zappacosta D Atalanta Fiorentina 0 1.0 90 6.083625 \n",
"Zortea D Atalanta Fiorentina 0 0.0 0 6.150186 \n",
"... ... ... ... ... ... ... ... \n",
"Bonazzoli A Verona Bologna 1 0.4 60 6.194463 \n",
"Henry A Verona Bologna 1 0.0 0 5.948657 \n",
"Kallon A Verona Bologna 1 0.0 0 5.984714 \n",
"Djuric A Verona Bologna 1 0.0 60 6.158875 \n",
"Braaf A Verona Bologna 1 0.0 0 5.610724 \n",
"\n",
" MV std FV FV std MV loc MV scale MV skewness \\\n",
"player \n",
"Rossi F. 0.455623 5.139983 0.751770 6.129853 0.545903 -0.026930 \n",
"Musso 0.479838 4.632784 0.883422 6.040918 0.574122 -0.018150 \n",
"Carnesecchi 0.492755 4.077794 1.066340 6.002525 0.589996 -0.017496 \n",
"Zappacosta 0.627924 6.479160 1.053932 5.897724 0.687691 0.197360 \n",
"Zortea 0.516681 6.476537 0.757362 6.067196 0.583386 0.104385 \n",
"... ... ... ... ... ... ... \n",
"Bonazzoli 0.573160 6.719338 1.030227 5.917695 0.593300 0.338062 \n",
"Henry 0.576159 6.411596 0.883478 5.582782 0.562697 0.465999 \n",
"Kallon 0.458801 6.300039 0.708241 5.767212 0.467892 0.336912 \n",
"Djuric 0.357994 6.288688 0.468988 6.140615 0.418206 0.032221 \n",
"Braaf 0.386826 5.801877 0.469637 5.429425 0.389900 0.336936 \n",
"\n",
" MV tailweight FV loc FV scale FV skewness FV tailweight \\\n",
"player \n",
"Rossi F. 1.024186 5.328891 1.142012 -0.122005 1.029078 \n",
"Musso 1.038445 5.058631 1.267127 -0.248430 0.992984 \n",
"Carnesecchi 1.046207 4.783760 1.400133 -0.389061 0.954299 \n",
"Zappacosta 0.773252 5.540676 1.267551 0.512369 1.299510 \n",
"Zortea 0.850812 5.875261 0.978617 0.433943 1.299440 \n",
"... ... ... ... ... ... \n",
"Bonazzoli 0.807901 5.607124 1.010478 0.712825 1.299556 \n",
"Henry 0.808078 5.444796 0.848190 0.732595 1.299526 \n",
"Kallon 0.899963 5.570446 0.741041 0.651962 1.299474 \n",
"Djuric 0.990635 5.922352 0.611119 0.424342 1.299342 \n",
"Braaf 0.966595 5.391262 0.572295 0.498442 1.299333 \n",
"\n",
" Clean Sheet % \n",
"player \n",
"Rossi F. 3.029286 \n",
"Musso 1.178538 \n",
"Carnesecchi 0.944095 \n",
"Zappacosta 0.000000 \n",
"Zortea 0.000000 \n",
"... ... \n",
"Bonazzoli 0.000000 \n",
"Henry 0.000000 \n",
"Kallon 0.000000 \n",
"Djuric 0.000000 \n",
"Braaf 0.000000 \n",
"\n",
"[535 rows x 19 columns]"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"matchday_out = 4\n",
"\n",
"output = pd.DataFrame(columns = ['player', 'role', 'team', 'oppteam', 'home', 'starter', 'vote%', 'MV', 'MV std', 'FV', 'FV std', 'MV loc', 'MV scale', 'MV skewness', 'MV tailweight', 'FV loc', 'FV scale', 'FV skewness', 'FV tailweight', 'Clean Sheet %'])\n",
"\n",
"for i in range(players.shape[0]):\n",
" try:\n",
" [player, team, oppteam, home] = PlayerMatch(players.index[i], matchday_out)\n",
" \n",
" [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home, log = 1)\n",
" \n",
" role = players['r'][player] \n",
" \n",
" starter = 0\n",
" voteperc = 0\n",
" \n",
" cs = 0\n",
" if(role == 'P'):\n",
" cs = dist[2].probs.numpy()[0] * 100\n",
" \n",
" if(player in probables.index):\n",
" starter = probables['starter'][player]\n",
" voteperc = probables['percentage'][player]\n",
" \n",
" row = [player, role, team, oppteam, home, \n",
" starter, voteperc, \n",
" mean[0], std[0], \n",
" mean[1], std[1], \n",
" dist[0].loc.numpy()[0], dist[0].scale.numpy()[0], \n",
" dist[0].skewness.numpy()[0], dist[0].tailweight.numpy()[0], \n",
" dist[1].loc.numpy()[0], dist[1].scale.numpy()[0], \n",
" dist[1].skewness.numpy()[0], dist[1].tailweight.numpy()[0],\n",
" cs]\n",
" \n",
" row_df = pd.DataFrame(data = [row], columns = output.columns)\n",
" \n",
" output = pd.concat([output, row_df])\n",
" \n",
" except:\n",
" print(players.index[i] + ' no data')\n",
"\n",
"output = output.set_index('player')\n",
"\n",
"output = output.sort_values(['team', 'role', 'FV'], ascending = [True, False, False])\n",
"#output.to_excel('outputs/pred_matchday_' + str(matchday_out) + '.xlsx')\n",
"\n",
"output"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "6befd611",
"metadata": {},
"outputs": [],
"source": [
"import shutil\n",
"\n",
"template_file = 'outputs/pred_matchday_base.xlsx'\n",
"dest_file = 'outputs/pred_matchday_' + str(matchday_out) + '.xlsx'\n",
"\n",
"shutil.copyfile(template_file, dest_file)\n",
"\n",
"with pd.ExcelWriter(dest_file, mode = 'a', engine=\"openpyxl\", if_sheet_exists = 'replace') as writer: \n",
" output.to_excel(writer, sheet_name='data')"
]
},
{
"cell_type": "markdown",
"id": "eed7a7ac",
"metadata": {},
"source": [
"Predict average Serie A performance for each player"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "2b637a15",
"metadata": {},
"outputs": [],
"source": [
"gk_starters = ['Maignan', 'Ochoa', 'Silvestri', 'Consigli', 'Provedel', 'Di Gregorio', 'Meret', 'Milinkovic-Savic V.',\n",
" 'Terracciano', 'Sommer', 'Szczesny', 'Skorupski', 'Berisha', 'Musso', 'Radunovic', 'Rui Patricio',\n",
" 'Montipo\\'', 'Falcone', 'Martinez Jo.', 'Turati']"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "60d73507",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Maignan (6.18, 0.45); (5.14, 0.76)\n",
"Meret (6.15, 0.45); (5.49, 0.66)\n",
"Sommer (6.10, 0.48); (5.73, 0.66)\n",
"Szczesny (6.15, 0.46); (5.20, 0.73)\n",
"Provedel (6.17, 0.45); (5.10, 0.77)\n",
"Rui Patricio (5.71, 0.54); (3.59, 1.34)\n",
"Di Gregorio (6.20, 0.45); (5.16, 0.75)\n",
"Skorupski (5.99, 0.49); (3.75, 1.24)\n",
"Milinkovic-Savic V. (6.12, 0.45); (5.23, 0.74)\n",
"Terracciano (6.19, 0.45); (5.10, 0.77)\n",
"Carnesecchi (6.17, 0.45); (5.27, 0.69)\n",
"Falcone (6.18, 0.46); (5.20, 0.73)\n",
"Silvestri (5.94, 0.48); (4.35, 1.03)\n",
"Ochoa (6.21, 0.44); (3.99, 1.11)\n",
"Radunovic (5.79, 0.50); (3.99, 1.14)\n",
"Montipo' (6.15, 0.46); (5.08, 0.77)\n",
"Martinez Jo. (6.13, 0.46); (5.18, 0.75)\n",
"Caprile (5.68, 0.52); (3.44, 1.34)\n",
"Consigli (5.94, 0.49); (3.97, 1.16)\n",
"Musso (6.14, 0.46); (5.66, 0.66)\n",
"Turati (5.83, 0.49); (4.18, 1.09)\n",
"Perin (6.17, 0.45); (5.56, 0.66)\n",
"Berisha (6.14, 0.46); (3.77, 1.22)\n",
"Cragno (5.82, 0.52); (3.60, 1.32)\n",
"Cerofolini (6.14, 0.46); (4.57, 0.93)\n",
"Christensen O. (6.16, 0.45); (4.00, 1.12)\n",
"Sportiello (6.18, 0.46); (5.18, 0.75)\n",
"Mirante (6.18, 0.46); (5.18, 0.75)\n",
"Sepe (6.14, 0.46); (4.48, 0.94)\n",
"Leali (6.13, 0.46); (5.18, 0.75)\n",
"Lamanna (6.11, 0.47); (4.59, 0.92)\n",
"Sommariva (6.13, 0.46); (5.18, 0.75)\n",
"Pegolo (5.82, 0.52); (3.60, 1.32)\n",
"Perilli (6.14, 0.47); (5.31, 0.70)\n",
"Padelli (5.57, 0.55); (3.46, 1.40)\n",
"Scuffet (5.79, 0.50); (3.99, 1.14)\n",
"Gollini (5.87, 0.50); (4.31, 1.07)\n",
"Perisan (5.42, 0.55); (2.92, 1.45)\n",
"Audero (6.10, 0.48); (5.72, 0.66)\n",
"Di Gennaro (6.10, 0.48); (5.73, 0.66)\n",
"Pinsoglio (6.10, 0.49); (5.19, 0.74)\n",
"Aresti (5.79, 0.50); (3.99, 1.14)\n",
"Fiorillo (6.21, 0.44); (4.04, 1.09)\n",
"Rossi F. (6.14, 0.46); (5.71, 0.66)\n",
"Costil (6.21, 0.44); (4.04, 1.09)\n",
"Ravaglia F. (5.89, 0.53); (3.52, 1.39)\n",
"Frattali (5.83, 0.49); (4.18, 1.09)\n",
"Contini (5.87, 0.50); (4.31, 1.07)\n",
"Brancolini (6.12, 0.47); (5.20, 0.73)\n",
"Berardi A. (6.14, 0.47); (5.31, 0.70)\n",
"Gemello (6.21, 0.43); (5.51, 0.67)\n",
"Boer (5.59, 0.56); (3.40, 1.42)\n",
"Bagnolini (5.89, 0.53); (3.52, 1.39)\n",
"Svilar (5.59, 0.56); (3.40, 1.42)\n",
"Sorrentino A. (6.11, 0.47); (4.59, 0.92)\n",
"Martinelli T. (6.15, 0.45); (4.67, 0.89)\n",
"Popa (6.21, 0.43); (5.51, 0.67)\n",
"Stubljar (5.68, 0.52); (3.44, 1.34)\n",
"Gori (6.11, 0.47); (4.59, 0.92)\n",
"Borbei (6.12, 0.47); (5.20, 0.73)\n",
"Okoye (5.57, 0.55); (3.46, 1.40)\n",
"Mandas (6.14, 0.46); (4.48, 0.94)\n",
"Dimarco (6.38, 0.43); (6.74, 0.79)\n",
"Di Lorenzo (6.31, 0.55); (6.92, 1.07)\n",
"Hernandez T. (6.24, 0.52); (6.66, 0.92)\n",
"Carlos Augusto (6.27, 0.46); (6.68, 0.84)\n",
"Danilo (6.34, 0.48); (6.69, 0.82)\n",
"Zappacosta (6.16, 0.54); (6.54, 0.88)\n",
"Schuurs (6.08, 0.43); (6.18, 0.58)\n",
"Posch (6.02, 0.55); (6.39, 0.90)\n",
"Bastoni (6.30, 0.41); (6.44, 0.55)\n",
"Pavard (6.16, 0.37); (6.29, 0.51)\n",
"Smalling (6.10, 0.49); (6.41, 0.76)\n",
"Rrahmani (6.10, 0.53); (6.28, 0.69)\n",
"Dumfries (6.23, 0.46); (6.60, 0.81)\n",
"Romagnoli (6.10, 0.49); (6.19, 0.61)\n",
"Bremer (6.14, 0.55); (6.36, 0.77)\n",
"Tomori (6.12, 0.43); (6.21, 0.55)\n",
"Spinazzola (6.14, 0.47); (6.46, 0.78)\n",
"Darmian (6.23, 0.38); (6.43, 0.58)\n",
"Biraghi (6.15, 0.57); (6.64, 1.01)\n",
"Bakker (6.03, 0.33); (6.10, 0.43)\n",
"Mazzocchi (6.04, 0.39); (6.18, 0.53)\n",
"Baschirotto (6.11, 0.48); (6.25, 0.65)\n",
"Doig (6.05, 0.56); (6.45, 0.89)\n",
"Thiaw (6.11, 0.45); (6.14, 0.49)\n",
"Mario Rui (6.07, 0.46); (6.21, 0.60)\n",
"Calabria (6.11, 0.45); (6.27, 0.64)\n",
"Acerbi (6.09, 0.37); (6.13, 0.41)\n",
"Cuadrado (6.08, 0.41); (6.20, 0.54)\n",
"Milenkovic (5.92, 0.54); (6.01, 0.69)\n",
"Mancini (5.92, 0.41); (5.96, 0.49)\n",
"Buongiorno (6.02, 0.45); (6.15, 0.63)\n",
"Ebuehi (5.87, 0.39); (6.04, 0.54)\n",
"Casale (6.04, 0.41); (6.08, 0.50)\n",
"Scalvini (6.07, 0.52); (6.22, 0.68)\n",
"Holm (6.06, 0.38); (6.17, 0.48)\n",
"Faraoni (5.88, 0.43); (6.09, 0.62)\n",
"Kolasinac (6.07, 0.36); (6.18, 0.46)\n",
"Perez N. (5.87, 0.45); (5.86, 0.55)\n",
"Bijol (5.81, 0.53); (5.87, 0.67)\n",
"De Vrij (6.23, 0.38); (6.32, 0.47)\n",
"Toloi (6.08, 0.48); (6.24, 0.64)\n",
"Djimsiti (5.99, 0.38); (5.98, 0.38)\n",
"Rodriguez R. (5.99, 0.39); (5.97, 0.44)\n",
"Martin (6.00, 0.33); (6.13, 0.45)\n",
"N'dicka (5.99, 0.34); (5.98, 0.38)\n",
"Kyriakopoulos (5.96, 0.36); (5.98, 0.43)\n",
"Mari' (5.85, 0.47); (5.80, 0.53)\n",
"Bastoni S. (6.09, 0.45); (6.35, 0.71)\n",
"Kristensen (5.99, 0.40); (6.20, 0.61)\n",
"Natan (5.95, 0.47); (5.96, 0.55)\n",
"Hysaj (6.00, 0.40); (6.07, 0.51)\n",
"Izzo (5.95, 0.46); (5.93, 0.54)\n",
"D'ambrosio (5.98, 0.31); (5.91, 0.30)\n",
"Luperto (5.76, 0.53); (5.73, 0.63)\n",
"Marusic (5.96, 0.42); (5.91, 0.46)\n",
"Mina (6.04, 0.46); (6.34, 0.74)\n",
"Bellanova (5.89, 0.28); (5.86, 0.28)\n",
"Caldirola (5.93, 0.49); (5.98, 0.61)\n",
"Kalulu (5.92, 0.49); (5.89, 0.52)\n",
"Parisi (6.08, 0.49); (6.29, 0.74)\n",
"Cambiaso (6.12, 0.42); (6.21, 0.51)\n",
"Bradaric (5.95, 0.42); (5.95, 0.47)\n",
"Kamara H. (5.98, 0.38); (6.00, 0.46)\n",
"Olivera (6.01, 0.40); (6.12, 0.51)\n",
"Dodo' (5.88, 0.50); (5.93, 0.63)\n",
"Lucumi' (5.82, 0.42); (5.72, 0.46)\n",
"Hien (5.82, 0.49); (5.73, 0.54)\n",
"Kristiansen (6.08, 0.30); (6.12, 0.38)\n",
"Pedersen (5.95, 0.32); (5.96, 0.36)\n",
"Romagnoli S. (5.95, 0.51); (6.01, 0.63)\n",
"Juan Jesus (6.08, 0.32); (6.10, 0.35)\n",
"Gyomber (5.93, 0.45); (5.86, 0.47)\n",
"Alex Sandro (5.86, 0.48); (5.74, 0.50)\n",
"Hateboer (5.94, 0.45); (6.04, 0.61)\n",
"Palomino (5.96, 0.37); (5.98, 0.42)\n",
"Marchizza (5.93, 0.41); (5.92, 0.47)\n",
"Lazzari (6.01, 0.36); (5.97, 0.38)\n",
"Toljan (5.73, 0.43); (5.65, 0.45)\n",
"Zappa (5.83, 0.38); (5.76, 0.36)\n",
"Gallo (5.94, 0.43); (5.91, 0.47)\n",
"Erlic (5.86, 0.42); (5.77, 0.43)\n",
"Vojvoda (5.92, 0.37); (6.02, 0.50)\n",
"Llorente D. (5.79, 0.49); (5.80, 0.58)\n",
"Dragusin (5.93, 0.44); (6.16, 0.64)\n",
"Vasquez (5.95, 0.44); (5.94, 0.49)\n",
"Viti (6.13, 0.34); (6.30, 0.49)\n",
"Gatti (6.06, 0.40); (6.06, 0.43)\n",
"Birindelli (5.89, 0.37); (5.85, 0.40)\n",
"Gendrey (5.94, 0.38); (5.92, 0.41)\n",
"Beukema (5.96, 0.41); (5.97, 0.49)\n",
"Zemura (5.95, 0.33); (5.95, 0.38)\n",
"Dossena (5.85, 0.34); (5.84, 0.38)\n",
"Azzi (5.90, 0.35); (6.01, 0.44)\n",
"Wieteska (6.00, 0.40); (6.01, 0.46)\n",
"Masina (5.87, 0.55); (6.30, 0.85)\n",
"Pezzella Giu. (5.81, 0.33); (5.74, 0.36)\n",
"Sabelli (5.97, 0.34); (6.05, 0.45)\n",
"Lykogiannis (5.86, 0.33); (5.92, 0.40)\n",
"Djidji (5.86, 0.42); (5.89, 0.52)\n",
"Kabasele (5.81, 0.42); (5.79, 0.50)\n",
"Ranieri L. (5.75, 0.45); (5.67, 0.51)\n",
"Augello (5.88, 0.42); (6.00, 0.52)\n",
"Zortea (6.13, 0.44); (6.38, 0.65)\n",
"Dawidowicz (5.87, 0.51); (5.83, 0.62)\n",
"Pirola (5.99, 0.49); (6.07, 0.63)\n",
"Lovato (5.85, 0.38); (5.77, 0.38)\n",
"Monterisi (6.22, 0.52); (6.63, 0.92)\n",
"Ismajli (5.88, 0.41); (5.81, 0.44)\n",
"Martinez Quarta (5.92, 0.45); (5.86, 0.48)\n",
"Ruggeri (6.10, 0.49); (6.27, 0.66)\n",
"Pongracic (5.94, 0.45); (5.91, 0.51)\n",
"Obert (5.86, 0.43); (5.84, 0.46)\n",
"Tressoldi (5.87, 0.46); (5.88, 0.55)\n",
"Ebosele (5.73, 0.40); (5.69, 0.41)\n",
"Hatzidiakos (5.94, 0.44); (5.95, 0.50)\n",
"Patric (6.02, 0.34); (5.95, 0.33)\n",
"Pellegrini Lu. (5.91, 0.34); (5.84, 0.36)\n",
"Lazaro (6.01, 0.35); (6.05, 0.45)\n",
"Calafiori (5.84, 0.49); (5.84, 0.60)\n",
"Vina (5.75, 0.37); (5.68, 0.37)\n",
"Terracciano F. (6.11, 0.36); (6.20, 0.46)\n",
"Ehizibue (5.76, 0.47); (5.80, 0.59)\n",
"Vogliacco (5.92, 0.46); (5.91, 0.53)\n",
"Goldaniga (5.70, 0.44); (5.61, 0.43)\n",
"Ferrari G. (5.77, 0.49); (5.80, 0.60)\n",
"Lirola (5.97, 0.47); (6.00, 0.56)\n",
"Bereszynski (5.67, 0.43); (5.63, 0.50)\n",
"Venuti (5.88, 0.40); (5.85, 0.45)\n",
"Karsdorp (5.86, 0.28); (5.82, 0.27)\n",
"Bani (5.87, 0.50); (5.91, 0.64)\n",
"Kjaer (6.02, 0.32); (5.97, 0.31)\n",
"Gunter (5.68, 0.51); (5.57, 0.56)\n",
"Magnani (5.81, 0.54); (5.74, 0.62)\n",
"Soumaoro (5.85, 0.53); (5.74, 0.58)\n",
"Carboni A. (5.96, 0.36); (5.95, 0.41)\n",
"Di Pardo (5.88, 0.41); (5.85, 0.43)\n",
"Zanoli (6.12, 0.50); (6.50, 0.81)\n",
"Zima (5.94, 0.33); (5.93, 0.36)\n",
"Hefti (5.72, 0.46); (5.64, 0.47)\n",
"Ostigard (5.98, 0.33); (5.98, 0.35)\n",
"Sambia (5.99, 0.38); (5.98, 0.40)\n",
"Bisseck (6.01, 0.39); (6.08, 0.48)\n",
"Dorgu (6.04, 0.37); (6.07, 0.42)\n",
"Touba (5.98, 0.46); (6.02, 0.56)\n",
"Sazonov (5.95, 0.46); (6.03, 0.60)\n",
"Rugani (6.04, 0.30); (6.01, 0.29)\n",
"De Sciglio (5.90, 0.33); (5.86, 0.32)\n",
"Florenzi (6.06, 0.34); (6.11, 0.40)\n",
"Fazio (5.88, 0.65); (5.92, 0.77)\n",
"Bonifazi (5.74, 0.43); (5.62, 0.43)\n",
"Walukiewicz (5.80, 0.32); (5.73, 0.31)\n",
"Kumbulla (5.47, 0.73); (5.28, 0.72)\n",
"Celik (5.70, 0.40); (5.58, 0.43)\n",
"Amione (5.87, 0.49); (5.88, 0.62)\n",
"Daniliuc (5.84, 0.50); (5.79, 0.56)\n",
"Haps (5.86, 0.46); (5.92, 0.58)\n",
"De Winter (5.77, 0.51); (5.59, 0.52)\n",
"Cittadini (5.93, 0.46); (5.95, 0.57)\n",
"Coppola D. (5.75, 0.42); (5.65, 0.46)\n",
"Cacace (5.61, 0.39); (5.52, 0.37)\n",
"Ebosse (5.75, 0.38); (5.67, 0.41)\n",
"Cabal (5.94, 0.28); (5.89, 0.27)\n",
"Missori (5.83, 0.41); (5.81, 0.48)\n",
"Kayode (6.03, 0.43); (6.06, 0.49)\n",
"Oyono (5.93, 0.39); (5.90, 0.41)\n",
"Ferreira J. (5.78, 0.40); (5.76, 0.45)\n",
"Corazza (5.77, 0.39); (5.73, 0.45)\n",
"Kristensen T. (5.85, 0.46); (5.90, 0.58)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dermaku (5.97, 0.45); (5.99, 0.53)\n",
"Tonelli (5.65, 0.48); (5.54, 0.52)\n",
"Capradossi (5.94, 0.44); (5.95, 0.50)\n",
"De Silvestri (5.83, 0.40); (5.90, 0.51)\n",
"Pereira P. (5.87, 0.37); (5.84, 0.42)\n",
"Bettella (5.93, 0.46); (5.95, 0.57)\n",
"Okoli (5.83, 0.43); (5.74, 0.43)\n",
"Amey (5.86, 0.47); (5.90, 0.60)\n",
"Soppy (5.84, 0.42); (5.88, 0.54)\n",
"Gila (5.93, 0.40); (5.88, 0.42)\n",
"Guessand A. (5.91, 0.45); (5.96, 0.57)\n",
"Bronn (5.79, 0.41); (5.69, 0.40)\n",
"Guarino (5.83, 0.48); (5.89, 0.62)\n",
"Carboni F. (5.84, 0.38); (5.80, 0.42)\n",
"Smajlovic (5.98, 0.46); (6.02, 0.56)\n",
"Matturro (5.92, 0.46); (5.91, 0.53)\n",
"N'guessan (5.95, 0.46); (6.03, 0.60)\n",
"Mateus Lusuardi (5.97, 0.47); (6.00, 0.56)\n",
"Kalaj (5.97, 0.47); (6.00, 0.56)\n",
"Pierozzi (5.96, 0.46); (5.98, 0.54)\n",
"Huijsen (6.04, 0.44); (6.15, 0.56)\n",
"Bonfanti (6.01, 0.44); (6.09, 0.54)\n",
"Pellegrino (5.99, 0.45); (6.05, 0.54)\n",
"Zaccagni (6.38, 0.55); (6.99, 1.15)\n",
"Koopmeiners (6.41, 0.59); (7.18, 1.31)\n",
"Felipe Anderson (6.23, 0.60); (6.87, 1.21)\n",
"Luis Alberto (6.40, 0.55); (7.04, 1.18)\n",
"Rabiot (6.35, 0.58); (7.09, 1.29)\n",
"Zielinski (6.31, 0.47); (6.71, 0.86)\n",
"Barella (6.38, 0.47); (6.86, 0.95)\n",
"Pulisic (6.31, 0.46); (6.63, 0.76)\n",
"Orsolini (6.20, 0.64); (6.89, 1.31)\n",
"Chukwueze (6.11, 0.39); (6.30, 0.55)\n",
"Strefezza (6.23, 0.51); (6.68, 0.94)\n",
"Ferguson (6.28, 0.55); (6.84, 1.08)\n",
"Candreva (6.30, 0.63); (7.01, 1.27)\n",
"Calhanoglu (6.44, 0.43); (6.76, 0.78)\n",
"Frattesi (6.32, 0.49); (6.83, 0.97)\n",
"Samardzic (6.09, 0.49); (6.45, 0.82)\n",
"Vlasic (6.18, 0.51); (6.59, 0.90)\n",
"El Shaarawy (6.30, 0.50); (6.75, 0.96)\n",
"Aouar (6.13, 0.53); (6.65, 0.99)\n",
"Bonaventura (6.27, 0.60); (6.92, 1.21)\n",
"Pellegrini Lo. (6.05, 0.56); (6.55, 0.99)\n",
"Politano (6.29, 0.46); (6.64, 0.80)\n",
"Malinovskyi (6.06, 0.57); (6.62, 1.09)\n",
"Lovric (6.13, 0.47); (6.44, 0.76)\n",
"Kamada (6.12, 0.49); (6.48, 0.82)\n",
"Lindstrom (6.08, 0.46); (6.43, 0.78)\n",
"Lazovic (6.28, 0.54); (6.74, 0.97)\n",
"Loftus-Cheek (6.13, 0.36); (6.16, 0.38)\n",
"Zambo Anguissa (6.15, 0.48); (6.51, 0.78)\n",
"Elmas (6.19, 0.50); (6.59, 0.88)\n",
"Kostic (6.25, 0.48); (6.64, 0.84)\n",
"Gudmundsson A. (6.09, 0.44); (6.39, 0.74)\n",
"Baldanzi (6.04, 0.45); (6.32, 0.71)\n",
"Ciurria (6.15, 0.55); (6.64, 1.00)\n",
"Pasalic (6.07, 0.46); (6.38, 0.71)\n",
"Mkhitaryan (6.27, 0.43); (6.58, 0.71)\n",
"Pessina (6.05, 0.47); (6.30, 0.71)\n",
"Guendouzi (6.09, 0.35); (6.19, 0.45)\n",
"Lobotka (6.12, 0.37); (6.17, 0.42)\n",
"Bajrami (5.99, 0.38); (6.12, 0.47)\n",
"Ricci S. (6.03, 0.38); (6.18, 0.53)\n",
"Reijnders (6.22, 0.39); (6.43, 0.57)\n",
"Pogba (6.04, 0.36); (6.06, 0.42)\n",
"Renato Sanches (5.97, 0.32); (6.06, 0.37)\n",
"Fagioli (6.13, 0.50); (6.49, 0.82)\n",
"Ikone' (6.10, 0.59); (6.64, 1.05)\n",
"Ilic (6.04, 0.42); (6.26, 0.63)\n",
"Radonjic (6.29, 0.53); (6.79, 1.02)\n",
"Ndoye (5.98, 0.39); (6.02, 0.50)\n",
"Ederson D.s. (6.15, 0.41); (6.32, 0.57)\n",
"Colpani (6.32, 0.54); (6.93, 1.12)\n",
"De Roon (6.11, 0.44); (6.29, 0.63)\n",
"Locatelli (6.08, 0.38); (6.11, 0.44)\n",
"Barak (5.87, 0.47); (6.13, 0.66)\n",
"Saponara (6.14, 0.49); (6.47, 0.80)\n",
"Cristante (5.96, 0.37); (5.94, 0.42)\n",
"Mandragora (6.02, 0.57); (6.48, 0.96)\n",
"Weah (6.04, 0.29); (6.05, 0.30)\n",
"Bennacer (6.24, 0.46); (6.52, 0.72)\n",
"Klaassen (6.19, 0.40); (6.48, 0.67)\n",
"Castrovilli (6.11, 0.61); (6.69, 1.10)\n",
"Miranchuk (6.31, 0.50); (6.77, 0.93)\n",
"Musah (6.01, 0.41); (6.05, 0.49)\n",
"Matheus Henrique (5.90, 0.46); (6.20, 0.71)\n",
"De Ketelaere (6.03, 0.43); (6.23, 0.57)\n",
"Mboula (5.84, 0.34); (5.82, 0.39)\n",
"Cataldi (6.03, 0.34); (5.99, 0.35)\n",
"Jankto (5.99, 0.32); (5.98, 0.33)\n",
"Sottil (5.98, 0.38); (6.12, 0.47)\n",
"Arthur Melo (6.05, 0.46); (6.12, 0.55)\n",
"Duda (6.20, 0.54); (6.62, 0.93)\n",
"Thorsby (5.79, 0.50); (5.95, 0.68)\n",
"Nandez (6.03, 0.33); (6.13, 0.45)\n",
"Tameze (5.91, 0.39); (5.90, 0.47)\n",
"Marin (5.94, 0.43); (6.07, 0.60)\n",
"Messias (5.98, 0.56); (6.46, 0.97)\n",
"Mckennie (6.20, 0.39); (6.42, 0.57)\n",
"Reinier (5.98, 0.46); (6.03, 0.56)\n",
"Zalewski (5.89, 0.37); (6.04, 0.48)\n",
"Coulibaly L. (6.06, 0.51); (6.32, 0.77)\n",
"Harroui (6.20, 0.45); (6.52, 0.73)\n",
"Krunic (6.07, 0.37); (6.08, 0.42)\n",
"Paredes (5.77, 0.49); (5.72, 0.57)\n",
"Freuler (5.98, 0.31); (5.98, 0.36)\n",
"Gagliardini (5.82, 0.39); (5.73, 0.39)\n",
"Kastanos (6.02, 0.38); (6.12, 0.49)\n",
"Lopez M. (5.87, 0.37); (5.77, 0.38)\n",
"Gyasi (5.72, 0.41); (5.79, 0.51)\n",
"Frendrup (6.00, 0.36); (6.13, 0.50)\n",
"Moro N. (6.04, 0.39); (6.24, 0.58)\n",
"Ramadani (6.11, 0.46); (6.23, 0.59)\n",
"Mancosu (5.95, 0.44); (5.95, 0.49)\n",
"Vecino (6.00, 0.43); (6.04, 0.53)\n",
"Strootman (5.93, 0.35); (6.04, 0.47)\n",
"Duncan (6.07, 0.44); (6.34, 0.69)\n",
"Machin (5.94, 0.46); (5.98, 0.57)\n",
"Sensi (6.11, 0.42); (6.30, 0.61)\n",
"Linetty (5.92, 0.38); (5.96, 0.49)\n",
"Walace (5.90, 0.37); (5.86, 0.41)\n",
"Brescianini (6.00, 0.36); (6.00, 0.40)\n",
"Pobega (6.01, 0.37); (6.12, 0.49)\n",
"Bove (5.93, 0.38); (6.13, 0.55)\n",
"Aebischer (5.87, 0.32); (5.99, 0.43)\n",
"Thorstvedt (5.95, 0.35); (6.05, 0.44)\n",
"Blin (5.98, 0.33); (5.97, 0.35)\n",
"Gonzalez J. (5.94, 0.40); (5.99, 0.52)\n",
"Oudin (6.07, 0.47); (6.33, 0.69)\n",
"Fabbian (6.13, 0.39); (6.43, 0.74)\n",
"Rafia (6.09, 0.40); (6.27, 0.58)\n",
"Cajuste (5.96, 0.46); (5.99, 0.55)\n",
"Kaba (6.00, 0.32); (5.99, 0.34)\n",
"Grassi (5.94, 0.32); (5.89, 0.34)\n",
"Badelj (5.90, 0.40); (5.86, 0.42)\n",
"Mazzitelli (5.94, 0.46); (5.95, 0.53)\n",
"Castillejo (5.92, 0.38); (6.10, 0.54)\n",
"Hongla (5.82, 0.41); (5.88, 0.50)\n",
"Miretti (6.00, 0.36); (6.04, 0.41)\n",
"Fazzini (5.85, 0.30); (5.81, 0.32)\n",
"Iling Junior (6.04, 0.44); (6.14, 0.56)\n",
"Oristanio (5.93, 0.36); (5.89, 0.35)\n",
"Boloca (5.81, 0.43); (5.78, 0.50)\n",
"Makoumbou (5.93, 0.33); (5.98, 0.38)\n",
"Martegani (6.04, 0.45); (6.09, 0.54)\n",
"Serdar (5.91, 0.42); (5.92, 0.51)\n",
"Payero (5.86, 0.46); (5.91, 0.59)\n",
"Baez (6.07, 0.36); (6.24, 0.51)\n",
"Deiola (5.90, 0.42); (6.01, 0.55)\n",
"Bourabia (6.00, 0.40); (6.06, 0.49)\n",
"Rovella (6.11, 0.46); (6.21, 0.59)\n",
"Saelemaekers (5.98, 0.44); (6.28, 0.70)\n",
"Maldini (6.00, 0.45); (6.31, 0.72)\n",
"Racic (5.97, 0.34); (5.95, 0.38)\n",
"Kovalenko (5.90, 0.33); (5.93, 0.38)\n",
"Maleh (5.74, 0.31); (5.70, 0.37)\n",
"Bohinen (5.95, 0.29); (5.90, 0.26)\n",
"Ranocchia F. (6.11, 0.41); (6.30, 0.60)\n",
"Infantino (5.88, 0.32); (5.83, 0.32)\n",
"Kutlu (5.92, 0.40); (5.89, 0.43)\n",
"Tchatchoua (5.94, 0.48); (5.99, 0.61)\n",
"Garritano (6.09, 0.37); (6.13, 0.43)\n",
"Quina (5.84, 0.37); (5.82, 0.42)\n",
"Adopo (5.97, 0.30); (5.94, 0.29)\n",
"Maggiore (5.95, 0.28); (5.91, 0.27)\n",
"Romero L. (6.24, 0.50); (6.67, 0.90)\n",
"Basic (6.00, 0.36); (6.03, 0.42)\n",
"Asllani (6.07, 0.30); (6.06, 0.31)\n",
"Tchaouna (6.07, 0.41); (6.11, 0.50)\n",
"Sulemana I. (5.88, 0.31); (5.84, 0.30)\n",
"Barrenechea (6.07, 0.38); (6.10, 0.43)\n",
"Gelli (5.99, 0.48); (6.03, 0.56)\n",
"Folorunsho (5.94, 0.49); (6.27, 0.77)\n",
"Suslov (5.94, 0.48); (5.99, 0.61)\n",
"Gaetano (6.17, 0.55); (6.78, 1.09)\n",
"Jagiello (5.94, 0.44); (5.92, 0.50)\n",
"Obiang (5.93, 0.30); (5.88, 0.30)\n",
"Akpa Akpro (5.94, 0.46); (5.98, 0.57)\n",
"Urbanski (5.97, 0.35); (5.99, 0.43)\n",
"Volpato (6.14, 0.40); (6.32, 0.58)\n",
"Vignato S. (5.88, 0.37); (5.85, 0.41)\n",
"Hrustic (5.63, 0.33); (5.64, 0.36)\n",
"Zarraga (5.65, 0.41); (5.60, 0.43)\n",
"Camara E. (5.86, 0.46); (5.91, 0.59)\n",
"Amatucci (5.95, 0.39); (5.93, 0.44)\n",
"Viola (5.88, 0.31); (5.84, 0.28)\n",
"Lulic K. (5.98, 0.46); (6.03, 0.56)\n",
"Rog (5.90, 0.35); (5.87, 0.34)\n",
"Nicolussi Caviglia (5.89, 0.47); (5.91, 0.57)\n",
"Demme (5.97, 0.26); (5.90, 0.23)\n",
"Pafundi (6.05, 0.30); (6.05, 0.31)\n",
"Adli (5.94, 0.39); (5.96, 0.45)\n",
"Bondo (5.96, 0.41); (5.98, 0.49)\n",
"Zerbin (6.01, 0.41); (6.07, 0.49)\n",
"Carboni V. (6.04, 0.35); (6.05, 0.41)\n",
"Faticanti (5.99, 0.45); (6.03, 0.55)\n",
"Gineitis (5.98, 0.44); (6.07, 0.59)\n",
"Belardinelli (5.88, 0.45); (5.96, 0.60)\n",
"El Azzouzi (5.99, 0.30); (6.00, 0.36)\n",
"Lipani (5.91, 0.43); (5.92, 0.53)\n",
"Joselito (5.94, 0.48); (5.99, 0.61)\n",
"Pagano (6.05, 0.34); (6.10, 0.42)\n",
"Legowski (6.03, 0.45); (6.09, 0.57)\n",
"Prati (5.95, 0.44); (5.95, 0.49)\n",
"Osimhen (6.52, 0.78); (8.01, 2.11)\n",
"Martinez L. (6.53, 0.69); (7.81, 1.85)\n",
"Rafael Leao (6.47, 0.69); (7.66, 1.77)\n",
"Immobile (6.33, 0.70); (7.33, 1.64)\n",
"Berardi (6.48, 0.71); (7.78, 1.87)\n",
"Lukaku (6.31, 0.74); (7.32, 1.60)\n",
"Kvaratskhelia (6.44, 0.70); (7.65, 1.79)\n",
"Dybala (6.42, 0.70); (7.63, 1.80)\n",
"Vlahovic (6.32, 0.75); (7.31, 1.67)\n",
"Giroud (6.43, 0.66); (7.51, 1.66)\n",
"Scamacca (6.39, 0.72); (7.52, 1.75)\n",
"Dia (6.38, 0.74); (7.54, 1.79)\n",
"Thuram (6.44, 0.55); (7.17, 1.27)\n",
"Lookman (6.39, 0.70); (7.47, 1.70)\n",
"Sanabria (6.24, 0.65); (7.08, 1.40)\n",
"Arnautovic (6.42, 0.58); (7.27, 1.40)\n",
"Retegui (6.01, 0.64); (6.58, 1.08)\n",
"Nzola (6.18, 0.71); (7.02, 1.40)\n",
"Lauriente' (6.35, 0.62); (7.14, 1.37)\n",
"Zapata D. (5.98, 0.48); (6.33, 0.76)\n",
"Chiesa (6.37, 0.57); (7.08, 1.24)\n",
"Milik (6.24, 0.53); (6.74, 1.00)\n",
"Gonzalez N. (6.28, 0.72); (7.25, 1.56)\n",
"Okafor (6.00, 0.35); (6.02, 0.39)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Toure' E. (6.01, 0.44); (6.09, 0.53)\n",
"Beltran L. (5.91, 0.54); (6.38, 0.85)\n",
"Lapadula (6.08, 0.54); (6.60, 1.02)\n",
"Caprari (6.03, 0.52); (6.42, 0.86)\n",
"Sanchez (6.27, 0.48); (6.70, 0.89)\n",
"Abraham (6.18, 0.64); (6.95, 1.29)\n",
"Caputo (5.87, 0.51); (6.27, 0.79)\n",
"Ngonge (6.27, 0.64); (7.07, 1.36)\n",
"Muriel (6.17, 0.46); (6.44, 0.73)\n",
"Pinamonti (5.89, 0.54); (6.27, 0.85)\n",
"Deulofeu (6.36, 0.61); (7.20, 1.42)\n",
"Jovic (6.07, 0.64); (6.70, 1.17)\n",
"Zirkzee (6.28, 0.52); (6.82, 1.05)\n",
"Krstovic (6.23, 0.41); (6.49, 0.64)\n",
"Petagna (6.02, 0.51); (6.46, 0.88)\n",
"Belotti (6.02, 0.54); (6.52, 0.94)\n",
"Simeone (6.20, 0.52); (6.71, 1.00)\n",
"Cambiaghi (6.20, 0.51); (6.63, 0.92)\n",
"Shomurodov (5.63, 0.34); (5.73, 0.38)\n",
"Azmoun (6.00, 0.44); (6.38, 0.78)\n",
"Castellanos (6.07, 0.33); (6.08, 0.37)\n",
"Thauvin (5.76, 0.31); (5.89, 0.38)\n",
"Pedro (6.12, 0.49); (6.44, 0.78)\n",
"Brekalo (6.15, 0.66); (6.86, 1.24)\n",
"Henry (5.90, 0.55); (6.31, 0.84)\n",
"Mulattieri (6.02, 0.42); (6.40, 0.79)\n",
"Almqvist (6.05, 0.55); (6.40, 0.87)\n",
"Isaksen (5.95, 0.39); (5.93, 0.45)\n",
"Karlsson (6.10, 0.43); (6.47, 0.80)\n",
"Kean (5.93, 0.62); (6.45, 1.06)\n",
"Karamoh (6.06, 0.47); (6.41, 0.78)\n",
"Djuric (6.01, 0.37); (6.16, 0.49)\n",
"Davis K. (5.85, 0.46); (5.94, 0.59)\n",
"Mota (5.94, 0.58); (6.40, 0.95)\n",
"Brenner (5.85, 0.46); (5.94, 0.59)\n",
"Cheddira (6.07, 0.55); (6.58, 1.01)\n",
"Defrel (5.80, 0.43); (6.05, 0.64)\n",
"Raspadori (5.86, 0.48); (6.17, 0.69)\n",
"Colombo (5.93, 0.58); (6.41, 0.94)\n",
"Luvumbo (6.00, 0.36); (6.17, 0.50)\n",
"Banda (6.10, 0.43); (6.30, 0.62)\n",
"Bonazzoli (6.07, 0.53); (6.50, 0.89)\n",
"Pellegri (5.82, 0.44); (6.09, 0.65)\n",
"Kouame' (6.01, 0.59); (6.53, 0.98)\n",
"Piccoli (5.95, 0.51); (6.36, 0.84)\n",
"Success (5.88, 0.42); (6.13, 0.61)\n",
"Botheim (5.79, 0.42); (6.02, 0.59)\n",
"Lucca (5.97, 0.45); (6.31, 0.72)\n",
"Caso (6.14, 0.43); (6.41, 0.71)\n",
"Cancellieri (5.67, 0.32); (5.68, 0.34)\n",
"Jovane (6.03, 0.46); (6.14, 0.59)\n",
"Pavoletti (5.95, 0.39); (6.20, 0.62)\n",
"Soule' (6.15, 0.43); (6.37, 0.62)\n",
"Alvarez A. (5.92, 0.44); (6.22, 0.68)\n",
"Cuni (5.98, 0.32); (5.98, 0.34)\n",
"Ekuban (5.86, 0.35); (6.01, 0.43)\n",
"Seck (6.01, 0.30); (6.08, 0.34)\n",
"Kvernadze (5.95, 0.42); (5.98, 0.49)\n",
"Destro (5.77, 0.42); (5.95, 0.59)\n",
"Van Hooijdonk (5.90, 0.41); (5.98, 0.54)\n",
"Ceide (5.89, 0.33); (6.00, 0.35)\n",
"Maric (5.96, 0.36); (5.97, 0.42)\n",
"Shpendi S. (5.85, 0.41); (5.93, 0.54)\n",
"Ikwuemesi (5.94, 0.38); (5.94, 0.42)\n",
"Puscas (5.95, 0.45); (5.98, 0.53)\n",
"Ake' M. (5.91, 0.39); (5.93, 0.46)\n",
"Braaf (5.63, 0.37); (5.78, 0.45)\n",
"Kallon (5.89, 0.44); (6.15, 0.65)\n",
"Kaio Jorge (5.93, 0.29); (5.92, 0.28)\n",
"Valencia D. (5.81, 0.31); (5.76, 0.33)\n",
"Vivaldo (5.85, 0.46); (5.94, 0.59)\n",
"Bidaoui (5.98, 0.47); (6.05, 0.58)\n",
"Burnete (6.01, 0.41); (6.07, 0.51)\n",
"Corfitzen (5.99, 0.46); (6.07, 0.59)\n",
"Stewart (6.03, 0.46); (6.14, 0.59)\n",
"Yildiz (6.03, 0.45); (6.15, 0.57)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>role</th>\n",
" <th>team</th>\n",
" <th>oppteam</th>\n",
" <th>home</th>\n",
" <th>starter</th>\n",
" <th>vote%</th>\n",
" <th>MV</th>\n",
" <th>MV std</th>\n",
" <th>FV</th>\n",
" <th>FV std</th>\n",
" <th>MV loc</th>\n",
" <th>MV scale</th>\n",
" <th>MV skewness</th>\n",
" <th>MV tailweight</th>\n",
" <th>FV loc</th>\n",
" <th>FV scale</th>\n",
" <th>FV skewness</th>\n",
" <th>FV tailweight</th>\n",
" <th>Clean Sheet %</th>\n",
" </tr>\n",
" <tr>\n",
" <th>player</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Rossi F.</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6.135997</td>\n",
" <td>0.461613</td>\n",
" <td>5.714022</td>\n",
" <td>0.660724</td>\n",
" <td>6.048627</td>\n",
" <td>0.519124</td>\n",
" <td>0.124012</td>\n",
" <td>1.029053</td>\n",
" <td>6.517968</td>\n",
" <td>0.605796</td>\n",
" <td>-0.846135</td>\n",
" <td>1.143799</td>\n",
" <td>54.688394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Musso</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>100</td>\n",
" <td>6.143759</td>\n",
" <td>0.456892</td>\n",
" <td>5.663907</td>\n",
" <td>0.658830</td>\n",
" <td>6.074820</td>\n",
" <td>0.520088</td>\n",
" <td>0.097725</td>\n",
" <td>1.026161</td>\n",
" <td>6.444280</td>\n",
" <td>0.633181</td>\n",
" <td>-0.799317</td>\n",
" <td>1.137828</td>\n",
" <td>45.054388</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Carnesecchi</th>\n",
" <td>P</td>\n",
" <td>Atalanta</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>6.171613</td>\n",
" <td>0.448379</td>\n",
" <td>5.270031</td>\n",
" <td>0.694458</td>\n",
" <td>6.124808</td>\n",
" <td>0.517080</td>\n",
" <td>0.066629</td>\n",
" <td>1.021485</td>\n",
" <td>5.670223</td>\n",
" <td>0.973802</td>\n",
" <td>-0.307640</td>\n",
" <td>1.065162</td>\n",
" <td>30.680643</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zappacosta</th>\n",
" <td>D</td>\n",
" <td>Atalanta</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>100</td>\n",
" <td>6.164220</td>\n",
" <td>0.536976</td>\n",
" <td>6.543927</td>\n",
" <td>0.876288</td>\n",
" <td>6.096765</td>\n",
" <td>0.610885</td>\n",
" <td>0.081141</td>\n",
" <td>0.849494</td>\n",
" <td>5.867186</td>\n",
" <td>1.148170</td>\n",
" <td>0.417483</td>\n",
" <td>1.299464</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Zortea</th>\n",
" <td>D</td>\n",
" <td>Atalanta</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>66</td>\n",
" <td>6.127283</td>\n",
" <td>0.439518</td>\n",
" <td>6.378233</td>\n",
" <td>0.647546</td>\n",
" <td>6.074436</td>\n",
" <td>0.502348</td>\n",
" <td>0.077442</td>\n",
" <td>0.919646</td>\n",
" <td>5.907557</td>\n",
" <td>0.872174</td>\n",
" <td>0.385011</td>\n",
" <td>1.299393</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bonazzoli</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>100</td>\n",
" <td>6.072518</td>\n",
" <td>0.526842</td>\n",
" <td>6.502965</td>\n",
" <td>0.886756</td>\n",
" <td>5.816470</td>\n",
" <td>0.540459</td>\n",
" <td>0.343905</td>\n",
" <td>0.844684</td>\n",
" <td>5.592752</td>\n",
" <td>0.931571</td>\n",
" <td>0.648695</td>\n",
" <td>1.299513</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Henry</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5.904871</td>\n",
" <td>0.547199</td>\n",
" <td>6.312075</td>\n",
" <td>0.840993</td>\n",
" <td>5.585084</td>\n",
" <td>0.541561</td>\n",
" <td>0.424691</td>\n",
" <td>0.833344</td>\n",
" <td>5.439171</td>\n",
" <td>0.871586</td>\n",
" <td>0.660970</td>\n",
" <td>1.299495</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Djuric</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>100</td>\n",
" <td>6.009929</td>\n",
" <td>0.374071</td>\n",
" <td>6.164560</td>\n",
" <td>0.494678</td>\n",
" <td>5.926849</td>\n",
" <td>0.415523</td>\n",
" <td>0.147962</td>\n",
" <td>0.975165</td>\n",
" <td>5.780578</td>\n",
" <td>0.645541</td>\n",
" <td>0.421290</td>\n",
" <td>1.299341</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Kallon</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5.888568</td>\n",
" <td>0.441270</td>\n",
" <td>6.152357</td>\n",
" <td>0.645718</td>\n",
" <td>5.679896</td>\n",
" <td>0.448357</td>\n",
" <td>0.337417</td>\n",
" <td>0.919836</td>\n",
" <td>5.527265</td>\n",
" <td>0.723476</td>\n",
" <td>0.585107</td>\n",
" <td>1.299425</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Braaf</th>\n",
" <td>A</td>\n",
" <td>Verona</td>\n",
" <td>Avg</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5.634034</td>\n",
" <td>0.373243</td>\n",
" <td>5.780195</td>\n",
" <td>0.453907</td>\n",
" <td>5.472137</td>\n",
" <td>0.381481</td>\n",
" <td>0.308377</td>\n",
" <td>0.982415</td>\n",
" <td>5.418116</td>\n",
" <td>0.585017</td>\n",
" <td>0.436805</td>\n",
" <td>1.299298</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>535 rows × 19 columns</p>\n",
"</div>"
],
"text/plain": [
" role team oppteam home starter vote% MV MV std \\\n",
"player \n",
"Rossi F. P Atalanta Avg 1 0 0 6.135997 0.461613 \n",
"Musso P Atalanta Avg 1 1 100 6.143759 0.456892 \n",
"Carnesecchi P Atalanta Avg 1 0 0 6.171613 0.448379 \n",
"Zappacosta D Atalanta Avg 1 1 100 6.164220 0.536976 \n",
"Zortea D Atalanta Avg 1 0 66 6.127283 0.439518 \n",
"... ... ... ... ... ... ... ... ... \n",
"Bonazzoli A Verona Avg 1 0 100 6.072518 0.526842 \n",
"Henry A Verona Avg 1 0 0 5.904871 0.547199 \n",
"Djuric A Verona Avg 1 0 100 6.009929 0.374071 \n",
"Kallon A Verona Avg 1 0 0 5.888568 0.441270 \n",
"Braaf A Verona Avg 1 0 0 5.634034 0.373243 \n",
"\n",
" FV FV std MV loc MV scale MV skewness \\\n",
"player \n",
"Rossi F. 5.714022 0.660724 6.048627 0.519124 0.124012 \n",
"Musso 5.663907 0.658830 6.074820 0.520088 0.097725 \n",
"Carnesecchi 5.270031 0.694458 6.124808 0.517080 0.066629 \n",
"Zappacosta 6.543927 0.876288 6.096765 0.610885 0.081141 \n",
"Zortea 6.378233 0.647546 6.074436 0.502348 0.077442 \n",
"... ... ... ... ... ... \n",
"Bonazzoli 6.502965 0.886756 5.816470 0.540459 0.343905 \n",
"Henry 6.312075 0.840993 5.585084 0.541561 0.424691 \n",
"Djuric 6.164560 0.494678 5.926849 0.415523 0.147962 \n",
"Kallon 6.152357 0.645718 5.679896 0.448357 0.337417 \n",
"Braaf 5.780195 0.453907 5.472137 0.381481 0.308377 \n",
"\n",
" MV tailweight FV loc FV scale FV skewness FV tailweight \\\n",
"player \n",
"Rossi F. 1.029053 6.517968 0.605796 -0.846135 1.143799 \n",
"Musso 1.026161 6.444280 0.633181 -0.799317 1.137828 \n",
"Carnesecchi 1.021485 5.670223 0.973802 -0.307640 1.065162 \n",
"Zappacosta 0.849494 5.867186 1.148170 0.417483 1.299464 \n",
"Zortea 0.919646 5.907557 0.872174 0.385011 1.299393 \n",
"... ... ... ... ... ... \n",
"Bonazzoli 0.844684 5.592752 0.931571 0.648695 1.299513 \n",
"Henry 0.833344 5.439171 0.871586 0.660970 1.299495 \n",
"Djuric 0.975165 5.780578 0.645541 0.421290 1.299341 \n",
"Kallon 0.919836 5.527265 0.723476 0.585107 1.299425 \n",
"Braaf 0.982415 5.418116 0.585017 0.436805 1.299298 \n",
"\n",
" Clean Sheet % \n",
"player \n",
"Rossi F. 54.688394 \n",
"Musso 45.054388 \n",
"Carnesecchi 30.680643 \n",
"Zappacosta 0.000000 \n",
"Zortea 0.000000 \n",
"... ... \n",
"Bonazzoli 0.000000 \n",
"Henry 0.000000 \n",
"Djuric 0.000000 \n",
"Kallon 0.000000 \n",
"Braaf 0.000000 \n",
"\n",
"[535 rows x 19 columns]"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"output = pd.DataFrame(columns = ['player', 'role', 'team', 'oppteam', 'home', 'starter', 'vote%', 'MV', 'MV std', 'FV', 'FV std', 'MV loc', 'MV scale', 'MV skewness', 'MV tailweight', 'FV loc', 'FV scale', 'FV skewness', 'FV tailweight', 'Clean Sheet %'])\n",
"\n",
"tot_matches = 2 # home and not home\n",
"\n",
"current_season_games = max(players_orig['games'])\n",
"\n",
"for i in range(players.shape[0]):\n",
" try:\n",
" home = 0\n",
"\n",
" for k in range(tot_matches):\n",
" #matchday_out = k + 1\n",
" #[player, team, oppteam, home] = PlayerMatch(players.index[i], matchday_out)\n",
"\n",
" player = players.index[i]\n",
" team = players['team'][i]\n",
" oppteam = 'Avg'\n",
" home = not home\n",
"\n",
" [mean, std, dist] = vote_predict_NNb(player, team, oppteam, home = home)\n",
"\n",
" role = players['r'][player] \n",
"\n",
" starter = 0\n",
" voteperc = 0\n",
"\n",
" games = max( players_orig['games'][i], players_orig['gk_games'][i] )\n",
" mins = max( players_orig['minutes'][i], players_orig['gk_minutes'][i] )\n",
"\n",
" cs = 0\n",
" if(role == 'P'):\n",
" cs = dist[2].probs.numpy()[0] * 100\n",
"\n",
" starter = int( player in gk_starters )\n",
" if(starter):\n",
" voteperc = 100\n",
" else:\n",
" voteperc = 0\n",
" else:\n",
" starter = int ( 1 * (games >= current_season_games * 2/3 and mins / games >= 45 ) )\n",
" voteperc = int( min( 1, games / current_season_games ) * 100) \n",
"\n",
" if(k == 0):\n",
" row = [player, role, team, 'Avg', 1, starter, voteperc]\n",
"\n",
" numrow_ = [mean[0], std[0], \n",
" mean[1], std[1], \n",
" dist[0].loc.numpy()[0], dist[0].scale.numpy()[0], \n",
" dist[0].skewness.numpy()[0], dist[0].tailweight.numpy()[0], \n",
" dist[1].loc.numpy()[0], dist[1].scale.numpy()[0], \n",
" dist[1].skewness.numpy()[0], dist[1].tailweight.numpy()[0],\n",
" cs] \n",
"\n",
" if(k == 0):\n",
" numrow = numrow_\n",
" else:\n",
" for j in range(len(numrow)):\n",
" numrow[j] += numrow_[j]\n",
"\n",
" for j in range(len(numrow)):\n",
" numrow[j] /= tot_matches\n",
"\n",
" print(players.index[i] + ' (' + \"{:.2f}\".format(numrow[0]) + ', ' + \"{:.2f}\".format(numrow[1]) + \n",
" '); (' + \"{:.2f}\".format(numrow[2]) + ', ' + \"{:.2f}\".format(numrow[3]) + ')' )\n",
"\n",
" row += numrow # list concat\n",
"\n",
" row_df = pd.DataFrame(data = [row], columns = output.columns)\n",
"\n",
" output = pd.concat([output, row_df])\n",
" except:\n",
" print(players.index[i] + ' no data')\n",
" \n",
" \n",
"\n",
"output = output.set_index('player')\n",
"\n",
"output = output.sort_values(['team', 'role', 'FV'], ascending = [True, False, False])\n",
"#output.to_excel('outputs/pred_matchday_' + str(matchday_out) + '.xlsx')\n",
"\n",
"output"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "b47cbd63",
"metadata": {},
"outputs": [],
"source": [
"import shutil\n",
"\n",
"output = output.sort_values(['role', 'FV'], ascending = [False, False])\n",
"\n",
"template_file = 'outputs/pred_matchday_base.xlsx'\n",
"dest_file = 'outputs/pred_avg_seriea.xlsx'\n",
"\n",
"shutil.copyfile(template_file, dest_file)\n",
"\n",
"with pd.ExcelWriter(dest_file, mode = 'a', engine=\"openpyxl\", if_sheet_exists = 'replace') as writer: \n",
" output.to_excel(writer, sheet_name='data')"
]
},
{
"cell_type": "markdown",
"id": "cf9df3bb",
"metadata": {},
"source": [
"Various predictions."
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "7300f3c2",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Meret: MV 5.90 ± 1.55; FV 5.53 + 1.18 (43.4% cs)\n",
"Szczesny: MV 5.90 ± 1.55; FV 5.54 + 1.23 (53.7% cs)\n",
"Provedel: MV 5.89 ± 1.56; FV 5.03 + 1.63 (28.1% cs)\n",
"Maignan: MV 5.90 ± 1.55; FV 5.21 + 1.44 (29.1% cs)\n",
"Rui Patricio: MV 5.84 ± 1.66; FV 3.89 + 2.53 (10.0% cs)\n",
"Sommer: MV 5.90 ± 1.55; FV 5.57 + 1.20 (57.7% cs)\n",
"Milinkovic-Savic V.: MV 5.85 ± 1.64; FV 5.11 + 1.72 (40.7% cs)\n",
"Musso: MV 5.90 ± 1.55; FV 5.60 + 1.35 (58.3% cs)\n",
"Caprile: MV 5.86 ± 1.61; FV 3.99 + 2.22 (6.3% cs)\n",
"Silvestri: MV 5.90 ± 1.55; FV 5.19 + 1.44 (32.8% cs)\n",
"Terracciano: MV 5.88 ± 1.58; FV 4.24 + 2.15 (16.7% cs)\n",
"Skorupski: MV 5.89 ± 1.57; FV 4.48 + 2.02 (22.3% cs)\n",
"Falcone: MV 5.90 ± 1.55; FV 5.32 + 1.44 (38.7% cs)\n",
"Di Gregorio: MV 5.90 ± 1.55; FV 5.21 + 1.54 (32.9% cs)\n",
"Consigli: MV 5.79 ± 1.73; FV 3.82 + 2.56 (8.2% cs)\n",
"Radunovic: MV 5.71 ± 1.90; FV 4.24 + 2.26 (21.5% cs)\n",
"Montipo': MV 5.87 ± 1.59; FV 4.34 + 2.10 (16.6% cs)\n",
"Martinez Jo.: MV 5.90 ± 1.55; FV 5.24 + 1.34 (27.6% cs)\n",
"Turati: MV 5.90 ± 1.55; FV 5.04 + 1.48 (22.6% cs)\n",
"Ochoa: MV 5.90 ± 1.55; FV 4.95 + 1.55 (19.2% cs)\n"
]
},
{
"data": {
"text/plain": [
"[array([5.89767402, 4.95480099]),\n",
" array([0.7759559 , 0.77737534], dtype=float32),\n",
" [<tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>,\n",
" <tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>,\n",
" <tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=int32>]]"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predict_player('Meret', log = 1, plot = 0)\n",
"predict_player('Szczesny', log = 1, plot = 0)\n",
"predict_player('Provedel', log = 1, plot = 0)\n",
"predict_player('Maignan', log = 1, plot = 0)\n",
"predict_player('Rui Patricio', log = 1, plot = 0)\n",
"predict_player('Sommer', log = 1, plot = 0)\n",
"predict_player('Milinkovic-Savic V.', log = 1, plot = 0)\n",
"predict_player('Musso', log = 1, plot = 0)\n",
"predict_player('Caprile', log = 1, plot = 0)\n",
"predict_player('Silvestri', log = 1, plot = 0)\n",
"predict_player('Terracciano', log = 1, plot = 0)\n",
"predict_player('Skorupski', log = 1, plot = 0)\n",
"predict_player('Falcone', log = 1, plot = 0)\n",
"predict_player('Di Gregorio', log = 1, plot = 0)\n",
"predict_player('Consigli', log = 1, plot = 0)\n",
"predict_player('Radunovic', log = 1, plot = 0)\n",
"predict_player('Montipo\\'', log = 1, plot = 0)\n",
"predict_player('Martinez Jo.', log = 1, plot = 0)\n",
"predict_player('Turati', log = 1, plot = 0)\n",
"predict_player('Ochoa', log = 1, plot = 0)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "4b9f5a7d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Osimhen: MV 6.52 ± 1.55; FV 8.32 + 5.10\n",
"Osimhen: MV 6.52 ± 1.55; FV 8.31 + 5.09\n"
]
},
{
"data": {
"text/plain": [
"[array([6.5154007 , 8.31434958]),\n",
" array([0.7731867, 2.543137 ], dtype=float32),\n",
" [<tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>,\n",
" <tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>]]"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predict_player('Osimhen', log = 1)\n",
"predict_player('Osimhen', log = 1, oldseason= True)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "10c7ad3e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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0uLtt9/Gr7/+ij/++APlypWTOpwidfLkScTHx6NBgwZQKBRQKBTYv38/vv/+eygUChiNRqlDLDJ+fn6oXr26VVlISEipG9j93nvvYeLEiejfvz9q1aqFwYMH45133sHMmTOlDk0yvr6+AMDPzX/p9Xr07dsXUVFR2L17d6lrFTl48CDi4+NRvnx5y+dmdHQ03n33XVSoUEHq8KwU22REpVKhQYMG2L17t1X57t270bx5c4mikoYoinjrrbewceNG7N27FxUrVpQ6pCLXrl07nDt3DpGRkZatYcOGGDRoECIjIyGXy6UOsci0aNEi29Tuy5cvW+6cXVqkp6dDJrP+CJPL5SV+au+TVKxYEb6+vlafmzqdDvv37y91n5tZiciVK1fwv//9Dx4eHlKHVOQGDx6Ms2fPWn1u+vv747333sPvv/8udXhWinU3TVhYGAYPHoyGDRuiWbNm+OmnnxATE4PRo0dLHVqRevPNN7F69Wps2bIFLi4ulr963Nzc4ODgIHF0RcPFxSXbGBknJyd4eHiUurEz77zzDpo3b44ZM2agb9++OHbsGH766Sf89NNPUodWpLp3747PP/8c5cuXR40aNXD69GnMnj0bI0aMkDq0QpWamoqrV69aHkdFRSEyMhLu7u4oX748xo8fjxkzZqBKlSqoUqUKZsyYAUdHRwwcOFDCqAvek94Hf39/9OnTB6dOncK2bdtgNBotn5vu7u5QqVRShV3gnvbz8N8kTKlUwtfXF9WqVSvqUJ9M2sk8Tzdv3jwxKChIVKlUYv369UvldFYAOW5Lly6VOjRJldapvaIoilu3bhVr1qwpqtVqMTg4WPzpp5+kDqnIJScni+PGjRPLly8vajQasVKlSuLkyZNFrVYrdWiF6o8//sjx82Do0KGiKJqn906dOlX09fUV1Wq1+Pzzz4vnzp2TNuhC8KT3ISoqKtfPzT/++EPq0AvU034e/qu4Tu0VRFEUiyjvISIiIsqm2I4ZISIiotKByQgRERFJiskIERERSYrJCBEREUmKyQgRERFJiskIERERSYrJCBEREUmKyQgRERFJiskIERERSYrJCBEREUmKyQgRERFJ6v8TGhZFndWZzAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Rafael Leao: MV 6.48 ± 1.37; FV 7.84 + 4.05\n"
]
},
{
"data": {
"text/plain": [
"[array([6.48351824, 7.84102121]),\n",
" array([0.6832447, 2.0243561], dtype=float32),\n",
" [<tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>,\n",
" <tfp.distributions._TensorCoercible 'tensor_coercible' batch_shape=[1] event_shape=[] dtype=float32>]]"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predict_player('Rafael Leao', plot = 1, log = 1)"
]
},
{
"cell_type": "markdown",
"id": "30744d7a",
"metadata": {},
"source": [
"Tensorflow seems to have a custom definition for SinhArcsinh distribution. \n",
"\n",
"Here the code to generate the probability density function is reproduced."
]
},
{
"cell_type": "code",
"execution_count": 110,
"id": "3ec6c3dc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x203bcc464f0>]"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABA9UlEQVR4nO3deXiU9b3//9csyWSfkJ1AEgKyowLBKiDauqSl1tZvTyutR7Gn2iNflwq0/arHnrpcp9JNS1sFpWr9tT1a2h5rbQ+txqoIUhciUfZFlkAWQhKSyTpJZu7fH5MZEsKShJm5ZybPx3XNBczcM/Oei4vJi/dnsxiGYQgAAMAkVrMLAAAAIxthBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjAADAVIQRAABgKrvZBQyG1+tVdXW1UlNTZbFYzC4HAAAMgmEYamlpUX5+vqzW0/c/oiKMVFdXq6CgwOwyAADAMBw+fFhjx4497eNREUZSU1Ml+T5MWlqaydUAAIDBcLlcKigoCPwcP52oCCP+oZm0tDTCCAAAUeZsUyyYwAoAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUxFGAACAqQgjQARr7+rR0xv264/lR+T1GmaXAwAhERWn9gIj1dLfVejVHUclSbXNHbrziokmVwQAwUdnBIhQ26qaA0FEkla/+bGa27tNrAgAQoMwAkSov3xULUm65vzRmpSborYuj17ZXmtyVQAQfIQRIEKt331MklQ6PVefvzBfkrRuW42ZJQFASBBGgAjU0OrWrtoWSdKl52Xpiim5kqT3DjSqx+M1szQACDrCCBCBtle7JEnFWcnKTHFoSl6qnIlxau/yaFvvYwAQKwgjQATaUeMLHNPy0yRJVqtFF43LkCS9f6DRtLoAIBQII0AE8ndGpveGEUmaVZguSdpa1WxGSQAQMoQRIALt6u2MTB19Ioz4g8m2asIIgNhCGAEijNdr6FBjuyTpvOyUwP3T852SpAP1bWpz95hSGwCEAmEEiDC1rk519XgVZ7NotDMhcH92qkM5qQ4ZhrSrlkmsAGIHYQSIMAcb2iRJY0clyW7r/0/UP6F1Z01L2OsCgFAhjAAR5lCDb4imKDNpwGP+YZuPj7WGtSYACCXCCBBhAmEkY2AYmZDjDyNtYa0JAEKJMAJEmEO9wzRFmckDHjvPH0bq6IwAiB2EESDCVDV1SJLGjkoc8NiE3mGaqqYOtXexogZAbCCMABGmtrlTkjTaOTCMZCTHa1RSnCRpP0M1AGIEYQSIIN0er461uiVJuU7HKa8JDNUwiRVAjCCMABHkWItbhiHZrRZlJZ86jBRn+eaSHKxvD2dpABAyhBEggtS6fEM0OakOWa2WU17jn9h6qJFhGgCxgTACRJCjvfNF8vrsvHqygt4lv4cb6YwAiA2EESCC+DsjZwoj/v1HKgkjAGIEYQSIIP4wkpt2+jBS2BtGjrrc6uz2hKUuAAglwggQQfzLevPOEEbSk+KU6rBLYqgGQGwgjAARpHYQc0YsFosKMxmqARA7CCNABKnv3WMkO/XUy3r9/EM1/nNsACCaEUaACNLQ1iVJyko5SxihMwIghhBGgAjR7fGqqb1bkpSZHH/GawtZ3gsghgwrjKxatUrFxcVKSEhQSUmJNmzYMKjnvf3227Lb7Zo5c+Zw3haIacfbfV0Rq0VKTxpcGDlEGAEQA4YcRtauXaulS5fq/vvv15YtW7RgwQItXLhQlZWVZ3xec3OzFi9erCuvvHLYxQKxrKHVF0YykuNlO83uq35jR/nCSNXxDhmGEfLaACCUhhxGHnvsMd1yyy269dZbNXXqVK1cuVIFBQVavXr1GZ9322236YYbbtDcuXOHXSwQy/qGkbMZ3bvapqPbExjaAYBoNaQw0tXVpfLycpWWlva7v7S0VJs2bTrt8371q1/p448/1gMPPDCo93G73XK5XP1uQKxraPOtpMk8zQF5fSXE2QKTXKuaOkJaFwCE2pDCSH19vTwej3Jzc/vdn5ubq9ra2lM+Z+/evbr33nv13//937Lb7YN6nxUrVsjpdAZuBQUFQykTiEr1vZ2RzJSzd0YkacyoREnSkeOEEQDRbVgTWC2W/uPZhmEMuE+SPB6PbrjhBj300EOaNGnSoF//vvvuU3Nzc+B2+PDh4ZQJRJXG3s7I2Zb1+o1N94WRajojAKLc4FoVvbKysmSz2QZ0Qerq6gZ0SySppaVFmzdv1pYtW3TnnXdKkrxerwzDkN1u16uvvqorrrhiwPMcDoccjsF9IQOxwj9n5GzLev3y033zRhimARDthtQZiY+PV0lJicrKyvrdX1ZWpnnz5g24Pi0tTVu3blVFRUXgtmTJEk2ePFkVFRW6+OKLz616IIb4h2kyBjtM09sZqWKYBkCUG1JnRJKWL1+um266SXPmzNHcuXO1Zs0aVVZWasmSJZJ8QyxVVVX69a9/LavVqhkzZvR7fk5OjhISEgbcD4x0Q5nAKkljepf3VjcTRgBEtyGHkUWLFqmhoUEPP/ywampqNGPGDK1bt05FRUWSpJqamrPuOQJgIP8wTRadEQAjjMWIgh2TXC6XnE6nmpublZaWZnY5QEjMeOAVtbp79Ma3P6nirOSzXt/c3q0LH35VkrTz4c8oMd4W6hIBYEgG+/Obs2mACODu8ajV3SNpcJueSVJaol0pDl9zk6EaANGMMAJEAP8uqjarRWkJgxs9tVgsDNUAiAmEESAC+MOIMzHulHv2nA7LewHEAsIIEAGaek/sTU+MG9Lz/LuwsvEZgGhGGAEiQFNHb2ckaYhhJP3E6b0AEK0II0AEaO4dphluZ+QInREAUYwwAkSApo7eYZqkwa2k8RvjnzNCZwRAFCOMABGg7wTWofAP09S6OuXxRvyWQQBwSoQRIAL454ykD3HOSHaqQ3arRR6vobqWzlCUBgAhRxgBIoB/zsioIQ7T2KwWje4dqmFFDYBoRRgBIsBx/9LeIXZGJCnf2bvxWROdEQDRiTACRIDhzhmRODAPQPQjjAARoDkwZ2RowzSSlJ/OxmcAohthBIgAw92BVSKMAIh+hBHAZF09XrV1eSQNb86If+MzzqcBEK0II4DJ/EM0FouUmjCcOSOspgEQ3QgjgMmae3dfdSbGyWYd/Im9fqN7V9O4OnvU0tkd1NoAIBwII4DJmoZ5Lo1fssMeGN6pZnkvgChEGAFMdty/rHcYK2n8/HuNMFQDIBoRRgCTnctKGj8msQKIZoQRwGTNwzyXpq/AxmeEEQBRiDACmOxc54xIUj4ragBEMcIIYLIm/2qac5kzwsZnAKIYYQQwWXNHj6ThnUvjdyKMsJoGQPQhjAAm8+8NkpZgH/ZrjO0NI7WuTvV4vEGpCwDChTACmMzVO4F1OLuv+mWlOBRns8jjNXS0xR2s0gAgLAgjgMlaOn3DNGmJw++MWK2WwE6szBsBEG0II4DJXIFhmuF3RiRW1ACIXoQRwGSu3gms5x5G2GsEQHQijAAm6vZ41dHtkXRuwzTSiUmsdEYARBvCCGAi/3wRSUpxnFsYCXRGjhNGAEQXwghgIv+y3uR4m+y2c/vnyF4jAKIVYQQwUWC+yDlseObHLqwAohVhBDCRfyVN6jlseObnX03T4u4JvC4ARAPCCGCiliAt65WkpHi7MpJ959vQHQEQTQgjgIn8wzTB6IxIJ7ojTGIFEE0II4CJAhueBWHOiCTlswsrgChEGAFM5OoMzoZnfic2PmNFDYDoQRgBTHTikLzgDNOMYUUNgChEGAFMdOKQvOB0RsaMYkt4ANGHMAKYKJhLeyX2GgEQnQgjgIn8wzTBmzPiW01z1NWpbo83KK8JAKFGGAFMFOxhmqxkh+JtVnkNXyABgGhAGAFMFOxhGqvVotG93RHOqAEQLQgjgIlagry0VzqxoqaqqT1orwkAoUQYAUzi9RontoNPDE5nROL0XgDRhzACmKStq0dew/f7YHZGTmx8xooaANGBMAKYxD9EE2+zymEP3j/FMYE5I4QRANGBMAKYpO/kVYvFErTXHZOeJIkwAiB6EEYAkwR7Wa9f35N7DcMI6msDQCgQRgCTnNjwLHiTV6UTc0baujxydfQE9bUBIBQII4BJTgzTBLczkhBnU2ZyvCQmsQKIDoQRwCQnhmmC2xmROKMGQHQhjAAm8Q/TpDqC2xmRTmx8Vt1MGAEQ+QgjgEnC0RmpOk4YARD5CCOASfxzRoK54ZlfYEUNwzQAogBhBDCJf6VLsA7J62sMu7ACiCKEEcAkgc5IkPcZkaSCDN/GZ4cbCSMAIh9hBDCJq9PfGQldGKlvdau9i71GAEQ2wghgksCJvSEYpnEmxsnZ23GhOwIg0hFGAJP454yEYphGkgp7uyOVje0heX0ACBbCCGCSvgflhQJhBEC0IIwAJujs9qirxyspdJ2RE5NYCSMAIhthBDCBf8Mzi0VKiaczAmBkI4wAJvBPXk1x2GW1WkLyHoQRANFiWGFk1apVKi4uVkJCgkpKSrRhw4bTXrtx40bNnz9fmZmZSkxM1JQpU/TTn/502AUDscC/rDcUu6/6FfYZpvF6jZC9DwCcqyH3h9euXaulS5dq1apVmj9/vp566iktXLhQO3bsUGFh4YDrk5OTdeedd+qCCy5QcnKyNm7cqNtuu03Jycn693//96B8CCDaBA7JC9HkVUkanZ4gm9Uid49Xx1rdyk1LCNl7AcC5GHJn5LHHHtMtt9yiW2+9VVOnTtXKlStVUFCg1atXn/L6WbNm6atf/aqmT5+ucePG6cYbb9SnP/3pM3ZTgFh34pC80HVG4mzWwBk1DNUAiGRDCiNdXV0qLy9XaWlpv/tLS0u1adOmQb3Gli1btGnTJl1++eWnvcbtdsvlcvW7AbEklIfk9RWYN9JAGAEQuYYURurr6+XxeJSbm9vv/tzcXNXW1p7xuWPHjpXD4dCcOXN0xx136NZbbz3ttStWrJDT6QzcCgoKhlImEPFCuftqX0xiBRANhjWB1WLpP/vfMIwB951sw4YN2rx5s5588kmtXLlSL7zwwmmvve+++9Tc3By4HT58eDhlAhEr1Luv+rHXCIBoMKT/lmVlZclmsw3ogtTV1Q3olpysuLhYknT++efr6NGjevDBB/XVr371lNc6HA45HI6hlAZElVDvvupHZwRANBhSZyQ+Pl4lJSUqKyvrd39ZWZnmzZs36NcxDENut3sobw3ElJYwLO2VCCMAosOQ/1u2fPly3XTTTZozZ47mzp2rNWvWqLKyUkuWLJHkG2KpqqrSr3/9a0nSE088ocLCQk2ZMkWSb9+Rn/zkJ7rrrruC+DGA6OJf2puWGJ7OSF2LW53dHiXE2UL6fgAwHEP+Jly0aJEaGhr08MMPq6amRjNmzNC6detUVFQkSaqpqVFlZWXgeq/Xq/vuu08HDhyQ3W7XhAkT9IMf/EC33XZb8D4FEGVODNOEtjPiTIxTaoJdLZ09OtzYrom5qSF9PwAYDothGBG/NaPL5ZLT6VRzc7PS0tLMLgc4Z59Z+ZZ21bboN7d8QgsmZof0vT73iw3aVuXSLxfP0dXTzjy3CwCCabA/vzmbBjBBuOaMSNK4zGRJ0sH6tpC/FwAMB2EEMEE4toP3G5/lCyP7CSMAIhRhBAgzr9dQa1d49hmRpHG9YeRAfWvI3wsAhoMwAoRZi7tH/pla4eiMFGf5h2lY3gsgMhFGgDDzbwUfb7fKYQ/9Ult/GKl1daq9tyMDAJGEMAKEWTgnr0pSelK8RiX53ovuCIBIRBgBwiyw4VkYhmj8igPzRpjECiDyEEaAMPN3RsIxX8TPP4n1YANhBEDkIYwAYdbi9m8FH55hGqnP8t5jhBEAkYcwAoSZq8O8zgjLewFEIsIIEGb+1TThmsAq9Vne28AEVgCRhzAChJnLjDkjvVvCN7Z1qbm9O2zvCwCDQRgBwqwlTCf29pXssCs3zSFJOsAkVgARhjAChJkrsM9I+DojUt/lvcwbARBZCCNAmJ04JC98nRGpTxhhRQ2ACEMYAcLMjH1GJGlCdookad8xOiMAIgthBAizwGqaMO4zIkkTc1MlSXuPEkYARBbCCBBmZqymkaSJOb7OyIH6NnV7vGF9bwA4E8IIEGZm7DMiSaOdCUqOt6nHa+gQK2oARBDCCBBGXT1edXb7uhLhDiMWi0Xn9XZH9tUxVAMgchBGgDDyd0UkKSXMwzSSdF4O80YARB7CCBBG/pU0KQ67bFZL2N9/Yq6vM7KXzgiACEIYAcLIFdh9NfxdEenEJFbCCIBIQhgBwsisPUb8/HNG9h9rlcdrmFIDAJyMMAKEkVkrafzGjkqSw26Vu8erI8c5wRdAZCCMAGHk6jC3M2KzWgI7sTKJFUCkIIwAYeQyaffVvpjECiDSEEaAMDJr99W+JrLXCIAIQxgBwqil05wTe/vy7zWy+6jLtBoAoC/CCBBG/tU0Zk1glaSpo31hZM/RVvVwRg2ACEAYAcLI1WHuPiOSVDAqScnxNnX1eHWQM2oARADCCBBGZu8zIklWq0WT83zdkR01LabVAQB+hBEgjFrc5q+mkaQpo9MkSbtqmDcCwHyEESCM/PuMpJnYGZGkqb2dkV21dEYAmI8wAoSR2Tuw+k3t7YzspDMCIAIQRoAwMQyjzz4j5oaRSb2dkZrmTjW1d5laCwAQRoAw6ej2BA6nM3MCq+TrzIwdlShJ2skkVgAmI4wAYeJfSWOzWpQUbzO5mhNDNbtqGaoBYC7CCBAmffcYsVgsJlfTZxIrnREAJiOMAGESCefS9OVf3ruTzggAkxFGgDCJlJU0fieGaVrUzbbwAExEGAHCJNI6I0UZSUp12NXV49Xeo5zgC8A8hBEgTCKtM2K1WjRjjFOStLWqydxiAIxohBEgTPy7r5q9x0hfF4z1h5FmkysBMJIRRoAw8XdGImWYRtKJzsgRwggA8xBGgDBxdUbGIXl9+TsjO2tb1NXDJFYA5iCMAGHiH6ZxRlAYKcxIUlqCbxLrnqPsNwLAHIQRIEyaO/wTWCNnmMZiseh85o0AMBlhBAgTfxiJpM6IJJ0/Jl0SYQSAeQgjQJi4IjaMMIkVgLkII0CYBDojSZEVRvyTWHfVuuTu8ZhcDYCRiDAChIFhGCdW00TQPiOSNHZUotKT4tTtMbSTQ/MAmIAwAoRBR7dH3R5DUuQN01gsFs0qSJckfXDouLnFABiRCCNAGPiHaOxWi5LibSZXM1BJ0ShJ0geVhBEA4UcYAcKg70oai8VicjUDzS70hZEtlU3mFgJgRCKMAGHg3/AsknZf7evCgnRZLVJVU4dqmzvNLgfACEMYAcIgsOFZhIaRZIddU/LSJDFUAyD8CCNAGETqhmd9zS5Kl8QkVgDhRxgBwiAqwkghk1gBmIMwAoSBKwLPpTmZf0XNtio2PwMQXoQRIAyioTNSmJGkzOR4dXm82lblMrscACMIYQQIg0g9l6Yvi8Wi2b3dkfcPNppcDYCRhDAChEE0dEYk6eLiDEnSu/sbTK4EwEhCGAHCINKX9vpdMj5TkrT54HH1eLwmVwNgpCCMAGHgPyQv0jsjU0enKTXBrhZ3j3bUMG8EQHgMK4ysWrVKxcXFSkhIUElJiTZs2HDaa1988UVdffXVys7OVlpamubOnatXXnll2AUD0ShahmlsVkufoRrmjQAIjyGHkbVr12rp0qW6//77tWXLFi1YsEALFy5UZWXlKa9/6623dPXVV2vdunUqLy/Xpz71KV177bXasmXLORcPRItoCSOSdHGxb6jmHeaNAAgTi2EYxlCecPHFF2v27NlavXp14L6pU6fquuuu04oVKwb1GtOnT9eiRYv0ve99b1DXu1wuOZ1ONTc3Ky0tbSjlAqZz93g0+bt/lyR9+L1SOZMiO5BsPdKsax/fqFSHXRUPlMpmjbyD/QBEh8H+/B5SZ6Srq0vl5eUqLS3td39paak2bdo0qNfwer1qaWlRRkbGaa9xu91yuVz9bkC08h+SZ7FIqRG86ZnftPw0pTp880Z2Mm8EQBgMKYzU19fL4/EoNze33/25ubmqra0d1Gs8+uijamtr0/XXX3/aa1asWCGn0xm4FRQUDKVMIKL4h2hSHXZZo6DLYLNadFHvvBGGagCEw7AmsFos/b9QDcMYcN+pvPDCC3rwwQe1du1a5eTknPa6++67T83NzYHb4cOHh1MmEBEC80UifHimr0vG+8LIpo8JIwBCb0g946ysLNlstgFdkLq6ugHdkpOtXbtWt9xyi/7whz/oqquuOuO1DodDDodjKKUBEevEuTTRE0bmn5clydcZ6erxKt7OLgAAQmdI3zDx8fEqKSlRWVlZv/vLyso0b9680z7vhRde0Ne+9jU9//zzuuaaa4ZXKRClomWPkb6m5qUpK8Wh9i6Pyg9xii+A0Bryf3eWL1+up59+Ws8++6x27typZcuWqbKyUkuWLJHkG2JZvHhx4PoXXnhBixcv1qOPPqpLLrlEtbW1qq2tVXNzc/A+BRDBomlZr5/VatGCib7uyFt7j5lcDYBYN+QwsmjRIq1cuVIPP/ywZs6cqbfeekvr1q1TUVGRJKmmpqbfniNPPfWUenp6dMcdd2j06NGB29133x28TwFEsOb26AsjknTZpN4wsocwAiC0hrXO8Pbbb9ftt99+yseee+65fn9+8803h/MWQMyIlnNpTnbpedmSpO3VLtW3upWVwjwuAKHBrDQgxJp6w0h6FK2mkaTsVIemjfZtUrRxb73J1QCIZYQRIMSa2rskSaOS4k2uZOgum+TrjjBvBEAoEUaAEDveO2ckPcqGaSTpMv8k1j318nqHdHIEAAwaYQQIseO9nZH0KOyMzBmXoRSHXfWtbm2tYgUcgNAgjAAh5l9NMyo5+joj8XarLu8dqnlt51GTqwEQqwgjQAgZhhGYwBqNc0Yk6appvqMbynYQRgCEBmEECCFXZ488vXMtom2fEb9PTc6RzWrRrtoWHW5sN7scADGIMAKEkH+IJjHOpoQ4m8nVDE96UrzmFI2SxFANgNAgjAAhdDywrDc6uyJ+V0/zHYRJGAEQCoQRIIT8YcQZpfNF/K6c6gsj7+5vDOwoCwDBQhgBQqjJv5ImyjsjxVnJOi8nRT1eQ2/urjO7HAAxhjAChFA07756ss9Mz5Mk/e9HNSZXAiDWEEaAEArsvhrlnRFJuuaC0ZKkN/ccU0snQzUAgocwAoRQU2D31egPI1PyUjUhO1ldPV4msgIIKsIIEELH26N7w7O+LBaLrrkgXxJDNQCCizAChJB/99VoPJfmVD7XO1Tz1p56VtUACBrCCBBCgWGaKN199WSTclM1KTdFXR6vXmN7eABBQhgBQiiw6VkUHpJ3Otec7xuq+ctH1SZXAiBWEEaAEGpqi61hGkm69kLfUM2GvfU61uI2uRoAsYAwAoRIt8erFnePpNiYwOo3PjtFswrT5fEa+nNFldnlAIgBhBEgRPpO8ExLsJtYSfD9y+yxkqQ/lh+RYRgmVwMg2hFGgBDxT15NS7DLboutf2rXXpCveLtVu2pbtL3aZXY5AKJcbH1DAhEkcC5NcuwM0fg5k+J0de/hef/zwRGTqwEQ7QgjQIg0tsXWst6TfanEN1Tz54pqdfV4Ta4GQDQjjAAh4g8jmSkOkysJjQUTs5Sd6lBjW5de38WeIwCGjzAChEhDbxjJiMFhGkmy26yB7sh/v1tpcjUAohlhBAiRQGckRsOIJN3wiUJZLL49Rw7Ut5ldDoAoRRgBQqSh1bchWKx2RiSpICNJl0/KliQ9/+4hk6sBEK0II0CINMT4nBG/Gy8ukiT9ofyIOrs9JlcDIBoRRoAQGQnDNJL0qSk5GpOeqKb2bq3bWmN2OQCiEGEECJHGGJ/A6mezWvTVTxRIkn79T4ZqAAwdYQQIAcMwYn41TV+LLipUvM2qisNNKj/UaHY5AKIMYQQIgVZ3T2AjsMyU2A8j2akOXTcrX5L0y7cOmFwNgGhDGAFCwD9EkxhnU1J8bB2Sdzq3LhgvSXplR60ONbDMF8DgEUaAEBhJQzR+k3JT9cnJ2TIM6dmNdEcADB5hBAiBxlb/st6RE0Yk6Ru93ZHfbz4SOLUYAM6GMAKEQEObb8OzWF/We7J5EzI1dXSaOro9+g0rawAMEmEECIETwzSxveHZySwWi5Zc7uuOPPP2AbW6e0yuCEA0IIwAITBSh2kk6XMX5Gt8drKa2rv1638eNLscAFGAMAKEwEjZ8OxUbFaL7rriPEnS0xsOqI3uCICzIIwAIdAwQraCP51rL8jXuMwkNbZ16bfvMHcEwJkRRoAQCExgHYHDNJJkt1l15xUTJUlr3tqv9i66IwBOjzAChIB/zshIm8Da13Uz81WUmaSGti796u2DZpcDIIIRRoAgMwxD9a0je5hG8nVHll89SZL05JsfB+bRAMDJCCNAkLk6etTl8Z1Lk506cjsjkm/uyPT8NLW4e/T46/vMLgdAhCKMAEF2rLVTkuRMjFNCnM3kasxltVp078IpkqTfvHNQhxvbTa4IQCQijABBVufyTV4d6V0RvwUTs7VgYpa6PYZ+8upus8sBEIEII0CQHWvtDSMphBG/ez7j6478uaJaH1QeN7kaAJGGMAIE2bEWXxjJSSOM+M0Y49SXSsZKkh7483Z5vIbJFQGIJIQRIMj8YYTOSH/3fGaKUh12ba1q1u83Hza7HAARhDACBFldC3NGTiU71aGlvUt9f/T3XWpqZ6kvAB/CCBBkxwgjp7V4bpEm5aboeHu3Hn11j9nlAIgQhBEgyAJzRlITTK4k8sTZrHrw89MlSb999xCTWQFIIowAQVfX4ttnhM7Iqc2bkKUvzh4jw5Du+eNHcvd4zC4JgMkII0AQdfV4dby9WxJh5Ez+85ppykyO1966Vq1642OzywFgMsIIEET+03rjbBalJ8aZXE3kGpUcr4e+4BuuWfXmPu2ubTG5IgBmIowAQeSfL5KV4pDVajG5msh2zfmjdfW0XHV7DP2/P36ont7zfACMPIQRIIjYCn7wLBaL/uu6GUpNsOvDI836BQfpASMWYQQIIv9W8DmEkUHJTUvQf103Q5L0i9f3qvwQq2uAkYgwAgTRURcraYbqCzPH6LqZ+fIa0rK1FWp195hdEoAwI4wAQVTb7Asjo52JJlcSXR76wgyNSU9UZWO7Hnx5u9nlAAgzwggQRDW9YSTPyYZnQ+FMjNNj118oi0X6Y/kRvfjBEbNLAhBGhBEgiE50RggjQ3Xx+EzddcVESdJ//GmrdtW6TK4IQLgQRoAgqmnukEQYGa67r5yoBROz1Nnt1f/97Qdq6ew2uyQAYUAYAYKkzd0jV6dv8mVuGmFkOGxWi372lVnKdyboQH2b/t8fP5JhGGaXBSDEhhVGVq1apeLiYiUkJKikpEQbNmw47bU1NTW64YYbNHnyZFmtVi1dunS4tQIRrbZ3JU2Kw67UBHZfHa6M5Hg98a+zFWez6G/barV6PdvFA7FuyGFk7dq1Wrp0qe6//35t2bJFCxYs0MKFC1VZWXnK691ut7Kzs3X//ffrwgsvPOeCgUhVy+TVoJlVOErfu9a3XfyPX9mtV7bXmlwRgFAachh57LHHdMstt+jWW2/V1KlTtXLlShUUFGj16tWnvH7cuHH62c9+psWLF8vpdJ5zwUCkqmHyalDddEmRbrqkSIYhLf1dhbZVNZtdEoAQGVIY6erqUnl5uUpLS/vdX1paqk2bNgWtKLfbLZfL1e8GRLra3smrecwXCZoHrp2mBROz1NHt0Td+vVl1vUNhAGLLkMJIfX29PB6PcnNz+92fm5ur2trgtVFXrFghp9MZuBUUFATttYFQoTMSfHabVY/fMFsTspNV09ypW/6/zezQCsSgYU1gtVj6n0ZqGMaA+87Ffffdp+bm5sDt8OHDQXttIFT8W8HnsftqUDkT4/TMzRcpIzleW6uaddtvNsvd4zG7LABBNKQwkpWVJZvNNqALUldXN6Bbci4cDofS0tL63YBIR2ckdMZlJeu5f7tIyfE2vb2vQcvWVsjjZckvECuGFEbi4+NVUlKisrKyfveXlZVp3rx5QS0MiDb+MMIeI6Fxwdh0PXXTHMXZLFq3tVbf+/M29iABYsSQh2mWL1+up59+Ws8++6x27typZcuWqbKyUkuWLJHkG2JZvHhxv+dUVFSooqJCra2tOnbsmCoqKrRjx47gfAIgArS5e9TY1iVJGjOKYZpQuXRiln66aKYsFum/363UD/62i0ACxAD7UJ+waNEiNTQ06OGHH1ZNTY1mzJihdevWqaioSJJvk7OT9xyZNWtW4Pfl5eV6/vnnVVRUpIMHD55b9UCEqGryraRJS7DLmciGZ6H0uQvy1dTere++tE1PvbVfFotF93xmclDnrQEIryGHEUm6/fbbdfvtt5/yseeee27AffzPBbHuyPF2SdLYUUkmVzIy3HhJkTxeQw+8vF1Prv9YVov0nU8TSIBoxdk0QBAcbvR1RgoyGKIJl5vnjdOD106TJK1682P95NXd/McHiFKEESAI6IyY42vzi/VAbyB54o2P9dBfdsjLKhsg6hBGgCA4ctzXGRnL5NWw+7f5xXr4C75zbJ7bdFDLf1+hbo/X5KoADAVhBAiCw3RGTLV47jj97CszZbda9FJFtW77Tbk6utgYDYgWhBEgCPydEeaMmOcLM8dozeISOexWvb6rTjc9825guTWAyEYYAc5RS2e3mtq7JUlj0gkjZrpiSq5+e+vFSk2wa/Oh4/o/q97WvrpWs8sCcBaEEeAc+bsi6UlxSk1gjxGzXTQuQy/+33kaOypRhxra9cVVb2vTvnqzywJwBoQR4BwFhmiYLxIxJuam6qU75mt2YbpcnT1a/Ox7+t17lWd/IgBTEEaAc3SooU0S80UiTVaKQ89/4xJde2G+eryG7n1xq+7/01ZO/AUiEGEEOEcH6n1hpDgr2eRKcLKEOJt+/pWZWnbVpMB5Ntc/9Y6qe7fvBxAZCCPAOTrY2xkZl0kYiUQWi0V3XzVRz958kdIS7PrwcJM+94uNzCMBIghhBDhHB475wsj4bMJIJPvUlBz99a4FmjY6TY1tXbrxmXe18rU96mGDNMB0hBHgHHR2e1Td3CmJzkg0KMxM0ou3z9OXSsbKa0grX9urr/7yncB2/gDMQRgBzoF/iCYtwa6M5HiTq8FgJMTZ9JMvX6iVi2YqxWHX+wePa+HPNuivH1WbXRowYhFGgHNwsM/kVY6vjy7XzRqjdd9coFmF6Wrp7NGdz2/Rt37/oZp7N7ADED6EEeAc7GclTVQrzEzS72+bq29ecZ6sFul/Pjiiq3+6Xq/tOGp2acCIQhgBzsGJzkiKyZVguOJsVi0vnaw/LJmr8VnJqmtx69Zfb9aytRVqaudsGyAcCCPAOfDvMTIui91Xo11JUYbW3b1At102XlaL9KctVbrqsbf014+qZRiG2eUBMY0wAgyTYRjac9R3CNt5OXRGYkFCnE33fXaq/uf/ztPEnBTVt7p15/NbtPjZ97T/GAfuAaFCGAGGqa7FreaOblkt0oRswkgsmVU4Sn/95qVaetVExdut2rC3Xp9ZuUGPvrpbHV1sJw8EG2EEGKY9R1skSeOykpUQZzO5GgSbw27T0qsmqWzZZbp8Ura6PF794vV9uvqn6/X3bTUM3QBBRBgBhml3rS+MTMpJNbkShFJRZrKe+7eL9OSNs5XvTNCR4x1a8tsPtOipd/Th4SazywNiAmEEGCZ/Z2RSHmEk1lksFn1mxmi99q3LddcV5ykhzqr3DjbqC0+8rbt/t4UdXIFzRBgBhsk/eXVSLvNFRoqkeLu+VTpZb3z7k/ri7DGSpD9XVOuKR9drxbqdOt7GUmBgOAgjwDB4vYb29nZGJufSGRlpRjsT9dj1M/XXuy7VJeMz1NXj1VNv7delP3xdj726W80d7OIKDAVhBBiGqqYOtXV5FGezaBy7r45YM8Y49cI3LtEzN8/RtNFpauvy6Oev79OCH76uX/xjr1rdPWaXCEQFwggwDNurmyVJE3NSFWfjn9FIZrFYdOXUXP31rku1+l9na1JuilydPXq0bE8glHDeDXBmfIsCw7C1yhdGzh/jNLkSRAqr1aKF54/W3+6+TD/7ykyNz0rW8fZuPVq2R/N+8A99/3936Kir0+wygYhEGAGGYWuVS5I0YyxhBP3ZrBZ9YeYYvbrMF0qm5KWqrcujX244oAU/fEP3/s9H7OYKnMRudgFAtDEMQ9vojOAs7DarvjBzjD5/Yb7e3H1Mq9/8WO8dbNTv3j+stZsP68opOfravGLNPy9TFovF7HIBUxFGgCGqbu5UY1uX7FaLprDHCM7CYrHoU1Ny9KkpOdp8sFGr3/xY/9hVp9d2+m7n5aTo5nnj9MVZY5Ts4CsZIxPDNMAQ+bsiE3NT2QYeQzJnXIae+dpF+se3LtfX5o1TcrxN++pa9Z8vbdMlK/6h//rrjsBJ0MBIQhgBhmjrEf8QTZrJlSBaTchO0YOfn653/uNKPXDtNI3LTFJLZ4+e3nhAn/rJm1r01D/10pYqdXZzKB9GBnqCwBCVHzouyXeyK3AuUhPi9G/zi3Xz3HFav+eYfv3Pg3pzzzG9e6BR7x5olPPlOP2fWWO06KICTR1N+EXsIowAQ9Dt8WrLYV8YmVNEGEFwWK0n5pVUN3Xo95sP6w+bj6iqqUPPbTqo5zYd1IVjnfri7LH63AWjlZniMLtkIKgsRhScg+1yueR0OtXc3Ky0NP53APNUHG7SdU+8rfSkOH3w3atltbIKAqHh8RrasPeY1r5/WGU7jqrH6/uqtlktumxilq6bNUal0/KUGM+8JUSuwf78pjMCDMHmg42SpJLCUQQRhJTNatEnJ+fok5NzdKzFrb98WK2XKqr00ZFmvbH7mN7YfUzJ8TZ9enqevjBrjOZNyGQ3YEQtwggwBJsP9g7RjMswuRKMJNmpDn390mJ9/dJi7atr1Z8rqvRSRZUON3boxS1VenFLlZyJcSqdlquF5+dp/nlZctjpmCB6MEwDDJLXa+ii77+mhrYu/WHJXF1EIIGJDMPQB5XH9actVfrb1lo1tHUFHkt12HXl1BwtPH+0Lp+UzRJ0mGawP78JI8Agbatq1ud+sVHJ8TZt+V6p4u20xBEZPF5D7x1o1N+31ehv22pV1+IOPJYUb9NlE7N1xdQcfWpyjrJTmfyK8GHOCBBkG/bWS5LmTsgkiCCi2KwWzZ2QqbkTMvXAtdO15fBxrdtaq79vq1VVU4f+vr1Wf99eK0m6sCBdV0zO0ZVTczQ9P42t6BERCCPAIG3Ye0yStGBitsmVAKdntVpUUpShkqIMffeaqdpW5dI/dh3V67vq9NGRZn14uEkfHm7ST1/bo9w0h66YkqPLJmZr3oQsOZPizC4fIxTDNMAgtHf1aOZDZeryePX6ty7X+OwUs0sChqzO1ak3dtfpHzvrtHFfvdq7TuzwarX4Dn68dGKWLj0vW7OL0pkEi3PGMA0QRJv2NajL49WY9EQVZyWbXQ4wLDlpCVp0UaEWXVSozm6P3j3QqDd21WnD3mP6+FibPjzSrA+PNOuJNz5WYpxNF4/P0KXnZWnehCxNyUtlOTtChjACDMLftvnG26+elssYO2JCQpxNl0/K1uWTfMOONc0d2ri3Xhv31evtffWqb+3Sm7uP6c3dvuHJtAS7PlGc0XvL1PT8NPY1QdAQRoCz6PZ49drOo5Kkz8zIM7kaIDRGOxP15TkF+vKcAnm9hnYfbdHGvfXasK9e5Qcb5ers0Ws76/TazjpJvlU6JUWj9IlxvoByYUE6S4gxbIQR4Cze2d+g5o5uZaXEs7cIRgSr1aKpo9M0dXSavnHZePV4vNpe7dJ7vQf4vX+wUc0d3dqwtz6wyizOZtG00WmaVThKswrTNatglAoyEukkYlAII8BZrNtaI0m6elqebIyZYwSy26y6sCBdFxak6xuXjZfXa2hPXUsgnLx3oFHHWtyBOSfPbfI9LzM5XrMK0zWzIF2zCkfpgrFOpSawYgcDEUaAM+jo8ugvH/rCyOcvzDe5GiAyWK0WTclL05S8NC2eO06GYejI8Q5tOdykLZXHtaWySdurm9XQ1tVvaMdikYqzkjUj36kZY9I0I9+p6WOcciYSUEY6wghwBn/fXqNWd48KMhJ1cTFDNMCpWCwWFWQkqSAjKRDaO7s92lHj0pbKJlX0hpQjxzu0/1ib9h9r08sfVgeeX5iRpBlj0jQ936kZY5yakZ+mzBR2ih1JCCPAGfz+/SOSpC+XFLCsERiChDibZheO0uzCUYH76lvd2l7t0raqZt+tulmHGztU2diuysZ2rdtaG7g2O9Whybmpmpznu03JS9XEnFQlxjNJNhYRRoDT2F3bon/ub5DVIv1LyVizywGiXlaKo99yYklqbu/W9mpfMNlW5dK26mYdqG/TsRa3jrW4tXFffeBai0UqykjyBZTcVE3OS9PkvBQVZSazzDjKEUaA03h6w35JvuW8Y9ITTa4GiE3OpDjNOy9L887LCtzX5u7R3rpW7a51aVdti3bXtmjP0RbVt3bpYEO7Dja065XtRwPX260WFWYkaXx2iibkJGtClu/X8VkpGpUcb8bHwhARRoBTqHN16qWKKknSrQvGm1wNMLIkO+yaWeBbhdNXfatbu3vDye7aFu062qK9R1vU3uXR/vo27a9v02s7+79WRnK8JmT7gsmEnGQVZ6WoKDNJhRlJ7IsSQQgjwCk8/sY+dXsMzSnqP+YNwDxZKQ5lnefQ/D5dFMMwVOvq1P5jbfr4WKs+rmvV/vo2fVzXqurmTjW2damxrUvvHzw+4PVy0xwqykhWYWaSijKSfL9mJqsoI0npSXHskRJGhBHgJAfr2/T8u5WSpG+VTja5GgBnYrFYNNqZqNHOxH4hRfIdcBkIKb2/Hmpo06GGdrV09uioy62jLrfeO9g44HVTE+wqykxSUUayxoxK1Jj0ROWn+34dMyqR5chBRhgBTrLibzvV4zX0ycnZmjsh0+xyAAxTUrzdt1R4jLPf/YZhqKm9W4ca23WooU2VDe061Nje+2ubjrrcauns8U2orXKd8rVTHXZfOOkbVHp/PyY9UdmpDjZJHALCCNDH37fV6JXtR2W3WnTvwilmlwMgBCwWi0Ylx2tUcvyAeSmSb7PDw8fbdajBt+S46niHqpraVd3UqaqmDjW2danF3aPdR1u0+2jLKd/DZrUoJ9WhnLQE5aU5lJeW0Pv7BOU5E5Sb5lBuWgI70vYijAC9Glrd+t6ft0uSbrt8vKbkpZlcEQAzJMbbNCk3VZNyU0/5eHtXTyCYVB3vUHVTR+D3VU0dqnV1yuM1VNPcqZrmTn14hvdKjrcpNy2h9+ZQrjNB2SkOZabE++bI9N4ykuNjutNCGAEkebyG7v5dhepa3JqQnay7rphodkkAIlRSvF3n5aTovJyUUz7e4/GqvrVLR12dqnV1qq7319pmt+paOlXb3Kmjrk65OnvU1mcl0JlYLb6VQf5w0j+sxCsr1REIMaOS4qNupRBhBCOeYRj6r//doY376pUYZ9PqG0ui7h8ygMhht1mV5/QNx1x4huvau/yTaDv73Nyqb+29tXSpvtWtxvYueQ2pvrVL9a1dkk49NNRXYpxNGcnxGpUcp1FJ8b7fJ8X3/j5Oo5LjlZHkG6oaleS7zmE373uPMIIRzTAMrXxtr3719kFJ0g+/dMFpW7MAEExJ8XYVZ9lVnJV8xut6PF41tncFwsmJW5fqW9w65v99q1vH27rU4zXU0e3xDR01dQy6nh9/6QJ9eU7BuX6sYSGMYMTq8Xj10F926DfvHJIkPXDtNE7mBRBx7DarclITlJOacNZrDcNQi7tHx3v3Vzne3qXjbd063n7iz75fu3Xc/3h7tzxew9TlyoQRjEhHjrfrW7//UO8eaJTFIn33mmn6t/nFZpcFAOfEYrEoLSFOaQlxKso8c8fFz+s11NLZI0eceef7EEYwonR2e/Srtw/qiTf2qdXdo6R4mx798oVaeP5os0sDAFNYrRY5k8xdYjysGLRq1SoVFxcrISFBJSUl2rBhwxmvX79+vUpKSpSQkKDx48frySefHFaxwHDVtXTq5//Yq8t//IZ++PddanX3qKRolP529wKCCACYbMidkbVr12rp0qVatWqV5s+fr6eeekoLFy7Ujh07VFhYOOD6AwcO6LOf/ay+8Y1v6Le//a3efvtt3X777crOzta//Mu/BOVDACfr9ni1q6ZF7x5o0Ks7jmrzwUZ5Dd9j+c4EffvTk3XdzDGyxvC6fQCIFhbDMIyhPOHiiy/W7NmztXr16sB9U6dO1XXXXacVK1YMuP6ee+7Ryy+/rJ07TxyluGTJEn344Yf65z//Oaj3dLlccjqdam5uVloaG1HBFzaa2rt7J2d1qdbVqUMNvh0TD9S3anu1S+4eb7/nzCpM1+K5Rfrs+aNNXcIGACPFYH9+D6kz0tXVpfLyct1777397i8tLdWmTZtO+Zx//vOfKi0t7Xffpz/9aT3zzDPq7u5WXNzAcSq32y23293vw4TC/5Qf0daq5lM+1jejnZzW+sY346RHT452xhke6/vogOcN8j2GUpvO+LzBft7BP2/g2w/+83b1eOUO3Dxyd5/4fbvboxZ3z8nvNkBagl0zC0fpU5OzddXUXBVkJJ31OQCA8BtSGKmvr5fH41Fubm6/+3Nzc1VbW3vK59TW1p7y+p6eHtXX12v06IHj9StWrNBDDz00lNKGZf2eY3r5w+qQvw9Cw2KRnIm+DX2yUx0qykhSUWaSCjOTNSM/TcVZyRwBDgBRYFiraU7+gjcM44xf+qe6/lT3+913331avnx54M8ul0sFBcHfiKV0eq4KT/rfct+SBlTX58GTHzv5o1j6XDHwsdM/92w/PPvXZzntYye/z5nqO9Xj/R876dpBvufJzz3btX0vcNiscsRZ5bBb5bDben9vk8NuVULvzoLOxLiYPqsBAEaKIYWRrKws2Wy2AV2Qurq6Ad0Pv7y8vFNeb7fblZl56uPZHQ6HHA7HUEobls9dkK/PXRDytwEAAGcwpKW98fHxKikpUVlZWb/7y8rKNG/evFM+Z+7cuQOuf/XVVzVnzpxTzhcBAAAjy5D3GVm+fLmefvppPfvss9q5c6eWLVumyspKLVmyRJJviGXx4sWB65csWaJDhw5p+fLl2rlzp5599lk988wz+va3vx28TwEAAKLWkOeMLFq0SA0NDXr44YdVU1OjGTNmaN26dSoqKpIk1dTUqLKyMnB9cXGx1q1bp2XLlumJJ55Qfn6+fv7zn7PHCAAAkDSMfUbMwD4jAABEn8H+/DbvVBwAAAARRgAAgMkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATEUYAQAApiKMAAAAUw15O3gz+DeJdblcJlcCAAAGy/9z+2ybvUdFGGlpaZEkFRQUmFwJAAAYqpaWFjmdztM+HhVn03i9XlVXVys1NVUWiyVor+tyuVRQUKDDhw+PmDNvRtpn5vPGNj5vbOPzRj/DMNTS0qL8/HxZraefGRIVnRGr1aqxY8eG7PXT0tJi5i9+sEbaZ+bzxjY+b2zj80a3M3VE/JjACgAATEUYAQAAphrRYcThcOiBBx6Qw+Ewu5SwGWmfmc8b2/i8sY3PO3JExQRWAAAQu0Z0ZwQAAJiPMAIAAExFGAEAAKYijAAAAFON6DCyatUqFRcXKyEhQSUlJdqwYYPZJYXEihUrdNFFFyk1NVU5OTm67rrrtHv3brPLCpsVK1bIYrFo6dKlZpcSMlVVVbrxxhuVmZmppKQkzZw5U+Xl5WaXFRI9PT367ne/q+LiYiUmJmr8+PF6+OGH5fV6zS4taN566y1de+21ys/Pl8Vi0UsvvdTvccMw9OCDDyo/P1+JiYn65Cc/qe3bt5tTbBCc6fN2d3frnnvu0fnnn6/k5GTl5+dr8eLFqq6uNq/gc3S2v9++brvtNlksFq1cuTJs9ZlhxIaRtWvXaunSpbr//vu1ZcsWLViwQAsXLlRlZaXZpQXd+vXrdccdd+idd95RWVmZenp6VFpaqra2NrNLC7n3339fa9as0QUXXGB2KSFz/PhxzZ8/X3Fxcfrb3/6mHTt26NFHH1V6errZpYXED3/4Qz355JN6/PHHtXPnTv3oRz/Sj3/8Y/3iF78wu7SgaWtr04UXXqjHH3/8lI//6Ec/0mOPPabHH39c77//vvLy8nT11VcHzvGKNmf6vO3t7frggw/0n//5n/rggw/04osvas+ePfr85z9vQqXBcba/X7+XXnpJ7777rvLz88NUmYmMEeoTn/iEsWTJkn73TZkyxbj33ntNqih86urqDEnG+vXrzS4lpFpaWoyJEycaZWVlxuWXX27cfffdZpcUEvfcc49x6aWXml1G2FxzzTXG17/+9X73ffGLXzRuvPFGkyoKLUnGn/70p8CfvV6vkZeXZ/zgBz8I3NfZ2Wk4nU7jySefNKHC4Dr5857Ke++9Z0gyDh06FJ6iQuh0n/fIkSPGmDFjjG3bthlFRUXGT3/607DXFk4jsjPS1dWl8vJylZaW9ru/tLRUmzZtMqmq8GlubpYkZWRkmFxJaN1xxx265pprdNVVV5ldSki9/PLLmjNnjr785S8rJydHs2bN0i9/+UuzywqZSy+9VP/4xz+0Z88eSdKHH36ojRs36rOf/azJlYXHgQMHVFtb2+/7y+Fw6PLLLx8R31+S7zvMYrHEbPfP6/Xqpptu0ne+8x1Nnz7d7HLCIioOygu2+vp6eTwe5ebm9rs/NzdXtbW1JlUVHoZhaPny5br00ks1Y8YMs8sJmd/97ncqLy/X5s2bzS4l5Pbv36/Vq1dr+fLl+o//+A+99957+uY3vymHw6HFixebXV7Q3XPPPWpubtaUKVNks9nk8Xj0/e9/X1/96lfNLi0s/N9Rp/r+OnTokBklhVVnZ6fuvfde3XDDDTF1mFxfP/zhD2W32/XNb37T7FLCZkSGET+LxdLvz4ZhDLgv1tx555366KOPtHHjRrNLCZnDhw/r7rvv1quvvqqEhASzywk5r9erOXPm6JFHHpEkzZo1S9u3b9fq1atjMoysXbtWv/3tb/X8889r+vTpqqio0NKlS5Wfn6+bb77Z7PLCZiR+f3V3d+srX/mKvF6vVq1aZXY5IVFeXq6f/exn+uCDD2L+77OvETlMk5WVJZvNNqALUldXN+B/G7Hkrrvu0ssvv6w33nhDY8eONbuckCkvL1ddXZ1KSkpkt9tlt9u1fv16/fznP5fdbpfH4zG7xKAaPXq0pk2b1u++qVOnxuRkbEn6zne+o3vvvVdf+cpXdP755+umm27SsmXLtGLFCrNLC4u8vDxJGnHfX93d3br++ut14MABlZWVxWxXZMOGDaqrq1NhYWHg++vQoUP61re+pXHjxpldXsiMyDASHx+vkpISlZWV9bu/rKxM8+bNM6mq0DEMQ3feeadefPFFvf766youLja7pJC68sortXXrVlVUVARuc+bM0b/+67+qoqJCNpvN7BKDav78+QOWau/Zs0dFRUUmVRRa7e3tslr7f3XZbLaYWtp7JsXFxcrLy+v3/dXV1aX169fH5PeXdCKI7N27V6+99poyMzPNLilkbrrpJn300Uf9vr/y8/P1ne98R6+88orZ5YXMiB2mWb58uW666SbNmTNHc+fO1Zo1a1RZWaklS5aYXVrQ3XHHHXr++ef15z//WampqYH/UTmdTiUmJppcXfClpqYOmA+TnJyszMzMmJwns2zZMs2bN0+PPPKIrr/+er333ntas2aN1qxZY3ZpIXHttdfq+9//vgoLCzV9+nRt2bJFjz32mL7+9a+bXVrQtLa2at++fYE/HzhwQBUVFcrIyFBhYaGWLl2qRx55RBMnTtTEiRP1yCOPKCkpSTfccIOJVQ/fmT5vfn6+vvSlL+mDDz7QX//6V3k8nsB3WEZGhuLj480qe9jO9vd7ctiKi4tTXl6eJk+eHO5Sw8fcxTzmeuKJJ4yioiIjPj7emD17dswudZV0ytuvfvUrs0sLm1he2msYhvGXv/zFmDFjhuFwOIwpU6YYa9asMbukkHG5XMbdd99tFBYWGgkJCcb48eON+++/33C73WaXFjRvvPHGKf/N3nzzzYZh+Jb3PvDAA0ZeXp7hcDiMyy67zNi6dau5RZ+DM33eAwcOnPY77I033jC79GE529/vyUbC0l6LYRhGmHIPAADAACNyzggAAIgchBEAAGAqwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmOr/B4PQxIYKOZ8oAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# custom franction to calculate the probability density function\n",
"\n",
"def sinh_archsinh_pdf(x, mu, sigma, eps, delta):\n",
"\n",
" mul = np.sinh( np.arcsinh(2) * delta)\n",
" \n",
" mul = 2 / mul\n",
" \n",
" sigma_corr = sigma * mul\n",
" \n",
" z = (x - mu) / sigma_corr\n",
" \n",
" \n",
" \n",
" S = np.sinh( -eps + (1/delta) * np.arcsinh(z))\n",
" \n",
" f = np.exp(-0.5 * S * S)\n",
"\n",
" f /= np.sqrt(2 * np.pi)\n",
" \n",
" f *= 1 / ( sigma_corr * delta )\n",
" \n",
" f *= np.sqrt(1 + S * S)\n",
" \n",
" f /= np.sqrt(1 + z * z)\n",
" \n",
" return f\n",
" \n",
"\n",
"x = np.arange(start = 0, stop = 15, step = 0.001)\n",
"\n",
"\n",
"plt.plot(x, sinh_archsinh_pdf(x, 5.54, 1.4, 0.8, 1.68))\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "605dc968",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}