{ "cells": [ { "cell_type": "markdown", "id": "d065632b", "metadata": {}, "source": [ "Scraping from http://fbref.com\n", "\n", "Data:\n", "- outfield players stats\n", "- goalkeepers stats\n", "- team stats (of and against)\n", "\n", "Original code by parth1902:\n", "https://github.com/parth1902/Scrape-FBref-data" ] }, { "cell_type": "code", "execution_count": 1, "id": "3b8d2e7f", "metadata": {}, "outputs": [], "source": [ "import requests\n", "from bs4 import BeautifulSoup\n", "import pandas as pd\n", "import numpy as np\n", "import re\n", "import sys, getopt\n", "import csv\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "ab920c85", "metadata": {}, "outputs": [], "source": [ "#standard(stats)\n", "stats = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"games\",\"games_starts\",\"minutes\",\"goals\",\"assists\",\"pens_made\",\"pens_att\",\"cards_yellow\",\"cards_red\",\"goals_per90\",\"assists_per90\",\"goals_assists_per90\",\"goals_pens_per90\",\"goals_assists_pens_per90\",\"xg\",\"npxg\",\"xa\",\"xg_per90\",\"xa_per90\",\"xg_xa_per90\",\"npxg_per90\",\"npxg_xa_per90\"]\n", "stats3 = [\"players_used\",\"possession\",\"games\",\"games_starts\",\"minutes\",\"goals\",\"assists\",\"pens_made\",\"pens_att\",\"cards_yellow\",\"cards_red\",\"goals_per90\",\"assists_per90\",\"goals_assists_per90\",\"goals_pens_per90\",\"goals_assists_pens_per90\",\"xg\",\"npxg\",\"xa\",\"xg_per90\",\"xa_per90\",\"xg_xa_per90\",\"npxg_per90\",\"npxg_xa_per90\"] \n", "#goalkeeping(keepers)\n", "keepers = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"gk_games\",\"gk_games_starts\",\"gk_minutes\",\"gk_goals_against\",\"gk_goals_against_per90\",\"gk_shots_on_target_against\",\"gk_saves\",\"gk_save_pct\",\"gk_wins\",\"gk_ties\",\"gk_losses\",\"gk_clean_sheets\",\"gk_clean_sheets_pct\",\"gk_pens_att\",\"gk_pens_allowed\",\"gk_pens_saved\",\"gk_pens_missed\"]\n", "keepers3 = [\"players_used\",\"gk_games\",\"gk_games_starts\",\"gk_minutes\",\"gk_goals_against\",\"gk_goals_against_per90\",\"gk_shots_on_target_against\",\"gk_saves\",\"gk_save_pct\",\"gk_wins\",\"gk_ties\",\"gk_losses\",\"gk_clean_sheets\",\"gk_clean_sheets_pct\",\"gk_pens_att\",\"gk_pens_allowed\",\"gk_pens_saved\",\"gk_pens_missed\"]\n", "#advance goalkeeping(keepersadv)\n", "keepersadv = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"gk_goals_against\",\"gk_pens_allowed\",\"gk_free_kick_goals_against\",\"gk_corner_kick_goals_against\",\"gk_own_goals_against\",\"gk_psxg\",\"gk_psnpxg_per_shot_on_target_against\",\"gk_psxg_net\",\"gk_psxg_net_per90\",\"gk_passes_completed_launched\",\"gk_passes_launched\",\"gk_passes_pct_launched\",\"gk_passes\",\"gk_passes_throws\",\"gk_pct_passes_launched\",\"gk_passes_length_avg\",\"gk_goal_kicks\",\"gk_pct_goal_kicks_launched\",\"gk_goal_kick_length_avg\",\"gk_crosses\",\"gk_crosses_stopped\",\"gk_crosses_stopped_pct\",\"gk_def_actions_outside_pen_area\",\"gk_def_actions_outside_pen_area_per90\",\"gk_avg_distance_def_actions\"]\n", "keepersadv2 = [\"minutes_90s\",\"gk_goals_against\",\"gk_pens_allowed\",\"gk_free_kick_goals_against\",\"gk_corner_kick_goals_against\",\"gk_own_goals_against\",\"gk_psxg\",\"gk_psnpxg_per_shot_on_target_against\",\"gk_psxg_net\",\"gk_psxg_net_per90\",\"gk_passes_completed_launched\",\"gk_passes_launched\",\"gk_passes_pct_launched\",\"gk_passes\",\"gk_passes_throws\",\"gk_pct_passes_launched\",\"gk_passes_length_avg\",\"gk_goal_kicks\",\"gk_pct_goal_kicks_launched\",\"gk_goal_kick_length_avg\",\"gk_crosses\",\"gk_crosses_stopped\",\"gk_crosses_stopped_pct\",\"gk_def_actions_outside_pen_area\",\"gk_def_actions_outside_pen_area_per90\",\"gk_avg_distance_def_actions\"]\n", "#shooting(shooting)\n", "shooting = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"goals\",\"pens_made\",\"pens_att\",\"shots_total\",\"shots_on_target\",\"shots_free_kicks\",\"shots_on_target_pct\",\"shots_total_per90\",\"shots_on_target_per90\",\"goals_per_shot\",\"goals_per_shot_on_target\",\"xg\",\"npxg\",\"npxg_per_shot\",\"xg_net\",\"npxg_net\"]\n", "shooting2 = [\"minutes_90s\",\"goals\",\"pens_made\",\"pens_att\",\"shots_total\",\"shots_on_target\",\"shots_free_kicks\",\"shots_on_target_pct\",\"shots_total_per90\",\"shots_on_target_per90\",\"goals_per_shot\",\"goals_per_shot_on_target\",\"xg\",\"npxg\",\"npxg_per_shot\",\"xg_net\",\"npxg_net\"]\n", "shooting3 = [\"goals\",\"pens_made\",\"pens_att\",\"shots_total\",\"shots_on_target\",\"shots_free_kicks\",\"shots_on_target_pct\",\"shots_total_per90\",\"shots_on_target_per90\",\"goals_per_shot\",\"goals_per_shot_on_target\",\"xg\",\"npxg\",\"npxg_per_shot\",\"xg_net\",\"npxg_net\"]\n", "#passing(passing)\n", "passing = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"passes_completed\",\"passes\",\"passes_pct\",\"passes_total_distance\",\"passes_progressive_distance\",\"passes_completed_short\",\"passes_short\",\"passes_pct_short\",\"passes_completed_medium\",\"passes_medium\",\"passes_pct_medium\",\"passes_completed_long\",\"passes_long\",\"passes_pct_long\",\"assists\",\"xa\",\"xa_net\",\"assisted_shots\",\"passes_into_final_third\",\"passes_into_penalty_area\",\"crosses_into_penalty_area\",\"progressive_passes\"]\n", "passing2 = [\"passes_completed\",\"passes\",\"passes_pct\",\"passes_total_distance\",\"passes_progressive_distance\",\"passes_completed_short\",\"passes_short\",\"passes_pct_short\",\"passes_completed_medium\",\"passes_medium\",\"passes_pct_medium\",\"passes_completed_long\",\"passes_long\",\"passes_pct_long\",\"assists\",\"xa\",\"xa_net\",\"assisted_shots\",\"passes_into_final_third\",\"passes_into_penalty_area\",\"crosses_into_penalty_area\",\"progressive_passes\"]\n", "#passtypes(passing_types)\n", "passing_types = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"passes\",\"passes_live\",\"passes_dead\",\"passes_free_kicks\",\"through_balls\",\"passes_pressure\",\"passes_switches\",\"crosses\",\"corner_kicks\",\"corner_kicks_in\",\"corner_kicks_out\",\"corner_kicks_straight\",\"passes_ground\",\"passes_low\",\"passes_high\",\"passes_left_foot\",\"passes_right_foot\",\"passes_head\",\"throw_ins\",\"passes_other_body\",\"passes_completed\",\"passes_offsides\",\"passes_oob\",\"passes_intercepted\",\"passes_blocked\"]\n", "passing_types2 = [\"passes\",\"passes_live\",\"passes_dead\",\"passes_free_kicks\",\"through_balls\",\"passes_pressure\",\"passes_switches\",\"crosses\",\"corner_kicks\",\"corner_kicks_in\",\"corner_kicks_out\",\"corner_kicks_straight\",\"passes_ground\",\"passes_low\",\"passes_high\",\"passes_left_foot\",\"passes_right_foot\",\"passes_head\",\"throw_ins\",\"passes_other_body\",\"passes_completed\",\"passes_offsides\",\"passes_oob\",\"passes_intercepted\",\"passes_blocked\"]\n", "#goal and shot creation(gca)\n", "gca = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"sca\",\"sca_per90\",\"sca_passes_live\",\"sca_passes_dead\",\"sca_dribbles\",\"sca_shots\",\"sca_fouled\",\"gca\",\"gca_per90\",\"gca_passes_live\",\"gca_passes_dead\",\"gca_dribbles\",\"gca_shots\",\"gca_fouled\",\"gca_defense\"]\n", "gca2 = [\"sca\",\"sca_per90\",\"sca_passes_live\",\"sca_passes_dead\",\"sca_dribbles\",\"sca_shots\",\"sca_fouled\",\"gca\",\"gca_per90\",\"gca_passes_live\",\"gca_passes_dead\",\"gca_dribbles\",\"gca_shots\",\"gca_fouled\",\"gca_defense\"]\n", "#defensive actions(defense)\n", "defense = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"tackles\",\"tackles_won\",\"tackles_def_3rd\",\"tackles_mid_3rd\",\"tackles_att_3rd\",\"dribble_tackles\",\"dribbles_vs\",\"dribble_tackles_pct\",\"dribbled_past\",\"pressures\",\"pressure_regains\",\"pressure_regain_pct\",\"pressures_def_3rd\",\"pressures_mid_3rd\",\"pressures_att_3rd\",\"blocks\",\"blocked_shots\",\"blocked_shots_saves\",\"blocked_passes\",\"interceptions\",\"clearances\",\"errors\"]\n", "defense2 = [\"tackles\",\"tackles_won\",\"tackles_def_3rd\",\"tackles_mid_3rd\",\"tackles_att_3rd\",\"dribble_tackles\",\"dribbles_vs\",\"dribble_tackles_pct\",\"dribbled_past\",\"pressures\",\"pressure_regains\",\"pressure_regain_pct\",\"pressures_def_3rd\",\"pressures_mid_3rd\",\"pressures_att_3rd\",\"blocks\",\"blocked_shots\",\"blocked_shots_saves\",\"blocked_passes\",\"interceptions\",\"clearances\",\"errors\"]\n", "#possession(possession)\n", "possession = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"touches\",\"touches_def_pen_area\",\"touches_def_3rd\",\"touches_mid_3rd\",\"touches_att_3rd\",\"touches_att_pen_area\",\"touches_live_ball\",\"dribbles_completed\",\"dribbles\",\"dribbles_completed_pct\",\"players_dribbled_past\",\"nutmegs\",\"carries\",\"carry_distance\",\"carry_progressive_distance\",\"progressive_carries\",\"carries_into_final_third\",\"carries_into_penalty_area\",\"pass_targets\",\"passes_received\",\"passes_received_pct\",\"miscontrols\",\"dispossessed\"]\n", "possession2 = [\"touches\",\"touches_def_pen_area\",\"touches_def_3rd\",\"touches_mid_3rd\",\"touches_att_3rd\",\"touches_att_pen_area\",\"touches_live_ball\",\"dribbles_completed\",\"dribbles\",\"dribbles_completed_pct\",\"players_dribbled_past\",\"nutmegs\",\"carries\",\"carry_distance\",\"carry_progressive_distance\",\"progressive_carries\",\"carries_into_final_third\",\"carries_into_penalty_area\",\"pass_targets\",\"passes_received\",\"passes_received_pct\",\"miscontrols\",\"dispossessed\"]\n", "#playingtime(playingtime)\n", "playingtime = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"games\",\"minutes\",\"minutes_per_game\",\"minutes_pct\",\"games_starts\",\"minutes_per_start\",\"games_subs\",\"minutes_per_sub\",\"unused_subs\",\"points_per_match\",\"on_goals_for\",\"on_goals_against\",\"plus_minus\",\"plus_minus_per90\",\"plus_minus_wowy\",\"on_xg_for\",\"on_xg_against\",\"xg_plus_minus\",\"xg_plus_minus_per90\",\"xg_plus_minus_wowy\"]\n", "playingtime2 = [\"games\",\"minutes\",\"minutes_per_game\",\"minutes_pct\",\"games_starts\",\"minutes_per_start\",\"games_subs\",\"minutes_per_sub\",\"unused_subs\",\"points_per_match\",\"on_goals_for\",\"on_goals_against\",\"plus_minus\",\"plus_minus_per90\",\"plus_minus_wowy\",\"on_xg_for\",\"on_xg_against\",\"xg_plus_minus\",\"xg_plus_minus_per90\",\"xg_plus_minus_wowy\"]\n", "#miscallaneous(misc)\n", "misc = [\"player\",\"nationality\",\"position\",\"team\",\"age\",\"birth_year\",\"minutes_90s\",\"cards_yellow\",\"cards_red\",\"cards_yellow_red\",\"fouls\",\"fouled\",\"offsides\",\"crosses\",\"interceptions\",\"tackles_won\",\"pens_won\",\"pens_conceded\",\"own_goals\",\"ball_recoveries\",\"aerials_won\",\"aerials_lost\",\"aerials_won_pct\"]\n", "misc2 = [\"cards_yellow\",\"cards_red\",\"cards_yellow_red\",\"fouls\",\"fouled\",\"offsides\",\"crosses\",\"interceptions\",\"tackles_won\",\"pens_won\",\"pens_conceded\",\"own_goals\",\"ball_recoveries\",\"aerials_won\",\"aerials_lost\",\"aerials_won_pct\"]\n", "\n", "def get_tables(url,text):\n", " headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}\n", "\n", " res = requests.get(url, headers = headers)\n", " ## The next two lines get around the issue with comments breaking the parsing.\n", " comm = re.compile(\"\")\n", " soup = BeautifulSoup(comm.sub(\"\",res.text),'lxml')\n", " all_tables = soup.findAll(\"tbody\")\n", " \n", " team_table = all_tables[0]\n", " team_vs_table = all_tables[1]\n", " player_table = all_tables[2]\n", " if text == 'for':\n", " return player_table, team_table\n", " if text == 'vs':\n", " return player_table, team_vs_table\n", "\n", "def get_frame(features, player_table):\n", " pre_df_player = dict()\n", " features_wanted_player = features\n", " rows_player = player_table.find_all('tr')\n", " for row in rows_player:\n", " if(row.find('th',{\"scope\":\"row\"}) != None):\n", " \n", " for f in features_wanted_player:\n", " cell = row.find(\"td\",{\"data-stat\": f})\n", " if(cell == None):\n", " continue\n", " a = cell.text.strip().encode()\n", " text=a.decode(\"utf-8\")\n", " if(text == ''):\n", " text = '0'\n", " if((f!='player')&(f!='nationality')&(f!='position')&(f!='squad')&(f!='age')&(f!='birth_year')&(f!='team')):\n", " text = float(text.replace(',','')) \n", " if f in pre_df_player:\n", " pre_df_player[f].append(text)\n", " else:\n", " pre_df_player[f] = [text]\n", " df_player = pd.DataFrame.from_dict(pre_df_player)\n", " return df_player\n", "\n", "def get_frame_team(features, team_table):\n", " pre_df_squad = dict()\n", " #Note: features does not contain squad name, it requires special treatment\n", " features_wanted_squad = features\n", " rows_squad = team_table.find_all('tr')\n", " for row in rows_squad:\n", " if(row.find('th',{\"scope\":\"row\"}) != None):\n", " name = row.find('th',{\"data-stat\":\"team\"}).text.strip().encode().decode(\"utf-8\")\n", " if 'team' in pre_df_squad:\n", " pre_df_squad['team'].append(name)\n", " else:\n", " pre_df_squad['team'] = [name]\n", " for f in features_wanted_squad:\n", " cell = row.find(\"td\",{\"data-stat\": f})\n", " if(cell == None):\n", " continue\n", " a = cell.text.strip().encode()\n", " text=a.decode(\"utf-8\")\n", " if(text == ''):\n", " text = '0'\n", " if((f!='player')&(f!='nationality')&(f!='position')&(f!='squad')&(f!='age')&(f!='birth_year')&(f!='team')):\n", " text = float(text.replace(',',''))\n", " if f in pre_df_squad:\n", " pre_df_squad[f].append(text)\n", " else:\n", " pre_df_squad[f] = [text]\n", " df_squad = pd.DataFrame.from_dict(pre_df_squad)\n", " return df_squad\n", "\n", "def get_frame_team_2(features, team_table):\n", " pre_df_squad = dict()\n", " #Note: features does not contain squad name, it requires special treatment\n", " features_wanted_squad = features\n", " rows_squad = team_table.find_all('tr')\n", " for row in rows_squad:\n", " if(row.find('th',{\"scope\":\"row\"}) != None):\n", " name = row.find('th',{\"data-stat\":\"squad\"}).text.strip().encode().decode(\"utf-8\")\n", " if 'squad' in pre_df_squad:\n", " pre_df_squad['squad'].append(name)\n", " else:\n", " pre_df_squad['squad'] = [name]\n", " for f in features_wanted_squad:\n", " cell = row.find(\"td\",{\"data-stat\": f})\n", " a = cell.text.strip().encode()\n", " text=a.decode(\"utf-8\")\n", " if(text == ''):\n", " text = '0'\n", " if((f!='player')&(f!='nationality')&(f!='position')&(f!='squad')&(f!='age')&(f!='birth_year')&(f!='team')):\n", " text = float(text.replace(',',''))\n", " print(f)\n", " if f in pre_df_squad:\n", " pre_df_squad[f].append(text)\n", " else:\n", " pre_df_squad[f] = [text]\n", " df_squad = pd.DataFrame.from_dict(pre_df_squad)\n", " return df_squad\n", "\n", "def frame_for_category(category,top,end,features):\n", " url = (top + category + end)\n", " player_table, team_table = get_tables(url,'for')\n", " df_player = get_frame(features, player_table)\n", " return df_player\n", "\n", "def frame_for_category_team(category,top,end,features,text):\n", " url = (top + category + end)\n", " player_table, team_table = get_tables(url,text)\n", " df_team = get_frame_team(features, team_table)\n", " return df_team\n", "\n", "\n", "\n", "\n", "#Function to get the player data for outfield player, includes all categories - standard stats, shooting\n", "#passing, passing types, goal and shot creation, defensive actions, possession, and miscallaneous\n", "def get_outfield_data(top, end):\n", " df1 = frame_for_category('stats',top,end,stats)\n", " df2 = frame_for_category('shooting',top,end,shooting2)\n", " df3 = frame_for_category('passing',top,end,passing2)\n", " df4 = frame_for_category('passing_types',top,end,passing_types2)\n", " df5 = frame_for_category('gca',top,end,gca2)\n", " df6 = frame_for_category('defense',top,end,defense2)\n", " df7 = frame_for_category('possession',top,end,possession2)\n", " df8 = frame_for_category('misc',top,end,misc2)\n", " df = pd.concat([df1, df2, df3, df4, df5, df6, df7, df8], axis=1)\n", " df = df.loc[:,~df.columns.duplicated()]\n", " return df\n", "\n", "\n", "#Function to get keeping and advance goalkeeping data\n", "def get_keeper_data(top,end):\n", " df1 = frame_for_category('keepers',top,end,keepers)\n", " df2 = frame_for_category('keepersadv',top,end,keepersadv2)\n", " df = pd.concat([df1, df2], axis=1)\n", " df = df.loc[:,~df.columns.duplicated()]\n", " return df\n", "\n", "\n", "\n", "#Function to get team-wise data accross all categories as mentioned above\n", "def get_team_data(top,end,text):\n", " df1 = frame_for_category_team('stats',top,end,stats3,text)\n", " df2 = frame_for_category_team('keepers',top,end,keepers3,text)\n", " df3 = frame_for_category_team('keepersadv',top,end,keepersadv2,text)\n", " df4 = frame_for_category_team('shooting',top,end,shooting3,text)\n", " df5 = frame_for_category_team('passing',top,end,passing2,text)\n", " df6 = frame_for_category_team('passing_types',top,end,passing_types2,text)\n", " df7 = frame_for_category_team('gca',top,end,gca2,text)\n", " df8 = frame_for_category_team('defense',top,end,defense2,text)\n", " df9 = frame_for_category_team('possession',top,end,possession2,text)\n", " df10 = frame_for_category_team('misc',top,end,misc2,text)\n", " df = pd.concat([df1, df2, df3, df4, df5, df6, df7, df8, df9, df10], axis=1)\n", " df = df.loc[:,~df.columns.duplicated()]\n", " return df" ] }, { "cell_type": "code", "execution_count": 3, "id": "9141a9ec", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | player | \n", "nationality | \n", "position | \n", "team | \n", "age | \n", "birth_year | \n", "games | \n", "games_starts | \n", "minutes | \n", "goals | \n", "... | \n", "fouls | \n", "fouled | \n", "offsides | \n", "pens_won | \n", "pens_conceded | \n", "own_goals | \n", "ball_recoveries | \n", "aerials_won | \n", "aerials_lost | \n", "aerials_won_pct | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "Francesco Acerbi | \n", "it ITA | \n", "DF | \n", "Inter | \n", "35-232 | \n", "1988 | \n", "3.0 | \n", "3.0 | \n", "270.0 | \n", "0.0 | \n", "... | \n", "3.0 | \n", "4.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "15.0 | \n", "10.0 | \n", "2.0 | \n", "83.3 | \n", "
| 1 | \n", "Yacine Adli | \n", "fr FRA | \n", "MF | \n", "Milan | \n", "23-063 | \n", "2000 | \n", "1.0 | \n", "1.0 | \n", "57.0 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "5.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "
| 2 | \n", "Michel Aebischer | \n", "ch SUI | \n", "MF | \n", "Bologna | \n", "26-267 | \n", "1997 | \n", "6.0 | \n", "6.0 | \n", "527.0 | \n", "0.0 | \n", "... | \n", "10.0 | \n", "6.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "29.0 | \n", "4.0 | \n", "6.0 | \n", "40.0 | \n", "
| 3 | \n", "Jean-Daniel Akpa-Akpro | \n", "ci CIV | \n", "MF | \n", "Monza | \n", "30-354 | \n", "1992 | \n", "1.0 | \n", "0.0 | \n", "7.0 | \n", "0.0 | \n", "... | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 4 | \n", "Luis Alberto | \n", "es ESP | \n", "MF | \n", "Lazio | \n", "31-002 | \n", "1992 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "2.0 | \n", "... | \n", "6.0 | \n", "8.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "36.0 | \n", "3.0 | \n", "5.0 | \n", "37.5 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 453 | \n", "Joshua Zirkzee | \n", "nl NED | \n", "FW | \n", "Bologna | \n", "22-131 | \n", "2001 | \n", "6.0 | \n", "6.0 | \n", "520.0 | \n", "1.0 | \n", "... | \n", "5.0 | \n", "1.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "15.0 | \n", "12.0 | \n", "3.0 | \n", "80.0 | \n", "
| 454 | \n", "Zito | \n", "ao ANG | \n", "FW | \n", "Cagliari | \n", "21-205 | \n", "2002 | \n", "6.0 | \n", "5.0 | \n", "477.0 | \n", "2.0 | \n", "... | \n", "5.0 | \n", "12.0 | \n", "6.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "9.0 | \n", "2.0 | \n", "7.0 | \n", "22.2 | \n", "
| 455 | \n", "Nadir Zortea | \n", "it ITA | \n", "DF | \n", "Atalanta | \n", "24-103 | \n", "1999 | \n", "3.0 | \n", "0.0 | \n", "96.0 | \n", "1.0 | \n", "... | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "4.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "
| 456 | \n", "Milan Đurić | \n", "ba BIH | \n", "FW,MF | \n", "Hellas Verona | \n", "33-131 | \n", "1990 | \n", "5.0 | \n", "1.0 | \n", "154.0 | \n", "0.0 | \n", "... | \n", "7.0 | \n", "1.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "4.0 | \n", "23.0 | \n", "15.0 | \n", "60.5 | \n", "
| 457 | \n", "Mateusz Łęgowski | \n", "pl POL | \n", "MF | \n", "Salernitana | \n", "20-244 | \n", "2003 | \n", "5.0 | \n", "2.0 | \n", "167.0 | \n", "0.0 | \n", "... | \n", "3.0 | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "16.0 | \n", "4.0 | \n", "5.0 | \n", "44.4 | \n", "
458 rows × 115 columns
\n", "| \n", " | player | \n", "nationality | \n", "position | \n", "team | \n", "age | \n", "birth_year | \n", "gk_games | \n", "gk_games_starts | \n", "gk_minutes | \n", "gk_goals_against | \n", "... | \n", "gk_passes_length_avg | \n", "gk_goal_kicks | \n", "gk_pct_goal_kicks_launched | \n", "gk_goal_kick_length_avg | \n", "gk_crosses | \n", "gk_crosses_stopped | \n", "gk_crosses_stopped_pct | \n", "gk_def_actions_outside_pen_area | \n", "gk_def_actions_outside_pen_area_per90 | \n", "gk_avg_distance_def_actions | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "Etrit Berisha | \n", "al ALB | \n", "GK | \n", "Empoli | \n", "34-204 | \n", "1989 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "10.0 | \n", "... | \n", "32.1 | \n", "24.0 | \n", "58.3 | \n", "44.0 | \n", "50.0 | \n", "2.0 | \n", "4.0 | \n", "3.0 | \n", "0.75 | \n", "12.7 | \n", "
| 1 | \n", "Elia Caprile | \n", "it ITA | \n", "GK | \n", "Empoli | \n", "22-036 | \n", "2001 | \n", "1.0 | \n", "1.0 | \n", "90.0 | \n", "1.0 | \n", "... | \n", "42.6 | \n", "4.0 | \n", "50.0 | \n", "50.3 | \n", "10.0 | \n", "2.0 | \n", "20.0 | \n", "2.0 | \n", "2.00 | \n", "12.4 | \n", "
| 2 | \n", "Marco Carnesecchi | \n", "it ITA | \n", "GK | \n", "Atalanta | \n", "23-091 | \n", "2000 | \n", "2.0 | \n", "2.0 | \n", "180.0 | \n", "3.0 | \n", "... | \n", "38.2 | \n", "15.0 | \n", "80.0 | \n", "60.7 | \n", "30.0 | \n", "3.0 | \n", "10.0 | \n", "0.0 | \n", "0.00 | \n", "11.2 | \n", "
| 3 | \n", "Michele Cerofolini | \n", "it ITA | \n", "GK | \n", "Frosinone | \n", "24-269 | \n", "1999 | \n", "1.0 | \n", "1.0 | \n", "90.0 | \n", "1.0 | \n", "... | \n", "38.3 | \n", "5.0 | \n", "60.0 | \n", "45.8 | \n", "18.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.00 | \n", "0.0 | \n", "
| 4 | \n", "Oliver Christensen | \n", "dk DEN | \n", "GK | \n", "Fiorentina | \n", "24-192 | \n", "1999 | \n", "2.0 | \n", "2.0 | \n", "180.0 | \n", "6.0 | \n", "... | \n", "33.2 | \n", "8.0 | \n", "62.5 | \n", "49.4 | \n", "15.0 | \n", "0.0 | \n", "0.0 | \n", "3.0 | \n", "1.50 | \n", "22.0 | \n", "
| 5 | \n", "Andrea Consigli | \n", "it ITA | \n", "GK | \n", "Sassuolo | \n", "36-246 | \n", "1987 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "6.0 | \n", "... | \n", "39.4 | \n", "42.0 | \n", "26.2 | \n", "28.3 | \n", "73.0 | \n", "4.0 | \n", "5.5 | \n", "3.0 | \n", "0.75 | \n", "13.1 | \n", "
| 6 | \n", "Alessio Cragno | \n", "it ITA | \n", "GK | \n", "Sassuolo | \n", "29-094 | \n", "1994 | \n", "2.0 | \n", "2.0 | \n", "180.0 | \n", "6.0 | \n", "... | \n", "41.2 | \n", "19.0 | \n", "26.3 | \n", "29.4 | \n", "26.0 | \n", "0.0 | \n", "0.0 | \n", "7.0 | \n", "3.50 | \n", "28.9 | \n", "
| 7 | \n", "Michele Di Gregorio | \n", "it ITA | \n", "GK | \n", "Monza | \n", "26-065 | \n", "1997 | \n", "5.0 | \n", "5.0 | \n", "450.0 | \n", "6.0 | \n", "... | \n", "30.4 | \n", "34.0 | \n", "52.9 | \n", "47.5 | \n", "73.0 | \n", "2.0 | \n", "2.7 | \n", "2.0 | \n", "0.40 | \n", "10.5 | \n", "
| 8 | \n", "Wladimiro Falcone | \n", "it ITA | \n", "GK | \n", "Lecce | \n", "28-171 | \n", "1995 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "5.0 | \n", "... | \n", "30.9 | \n", "55.0 | \n", "47.3 | \n", "36.3 | \n", "80.0 | \n", "3.0 | \n", "3.8 | \n", "3.0 | \n", "0.50 | \n", "9.6 | \n", "
| 9 | \n", "Mike Maignan | \n", "fr FRA | \n", "GK | \n", "Milan | \n", "28-089 | \n", "1995 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "7.0 | \n", "... | \n", "29.2 | \n", "23.0 | \n", "60.9 | \n", "47.0 | \n", "52.0 | \n", "12.0 | \n", "23.1 | \n", "3.0 | \n", "0.75 | \n", "9.8 | \n", "
| 10 | \n", "Josep Martinez | \n", "es ESP | \n", "GK | \n", "Genoa | \n", "25-126 | \n", "1998 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "9.0 | \n", "... | \n", "39.1 | \n", "37.0 | \n", "94.6 | \n", "62.1 | \n", "113.0 | \n", "12.0 | \n", "10.6 | \n", "2.0 | \n", "0.33 | \n", "8.5 | \n", "
| 11 | \n", "Alex Meret | \n", "it ITA | \n", "GK | \n", "Napoli | \n", "26-192 | \n", "1997 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "6.0 | \n", "... | \n", "24.1 | \n", "21.0 | \n", "0.0 | \n", "20.5 | \n", "53.0 | \n", "1.0 | \n", "1.9 | \n", "8.0 | \n", "1.33 | \n", "17.2 | \n", "
| 12 | \n", "Vanja Milinković-Savić | \n", "rs SRB | \n", "GK | \n", "Torino | \n", "26-222 | \n", "1997 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "7.0 | \n", "... | \n", "35.6 | \n", "50.0 | \n", "80.0 | \n", "62.9 | \n", "47.0 | \n", "4.0 | \n", "8.5 | \n", "9.0 | \n", "1.50 | \n", "17.5 | \n", "
| 13 | \n", "Lorenzo Montipò | \n", "it ITA | \n", "GK | \n", "Hellas Verona | \n", "27-222 | \n", "1996 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "6.0 | \n", "... | \n", "45.2 | \n", "50.0 | \n", "84.0 | \n", "61.5 | \n", "72.0 | \n", "1.0 | \n", "1.4 | \n", "12.0 | \n", "2.00 | \n", "20.0 | \n", "
| 14 | \n", "Juan Musso | \n", "ar ARG | \n", "GK | \n", "Atalanta | \n", "29-147 | \n", "1994 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "2.0 | \n", "... | \n", "29.0 | \n", "28.0 | \n", "64.3 | \n", "48.9 | \n", "43.0 | \n", "4.0 | \n", "9.3 | \n", "12.0 | \n", "3.00 | \n", "19.9 | \n", "
| 15 | \n", "Guillermo Ochoa | \n", "mx MEX | \n", "GK | \n", "Salernitana | \n", "38-079 | \n", "1985 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "10.0 | \n", "... | \n", "35.6 | \n", "47.0 | \n", "46.8 | \n", "39.9 | \n", "88.0 | \n", "4.0 | \n", "4.5 | \n", "3.0 | \n", "0.50 | \n", "13.5 | \n", "
| 16 | \n", "Rui Patrício | \n", "pt POR | \n", "GK | \n", "Roma | \n", "35-227 | \n", "1988 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "11.0 | \n", "... | \n", "27.5 | \n", "31.0 | \n", "19.4 | \n", "24.2 | \n", "62.0 | \n", "2.0 | \n", "3.2 | \n", "3.0 | \n", "0.50 | \n", "13.7 | \n", "
| 17 | \n", "Mattia Perin | \n", "it ITA | \n", "GK | \n", "Juventus | \n", "30-324 | \n", "1992 | \n", "2.0 | \n", "2.0 | \n", "180.0 | \n", "1.0 | \n", "... | \n", "29.1 | \n", "11.0 | \n", "9.1 | \n", "18.9 | \n", "26.0 | \n", "2.0 | \n", "7.7 | \n", "2.0 | \n", "1.00 | \n", "15.0 | \n", "
| 18 | \n", "Samuele Perisan | \n", "it ITA | \n", "GK | \n", "Empoli | \n", "26-040 | \n", "1997 | \n", "1.0 | \n", "1.0 | \n", "90.0 | \n", "2.0 | \n", "... | \n", "26.3 | \n", "12.0 | \n", "16.7 | \n", "29.6 | \n", "18.0 | \n", "0.0 | \n", "0.0 | \n", "1.0 | \n", "1.00 | \n", "21.0 | \n", "
| 19 | \n", "Ivan Provedel | \n", "it ITA | \n", "GK | \n", "Lazio | \n", "29-197 | \n", "1994 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "8.0 | \n", "... | \n", "28.8 | \n", "29.0 | \n", "27.6 | \n", "32.3 | \n", "63.0 | \n", "3.0 | \n", "4.8 | \n", "7.0 | \n", "1.17 | \n", "16.0 | \n", "
| 20 | \n", "Boris Radunović | \n", "rs SRB | \n", "GK | \n", "Cagliari | \n", "27-127 | \n", "1996 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "9.0 | \n", "... | \n", "38.5 | \n", "57.0 | \n", "54.4 | \n", "45.1 | \n", "87.0 | \n", "5.0 | \n", "5.7 | \n", "4.0 | \n", "0.67 | \n", "11.9 | \n", "
| 21 | \n", "Marco Silvestri | \n", "it ITA | \n", "GK | \n", "Udinese | \n", "32-212 | \n", "1991 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "10.0 | \n", "... | \n", "30.2 | \n", "45.0 | \n", "26.7 | \n", "32.8 | \n", "69.0 | \n", "1.0 | \n", "1.4 | \n", "3.0 | \n", "0.50 | \n", "13.6 | \n", "
| 22 | \n", "Łukasz Skorupski | \n", "pl POL | \n", "GK | \n", "Bologna | \n", "32-148 | \n", "1991 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "4.0 | \n", "... | \n", "31.1 | \n", "34.0 | \n", "29.4 | \n", "33.6 | \n", "89.0 | \n", "3.0 | \n", "3.4 | \n", "2.0 | \n", "0.33 | \n", "10.3 | \n", "
| 23 | \n", "Yann Sommer | \n", "ch SUI | \n", "GK | \n", "Inter | \n", "34-287 | \n", "1988 | \n", "6.0 | \n", "6.0 | \n", "540.0 | \n", "3.0 | \n", "... | \n", "29.7 | \n", "39.0 | \n", "20.5 | \n", "27.3 | \n", "59.0 | \n", "5.0 | \n", "8.5 | \n", "2.0 | \n", "0.33 | \n", "9.6 | \n", "
| 24 | \n", "Alessandro Sorrentino | \n", "it ITA | \n", "GK | \n", "Monza | \n", "21-180 | \n", "2002 | \n", "1.0 | \n", "1.0 | \n", "90.0 | \n", "1.0 | \n", "... | \n", "21.0 | \n", "2.0 | \n", "0.0 | \n", "23.0 | \n", "8.0 | \n", "1.0 | \n", "12.5 | \n", "0.0 | \n", "0.00 | \n", "9.0 | \n", "
| 25 | \n", "Marco Sportiello | \n", "it ITA | \n", "GK | \n", "Milan | \n", "31-143 | \n", "1992 | \n", "2.0 | \n", "2.0 | \n", "180.0 | \n", "1.0 | \n", "... | \n", "28.0 | \n", "2.0 | \n", "0.0 | \n", "28.5 | \n", "28.0 | \n", "2.0 | \n", "7.1 | \n", "2.0 | \n", "1.00 | \n", "13.2 | \n", "
| 26 | \n", "Wojciech Szczęsny | \n", "pl POL | \n", "GK | \n", "Juventus | \n", "33-165 | \n", "1990 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "5.0 | \n", "... | \n", "33.2 | \n", "16.0 | \n", "50.0 | \n", "45.8 | \n", "59.0 | \n", "1.0 | \n", "1.7 | \n", "1.0 | \n", "0.25 | \n", "8.5 | \n", "
| 27 | \n", "Pietro Terracciano | \n", "it ITA | \n", "GK | \n", "Fiorentina | \n", "33-206 | \n", "1990 | \n", "4.0 | \n", "4.0 | \n", "360.0 | \n", "4.0 | \n", "... | \n", "34.7 | \n", "22.0 | \n", "45.5 | \n", "38.3 | \n", "44.0 | \n", "3.0 | \n", "6.8 | \n", "1.0 | \n", "0.25 | \n", "10.2 | \n", "
| 28 | \n", "Stefano Turati | \n", "it ITA | \n", "GK | \n", "Frosinone | \n", "22-025 | \n", "2001 | \n", "5.0 | \n", "5.0 | \n", "450.0 | \n", "7.0 | \n", "... | \n", "26.9 | \n", "16.0 | \n", "56.3 | \n", "43.5 | \n", "67.0 | \n", "2.0 | \n", "3.0 | \n", "3.0 | \n", "0.60 | \n", "13.4 | \n", "
29 rows × 47 columns
\n", "| \n", " | team | \n", "players_used | \n", "possession | \n", "games | \n", "games_starts | \n", "minutes | \n", "goals | \n", "assists | \n", "pens_made | \n", "pens_att | \n", "... | \n", "fouls | \n", "fouled | \n", "offsides | \n", "pens_won | \n", "pens_conceded | \n", "own_goals | \n", "ball_recoveries | \n", "aerials_won | \n", "aerials_lost | \n", "aerials_won_pct | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "Atalanta | \n", "24.0 | \n", "50.5 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "11.0 | \n", "11.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "79.0 | \n", "55.0 | \n", "17.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "362.0 | \n", "109.0 | \n", "97.0 | \n", "52.9 | \n", "
| 1 | \n", "Bologna | \n", "23.0 | \n", "54.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "3.0 | \n", "2.0 | \n", "0.0 | \n", "1.0 | \n", "... | \n", "73.0 | \n", "61.0 | \n", "8.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "288.0 | \n", "73.0 | \n", "47.0 | \n", "60.8 | \n", "
| 2 | \n", "Cagliari | \n", "22.0 | \n", "38.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "2.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "70.0 | \n", "47.0 | \n", "8.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "349.0 | \n", "71.0 | \n", "92.0 | \n", "43.6 | \n", "
| 3 | \n", "Empoli | \n", "28.0 | \n", "45.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "1.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "76.0 | \n", "83.0 | \n", "12.0 | \n", "0.0 | \n", "2.0 | \n", "1.0 | \n", "281.0 | \n", "60.0 | \n", "82.0 | \n", "42.3 | \n", "
| 4 | \n", "Fiorentina | \n", "24.0 | \n", "57.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "12.0 | \n", "9.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "71.0 | \n", "70.0 | \n", "10.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "315.0 | \n", "75.0 | \n", "96.0 | \n", "43.9 | \n", "
| 5 | \n", "Frosinone | \n", "24.0 | \n", "49.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "9.0 | \n", "5.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "61.0 | \n", "69.0 | \n", "16.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "294.0 | \n", "80.0 | \n", "79.0 | \n", "50.3 | \n", "
| 6 | \n", "Genoa | \n", "22.0 | \n", "34.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "8.0 | \n", "7.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "68.0 | \n", "57.0 | \n", "5.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "265.0 | \n", "83.0 | \n", "66.0 | \n", "55.7 | \n", "
| 7 | \n", "Hellas Verona | \n", "22.0 | \n", "45.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "4.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "87.0 | \n", "78.0 | \n", "14.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "339.0 | \n", "117.0 | \n", "116.0 | \n", "50.2 | \n", "
| 8 | \n", "Inter | \n", "22.0 | \n", "53.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "15.0 | \n", "12.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "68.0 | \n", "67.0 | \n", "9.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "278.0 | \n", "77.0 | \n", "46.0 | \n", "62.6 | \n", "
| 9 | \n", "Juventus | \n", "22.0 | \n", "50.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "11.0 | \n", "9.0 | \n", "1.0 | \n", "2.0 | \n", "... | \n", "73.0 | \n", "75.0 | \n", "12.0 | \n", "1.0 | \n", "0.0 | \n", "1.0 | \n", "280.0 | \n", "67.0 | \n", "41.0 | \n", "62.0 | \n", "
| 10 | \n", "Lazio | \n", "20.0 | \n", "54.0 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "7.0 | \n", "6.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "72.0 | \n", "64.0 | \n", "7.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "284.0 | \n", "53.0 | \n", "66.0 | \n", "44.5 | \n", "
| 11 | \n", "Lecce | \n", "22.0 | \n", "46.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "8.0 | \n", "6.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "82.0 | \n", "86.0 | \n", "5.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "286.0 | \n", "73.0 | \n", "67.0 | \n", "52.1 | \n", "
| 12 | \n", "Milan | \n", "23.0 | \n", "56.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "13.0 | \n", "8.0 | \n", "3.0 | \n", "3.0 | \n", "... | \n", "63.0 | \n", "77.0 | \n", "8.0 | \n", "2.0 | \n", "1.0 | \n", "0.0 | \n", "287.0 | \n", "61.0 | \n", "65.0 | \n", "48.4 | \n", "
| 13 | \n", "Monza | \n", "23.0 | \n", "54.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "4.0 | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "69.0 | \n", "61.0 | \n", "9.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "257.0 | \n", "56.0 | \n", "74.0 | \n", "43.1 | \n", "
| 14 | \n", "Napoli | \n", "20.0 | \n", "60.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "12.0 | \n", "7.0 | \n", "2.0 | \n", "4.0 | \n", "... | \n", "65.0 | \n", "64.0 | \n", "16.0 | \n", "2.0 | \n", "1.0 | \n", "0.0 | \n", "301.0 | \n", "56.0 | \n", "52.0 | \n", "51.9 | \n", "
| 15 | \n", "Roma | \n", "23.0 | \n", "59.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "12.0 | \n", "9.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "70.0 | \n", "57.0 | \n", "9.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "286.0 | \n", "104.0 | \n", "83.0 | \n", "55.6 | \n", "
| 16 | \n", "Salernitana | \n", "22.0 | \n", "52.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "4.0 | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "73.0 | \n", "90.0 | \n", "10.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "298.0 | \n", "82.0 | \n", "120.0 | \n", "40.6 | \n", "
| 17 | \n", "Sassuolo | \n", "25.0 | \n", "42.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "10.0 | \n", "7.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "57.0 | \n", "58.0 | \n", "7.0 | \n", "1.0 | \n", "3.0 | \n", "1.0 | \n", "265.0 | \n", "55.0 | \n", "85.0 | \n", "39.3 | \n", "
| 18 | \n", "Torino | \n", "23.0 | \n", "49.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "6.0 | \n", "4.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "71.0 | \n", "60.0 | \n", "11.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "301.0 | \n", "82.0 | \n", "93.0 | \n", "46.9 | \n", "
| 19 | \n", "Udinese | \n", "24.0 | \n", "46.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "2.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "79.0 | \n", "63.0 | \n", "6.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "309.0 | \n", "101.0 | \n", "68.0 | \n", "59.8 | \n", "
20 rows × 152 columns
\n", "| \n", " | team | \n", "players_used | \n", "possession | \n", "games | \n", "games_starts | \n", "minutes | \n", "goals | \n", "assists | \n", "pens_made | \n", "pens_att | \n", "... | \n", "fouls | \n", "fouled | \n", "offsides | \n", "pens_won | \n", "pens_conceded | \n", "own_goals | \n", "ball_recoveries | \n", "aerials_won | \n", "aerials_lost | \n", "aerials_won_pct | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "vs Atalanta | \n", "24.0 | \n", "49.5 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "5.0 | \n", "4.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "57.0 | \n", "74.0 | \n", "4.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "347.0 | \n", "97.0 | \n", "109.0 | \n", "47.1 | \n", "
| 1 | \n", "vs Bologna | \n", "23.0 | \n", "45.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "4.0 | \n", "4.0 | \n", "0.0 | \n", "1.0 | \n", "... | \n", "71.0 | \n", "70.0 | \n", "16.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "292.0 | \n", "47.0 | \n", "73.0 | \n", "39.2 | \n", "
| 2 | \n", "vs Cagliari | \n", "22.0 | \n", "61.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "9.0 | \n", "6.0 | \n", "0.0 | \n", "1.0 | \n", "... | \n", "50.0 | \n", "65.0 | \n", "11.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "332.0 | \n", "92.0 | \n", "71.0 | \n", "56.4 | \n", "
| 3 | \n", "vs Empoli | \n", "28.0 | \n", "54.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "12.0 | \n", "8.0 | \n", "1.0 | \n", "2.0 | \n", "... | \n", "84.0 | \n", "74.0 | \n", "10.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "313.0 | \n", "82.0 | \n", "60.0 | \n", "57.7 | \n", "
| 4 | \n", "vs Fiorentina | \n", "24.0 | \n", "42.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "10.0 | \n", "8.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "75.0 | \n", "63.0 | \n", "8.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "311.0 | \n", "96.0 | \n", "75.0 | \n", "56.1 | \n", "
| 5 | \n", "vs Frosinone | \n", "24.0 | \n", "50.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "8.0 | \n", "6.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "73.0 | \n", "54.0 | \n", "15.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "325.0 | \n", "79.0 | \n", "80.0 | \n", "49.7 | \n", "
| 6 | \n", "vs Genoa | \n", "22.0 | \n", "65.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "9.0 | \n", "8.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "67.0 | \n", "60.0 | \n", "12.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "295.0 | \n", "66.0 | \n", "83.0 | \n", "44.3 | \n", "
| 7 | \n", "vs Hellas Verona | \n", "22.0 | \n", "54.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "6.0 | \n", "4.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "84.0 | \n", "84.0 | \n", "11.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "326.0 | \n", "116.0 | \n", "117.0 | \n", "49.8 | \n", "
| 8 | \n", "vs Inter | \n", "22.0 | \n", "46.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "3.0 | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "70.0 | \n", "64.0 | \n", "9.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "248.0 | \n", "46.0 | \n", "77.0 | \n", "37.4 | \n", "
| 9 | \n", "vs Juventus | \n", "22.0 | \n", "49.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "5.0 | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "80.0 | \n", "71.0 | \n", "6.0 | \n", "0.0 | \n", "2.0 | \n", "1.0 | \n", "267.0 | \n", "41.0 | \n", "67.0 | \n", "38.0 | \n", "
| 10 | \n", "vs Lazio | \n", "20.0 | \n", "46.0 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "8.0 | \n", "5.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "69.0 | \n", "67.0 | \n", "10.0 | \n", "0.0 | \n", "1.0 | \n", "0.0 | \n", "282.0 | \n", "66.0 | \n", "53.0 | \n", "55.5 | \n", "
| 11 | \n", "vs Lecce | \n", "22.0 | \n", "53.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "5.0 | \n", "5.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "88.0 | \n", "78.0 | \n", "5.0 | \n", "0.0 | \n", "2.0 | \n", "0.0 | \n", "295.0 | \n", "67.0 | \n", "73.0 | \n", "47.9 | \n", "
| 12 | \n", "vs Milan | \n", "23.0 | \n", "43.2 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "8.0 | \n", "7.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "80.0 | \n", "60.0 | \n", "8.0 | \n", "1.0 | \n", "3.0 | \n", "0.0 | \n", "281.0 | \n", "65.0 | \n", "61.0 | \n", "51.6 | \n", "
| 13 | \n", "vs Monza | \n", "23.0 | \n", "45.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "7.0 | \n", "5.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "65.0 | \n", "68.0 | \n", "11.0 | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "281.0 | \n", "74.0 | \n", "56.0 | \n", "56.9 | \n", "
| 14 | \n", "vs Napoli | \n", "20.0 | \n", "39.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "6.0 | \n", "5.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "73.0 | \n", "60.0 | \n", "9.0 | \n", "1.0 | \n", "4.0 | \n", "0.0 | \n", "254.0 | \n", "52.0 | \n", "56.0 | \n", "48.1 | \n", "
| 15 | \n", "vs Roma | \n", "23.0 | \n", "40.3 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "11.0 | \n", "9.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "58.0 | \n", "67.0 | \n", "4.0 | \n", "1.0 | \n", "1.0 | \n", "1.0 | \n", "267.0 | \n", "83.0 | \n", "104.0 | \n", "44.4 | \n", "
| 16 | \n", "vs Salernitana | \n", "22.0 | \n", "47.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "10.0 | \n", "7.0 | \n", "1.0 | \n", "1.0 | \n", "... | \n", "94.0 | \n", "70.0 | \n", "12.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "311.0 | \n", "120.0 | \n", "82.0 | \n", "59.4 | \n", "
| 17 | \n", "vs Sassuolo | \n", "25.0 | \n", "57.7 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "11.0 | \n", "8.0 | \n", "2.0 | \n", "3.0 | \n", "... | \n", "63.0 | \n", "55.0 | \n", "20.0 | \n", "2.0 | \n", "1.0 | \n", "1.0 | \n", "299.0 | \n", "85.0 | \n", "55.0 | \n", "60.7 | \n", "
| 18 | \n", "vs Torino | \n", "23.0 | \n", "50.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "7.0 | \n", "4.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "61.0 | \n", "64.0 | \n", "7.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "302.0 | \n", "93.0 | \n", "82.0 | \n", "53.1 | \n", "
| 19 | \n", "vs Udinese | \n", "24.0 | \n", "53.8 | \n", "6.0 | \n", "66.0 | \n", "540.0 | \n", "10.0 | \n", "6.0 | \n", "2.0 | \n", "2.0 | \n", "... | \n", "65.0 | \n", "74.0 | \n", "11.0 | \n", "1.0 | \n", "0.0 | \n", "0.0 | \n", "297.0 | \n", "68.0 | \n", "101.0 | \n", "40.2 | \n", "
20 rows × 152 columns
\n", "