1492328958
- 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
4765 lines
208 KiB
Plaintext
4765 lines
208 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "94545a88",
|
||
"metadata": {},
|
||
"source": [
|
||
"players__dataset_creation code for past seasons\n",
|
||
"\n",
|
||
"Select the season in season variable, and repeat the code if needed"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "b72a3c5e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"season = '2223'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "7c65df92",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "b2d7073e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"rcsv = pd.read_csv('fbref_data/season' + season + '/outfield_players.csv') \n",
|
||
"outfield_players = pd.DataFrame(rcsv)\n",
|
||
"\n",
|
||
"rcsv = pd.read_csv('fbref_data/season' + season + '/keepers_players.csv') \n",
|
||
"keeper_players = pd.DataFrame(rcsv)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "667970f6",
|
||
"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>player</th>\n",
|
||
" <th>team</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>James Abankwah</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Oliver Abildgaard</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Tammy Abraham</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Christian Acella</td>\n",
|
||
" <td>Cremonese</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Francesco Acerbi</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>647</th>\n",
|
||
" <td>Martin Turk</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>648</th>\n",
|
||
" <td>Samir Ujkani</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>649</th>\n",
|
||
" <td>Guglielmo Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>650</th>\n",
|
||
" <td>Jeroen Zoet</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>651</th>\n",
|
||
" <td>Petar Zovko</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>652 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" player team\n",
|
||
"0 James Abankwah Udinese\n",
|
||
"1 Oliver Abildgaard Hellas Verona\n",
|
||
"2 Tammy Abraham Roma\n",
|
||
"3 Christian Acella Cremonese\n",
|
||
"4 Francesco Acerbi Inter\n",
|
||
".. ... ...\n",
|
||
"647 Martin Turk Sampdoria\n",
|
||
"648 Samir Ujkani Empoli\n",
|
||
"649 Guglielmo Vicario Empoli\n",
|
||
"650 Jeroen Zoet Spezia\n",
|
||
"651 Petar Zovko Spezia\n",
|
||
"\n",
|
||
"[652 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"players = pd.concat( [ outfield_players[['player', 'team']], keeper_players[['player', 'team']] ], axis = 0, ignore_index = True)\n",
|
||
"\n",
|
||
"players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "e1e64596",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import unicodedata\n",
|
||
"\n",
|
||
"def normalize_name(input_str):\n",
|
||
" nfkd_form = unicodedata.normalize('NFKD', input_str)\n",
|
||
" only_ascii = nfkd_form.encode('ASCII', 'ignore')\n",
|
||
" return only_ascii.decode('utf-8')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "3078d6f3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"players['surname'] = players['player']\n",
|
||
"players['initial'] = players['player']\n",
|
||
"\n",
|
||
"for i in range(players.shape[0]):\n",
|
||
" players['surname'][i] = players['surname'][i].split(' ')[-1]\n",
|
||
" players['surname'][i] = normalize_name(players['surname'][i]).replace('\\'', '')\n",
|
||
" \n",
|
||
" \n",
|
||
" players['initial'][i] = players['player'][i][0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "ffd6091c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" player surname\n",
|
||
"0 James Abankwah Abankwah\n",
|
||
"1 Oliver Abildgaard Abildgaard\n",
|
||
"2 Tammy Abraham Abraham\n",
|
||
"3 Christian Acella Acella\n",
|
||
"4 Francesco Acerbi Acerbi\n",
|
||
"5 Yacine Adli Adli\n",
|
||
"6 Michel Aebischer Aebischer\n",
|
||
"7 Felix Afena-Gyan Afena-Gyan\n",
|
||
"8 Kevin Agudelo Agudelo\n",
|
||
"9 Ola Aina Aina\n",
|
||
"10 Emanuel Aiwum Aiwum\n",
|
||
"11 Jean-Daniel Akpa-Akpro Akpa-Akpro\n",
|
||
"12 Luis Alberto Alberto\n",
|
||
"13 Agustín Álvarez Martínez Martinez\n",
|
||
"14 Kelvin Amian Amian\n",
|
||
"15 Bruno Amione Amione\n",
|
||
"16 Bruno Amione Amione\n",
|
||
"17 Ethan Ampadu Ampadu\n",
|
||
"18 Sofyan Amrabat Amrabat\n",
|
||
"19 Felipe Anderson Anderson\n",
|
||
"20 Janis Antiste Antiste\n",
|
||
"21 Marcos Antônio Antonio\n",
|
||
"22 Valentin Antov Antov\n",
|
||
"23 Marko Arnautović Arnautovic\n",
|
||
"24 Tolgay Arslan Arslan\n",
|
||
"25 Arthur Arthur\n",
|
||
"26 Santiago Ascacíbar Ascacibar\n",
|
||
"27 Kristoffer Askildsen Askildsen\n",
|
||
"28 Kristjan Asllani Asllani\n",
|
||
"29 Emil Audero Audero\n",
|
||
"30 Tommaso Augello Augello\n",
|
||
"31 Kaan Ayhan Ayhan\n",
|
||
"32 Jaime Báez Baez\n",
|
||
"33 Nedim Bajrami Bajrami\n",
|
||
"34 Nedim Bajrami Bajrami\n",
|
||
"35 Tiemoué Bakayoko Bakayoko\n",
|
||
"36 Tommaso Baldanzi Baldanzi\n",
|
||
"37 Fodé Ballo-Touré Ballo-Toure\n",
|
||
"38 Lameck Banda Banda\n",
|
||
"39 Filippo Bandinelli Bandinelli\n",
|
||
"40 Antonín Barák Barak\n",
|
||
"41 Antonín Barák Barak\n",
|
||
"42 Andrea Barberis Barberis\n",
|
||
"43 Tommaso Barbieri Barbieri\n",
|
||
"44 Francesco Bardi Bardi\n",
|
||
"45 Nicolò Barella Barella\n",
|
||
"46 Enzo Barrenechea Barrenechea\n",
|
||
"47 Musa Barrow Barrow\n",
|
||
"48 Federico Baschirotto Baschirotto\n",
|
||
"49 Toma Bašić Basic\n",
|
||
"50 Alberto Basso Basso\n",
|
||
"51 Alessandro Bastoni Bastoni\n",
|
||
"52 Simone Bastoni Bastoni\n",
|
||
"53 Brian Bayeye Bayeye\n",
|
||
"54 Rodrigo Becão Becao\n",
|
||
"55 Julius Beck Beck\n",
|
||
"56 Raoul Bellanova Bellanova\n",
|
||
"57 Andrea Belotti Belotti\n",
|
||
"58 Marco Benassi Benassi\n",
|
||
"59 Marco Benassi Benassi\n",
|
||
"60 Ismaël Bennacer Bennacer\n",
|
||
"61 Domenico Berardi Berardi\n",
|
||
"62 Bartosz Bereszyński Bereszynski\n",
|
||
"63 Bartosz Bereszyński Bereszynski\n",
|
||
"64 Marco Bertini Bertini\n",
|
||
"65 Beto Beto\n",
|
||
"66 Matteo Bianchetti Bianchetti\n",
|
||
"67 Alessandro Bianco Bianco\n",
|
||
"68 Jaka Bijol Bijol\n",
|
||
"69 Cristiano Biraghi Biraghi\n",
|
||
"70 Samuele Birindelli Birindelli\n",
|
||
"71 Kristijan Bistrović Bistrovic\n",
|
||
"72 Alexis Blin Blin\n",
|
||
"73 Jeremie Boga Boga\n",
|
||
"74 Emil Bohinen Bohinen\n",
|
||
"75 Giacomo Bonaventura Bonaventura\n",
|
||
"76 Federico Bonazzoli Bonazzoli\n",
|
||
"77 Warren Bondo Bondo\n",
|
||
"78 Kevin Bonifazi Bonifazi\n",
|
||
"79 Leonardo Bonucci Bonucci\n",
|
||
"80 Erik Botheim Botheim\n",
|
||
"81 Mehdi Bourabia Bourabia\n",
|
||
"82 Edoardo Bove Bove\n",
|
||
"83 Jayden Braaf Braaf\n",
|
||
"84 Domagoj Bradarić Bradaric\n",
|
||
"85 Josip Brekalo Brekalo\n",
|
||
"86 Gleison Bremer Bremer\n",
|
||
"87 Dylan Bronn Bronn\n",
|
||
"88 Marcelo Brozović Brozovic\n",
|
||
"89 Cristian Buonaiuto Buonaiuto\n",
|
||
"90 Alessandro Buongiorno Buongiorno\n",
|
||
"91 Leonardo Buta Buta\n",
|
||
"92 Juan Cabal Cabal\n",
|
||
"93 Liberato Cacace Cacace\n",
|
||
"94 Davide Calabria Calabria\n",
|
||
"95 Mattia Caldara Caldara\n",
|
||
"96 Luca Caldirola Caldirola\n",
|
||
"97 Hakan Çalhanoğlu Calhanoglu\n",
|
||
"98 Mohamed Camara Camara\n",
|
||
"99 Nicolò Cambiaghi Cambiaghi\n",
|
||
"100 Andrea Cambiaso Cambiaso\n",
|
||
"101 Matteo Cancellieri Cancellieri\n",
|
||
"102 Antonio Candreva Candreva\n",
|
||
"103 Gianluca Caprari Caprari\n",
|
||
"104 Francesco Caputo Caputo\n",
|
||
"105 Francesco Caputo Caputo\n",
|
||
"106 Andrea Carboni Carboni\n",
|
||
"107 Franco Carboni Carboni\n",
|
||
"108 Valentin Carboni Carboni\n",
|
||
"109 Carlos Carlos\n",
|
||
"110 Marco Carnesecchi Carnesecchi\n",
|
||
"111 Nicolò Casale Casale\n",
|
||
"112 Tommaso Cassandro Cassandro\n",
|
||
"113 Michele Castagnetti Castagnetti\n",
|
||
"114 Gaetano Castrovilli Castrovilli\n",
|
||
"115 Danilo Cataldi Cataldi\n",
|
||
"116 Pietro Ceccaroni Ceccaroni\n",
|
||
"117 Federico Ceccherini Ceccherini\n",
|
||
"118 Assan Ceesay Ceesay\n",
|
||
"119 Emil Ceide Ceide\n",
|
||
"120 Zeki Çelik Celik\n",
|
||
"121 Michele Cerofolini Cerofolini\n",
|
||
"122 Federico Chiesa Chiesa\n",
|
||
"123 Vlad Chiricheș Chiriches\n",
|
||
"124 Daniel Ciofani Ciofani\n",
|
||
"125 Tio Cipot Cipot\n",
|
||
"126 Patrick Ciurria Ciurria\n",
|
||
"127 Nicolò Cocetta Cocetta\n",
|
||
"128 Omar Colley Colley\n",
|
||
"129 Lorenzo Colombo Colombo\n",
|
||
"130 Andrea Colpani Colpani\n",
|
||
"131 Andrea Consigli Consigli\n",
|
||
"132 Andrea Conti Conti\n",
|
||
"133 Diego Coppola Coppola\n",
|
||
"134 Alex Cordaz Cordaz\n",
|
||
"135 Joaquín Correa Correa\n",
|
||
"136 Alessandro Cortinovis Cortinovis\n",
|
||
"137 Lassana Coulibaly Coulibaly\n",
|
||
"138 Alessio Cragno Cragno\n",
|
||
"139 Bryan Cristante Cristante\n",
|
||
"140 Domen Črnigoj Crnigoj\n",
|
||
"141 Juan Cuadrado Cuadrado\n",
|
||
"142 Mickaël Cuisance Cuisance\n",
|
||
"143 Marco D'Alessandro DAlessandro\n",
|
||
"144 Danilo D'Ambrosio DAmbrosio\n",
|
||
"145 Luca D'Andrea DAndrea\n",
|
||
"146 Flavius Daniliuc Daniliuc\n",
|
||
"147 Danilo Danilo\n",
|
||
"148 Matteo Darmian Darmian\n",
|
||
"149 Paweł Dawidowicz Dawidowicz\n",
|
||
"150 Charles De Ketelaere Ketelaere\n",
|
||
"151 Manuel De Luca Luca\n",
|
||
"152 Tommaso De Nipoti Nipoti\n",
|
||
"153 Mattia De Sciglio Sciglio\n",
|
||
"154 Lorenzo De Silvestri Silvestri\n",
|
||
"155 Koni De Winter Winter\n",
|
||
"156 Grégoire Defrel Defrel\n",
|
||
"157 Duccio Degl'Innocenti DeglInnocenti\n",
|
||
"158 Merih Demiral Demiral\n",
|
||
"159 Diego Demme Demme\n",
|
||
"160 Fabio Depaoli Depaoli\n",
|
||
"161 Fabio Depaoli Depaoli\n",
|
||
"162 Kastriot Dermaku Dermaku\n",
|
||
"163 Cyriel Dessers Dessers\n",
|
||
"164 Sergiño Dest Dest\n",
|
||
"165 Mattia Destro Destro\n",
|
||
"166 Gerard Deulofeu Deulofeu\n",
|
||
"167 Samuel Di Carmine Carmine\n",
|
||
"168 Federico Di Francesco Francesco\n",
|
||
"169 Michele Di Gregorio Gregorio\n",
|
||
"170 Giovanni Di Lorenzo Lorenzo\n",
|
||
"171 Ángel Di María Maria\n",
|
||
"172 Boulaye Dia Dia\n",
|
||
"173 Brahim Díaz Diaz\n",
|
||
"174 Federico Dimarco Dimarco\n",
|
||
"175 Koffi Djidji Djidji\n",
|
||
"176 Berat Djimsiti Djimsiti\n",
|
||
"177 Dodô Dodo\n",
|
||
"178 Josh Doig Doig\n",
|
||
"179 Nicolás Domínguez Dominguez\n",
|
||
"180 Giulio Donati Donati\n",
|
||
"181 Bartłomiej Drągowski Dragowski\n",
|
||
"182 Ondrej Duda Duda\n",
|
||
"183 Denzel Dumfries Dumfries\n",
|
||
"184 Alfred Duncan Duncan\n",
|
||
"185 Paulo Dybala Dybala\n",
|
||
"186 Edin Džeko Dzeko\n",
|
||
"187 Festy Ebosele Ebosele\n",
|
||
"188 Enzo Ebosse Ebosse\n",
|
||
"189 Tyronne Ebuehi Ebuehi\n",
|
||
"190 Éderson Ederson\n",
|
||
"191 Kingsley Ehizibue Ehizibue\n",
|
||
"192 Albin Ekdal Ekdal\n",
|
||
"193 Emmanuel Ekong Ekong\n",
|
||
"194 Mikael Ellertsson Ellertsson\n",
|
||
"195 Elif Elmas Elmas\n",
|
||
"196 Martin Erlic Erlic\n",
|
||
"197 Gonzalo Escalante Escalante\n",
|
||
"198 Salvatore Esposito Esposito\n",
|
||
"199 Nicolò Fagioli Fagioli\n",
|
||
"200 Wladimiro Falcone Falcone\n",
|
||
"201 Davide Faraoni Faraoni\n",
|
||
"202 Federico Fazio Fazio\n",
|
||
"203 Jacopo Fazzini Fazzini\n",
|
||
"204 Lewis Ferguson Ferguson\n",
|
||
"205 Alex Ferrari Ferrari\n",
|
||
"206 Alex Ferrari Ferrari\n",
|
||
"207 Salvador Ferrer Ferrer\n",
|
||
"208 Vincenzo Fiorillo Fiorillo\n",
|
||
"209 Alessandro Florenzi Florenzi\n",
|
||
"210 Davide Frattesi Frattesi\n",
|
||
"211 Matteo Gabbia Gabbia\n",
|
||
"212 Manolo Gabbiadini Gabbiadini\n",
|
||
"213 Gianluca Gaetano Gaetano\n",
|
||
"214 Roberto Gagliardini Gagliardini\n",
|
||
"215 Adolfo Gaich Gaich\n",
|
||
"216 Pablo Galdames Millán Millan\n",
|
||
"217 Antonino Gallo Gallo\n",
|
||
"218 Federico Gatti Gatti\n",
|
||
"219 Valentin Gendrey Gendrey\n",
|
||
"220 Paolo Ghiglione Ghiglione\n",
|
||
"221 Mario Gila Gila\n",
|
||
"222 Gvidas Gineitis Gineitis\n",
|
||
"223 Olivier Giroud Giroud\n",
|
||
"224 Pierluigi Gollini Gollini\n",
|
||
"225 Pierluigi Gollini Gollini\n",
|
||
"226 Joan Gonzàlez Gonzalez\n",
|
||
"227 Nicolás González Gonzalez\n",
|
||
"228 Robin Gosens Gosens\n",
|
||
"229 Alberto Grassi Grassi\n",
|
||
"230 Andrew Gravillon Gravillon\n",
|
||
"231 Axel Guessand Guessand\n",
|
||
"232 Koray Günter Gunter\n",
|
||
"233 Koray Günter Gunter\n",
|
||
"234 Emmanuel Gyasi Gyasi\n",
|
||
"235 Norbert Gyömbér Gyomber\n",
|
||
"236 Christian Gytkjær Gytkjr\n",
|
||
"237 Nicolas Haas Haas\n",
|
||
"238 Samir Handanović Handanovic\n",
|
||
"239 Abdou Harroui Harroui\n",
|
||
"240 Hans Hateboer Hateboer\n",
|
||
"241 Liam Henderson Henderson\n",
|
||
"242 Jack Hendry Hendry\n",
|
||
"243 Matheus Henrique Henrique\n",
|
||
"244 Thomas Henry Henry\n",
|
||
"245 Theo Hernández Hernandez\n",
|
||
"246 Isak Hien Hien\n",
|
||
"247 Morten Hjulmand Hjulmand\n",
|
||
"248 Emil Holm Holm\n",
|
||
"249 Martin Hongla Hongla\n",
|
||
"250 Petko Hristov Hristov\n",
|
||
"251 Ajdin Hrustic Hrustic\n",
|
||
"252 Elseid Hysaj Hysaj\n",
|
||
"253 Rasmus Højlund Hjlund\n",
|
||
"254 Roger Ibanez Ibanez\n",
|
||
"255 Zlatan Ibrahimović Ibrahimovic\n",
|
||
"256 Antonio Iervolino Iervolino\n",
|
||
"257 Igor Igor\n",
|
||
"258 Jonathan Ikone Ikone\n",
|
||
"259 Ivan Ilić Ilic\n",
|
||
"260 Ivan Ilić Ilic\n",
|
||
"261 Samuel Iling-Junior Iling-Junior\n",
|
||
"262 Emirhan İlkhan Ilkhan\n",
|
||
"263 Emirhan İlkhan Ilkhan\n",
|
||
"264 Ciro Immobile Immobile\n",
|
||
"265 Ardian Ismajli Ismajli\n",
|
||
"266 Mihailo Ivanović Ivanovic\n",
|
||
"267 Armando Izzo Izzo\n",
|
||
"268 Mato Jajalo Jajalo\n",
|
||
"269 Jesé Jese\n",
|
||
"270 Juan Jesus Jesus\n",
|
||
"271 Þórir Jóhann Helgason Helgason\n",
|
||
"272 Luka Jović Jovic\n",
|
||
"273 Hamed Junior Traorè Traore\n",
|
||
"274 Yayah Kallon Kallon\n",
|
||
"275 Pierre Kalulu Kalulu\n",
|
||
"276 Yann Karamoh Karamoh\n",
|
||
"277 Rick Karsdorp Karsdorp\n",
|
||
"278 Denso Kasius Kasius\n",
|
||
"279 Grigoris Kastanos Kastanos\n",
|
||
"280 Moise Kean Kean\n",
|
||
"281 Jakub Kiwior Kiwior\n",
|
||
"282 Simon Kjær Kjr\n",
|
||
"283 Teun Koopmeiners Koopmeiners\n",
|
||
"284 Filip Kostić Kostic\n",
|
||
"285 Christian Kouamé Kouame\n",
|
||
"286 Viktor Kovalenko Kovalenko\n",
|
||
"287 Julian Kristoffersen Kristoffersen\n",
|
||
"288 Raimonds Krollis Krollis\n",
|
||
"289 Rade Krunić Krunic\n",
|
||
"290 Marash Kumbulla Kumbulla\n",
|
||
"291 Khvicha Kvaratskhelia Kvaratskhelia\n",
|
||
"292 Giorgos Kyriakopoulos Kyriakopoulos\n",
|
||
"293 Giorgos Kyriakopoulos Kyriakopoulos\n",
|
||
"294 Sam Lammers Lammers\n",
|
||
"295 Sam Lammers Lammers\n",
|
||
"296 Kevin Lasagna Lasagna\n",
|
||
"297 Armand Lauriente Lauriente\n",
|
||
"298 Valentino Lazaro Lazaro\n",
|
||
"299 Marko Lazetić Lazetic\n",
|
||
"300 Darko Lazović Lazovic\n",
|
||
"301 Manuel Lazzari Lazzari\n",
|
||
"302 Rafael Leão Leao\n",
|
||
"303 Mehdi Léris Leris\n",
|
||
"304 Karol Linetty Linetty\n",
|
||
"305 Marcin Listkowski Listkowski\n",
|
||
"306 Diego Llorente Llorente\n",
|
||
"307 Stanislav Lobotka Lobotka\n",
|
||
"308 Manuel Locatelli Locatelli\n",
|
||
"309 Luka Lochoshvili Lochoshvili\n",
|
||
"310 Ademola Lookman Lookman\n",
|
||
"311 Maxime Lopez Lopez\n",
|
||
"312 Matteo Lovato Lovato\n",
|
||
"313 Sandi Lovrić Lovric\n",
|
||
"314 Hirving Lozano Lozano\n",
|
||
"315 Jhon Lucumí Lucumi\n",
|
||
"316 José Luis Palomino Palomino\n",
|
||
"317 Romelu Lukaku Lukaku\n",
|
||
"318 Saša Lukić Lukic\n",
|
||
"319 Sebastiano Luperto Luperto\n",
|
||
"320 Charalambos Lykogiannis Lykogiannis\n",
|
||
"321 Giulio Maggiore Maggiore\n",
|
||
"322 Giangiacomo Magnani Magnani\n",
|
||
"323 Mike Maignan Maignan\n",
|
||
"324 Jordan Majchrzak Majchrzak\n",
|
||
"325 Jean-Victor Makengo Makengo\n",
|
||
"326 Lorenzo Malagrida Malagrida\n",
|
||
"327 Daniel Maldini Maldini\n",
|
||
"328 Youssef Maleh Maleh\n",
|
||
"329 Youssef Maleh Maleh\n",
|
||
"330 Ruslan Malinovskyi Malinovskyi\n",
|
||
"331 Gianluca Mancini Mancini\n",
|
||
"332 Rolando Mandragora Mandragora\n",
|
||
"333 Federico Marchetti Marchetti\n",
|
||
"334 Riccardo Marchizza Marchizza\n",
|
||
"335 Gian Marco Ferrari Ferrari\n",
|
||
"336 Pablo Marí Mari\n",
|
||
"337 Răzvan Marin Marin\n",
|
||
"338 Marlon Marlon\n",
|
||
"339 Luca Marrone Marrone\n",
|
||
"340 Lautaro Martínez Martinez\n",
|
||
"341 Lucas Martínez Quarta Quarta\n",
|
||
"342 Adam Marušić Marusic\n",
|
||
"343 Adam Masina Masina\n",
|
||
"344 Nemanja Matić Matic\n",
|
||
"345 Luís Maximiano Maximiano\n",
|
||
"346 Pasquale Mazzocchi Mazzocchi\n",
|
||
"347 Weston McKennie McKennie\n",
|
||
"348 Gary Medel Medel\n",
|
||
"349 Soualiho Meïté Meite\n",
|
||
"350 Alex Meret Meret\n",
|
||
"351 Yıldırım Mert Çetin Cetin\n",
|
||
"352 Junior Messias Messias\n",
|
||
"353 Tommaso Milanese Milanese\n",
|
||
"354 Nikola Milenković Milenkovic\n",
|
||
"355 Arkadiusz Milik Milik\n",
|
||
"356 Sergej Milinković-Savić Milinkovic-Savic\n",
|
||
"357 Vanja Milinković-Savić Milinkovic-Savic\n",
|
||
"358 Kim Min-jae Min-jae\n",
|
||
"359 Aleksei Miranchuk Miranchuk\n",
|
||
"360 Antonio Mirante Mirante\n",
|
||
"361 Fabio Miretti Miretti\n",
|
||
"362 Filippo Missori Missori\n",
|
||
"363 Henrikh Mkhitaryan Mkhitaryan\n",
|
||
"364 Salvatore Molina Molina\n",
|
||
"365 Daniele Montevago Montevago\n",
|
||
"366 Lorenzo Montipò Montipo\n",
|
||
"367 Nikola Moro Moro\n",
|
||
"368 Dany Mota Mota\n",
|
||
"369 João Moutinho Moutinho\n",
|
||
"370 Mert Müldür Muldur\n",
|
||
"371 Luis Muriel Muriel\n",
|
||
"372 Jeison Murillo Murillo\n",
|
||
"373 Nicola Murru Murru\n",
|
||
"374 Juan Musso Musso\n",
|
||
"375 Joakim Mæhle Mhle\n",
|
||
"376 Herculano Nabian Nabian\n",
|
||
"377 Michel Ndary Adopo Adopo\n",
|
||
"378 Tanguy Ndombele Ndombele\n",
|
||
"379 Ilija Nestorovski Nestorovski\n",
|
||
"380 Cyril Ngonge Ngonge\n",
|
||
"381 Hans Nicolussi Caviglia Caviglia\n",
|
||
"382 Dimitris Nikolaou Nikolaou\n",
|
||
"383 Samuel Ntanda Ntanda\n",
|
||
"384 Bram Nuytinck Nuytinck\n",
|
||
"385 Bram Nuytinck Nuytinck\n",
|
||
"386 M'Bala Nzola Nzola\n",
|
||
"387 Pedro Obiang Obiang\n",
|
||
"388 Guillermo Ochoa Ochoa\n",
|
||
"389 Marios Oikonomou Oikonomou\n",
|
||
"390 David Okereke Okereke\n",
|
||
"391 Caleb Okoli Okoli\n",
|
||
"392 Mathías Olivera Olivera\n",
|
||
"393 André Onana Onana\n",
|
||
"394 Divock Origi Origi\n",
|
||
"395 Riccardo Orsolini Orsolini\n",
|
||
"396 Victor Osimhen Osimhen\n",
|
||
"397 Remi Oudin Oudin\n",
|
||
"398 Adam Ounas Ounas\n",
|
||
"399 Simone Pafundi Pafundi\n",
|
||
"400 Flavio Paoletti Paoletti\n",
|
||
"401 Leandro Paredes Paredes\n",
|
||
"402 Fabiano Parisi Parisi\n",
|
||
"403 Mario Pašalić Pasalic\n",
|
||
"404 Patric Patric\n",
|
||
"405 Rui Patrício Patricio\n",
|
||
"406 Pedro Pedro\n",
|
||
"407 Gianluca Pegolo Pegolo\n",
|
||
"408 Pietro Pellegri Pellegri\n",
|
||
"409 Lorenzo Pellegrini Pellegrini\n",
|
||
"410 Luca Pellegrini Pellegrini\n",
|
||
"411 Pepín Pepin\n",
|
||
"412 Roberto Pereyra Pereyra\n",
|
||
"413 Nehuén Pérez Perez\n",
|
||
"414 Simone Perilli Perilli\n",
|
||
"415 Mattia Perin Perin\n",
|
||
"416 Samuele Perisan Perisan\n",
|
||
"417 Matteo Pessina Pessina\n",
|
||
"418 Andrea Petagna Petagna\n",
|
||
"419 Giuseppe Pezzella Pezzella\n",
|
||
"420 Krzysztof Piątek Piatek\n",
|
||
"421 Roberto Piccoli Piccoli\n",
|
||
"422 Roberto Piccoli Piccoli\n",
|
||
"423 Charles Pickel Pickel\n",
|
||
"424 Andrea Pinamonti Pinamonti\n",
|
||
"425 Lorenzo Pirola Pirola\n",
|
||
"426 Niccolò Pisilli Pisilli\n",
|
||
"427 Marko Pjaca Pjaca\n",
|
||
"428 Tommaso Pobega Pobega\n",
|
||
"429 Paul Pogba Pogba\n",
|
||
"430 Matteo Politano Politano\n",
|
||
"431 Marin Pongračić Pongracic\n",
|
||
"432 Stefan Posch Posch\n",
|
||
"433 Ivan Provedel Provedel\n",
|
||
"434 Ignacio Pussetto Pussetto\n",
|
||
"435 Niklas Pyyhtiä Pyyhtia\n",
|
||
"436 Fabio Quagliarella Quagliarella\n",
|
||
"437 Giacomo Quagliata Quagliata\n",
|
||
"438 Adrien Rabiot Rabiot\n",
|
||
"439 Nemanja Radonjić Radonjic\n",
|
||
"440 Ivan Radovanović Radovanovic\n",
|
||
"441 Ionuț Radu Radu\n",
|
||
"442 Ștefan Radu Radu\n",
|
||
"443 Antonio Raimondo Raimondo\n",
|
||
"444 Luca Ranieri Ranieri\n",
|
||
"445 Andrea Ranocchia Ranocchia\n",
|
||
"446 Filippo Ranocchia Ranocchia\n",
|
||
"447 Giacomo Raspadori Raspadori\n",
|
||
"448 Giacomo Raspadori Raspadori\n",
|
||
"449 Nicola Ravaglia Ravaglia\n",
|
||
"450 Ante Rebić Rebic\n",
|
||
"451 Arkadiusz Reca Reca\n",
|
||
"452 Panagiotis Retsos Retsos\n",
|
||
"453 Franck Ribéry Ribery\n",
|
||
"454 Samuele Ricci Ricci\n",
|
||
"455 Tomás Rincón Rincon\n",
|
||
"456 Pablo Rodríguez Rodriguez\n",
|
||
"457 Ricardo Rodríguez Rodriguez\n",
|
||
"458 Rogério Rogerio\n",
|
||
"459 Filippo Romagna Romagna\n",
|
||
"460 Alessio Romagnoli Romagnoli\n",
|
||
"461 Simone Romagnoli Romagnoli\n",
|
||
"462 Luka Romero Romero\n",
|
||
"463 Marten de Roon Roon\n",
|
||
"464 Francesco Rossi Rossi\n",
|
||
"465 Nicolò Rovella Rovella\n",
|
||
"466 Nicolò Rovella Rovella\n",
|
||
"467 Amir Rrahmani Rrahmani\n",
|
||
"468 Ruan Ruan\n",
|
||
"469 Daniele Rugani Rugani\n",
|
||
"470 Matteo Ruggeri Ruggeri\n",
|
||
"471 Mário Rui Rui\n",
|
||
"472 Alessandro Russo Russo\n",
|
||
"473 Abdelhamid Sabiri Sabiri\n",
|
||
"474 Alexis Saelemaekers Saelemaekers\n",
|
||
"475 Jacopo Sala Sala\n",
|
||
"476 Lazar Samardzic Samardzic\n",
|
||
"477 Junior Sambia Sambia\n",
|
||
"478 Antonio Sanabria Sanabria\n",
|
||
"479 Leandro Sanca Sanca\n",
|
||
"480 Alex Sandro Sandro\n",
|
||
"481 Nicola Sansone Sansone\n",
|
||
"482 Riccardo Saponara Saponara\n",
|
||
"483 Mouhamadou Sarr Sarr\n",
|
||
"484 Martin Satriano Satriano\n",
|
||
"485 Giorgio Scalvini Scalvini\n",
|
||
"486 Jerdy Schouten Schouten\n",
|
||
"487 Perr Schuurs Schuurs\n",
|
||
"488 Demba Seck Seck\n",
|
||
"489 Telasco Segovia Segovia\n",
|
||
"490 Jacopo Segre Segre\n",
|
||
"491 Vivaldo Semedo Semedo\n",
|
||
"492 Stefano Sensi Sensi\n",
|
||
"493 Luigi Sepe Sepe\n",
|
||
"494 Leonardo Sernicola Sernicola\n",
|
||
"495 Stephan El Shaarawy Shaarawy\n",
|
||
"496 Eldor Shomurodov Shomurodov\n",
|
||
"497 Eldor Shomurodov Shomurodov\n",
|
||
"498 Marco Silvestri Silvestri\n",
|
||
"499 Giovanni Simeone Simeone\n",
|
||
"500 Wilfried Singo Singo\n",
|
||
"501 Salvatore Sirigu Sirigu\n",
|
||
"502 Leo Skiri Østigård stigard\n",
|
||
"503 Łukasz Skorupski Skorupski\n",
|
||
"504 Milan Škriniar Skriniar\n",
|
||
"505 Chris Smalling Smalling\n",
|
||
"506 Ola Solbakken Solbakken\n",
|
||
"507 Brandon Soppy Soppy\n",
|
||
"508 Brandon Soppy Soppy\n",
|
||
"509 Roberto Soriano Soriano\n",
|
||
"510 Joaquin Sosa Sosa\n",
|
||
"511 Riccardo Sottil Sottil\n",
|
||
"512 Matìas Soulé Soule\n",
|
||
"513 Adama Soumaoro Soumaoro\n",
|
||
"514 Leonardo Spinazzola Spinazzola\n",
|
||
"515 Marco Sportiello Sportiello\n",
|
||
"516 Petar Stojanović Stojanovic\n",
|
||
"517 Gabriel Strefezza Strefezza\n",
|
||
"518 Dávid Strelec Strelec\n",
|
||
"519 Isaac Success Success\n",
|
||
"520 Ibrahim Sulemana Sulemana\n",
|
||
"521 Mile Svilar Svilar\n",
|
||
"522 Wojciech Szczęsny Szczesny\n",
|
||
"523 Benjamin Tahirovic Tahirovic\n",
|
||
"524 Adrien Tameze Tameze\n",
|
||
"525 Ciprian Tătărușanu Tatarusanu\n",
|
||
"526 Filippo Terracciano Terracciano\n",
|
||
"527 Pietro Terracciano Terracciano\n",
|
||
"528 Aleksa Terzić Terzic\n",
|
||
"529 Florian Thauvin Thauvin\n",
|
||
"530 Malick Thiaw Thiaw\n",
|
||
"531 Kristian Thorstvedt Thorstvedt\n",
|
||
"532 Jeremy Toljan Toljan\n",
|
||
"533 Rafael Tolói Toloi\n",
|
||
"534 Fikayo Tomori Tomori\n",
|
||
"535 Sandro Tonali Tonali\n",
|
||
"536 Lorenzo Tonelli Tonelli\n",
|
||
"537 William Troost-Ekong Troost-Ekong\n",
|
||
"538 Frank Tsadjout Tsadjout\n",
|
||
"539 Alessandro Tuia Tuia\n",
|
||
"540 Martin Turk Turk\n",
|
||
"541 Destiny Udogie Udogie\n",
|
||
"542 Samir Ujkani Ujkani\n",
|
||
"543 Samuel Umtiti Umtiti\n",
|
||
"544 Diego Valencia Valencia\n",
|
||
"545 Emanuele Valeri Valeri\n",
|
||
"546 Mattia Valoti Valoti\n",
|
||
"547 Johan Vásquez Vasquez\n",
|
||
"548 Matías Vecino Vecino\n",
|
||
"549 Miguel Veloso Veloso\n",
|
||
"550 Lorenzo Venuti Venuti\n",
|
||
"551 Daniele Verde Verde\n",
|
||
"552 Simone Verdi Verdi\n",
|
||
"553 Valerio Verre Verre\n",
|
||
"554 Guglielmo Vicario Vicario\n",
|
||
"555 Ronaldo Vieira Vieira\n",
|
||
"556 Ronaldo Vieira Vieira\n",
|
||
"557 Emanuel Vignato Vignato\n",
|
||
"558 Emanuel Vignato Vignato\n",
|
||
"559 Samuele Vignato Vignato\n",
|
||
"560 Tonny Vilhena Vilhena\n",
|
||
"561 Gonzalo Villar Villar\n",
|
||
"562 Matías Viña Vina\n",
|
||
"563 Dušan Vlahović Vlahovic\n",
|
||
"564 Nikola Vlašić Vlasic\n",
|
||
"565 Joel Voelkerling Persson Persson\n",
|
||
"566 Mërgim Vojvoda Vojvoda\n",
|
||
"567 Cristian Volpato Volpato\n",
|
||
"568 Lukáš Vorlický Vorlicky\n",
|
||
"569 Aster Vranckx Vranckx\n",
|
||
"570 Stefan de Vrij Vrij\n",
|
||
"571 Walace Walace\n",
|
||
"572 Sebastian Walukiewicz Walukiewicz\n",
|
||
"573 Georginio Wijnaldum Wijnaldum\n",
|
||
"574 Harry Winks Winks\n",
|
||
"575 Przemysław Wiśniewski Wisniewski\n",
|
||
"576 Gerard Yepes Yepes\n",
|
||
"577 Mattia Zaccagni Zaccagni\n",
|
||
"578 Denis Zakaria Zakaria\n",
|
||
"579 Nicola Zalewski Zalewski\n",
|
||
"580 Andre-Frank Zambo Anguissa Anguissa\n",
|
||
"581 Luca Zanimacchia Zanimacchia\n",
|
||
"582 Nicolò Zaniolo Zaniolo\n",
|
||
"583 Alessandro Zanoli Zanoli\n",
|
||
"584 Alessandro Zanoli Zanoli\n",
|
||
"585 Mattia Zanotti Zanotti\n",
|
||
"586 Duván Zapata Zapata\n",
|
||
"587 Davide Zappacosta Zappacosta\n",
|
||
"588 Karim Zedadka Zedadka\n",
|
||
"589 Deyovaisio Zeefuik Zeefuik\n",
|
||
"590 Marvin Zeegelaar Zeegelaar\n",
|
||
"591 Alessio Zerbin Zerbin\n",
|
||
"592 Piotr Zieliński Zielinski\n",
|
||
"593 David Zima Zima\n",
|
||
"594 Joshua Zirkzee Zirkzee\n",
|
||
"595 Jeroen Zoet Zoet\n",
|
||
"596 Nadir Zortea Zortea\n",
|
||
"597 Nadir Zortea Zortea\n",
|
||
"598 Petar Zovko Zovko\n",
|
||
"599 Szymon Żurkowski Zurkowski\n",
|
||
"600 Szymon Żurkowski Zurkowski\n",
|
||
"601 Milan Đurić uric\n",
|
||
"602 Filip Đuričić uricic\n",
|
||
"603 Emil Audero Audero\n",
|
||
"604 Francesco Bardi Bardi\n",
|
||
"605 Marco Carnesecchi Carnesecchi\n",
|
||
"606 Michele Cerofolini Cerofolini\n",
|
||
"607 Andrea Consigli Consigli\n",
|
||
"608 Alex Cordaz Cordaz\n",
|
||
"609 Alessio Cragno Cragno\n",
|
||
"610 Michele Di Gregorio Gregorio\n",
|
||
"611 Bartłomiej Drągowski Dragowski\n",
|
||
"612 Wladimiro Falcone Falcone\n",
|
||
"613 Vincenzo Fiorillo Fiorillo\n",
|
||
"614 Pierluigi Gollini Gollini\n",
|
||
"615 Pierluigi Gollini Gollini\n",
|
||
"616 Samir Handanović Handanovic\n",
|
||
"617 Mike Maignan Maignan\n",
|
||
"618 Federico Marchetti Marchetti\n",
|
||
"619 Luís Maximiano Maximiano\n",
|
||
"620 Alex Meret Meret\n",
|
||
"621 Vanja Milinković-Savić Milinkovic-Savic\n",
|
||
"622 Antonio Mirante Mirante\n",
|
||
"623 Lorenzo Montipò Montipo\n",
|
||
"624 Juan Musso Musso\n",
|
||
"625 Guillermo Ochoa Ochoa\n",
|
||
"626 André Onana Onana\n",
|
||
"627 Rui Patrício Patricio\n",
|
||
"628 Gianluca Pegolo Pegolo\n",
|
||
"629 Simone Perilli Perilli\n",
|
||
"630 Mattia Perin Perin\n",
|
||
"631 Samuele Perisan Perisan\n",
|
||
"632 Ivan Provedel Provedel\n",
|
||
"633 Ionuț Radu Radu\n",
|
||
"634 Nicola Ravaglia Ravaglia\n",
|
||
"635 Francesco Rossi Rossi\n",
|
||
"636 Alessandro Russo Russo\n",
|
||
"637 Mouhamadou Sarr Sarr\n",
|
||
"638 Luigi Sepe Sepe\n",
|
||
"639 Marco Silvestri Silvestri\n",
|
||
"640 Salvatore Sirigu Sirigu\n",
|
||
"641 Łukasz Skorupski Skorupski\n",
|
||
"642 Marco Sportiello Sportiello\n",
|
||
"643 Mile Svilar Svilar\n",
|
||
"644 Wojciech Szczęsny Szczesny\n",
|
||
"645 Ciprian Tătărușanu Tatarusanu\n",
|
||
"646 Pietro Terracciano Terracciano\n",
|
||
"647 Martin Turk Turk\n",
|
||
"648 Samir Ujkani Ujkani\n",
|
||
"649 Guglielmo Vicario Vicario\n",
|
||
"650 Jeroen Zoet Zoet\n",
|
||
"651 Petar Zovko Zovko\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(players[['player', 'surname']].to_string())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "3e759b1b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Ostigard\n",
|
||
"Kim\n",
|
||
"Hojlund\n",
|
||
"Gytkjaer\n",
|
||
"Augusto\n",
|
||
"Maehle\n",
|
||
"Kjaer\n",
|
||
"Djuricic\n",
|
||
"Djuric\n",
|
||
"Cabral\n",
|
||
"Alvarez\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>FROM</th>\n",
|
||
" <th>TO</th>\n",
|
||
" <th>TEAM</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>stigard</td>\n",
|
||
" <td>Ostigard</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Min-jae</td>\n",
|
||
" <td>Kim</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Hjlund</td>\n",
|
||
" <td>Hojlund</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Gytkjr</td>\n",
|
||
" <td>Gytkjaer</td>\n",
|
||
" <td>Monza</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Carlos</td>\n",
|
||
" <td>Augusto</td>\n",
|
||
" <td>Monza</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>Mhle</td>\n",
|
||
" <td>Maehle</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>Kjr</td>\n",
|
||
" <td>Kjaer</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>uricic</td>\n",
|
||
" <td>Djuricic</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>uric</td>\n",
|
||
" <td>Djuric</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>Arthur</td>\n",
|
||
" <td>Cabral</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10</th>\n",
|
||
" <td>Martinez</td>\n",
|
||
" <td>Alvarez</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" FROM TO TEAM\n",
|
||
"0 stigard Ostigard Napoli\n",
|
||
"1 Min-jae Kim Napoli\n",
|
||
"2 Hjlund Hojlund Atalanta\n",
|
||
"3 Gytkjr Gytkjaer Monza\n",
|
||
"4 Carlos Augusto Monza\n",
|
||
"5 Mhle Maehle Atalanta\n",
|
||
"6 Kjr Kjaer Milan\n",
|
||
"7 uricic Djuricic Sampdoria\n",
|
||
"8 uric Djuric Hellas Verona\n",
|
||
"9 Arthur Cabral Fiorentina\n",
|
||
"10 Martinez Alvarez Sassuolo"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"rcsv = pd.read_csv('config/name_fix.txt') \n",
|
||
"name_fix = pd.DataFrame(rcsv)\n",
|
||
"\n",
|
||
"for i in range(name_fix.shape[0]):\n",
|
||
" for j in range(players.shape[0]):\n",
|
||
" if(players['surname'][j].lower() == name_fix['FROM'][i].lower() and players['team'][j].lower() == name_fix['TEAM'][i].lower()):\n",
|
||
" players['surname'][j] = name_fix['TO'][i]\n",
|
||
" print(name_fix['TO'][i])\n",
|
||
"\n",
|
||
"name_fix\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "f96eaaa1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2214747983.py:17: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['surname'][i] = spl[-1]\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2214747983.py:18: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['initial'][i] = ''\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2214747983.py:14: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['surname'][i] = spl[-2]\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2214747983.py:15: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['initial'][i] = spl[-1][0]\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>id</th>\n",
|
||
" <th>r</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>initial</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>572</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2814</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>4964</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>453</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2134</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td></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",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>538</th>\n",
|
||
" <td>5512</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>De Luca</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Luca</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>5837</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Voelkerling Persson</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Persson</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>6113</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6143</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6160</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 6 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial\n",
|
||
"0 572 P Meret Napoli Meret \n",
|
||
"1 2814 P Provedel Lazio Provedel \n",
|
||
"2 4964 P Vicario Empoli Vicario \n",
|
||
"3 453 P Szczesny Juventus Szczesny \n",
|
||
"4 2134 P Falcone Lecce Falcone \n",
|
||
".. ... .. ... ... ... ...\n",
|
||
"538 5512 A De Luca Sampdoria Luca \n",
|
||
"539 5837 A Voelkerling Persson Lecce Persson \n",
|
||
"540 6113 A Montevago Sampdoria Montevago \n",
|
||
"541 6143 A Krollis Spezia Krollis \n",
|
||
"542 6160 A Vivaldo Udinese Vivaldo \n",
|
||
"\n",
|
||
"[543 rows x 6 columns]"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_data = pd.read_excel('fantacalcio/season' + season + '/Quotazioni_Fantacalcio.xlsx', 'Tutti', header = 1)\n",
|
||
"\n",
|
||
"fc_players = fc_data [['Id', 'R', 'Nome', 'Squadra']]\n",
|
||
"\n",
|
||
"fc_players = fc_players.rename(columns = {'Id' : 'id', 'R': 'r', 'Nome' : 'name', 'Squadra' : 'team'})\n",
|
||
"\n",
|
||
"fc_players['surname'] = fc_players['name']\n",
|
||
"fc_players['initial'] = fc_players['name']\n",
|
||
"\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" spl = normalize_name( fc_players['name'][i].replace('\\'', '') ).split(' ')\n",
|
||
" if('.' in spl[-1]):\n",
|
||
" fc_players.loc[i, 'surname'] = spl[-2]\n",
|
||
" fc_players.loc[i, 'initial'] = spl[-1][0]\n",
|
||
" else:\n",
|
||
" fc_players.loc[i, 'surname'] = spl[-1]\n",
|
||
" fc_players.loc[i, 'initial'] = ''\n",
|
||
" \n",
|
||
"fc_players\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "9c50e4b5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\1456862974.py:4: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['fb_ID'][i] = -1\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\1456862974.py:10: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players['fb_ID'][i] = j\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players['fb_ID'] = fc_players['id']\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" fc_players.loc[i, 'fb_ID'] = -1\n",
|
||
" \n",
|
||
" for j in range(players.shape[0]):\n",
|
||
" if(fc_players['team'][i].lower() in players['team'][j].lower()):\n",
|
||
" if(fc_players['surname'][i].lower() == players['surname'][j].lower()): \n",
|
||
" # if(fc_players['initial'][i] == '' or fc_players['initial'][i].lower() == players['initial'][j].lower()):\n",
|
||
" if((fc_players['r'][i] == 'P') == (j >= keepers_ID)): # check wether they're a goalkeeper for both FBREF and Fantacalcio\n",
|
||
" fc_players.loc[i, 'fb_ID'] = j"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "5a3e2771",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Lamanna\n",
|
||
"Berisha\n",
|
||
"Padelli\n",
|
||
"Pinsoglio\n",
|
||
"Ravaglia F.\n",
|
||
"Brancolini\n",
|
||
"Bleve\n",
|
||
"Berardi A.\n",
|
||
"Gemello\n",
|
||
"Boer\n",
|
||
"Adamonis\n",
|
||
"Marfella\n",
|
||
"Piana\n",
|
||
"Bagnolini\n",
|
||
"Sorrentino A.\n",
|
||
"Ciezkowski\n",
|
||
"Saro\n",
|
||
"Vasquez D.\n",
|
||
"Aiwu\n",
|
||
"Paletta\n",
|
||
"Fares\n",
|
||
"Amey\n",
|
||
"Guarino\n",
|
||
"Machin\n",
|
||
"Akpa Akpro\n",
|
||
"Galdames\n",
|
||
"Darboe\n",
|
||
"Urbanski\n",
|
||
"Trimboli\n",
|
||
"Samek\n",
|
||
"Degli Innocenti\n",
|
||
"Faticanti\n",
|
||
"Oddei\n",
|
||
"Kaio Jorge\n",
|
||
"Vivaldo\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" if(fc_players['fb_ID'][i] == -1):\n",
|
||
" print(fc_players['name'][i])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "3b4a36af",
|
||
"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>id</th>\n",
|
||
" <th>r</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>initial</th>\n",
|
||
" <th>fb_ID</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>572</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2814</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>632</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>4964</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td></td>\n",
|
||
" <td>649</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>453</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td></td>\n",
|
||
" <td>644</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2134</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td></td>\n",
|
||
" <td>612</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",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>538</th>\n",
|
||
" <td>5512</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>De Luca</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Luca</td>\n",
|
||
" <td></td>\n",
|
||
" <td>151</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>5837</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Voelkerling Persson</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Persson</td>\n",
|
||
" <td></td>\n",
|
||
" <td>565</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>6113</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td></td>\n",
|
||
" <td>365</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6143</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td></td>\n",
|
||
" <td>288</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6160</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>-1</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 7 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID\n",
|
||
"0 572 P Meret Napoli Meret 620\n",
|
||
"1 2814 P Provedel Lazio Provedel 632\n",
|
||
"2 4964 P Vicario Empoli Vicario 649\n",
|
||
"3 453 P Szczesny Juventus Szczesny 644\n",
|
||
"4 2134 P Falcone Lecce Falcone 612\n",
|
||
".. ... .. ... ... ... ... ...\n",
|
||
"538 5512 A De Luca Sampdoria Luca 151\n",
|
||
"539 5837 A Voelkerling Persson Lecce Persson 565\n",
|
||
"540 6113 A Montevago Sampdoria Montevago 365\n",
|
||
"541 6143 A Krollis Spezia Krollis 288\n",
|
||
"542 6160 A Vivaldo Udinese Vivaldo -1\n",
|
||
"\n",
|
||
"[543 rows x 7 columns]"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "1d73a312",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy] = 0\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\2261782218.py:9: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players[columns_to_copy[j]][i] = outfield_players[columns_to_copy[j]][fc_players['fb_ID'][i]]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"#Data for Outfield players\n",
|
||
"columns_to_copy = outfield_players.columns[4:]\n",
|
||
"\n",
|
||
"fc_players[columns_to_copy] = 0\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" if(fc_players['fb_ID'][i] != -1 and fc_players['r'][i] != 'P'):\n",
|
||
" for j in range(columns_to_copy.shape[0]):\n",
|
||
" #fc_players[columns_to_copy[j]][i] = outfield_players[columns_to_copy[j]][fc_players['fb_ID'][i]]\n",
|
||
" fc_players.loc[i, columns_to_copy[j]] = outfield_players.loc[fc_players['fb_ID'][i], columns_to_copy[j]]\n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "7acb93e3",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['age', 'birth_year', 'gk_games', 'gk_games_starts', 'gk_minutes',\n",
|
||
" 'gk_goals_against', 'gk_goals_against_per90',\n",
|
||
" 'gk_shots_on_target_against', 'gk_saves', 'gk_save_pct', 'gk_wins',\n",
|
||
" 'gk_ties', 'gk_losses', 'gk_clean_sheets', 'gk_clean_sheets_pct',\n",
|
||
" 'gk_pens_att', 'gk_pens_allowed', 'gk_pens_saved', 'gk_pens_missed',\n",
|
||
" 'minutes_90s', 'gk_free_kick_goals_against',\n",
|
||
" 'gk_corner_kick_goals_against', 'gk_own_goals_against', 'gk_psxg',\n",
|
||
" 'gk_psnpxg_per_shot_on_target_against', 'gk_psxg_net',\n",
|
||
" 'gk_psxg_net_per90', 'gk_passes_completed_launched',\n",
|
||
" 'gk_passes_launched', 'gk_passes_pct_launched', 'gk_passes',\n",
|
||
" 'gk_passes_throws', 'gk_pct_passes_launched', 'gk_passes_length_avg',\n",
|
||
" 'gk_goal_kicks', 'gk_pct_goal_kicks_launched',\n",
|
||
" 'gk_goal_kick_length_avg', 'gk_crosses', 'gk_crosses_stopped',\n",
|
||
" 'gk_crosses_stopped_pct', 'gk_def_actions_outside_pen_area',\n",
|
||
" 'gk_def_actions_outside_pen_area_per90', 'gk_avg_distance_def_actions'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"keeper_players.columns[4:]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "eb9127a9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:4: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`\n",
|
||
" fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"C:\\Users\\Peppe\\AppData\\Local\\Temp\\ipykernel_3484\\3175819694.py:12: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" fc_players[columns_to_copy[j]][i] = keeper_players[columns_to_copy[j]][fc_players['fb_ID'][i] - delta_k]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"#Data for Keepers\n",
|
||
"columns_to_copy = keeper_players.columns[4:]\n",
|
||
"\n",
|
||
"fc_players[columns_to_copy[2:]] = 0 # add columns but do not override age and birth_year\n",
|
||
"\n",
|
||
"delta_k = outfield_players.shape[0]\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" if(fc_players['fb_ID'][i] != -1 and fc_players['r'][i] == 'P'):\n",
|
||
" if(fc_players['fb_ID'][i] - delta_k >= 0):\n",
|
||
" for j in range(columns_to_copy.shape[0]): \n",
|
||
" #fc_players[columns_to_copy[j]][i] = keeper_players[columns_to_copy[j]][fc_players['fb_ID'][i] - delta_k]\n",
|
||
" fc_players.loc[i, columns_to_copy[j]] = keeper_players.loc[fc_players['fb_ID'][i] - delta_k, columns_to_copy[j]]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "8f2ee8b9",
|
||
"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>player</th>\n",
|
||
" <th>nationality</th>\n",
|
||
" <th>position</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>age</th>\n",
|
||
" <th>birth_year</th>\n",
|
||
" <th>gk_games</th>\n",
|
||
" <th>gk_games_starts</th>\n",
|
||
" <th>gk_minutes</th>\n",
|
||
" <th>gk_goals_against</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>gk_passes_length_avg</th>\n",
|
||
" <th>gk_goal_kicks</th>\n",
|
||
" <th>gk_pct_goal_kicks_launched</th>\n",
|
||
" <th>gk_goal_kick_length_avg</th>\n",
|
||
" <th>gk_crosses</th>\n",
|
||
" <th>gk_crosses_stopped</th>\n",
|
||
" <th>gk_crosses_stopped_pct</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area_per90</th>\n",
|
||
" <th>gk_avg_distance_def_actions</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>Emil Audero</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>2250.0</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>39.1</td>\n",
|
||
" <td>200.0</td>\n",
|
||
" <td>57.0</td>\n",
|
||
" <td>44.2</td>\n",
|
||
" <td>356.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>6.7</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>13.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Francesco Bardi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.6</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>44.4</td>\n",
|
||
" <td>33.4</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Marco Carnesecchi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Cremonese</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>2000</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>2430.0</td>\n",
|
||
" <td>47.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>41.4</td>\n",
|
||
" <td>203.0</td>\n",
|
||
" <td>66.0</td>\n",
|
||
" <td>53.1</td>\n",
|
||
" <td>402.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>7.2</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>1.07</td>\n",
|
||
" <td>14.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Michele Cerofolini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>450.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>38.1</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>3.4</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>0.60</td>\n",
|
||
" <td>13.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Andrea Consigli</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>35</td>\n",
|
||
" <td>1987</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>3150.0</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>285.0</td>\n",
|
||
" <td>31.2</td>\n",
|
||
" <td>32.5</td>\n",
|
||
" <td>467.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>0.80</td>\n",
|
||
" <td>14.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>Alex Cordaz</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.5</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>60.0</td>\n",
|
||
" <td>52.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>Alessio Cragno</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Monza</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>22.6</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>16.7</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>25.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>Michele Di Gregorio</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Monza</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>49.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.2</td>\n",
|
||
" <td>247.0</td>\n",
|
||
" <td>37.2</td>\n",
|
||
" <td>34.9</td>\n",
|
||
" <td>541.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>0.86</td>\n",
|
||
" <td>13.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>Bartłomiej Drągowski</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>2946.0</td>\n",
|
||
" <td>54.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.6</td>\n",
|
||
" <td>196.0</td>\n",
|
||
" <td>58.7</td>\n",
|
||
" <td>46.5</td>\n",
|
||
" <td>472.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>2.8</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>0.98</td>\n",
|
||
" <td>14.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>Wladimiro Falcone</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>3420.0</td>\n",
|
||
" <td>46.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>42.1</td>\n",
|
||
" <td>282.0</td>\n",
|
||
" <td>79.1</td>\n",
|
||
" <td>53.5</td>\n",
|
||
" <td>534.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>1.11</td>\n",
|
||
" <td>14.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10</th>\n",
|
||
" <td>Vincenzo Fiorillo</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Salernitana</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.9</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>80.0</td>\n",
|
||
" <td>56.2</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>14.3</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>11</th>\n",
|
||
" <td>Pierluigi Gollini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>360.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.6</td>\n",
|
||
" <td>31.0</td>\n",
|
||
" <td>32.3</td>\n",
|
||
" <td>32.2</td>\n",
|
||
" <td>56.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>3.6</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>18.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>12</th>\n",
|
||
" <td>Pierluigi Gollini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>270.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.4</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>63.6</td>\n",
|
||
" <td>49.3</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>4.2</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>9.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>13</th>\n",
|
||
" <td>Samir Handanović</td>\n",
|
||
" <td>si SVN</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>38</td>\n",
|
||
" <td>1984</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>1234.0</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>24.7</td>\n",
|
||
" <td>71.0</td>\n",
|
||
" <td>11.3</td>\n",
|
||
" <td>25.5</td>\n",
|
||
" <td>149.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>1.3</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>0.73</td>\n",
|
||
" <td>15.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14</th>\n",
|
||
" <td>Mike Maignan</td>\n",
|
||
" <td>fr FRA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>1978.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.8</td>\n",
|
||
" <td>85.0</td>\n",
|
||
" <td>32.9</td>\n",
|
||
" <td>35.1</td>\n",
|
||
" <td>221.0</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>6.8</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>1.46</td>\n",
|
||
" <td>17.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>15</th>\n",
|
||
" <td>Federico Marchetti</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>66.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>24.3</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>37.5</td>\n",
|
||
" <td>32.4</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.36</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16</th>\n",
|
||
" <td>Luís Maximiano</td>\n",
|
||
" <td>pt POR</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>17</th>\n",
|
||
" <td>Alex Meret</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>3060.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.1</td>\n",
|
||
" <td>198.0</td>\n",
|
||
" <td>20.2</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>335.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>3.3</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>1.15</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18</th>\n",
|
||
" <td>Vanja Milinković-Savić</td>\n",
|
||
" <td>rs SRB</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Torino</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>3420.0</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>39.7</td>\n",
|
||
" <td>286.0</td>\n",
|
||
" <td>91.3</td>\n",
|
||
" <td>70.0</td>\n",
|
||
" <td>469.0</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>7.7</td>\n",
|
||
" <td>70.0</td>\n",
|
||
" <td>1.84</td>\n",
|
||
" <td>16.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19</th>\n",
|
||
" <td>Antonio Mirante</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>20</th>\n",
|
||
" <td>Lorenzo Montipò</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>59.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>44.3</td>\n",
|
||
" <td>284.0</td>\n",
|
||
" <td>72.5</td>\n",
|
||
" <td>52.1</td>\n",
|
||
" <td>496.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>1.49</td>\n",
|
||
" <td>15.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>21</th>\n",
|
||
" <td>Juan Musso</td>\n",
|
||
" <td>ar ARG</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>2077.0</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.1</td>\n",
|
||
" <td>157.0</td>\n",
|
||
" <td>62.4</td>\n",
|
||
" <td>48.6</td>\n",
|
||
" <td>253.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>5.5</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>1.04</td>\n",
|
||
" <td>15.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>22</th>\n",
|
||
" <td>Guillermo Ochoa</td>\n",
|
||
" <td>mx MEX</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Salernitana</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1985</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>1800.0</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>40.9</td>\n",
|
||
" <td>200.0</td>\n",
|
||
" <td>66.0</td>\n",
|
||
" <td>47.3</td>\n",
|
||
" <td>311.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>3.5</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>0.50</td>\n",
|
||
" <td>12.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>23</th>\n",
|
||
" <td>André Onana</td>\n",
|
||
" <td>cm CMR</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>2160.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.6</td>\n",
|
||
" <td>152.0</td>\n",
|
||
" <td>30.9</td>\n",
|
||
" <td>35.4</td>\n",
|
||
" <td>283.0</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>5.3</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>0.42</td>\n",
|
||
" <td>12.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>24</th>\n",
|
||
" <td>Rui Patrício</td>\n",
|
||
" <td>pt POR</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>3150.0</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.6</td>\n",
|
||
" <td>240.0</td>\n",
|
||
" <td>35.8</td>\n",
|
||
" <td>34.8</td>\n",
|
||
" <td>402.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>0.71</td>\n",
|
||
" <td>13.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25</th>\n",
|
||
" <td>Gianluca Pegolo</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>41</td>\n",
|
||
" <td>1981</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>180.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.7</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>31.3</td>\n",
|
||
" <td>28.3</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>7.1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>26</th>\n",
|
||
" <td>Simone Perilli</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>57.3</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>100.0</td>\n",
|
||
" <td>69.8</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>5.3</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>27</th>\n",
|
||
" <td>Mattia Perin</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>948.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>63.0</td>\n",
|
||
" <td>39.7</td>\n",
|
||
" <td>35.9</td>\n",
|
||
" <td>154.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>1.04</td>\n",
|
||
" <td>15.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>28</th>\n",
|
||
" <td>Samuele Perisan</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>630.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.7</td>\n",
|
||
" <td>75.0</td>\n",
|
||
" <td>34.7</td>\n",
|
||
" <td>34.3</td>\n",
|
||
" <td>134.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>3.7</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>0.57</td>\n",
|
||
" <td>11.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>29</th>\n",
|
||
" <td>Ivan Provedel</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3413.0</td>\n",
|
||
" <td>30.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.2</td>\n",
|
||
" <td>198.0</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>493.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>1.45</td>\n",
|
||
" <td>16.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>30</th>\n",
|
||
" <td>Ionuț Radu</td>\n",
|
||
" <td>ro ROU</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Cremonese</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>810.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.3</td>\n",
|
||
" <td>67.0</td>\n",
|
||
" <td>50.7</td>\n",
|
||
" <td>46.3</td>\n",
|
||
" <td>107.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>14.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>31</th>\n",
|
||
" <td>Nicola Ravaglia</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>33</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>810.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.6</td>\n",
|
||
" <td>99.0</td>\n",
|
||
" <td>49.5</td>\n",
|
||
" <td>37.6</td>\n",
|
||
" <td>155.0</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>6.5</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.11</td>\n",
|
||
" <td>10.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>32</th>\n",
|
||
" <td>Francesco Rossi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>17.3</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>100.0</td>\n",
|
||
" <td>65.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>33</th>\n",
|
||
" <td>Alessandro Russo</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.7</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>18.3</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>34</th>\n",
|
||
" <td>Mouhamadou Sarr</td>\n",
|
||
" <td>sn SEN</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Cremonese</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>180.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.7</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>75.0</td>\n",
|
||
" <td>53.6</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.50</td>\n",
|
||
" <td>8.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>35</th>\n",
|
||
" <td>Luigi Sepe</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Salernitana</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>1530.0</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.9</td>\n",
|
||
" <td>154.0</td>\n",
|
||
" <td>48.7</td>\n",
|
||
" <td>41.1</td>\n",
|
||
" <td>222.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>7.2</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>0.76</td>\n",
|
||
" <td>14.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>36</th>\n",
|
||
" <td>Marco Silvestri</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>3420.0</td>\n",
|
||
" <td>48.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>302.0</td>\n",
|
||
" <td>33.8</td>\n",
|
||
" <td>34.1</td>\n",
|
||
" <td>547.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>2.4</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.55</td>\n",
|
||
" <td>12.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>37</th>\n",
|
||
" <td>Salvatore Sirigu</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>35</td>\n",
|
||
" <td>1987</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.7</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>41.8</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>26.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38</th>\n",
|
||
" <td>Łukasz Skorupski</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>49.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>31.7</td>\n",
|
||
" <td>278.0</td>\n",
|
||
" <td>33.5</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>492.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>5.9</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>0.65</td>\n",
|
||
" <td>12.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>39</th>\n",
|
||
" <td>Marco Sportiello</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>1339.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>28.8</td>\n",
|
||
" <td>116.0</td>\n",
|
||
" <td>66.4</td>\n",
|
||
" <td>49.7</td>\n",
|
||
" <td>200.0</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>1.21</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>40</th>\n",
|
||
" <td>Mile Svilar</td>\n",
|
||
" <td>rs SRB</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>270.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>41.4</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>81.3</td>\n",
|
||
" <td>60.1</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>14.3</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>1.33</td>\n",
|
||
" <td>12.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>41</th>\n",
|
||
" <td>Wojciech Szczęsny</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>2472.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.5</td>\n",
|
||
" <td>153.0</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>38.3</td>\n",
|
||
" <td>389.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>2.8</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.76</td>\n",
|
||
" <td>14.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42</th>\n",
|
||
" <td>Ciprian Tătărușanu</td>\n",
|
||
" <td>ro ROU</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1986</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>1440.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.9</td>\n",
|
||
" <td>83.0</td>\n",
|
||
" <td>51.8</td>\n",
|
||
" <td>41.8</td>\n",
|
||
" <td>195.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>4.6</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>0.81</td>\n",
|
||
" <td>14.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>43</th>\n",
|
||
" <td>Pietro Terracciano</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>2610.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>198.0</td>\n",
|
||
" <td>45.5</td>\n",
|
||
" <td>40.5</td>\n",
|
||
" <td>271.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>4.4</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>1.90</td>\n",
|
||
" <td>18.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>44</th>\n",
|
||
" <td>Martin Turk</td>\n",
|
||
" <td>si SVN</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>360.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.1</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>86.0</td>\n",
|
||
" <td>56.3</td>\n",
|
||
" <td>60.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.50</td>\n",
|
||
" <td>12.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45</th>\n",
|
||
" <td>Samir Ujkani</td>\n",
|
||
" <td>xk KVX</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>18.5</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46</th>\n",
|
||
" <td>Guglielmo Vicario</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>31.0</td>\n",
|
||
" <td>31.0</td>\n",
|
||
" <td>2783.0</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.8</td>\n",
|
||
" <td>170.0</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>606.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>0.71</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47</th>\n",
|
||
" <td>Jeroen Zoet</td>\n",
|
||
" <td>nl NED</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>334.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>78.3</td>\n",
|
||
" <td>58.4</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>6.5</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>1.61</td>\n",
|
||
" <td>14.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48</th>\n",
|
||
" <td>Petar Zovko</td>\n",
|
||
" <td>ba BIH</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>74.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.1</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>76.9</td>\n",
|
||
" <td>51.1</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>4.2</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.47</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>49 rows × 47 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" player nationality position team age \\\n",
|
||
"0 Emil Audero it ITA GK Sampdoria 25 \n",
|
||
"1 Francesco Bardi it ITA GK Bologna 30 \n",
|
||
"2 Marco Carnesecchi it ITA GK Cremonese 22 \n",
|
||
"3 Michele Cerofolini it ITA GK Fiorentina 23 \n",
|
||
"4 Andrea Consigli it ITA GK Sassuolo 35 \n",
|
||
"5 Alex Cordaz it ITA GK Inter 39 \n",
|
||
"6 Alessio Cragno it ITA GK Monza 28 \n",
|
||
"7 Michele Di Gregorio it ITA GK Monza 25 \n",
|
||
"8 Bartłomiej Drągowski pl POL GK Spezia 24 \n",
|
||
"9 Wladimiro Falcone it ITA GK Lecce 27 \n",
|
||
"10 Vincenzo Fiorillo it ITA GK Salernitana 32 \n",
|
||
"11 Pierluigi Gollini it ITA GK Napoli 27 \n",
|
||
"12 Pierluigi Gollini it ITA GK Fiorentina 27 \n",
|
||
"13 Samir Handanović si SVN GK Inter 38 \n",
|
||
"14 Mike Maignan fr FRA GK Milan 27 \n",
|
||
"15 Federico Marchetti it ITA GK Spezia 39 \n",
|
||
"16 Luís Maximiano pt POR GK Lazio 23 \n",
|
||
"17 Alex Meret it ITA GK Napoli 25 \n",
|
||
"18 Vanja Milinković-Savić rs SRB GK Torino 25 \n",
|
||
"19 Antonio Mirante it ITA GK Milan 39 \n",
|
||
"20 Lorenzo Montipò it ITA GK Hellas Verona 26 \n",
|
||
"21 Juan Musso ar ARG GK Atalanta 28 \n",
|
||
"22 Guillermo Ochoa mx MEX GK Salernitana 37 \n",
|
||
"23 André Onana cm CMR GK Inter 26 \n",
|
||
"24 Rui Patrício pt POR GK Roma 34 \n",
|
||
"25 Gianluca Pegolo it ITA GK Sassuolo 41 \n",
|
||
"26 Simone Perilli it ITA GK Hellas Verona 27 \n",
|
||
"27 Mattia Perin it ITA GK Juventus 29 \n",
|
||
"28 Samuele Perisan it ITA GK Empoli 24 \n",
|
||
"29 Ivan Provedel it ITA GK Lazio 28 \n",
|
||
"30 Ionuț Radu ro ROU GK Cremonese 25 \n",
|
||
"31 Nicola Ravaglia it ITA GK Sampdoria 33 \n",
|
||
"32 Francesco Rossi it ITA GK Atalanta 31 \n",
|
||
"33 Alessandro Russo it ITA GK Sassuolo 21 \n",
|
||
"34 Mouhamadou Sarr sn SEN GK Cremonese 25 \n",
|
||
"35 Luigi Sepe it ITA GK Salernitana 31 \n",
|
||
"36 Marco Silvestri it ITA GK Udinese 31 \n",
|
||
"37 Salvatore Sirigu it ITA GK Fiorentina 35 \n",
|
||
"38 Łukasz Skorupski pl POL GK Bologna 31 \n",
|
||
"39 Marco Sportiello it ITA GK Atalanta 30 \n",
|
||
"40 Mile Svilar rs SRB GK Roma 22 \n",
|
||
"41 Wojciech Szczęsny pl POL GK Juventus 32 \n",
|
||
"42 Ciprian Tătărușanu ro ROU GK Milan 36 \n",
|
||
"43 Pietro Terracciano it ITA GK Fiorentina 32 \n",
|
||
"44 Martin Turk si SVN GK Sampdoria 18 \n",
|
||
"45 Samir Ujkani xk KVX GK Empoli 34 \n",
|
||
"46 Guglielmo Vicario it ITA GK Empoli 25 \n",
|
||
"47 Jeroen Zoet nl NED GK Spezia 31 \n",
|
||
"48 Petar Zovko ba BIH GK Spezia 20 \n",
|
||
"\n",
|
||
" birth_year gk_games gk_games_starts gk_minutes gk_goals_against ... \\\n",
|
||
"0 1997 25.0 25.0 2250.0 39.0 ... \n",
|
||
"1 1992 1.0 1.0 90.0 0.0 ... \n",
|
||
"2 2000 27.0 27.0 2430.0 47.0 ... \n",
|
||
"3 1999 5.0 5.0 450.0 3.0 ... \n",
|
||
"4 1987 35.0 35.0 3150.0 55.0 ... \n",
|
||
"5 1983 1.0 0.0 26.0 0.0 ... \n",
|
||
"6 1994 1.0 1.0 90.0 3.0 ... \n",
|
||
"7 1997 37.0 37.0 3330.0 49.0 ... \n",
|
||
"8 1997 34.0 34.0 2946.0 54.0 ... \n",
|
||
"9 1995 38.0 38.0 3420.0 46.0 ... \n",
|
||
"10 1990 1.0 1.0 90.0 2.0 ... \n",
|
||
"11 1995 4.0 4.0 360.0 4.0 ... \n",
|
||
"12 1995 3.0 3.0 270.0 2.0 ... \n",
|
||
"13 1984 14.0 14.0 1234.0 18.0 ... \n",
|
||
"14 1995 22.0 22.0 1978.0 21.0 ... \n",
|
||
"15 1983 1.0 0.0 66.0 2.0 ... \n",
|
||
"16 1999 1.0 1.0 5.0 0.0 ... \n",
|
||
"17 1997 34.0 34.0 3060.0 24.0 ... \n",
|
||
"18 1997 38.0 38.0 3420.0 41.0 ... \n",
|
||
"19 1983 1.0 0.0 2.0 0.0 ... \n",
|
||
"20 1996 37.0 37.0 3330.0 59.0 ... \n",
|
||
"21 1994 24.0 24.0 2077.0 27.0 ... \n",
|
||
"22 1985 20.0 20.0 1800.0 33.0 ... \n",
|
||
"23 1996 24.0 24.0 2160.0 24.0 ... \n",
|
||
"24 1988 35.0 35.0 3150.0 35.0 ... \n",
|
||
"25 1981 2.0 2.0 180.0 3.0 ... \n",
|
||
"26 1995 1.0 1.0 90.0 0.0 ... \n",
|
||
"27 1992 11.0 10.0 948.0 7.0 ... \n",
|
||
"28 1997 7.0 7.0 630.0 9.0 ... \n",
|
||
"29 1994 38.0 37.0 3413.0 30.0 ... \n",
|
||
"30 1997 9.0 9.0 810.0 19.0 ... \n",
|
||
"31 1988 9.0 9.0 810.0 23.0 ... \n",
|
||
"32 1991 1.0 0.0 4.0 0.0 ... \n",
|
||
"33 2001 1.0 1.0 90.0 3.0 ... \n",
|
||
"34 1997 2.0 2.0 180.0 3.0 ... \n",
|
||
"35 1991 17.0 17.0 1530.0 27.0 ... \n",
|
||
"36 1991 38.0 38.0 3420.0 48.0 ... \n",
|
||
"37 1987 1.0 1.0 90.0 0.0 ... \n",
|
||
"38 1991 37.0 37.0 3330.0 49.0 ... \n",
|
||
"39 1992 15.0 14.0 1339.0 21.0 ... \n",
|
||
"40 1999 3.0 3.0 270.0 3.0 ... \n",
|
||
"41 1990 28.0 28.0 2472.0 26.0 ... \n",
|
||
"42 1986 16.0 16.0 1440.0 22.0 ... \n",
|
||
"43 1990 29.0 29.0 2610.0 38.0 ... \n",
|
||
"44 2003 4.0 4.0 360.0 9.0 ... \n",
|
||
"45 1988 1.0 0.0 7.0 1.0 ... \n",
|
||
"46 1996 31.0 31.0 2783.0 39.0 ... \n",
|
||
"47 1991 5.0 4.0 334.0 4.0 ... \n",
|
||
"48 2002 1.0 0.0 74.0 2.0 ... \n",
|
||
"\n",
|
||
" gk_passes_length_avg gk_goal_kicks gk_pct_goal_kicks_launched \\\n",
|
||
"0 39.1 200.0 57.0 \n",
|
||
"1 35.6 9.0 44.4 \n",
|
||
"2 41.4 203.0 66.0 \n",
|
||
"3 33.3 28.0 42.9 \n",
|
||
"4 33.3 285.0 31.2 \n",
|
||
"5 33.5 5.0 60.0 \n",
|
||
"6 22.6 6.0 16.7 \n",
|
||
"7 32.2 247.0 37.2 \n",
|
||
"8 34.6 196.0 58.7 \n",
|
||
"9 42.1 282.0 79.1 \n",
|
||
"10 37.9 5.0 80.0 \n",
|
||
"11 29.6 31.0 32.3 \n",
|
||
"12 32.4 11.0 63.6 \n",
|
||
"13 24.7 71.0 11.3 \n",
|
||
"14 29.8 85.0 32.9 \n",
|
||
"15 24.3 8.0 37.5 \n",
|
||
"16 0.0 0.0 0.0 \n",
|
||
"17 26.1 198.0 20.2 \n",
|
||
"18 39.7 286.0 91.3 \n",
|
||
"19 27.0 1.0 0.0 \n",
|
||
"20 44.3 284.0 72.5 \n",
|
||
"21 32.1 157.0 62.4 \n",
|
||
"22 40.9 200.0 66.0 \n",
|
||
"23 29.6 152.0 30.9 \n",
|
||
"24 33.6 240.0 35.8 \n",
|
||
"25 29.7 16.0 31.3 \n",
|
||
"26 57.3 13.0 100.0 \n",
|
||
"27 30.8 63.0 39.7 \n",
|
||
"28 32.7 75.0 34.7 \n",
|
||
"29 32.2 198.0 33.3 \n",
|
||
"30 37.3 67.0 50.7 \n",
|
||
"31 35.6 99.0 49.5 \n",
|
||
"32 17.3 1.0 100.0 \n",
|
||
"33 30.7 8.0 0.0 \n",
|
||
"34 35.7 12.0 75.0 \n",
|
||
"35 35.9 154.0 48.7 \n",
|
||
"36 32.0 302.0 33.8 \n",
|
||
"37 37.7 8.0 50.0 \n",
|
||
"38 31.7 278.0 33.5 \n",
|
||
"39 28.8 116.0 66.4 \n",
|
||
"40 41.4 16.0 81.3 \n",
|
||
"41 33.5 153.0 43.1 \n",
|
||
"42 32.9 83.0 51.8 \n",
|
||
"43 33.2 198.0 45.5 \n",
|
||
"44 35.1 43.0 86.0 \n",
|
||
"45 18.5 1.0 0.0 \n",
|
||
"46 33.8 170.0 50.0 \n",
|
||
"47 39.0 23.0 78.3 \n",
|
||
"48 35.1 13.0 76.9 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 44.2 356.0 24.0 \n",
|
||
"1 33.4 10.0 0.0 \n",
|
||
"2 53.1 402.0 29.0 \n",
|
||
"3 38.1 29.0 1.0 \n",
|
||
"4 32.5 467.0 28.0 \n",
|
||
"5 52.0 7.0 0.0 \n",
|
||
"6 33.3 7.0 0.0 \n",
|
||
"7 34.9 541.0 14.0 \n",
|
||
"8 46.5 472.0 13.0 \n",
|
||
"9 53.5 534.0 23.0 \n",
|
||
"10 56.2 7.0 1.0 \n",
|
||
"11 32.2 56.0 2.0 \n",
|
||
"12 49.3 24.0 1.0 \n",
|
||
"13 25.5 149.0 2.0 \n",
|
||
"14 35.1 221.0 15.0 \n",
|
||
"15 32.4 8.0 0.0 \n",
|
||
"16 0.0 0.0 0.0 \n",
|
||
"17 26.9 335.0 11.0 \n",
|
||
"18 70.0 469.0 36.0 \n",
|
||
"19 15.0 0.0 0.0 \n",
|
||
"20 52.1 496.0 26.0 \n",
|
||
"21 48.6 253.0 14.0 \n",
|
||
"22 47.3 311.0 11.0 \n",
|
||
"23 35.4 283.0 15.0 \n",
|
||
"24 34.8 402.0 16.0 \n",
|
||
"25 28.3 28.0 2.0 \n",
|
||
"26 69.8 19.0 1.0 \n",
|
||
"27 35.9 154.0 4.0 \n",
|
||
"28 34.3 134.0 5.0 \n",
|
||
"29 33.2 493.0 21.0 \n",
|
||
"30 46.3 107.0 6.0 \n",
|
||
"31 37.6 155.0 10.0 \n",
|
||
"32 65.0 1.0 0.0 \n",
|
||
"33 18.3 14.0 0.0 \n",
|
||
"34 53.6 18.0 0.0 \n",
|
||
"35 41.1 222.0 16.0 \n",
|
||
"36 34.1 547.0 13.0 \n",
|
||
"37 41.8 12.0 0.0 \n",
|
||
"38 33.0 492.0 29.0 \n",
|
||
"39 49.7 200.0 18.0 \n",
|
||
"40 60.1 42.0 6.0 \n",
|
||
"41 38.3 389.0 11.0 \n",
|
||
"42 41.8 195.0 9.0 \n",
|
||
"43 40.5 271.0 12.0 \n",
|
||
"44 56.3 60.0 0.0 \n",
|
||
"45 27.0 1.0 0.0 \n",
|
||
"46 42.9 606.0 34.0 \n",
|
||
"47 58.4 62.0 4.0 \n",
|
||
"48 51.1 24.0 1.0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 6.7 23.0 \n",
|
||
"1 0.0 0.0 \n",
|
||
"2 7.2 29.0 \n",
|
||
"3 3.4 3.0 \n",
|
||
"4 6.0 28.0 \n",
|
||
"5 0.0 0.0 \n",
|
||
"6 0.0 2.0 \n",
|
||
"7 2.6 32.0 \n",
|
||
"8 2.8 32.0 \n",
|
||
"9 4.3 42.0 \n",
|
||
"10 14.3 0.0 \n",
|
||
"11 3.6 4.0 \n",
|
||
"12 4.2 0.0 \n",
|
||
"13 1.3 10.0 \n",
|
||
"14 6.8 32.0 \n",
|
||
"15 0.0 1.0 \n",
|
||
"16 0.0 0.0 \n",
|
||
"17 3.3 39.0 \n",
|
||
"18 7.7 70.0 \n",
|
||
"19 0.0 0.0 \n",
|
||
"20 5.2 55.0 \n",
|
||
"21 5.5 24.0 \n",
|
||
"22 3.5 10.0 \n",
|
||
"23 5.3 10.0 \n",
|
||
"24 4.0 25.0 \n",
|
||
"25 7.1 0.0 \n",
|
||
"26 5.3 1.0 \n",
|
||
"27 2.6 11.0 \n",
|
||
"28 3.7 4.0 \n",
|
||
"29 4.3 55.0 \n",
|
||
"30 5.6 9.0 \n",
|
||
"31 6.5 1.0 \n",
|
||
"32 0.0 0.0 \n",
|
||
"33 0.0 0.0 \n",
|
||
"34 0.0 1.0 \n",
|
||
"35 7.2 13.0 \n",
|
||
"36 2.4 21.0 \n",
|
||
"37 0.0 2.0 \n",
|
||
"38 5.9 24.0 \n",
|
||
"39 9.0 18.0 \n",
|
||
"40 14.3 4.0 \n",
|
||
"41 2.8 21.0 \n",
|
||
"42 4.6 13.0 \n",
|
||
"43 4.4 55.0 \n",
|
||
"44 0.0 2.0 \n",
|
||
"45 0.0 0.0 \n",
|
||
"46 5.6 22.0 \n",
|
||
"47 6.5 6.0 \n",
|
||
"48 4.2 2.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \n",
|
||
"0 0.92 13.9 \n",
|
||
"1 0.00 0.0 \n",
|
||
"2 1.07 14.1 \n",
|
||
"3 0.60 13.8 \n",
|
||
"4 0.80 14.2 \n",
|
||
"5 0.00 0.0 \n",
|
||
"6 2.00 25.7 \n",
|
||
"7 0.86 13.4 \n",
|
||
"8 0.98 14.1 \n",
|
||
"9 1.11 14.1 \n",
|
||
"10 0.00 6.0 \n",
|
||
"11 1.00 18.8 \n",
|
||
"12 0.00 9.3 \n",
|
||
"13 0.73 15.4 \n",
|
||
"14 1.46 17.8 \n",
|
||
"15 1.36 22.0 \n",
|
||
"16 0.00 19.0 \n",
|
||
"17 1.15 17.0 \n",
|
||
"18 1.84 16.2 \n",
|
||
"19 0.00 0.0 \n",
|
||
"20 1.49 15.3 \n",
|
||
"21 1.04 15.6 \n",
|
||
"22 0.50 12.3 \n",
|
||
"23 0.42 12.5 \n",
|
||
"24 0.71 13.8 \n",
|
||
"25 0.00 9.0 \n",
|
||
"26 1.00 12.0 \n",
|
||
"27 1.04 15.7 \n",
|
||
"28 0.57 11.6 \n",
|
||
"29 1.45 16.5 \n",
|
||
"30 1.00 14.5 \n",
|
||
"31 0.11 10.5 \n",
|
||
"32 0.00 0.0 \n",
|
||
"33 0.00 10.0 \n",
|
||
"34 0.50 8.6 \n",
|
||
"35 0.76 14.2 \n",
|
||
"36 0.55 12.2 \n",
|
||
"37 2.00 26.3 \n",
|
||
"38 0.65 12.9 \n",
|
||
"39 1.21 15.0 \n",
|
||
"40 1.33 12.1 \n",
|
||
"41 0.76 14.7 \n",
|
||
"42 0.81 14.4 \n",
|
||
"43 1.90 18.4 \n",
|
||
"44 0.50 12.3 \n",
|
||
"45 0.00 0.0 \n",
|
||
"46 0.71 11.5 \n",
|
||
"47 1.61 14.7 \n",
|
||
"48 2.47 17.0 \n",
|
||
"\n",
|
||
"[49 rows x 47 columns]"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"keeper_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "da977789",
|
||
"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>id</th>\n",
|
||
" <th>r</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>initial</th>\n",
|
||
" <th>fb_ID</th>\n",
|
||
" <th>age</th>\n",
|
||
" <th>birth_year</th>\n",
|
||
" <th>games</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>gk_passes_length_avg</th>\n",
|
||
" <th>gk_goal_kicks</th>\n",
|
||
" <th>gk_pct_goal_kicks_launched</th>\n",
|
||
" <th>gk_goal_kick_length_avg</th>\n",
|
||
" <th>gk_crosses</th>\n",
|
||
" <th>gk_crosses_stopped</th>\n",
|
||
" <th>gk_crosses_stopped_pct</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area_per90</th>\n",
|
||
" <th>gk_avg_distance_def_actions</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>572</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.1</td>\n",
|
||
" <td>198</td>\n",
|
||
" <td>20.2</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>335</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>3.3</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1.15</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2814</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>632</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.2</td>\n",
|
||
" <td>198</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>493</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>55</td>\n",
|
||
" <td>1.45</td>\n",
|
||
" <td>16.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>4964</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td></td>\n",
|
||
" <td>649</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.8</td>\n",
|
||
" <td>170</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>606</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>0.71</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>453</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td></td>\n",
|
||
" <td>644</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.5</td>\n",
|
||
" <td>153</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>38.3</td>\n",
|
||
" <td>389</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>2.8</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>0.76</td>\n",
|
||
" <td>14.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2134</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td></td>\n",
|
||
" <td>612</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>42.1</td>\n",
|
||
" <td>282</td>\n",
|
||
" <td>79.1</td>\n",
|
||
" <td>53.5</td>\n",
|
||
" <td>534</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>1.11</td>\n",
|
||
" <td>14.1</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>538</th>\n",
|
||
" <td>5512</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>De Luca</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Luca</td>\n",
|
||
" <td></td>\n",
|
||
" <td>151</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1998</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>5837</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Voelkerling Persson</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Persson</td>\n",
|
||
" <td></td>\n",
|
||
" <td>565</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>6113</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td></td>\n",
|
||
" <td>365</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6143</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td></td>\n",
|
||
" <td>288</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6160</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>-1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 158 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 572 P Meret Napoli Meret 620 25 \n",
|
||
"1 2814 P Provedel Lazio Provedel 632 28 \n",
|
||
"2 4964 P Vicario Empoli Vicario 649 25 \n",
|
||
"3 453 P Szczesny Juventus Szczesny 644 32 \n",
|
||
"4 2134 P Falcone Lecce Falcone 612 27 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"538 5512 A De Luca Sampdoria Luca 151 24 \n",
|
||
"539 5837 A Voelkerling Persson Lecce Persson 565 19 \n",
|
||
"540 6113 A Montevago Sampdoria Montevago 365 19 \n",
|
||
"541 6143 A Krollis Spezia Krollis 288 20 \n",
|
||
"542 6160 A Vivaldo Udinese Vivaldo -1 0 \n",
|
||
"\n",
|
||
" birth_year games ... gk_passes_length_avg gk_goal_kicks \\\n",
|
||
"0 1997 0 ... 26.1 198 \n",
|
||
"1 1994 0 ... 32.2 198 \n",
|
||
"2 1996 0 ... 33.8 170 \n",
|
||
"3 1990 0 ... 33.5 153 \n",
|
||
"4 1995 0 ... 42.1 282 \n",
|
||
".. ... ... ... ... ... \n",
|
||
"538 1998 2 ... 0.0 0 \n",
|
||
"539 2003 9 ... 0.0 0 \n",
|
||
"540 2003 6 ... 0.0 0 \n",
|
||
"541 2001 4 ... 0.0 0 \n",
|
||
"542 0 0 ... 0.0 0 \n",
|
||
"\n",
|
||
" gk_pct_goal_kicks_launched gk_goal_kick_length_avg gk_crosses \\\n",
|
||
"0 20.2 26.9 335 \n",
|
||
"1 33.3 33.2 493 \n",
|
||
"2 50.0 42.9 606 \n",
|
||
"3 43.1 38.3 389 \n",
|
||
"4 79.1 53.5 534 \n",
|
||
".. ... ... ... \n",
|
||
"538 0.0 0.0 0 \n",
|
||
"539 0.0 0.0 0 \n",
|
||
"540 0.0 0.0 0 \n",
|
||
"541 0.0 0.0 0 \n",
|
||
"542 0.0 0.0 0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped gk_crosses_stopped_pct \\\n",
|
||
"0 11 3.3 \n",
|
||
"1 21 4.3 \n",
|
||
"2 34 5.6 \n",
|
||
"3 11 2.8 \n",
|
||
"4 23 4.3 \n",
|
||
".. ... ... \n",
|
||
"538 0 0.0 \n",
|
||
"539 0 0.0 \n",
|
||
"540 0 0.0 \n",
|
||
"541 0 0.0 \n",
|
||
"542 0 0.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area gk_def_actions_outside_pen_area_per90 \\\n",
|
||
"0 39 1.15 \n",
|
||
"1 55 1.45 \n",
|
||
"2 22 0.71 \n",
|
||
"3 21 0.76 \n",
|
||
"4 42 1.11 \n",
|
||
".. ... ... \n",
|
||
"538 0 0.00 \n",
|
||
"539 0 0.00 \n",
|
||
"540 0 0.00 \n",
|
||
"541 0 0.00 \n",
|
||
"542 0 0.00 \n",
|
||
"\n",
|
||
" gk_avg_distance_def_actions \n",
|
||
"0 17.0 \n",
|
||
"1 16.5 \n",
|
||
"2 11.5 \n",
|
||
"3 14.7 \n",
|
||
"4 14.1 \n",
|
||
".. ... \n",
|
||
"538 0.0 \n",
|
||
"539 0.0 \n",
|
||
"540 0.0 \n",
|
||
"541 0.0 \n",
|
||
"542 0.0 \n",
|
||
"\n",
|
||
"[543 rows x 158 columns]"
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "5c502f5e",
|
||
"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>vote_avg</th>\n",
|
||
" <th>vote_std</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>6.176471</td>\n",
|
||
" <td>0.400043</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>6.263158</td>\n",
|
||
" <td>0.409378</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>6.403226</td>\n",
|
||
" <td>0.447562</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>6.107143</td>\n",
|
||
" <td>0.309295</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>6.250000</td>\n",
|
||
" <td>0.547122</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>538</th>\n",
|
||
" <td>5.871240</td>\n",
|
||
" <td>0.394770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>6.132748</td>\n",
|
||
" <td>0.474211</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>5.722482</td>\n",
|
||
" <td>0.229188</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6.357731</td>\n",
|
||
" <td>0.405367</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6.006617</td>\n",
|
||
" <td>0.274006</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" vote_avg vote_std\n",
|
||
"0 6.176471 0.400043\n",
|
||
"1 6.263158 0.409378\n",
|
||
"2 6.403226 0.447562\n",
|
||
"3 6.107143 0.309295\n",
|
||
"4 6.250000 0.547122\n",
|
||
".. ... ...\n",
|
||
"538 5.871240 0.394770\n",
|
||
"539 6.132748 0.474211\n",
|
||
"540 5.722482 0.229188\n",
|
||
"541 6.357731 0.405367\n",
|
||
"542 6.006617 0.274006\n",
|
||
"\n",
|
||
"[543 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"votes = pd.read_excel('mid_outputs/season' + season + '/players_votes.xlsx', index_col = 0)\n",
|
||
"\n",
|
||
"mean_def = 6\n",
|
||
"std_def = 0.58\n",
|
||
"\n",
|
||
"mean_def_P = 6.22\n",
|
||
"std_def_P = 0.43\n",
|
||
"\n",
|
||
"\n",
|
||
"min_votes = 6\n",
|
||
"\n",
|
||
"\n",
|
||
"perf_df = pd.DataFrame(columns = ['vote_avg', 'vote_std'])\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" v = np.array([])\n",
|
||
" for j in range(votes.shape[0]):\n",
|
||
" if(fc_players['name'][i] == votes['player'][j]):\n",
|
||
" v = np.append(v, votes['vote'][j])\n",
|
||
" \n",
|
||
" if(fc_players['r'][i] == 'P'):\n",
|
||
" mean_def_i = mean_def_P\n",
|
||
" std_def_i = std_def_P\n",
|
||
" \n",
|
||
" if(v.shape[0] < min_votes):\n",
|
||
" for k in range(min_votes - v.shape[0]):\n",
|
||
" v = np.append( v, np.random.normal(mean_def_i, std_def_i) )\n",
|
||
" \n",
|
||
" row_df = pd.DataFrame(data = [[np.mean(v), np.std(v)]], columns = perf_df.columns)\n",
|
||
" perf_df = pd.concat([perf_df, row_df], ignore_index = True)\n",
|
||
" \n",
|
||
"perf_df\n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "9e1bc63b",
|
||
"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>id</th>\n",
|
||
" <th>r</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>initial</th>\n",
|
||
" <th>fb_ID</th>\n",
|
||
" <th>age</th>\n",
|
||
" <th>birth_year</th>\n",
|
||
" <th>games</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>gk_pct_goal_kicks_launched</th>\n",
|
||
" <th>gk_goal_kick_length_avg</th>\n",
|
||
" <th>gk_crosses</th>\n",
|
||
" <th>gk_crosses_stopped</th>\n",
|
||
" <th>gk_crosses_stopped_pct</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area_per90</th>\n",
|
||
" <th>gk_avg_distance_def_actions</th>\n",
|
||
" <th>vote_avg</th>\n",
|
||
" <th>vote_std</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>572</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>20.2</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>335</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>3.3</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1.15</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>6.176471</td>\n",
|
||
" <td>0.400043</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2814</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>632</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>493</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>55</td>\n",
|
||
" <td>1.45</td>\n",
|
||
" <td>16.5</td>\n",
|
||
" <td>6.263158</td>\n",
|
||
" <td>0.409378</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>4964</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td></td>\n",
|
||
" <td>649</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>606</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>0.71</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" <td>6.403226</td>\n",
|
||
" <td>0.447562</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>453</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td></td>\n",
|
||
" <td>644</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>38.3</td>\n",
|
||
" <td>389</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>2.8</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>0.76</td>\n",
|
||
" <td>14.7</td>\n",
|
||
" <td>6.107143</td>\n",
|
||
" <td>0.309295</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2134</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td></td>\n",
|
||
" <td>612</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>79.1</td>\n",
|
||
" <td>53.5</td>\n",
|
||
" <td>534</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>1.11</td>\n",
|
||
" <td>14.1</td>\n",
|
||
" <td>6.250000</td>\n",
|
||
" <td>0.547122</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>538</th>\n",
|
||
" <td>5512</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>De Luca</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Luca</td>\n",
|
||
" <td></td>\n",
|
||
" <td>151</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1998</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5.871240</td>\n",
|
||
" <td>0.394770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>5837</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Voelkerling Persson</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Persson</td>\n",
|
||
" <td></td>\n",
|
||
" <td>565</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.132748</td>\n",
|
||
" <td>0.474211</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>6113</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td></td>\n",
|
||
" <td>365</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5.722482</td>\n",
|
||
" <td>0.229188</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6143</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td></td>\n",
|
||
" <td>288</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.357731</td>\n",
|
||
" <td>0.405367</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6160</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>-1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.006617</td>\n",
|
||
" <td>0.274006</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 160 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 572 P Meret Napoli Meret 620 25 \n",
|
||
"1 2814 P Provedel Lazio Provedel 632 28 \n",
|
||
"2 4964 P Vicario Empoli Vicario 649 25 \n",
|
||
"3 453 P Szczesny Juventus Szczesny 644 32 \n",
|
||
"4 2134 P Falcone Lecce Falcone 612 27 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"538 5512 A De Luca Sampdoria Luca 151 24 \n",
|
||
"539 5837 A Voelkerling Persson Lecce Persson 565 19 \n",
|
||
"540 6113 A Montevago Sampdoria Montevago 365 19 \n",
|
||
"541 6143 A Krollis Spezia Krollis 288 20 \n",
|
||
"542 6160 A Vivaldo Udinese Vivaldo -1 0 \n",
|
||
"\n",
|
||
" birth_year games ... gk_pct_goal_kicks_launched \\\n",
|
||
"0 1997 0 ... 20.2 \n",
|
||
"1 1994 0 ... 33.3 \n",
|
||
"2 1996 0 ... 50.0 \n",
|
||
"3 1990 0 ... 43.1 \n",
|
||
"4 1995 0 ... 79.1 \n",
|
||
".. ... ... ... ... \n",
|
||
"538 1998 2 ... 0.0 \n",
|
||
"539 2003 9 ... 0.0 \n",
|
||
"540 2003 6 ... 0.0 \n",
|
||
"541 2001 4 ... 0.0 \n",
|
||
"542 0 0 ... 0.0 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 26.9 335 11 \n",
|
||
"1 33.2 493 21 \n",
|
||
"2 42.9 606 34 \n",
|
||
"3 38.3 389 11 \n",
|
||
"4 53.5 534 23 \n",
|
||
".. ... ... ... \n",
|
||
"538 0.0 0 0 \n",
|
||
"539 0.0 0 0 \n",
|
||
"540 0.0 0 0 \n",
|
||
"541 0.0 0 0 \n",
|
||
"542 0.0 0 0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 3.3 39 \n",
|
||
"1 4.3 55 \n",
|
||
"2 5.6 22 \n",
|
||
"3 2.8 21 \n",
|
||
"4 4.3 42 \n",
|
||
".. ... ... \n",
|
||
"538 0.0 0 \n",
|
||
"539 0.0 0 \n",
|
||
"540 0.0 0 \n",
|
||
"541 0.0 0 \n",
|
||
"542 0.0 0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \\\n",
|
||
"0 1.15 17.0 \n",
|
||
"1 1.45 16.5 \n",
|
||
"2 0.71 11.5 \n",
|
||
"3 0.76 14.7 \n",
|
||
"4 1.11 14.1 \n",
|
||
".. ... ... \n",
|
||
"538 0.00 0.0 \n",
|
||
"539 0.00 0.0 \n",
|
||
"540 0.00 0.0 \n",
|
||
"541 0.00 0.0 \n",
|
||
"542 0.00 0.0 \n",
|
||
"\n",
|
||
" vote_avg vote_std \n",
|
||
"0 6.176471 0.400043 \n",
|
||
"1 6.263158 0.409378 \n",
|
||
"2 6.403226 0.447562 \n",
|
||
"3 6.107143 0.309295 \n",
|
||
"4 6.250000 0.547122 \n",
|
||
".. ... ... \n",
|
||
"538 5.871240 0.394770 \n",
|
||
"539 6.132748 0.474211 \n",
|
||
"540 5.722482 0.229188 \n",
|
||
"541 6.357731 0.405367 \n",
|
||
"542 6.006617 0.274006 \n",
|
||
"\n",
|
||
"[543 rows x 160 columns]"
|
||
]
|
||
},
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players = pd.concat([fc_players, perf_df], axis = 1)\n",
|
||
"\n",
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "494db0f4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Zoet, 0.8333333333333334\n",
|
||
"Pegolo, 0.33333333333333337\n",
|
||
"Gollini, 0.6666666666666667\n",
|
||
"Mirante, 0.16666666666666663\n",
|
||
"Sarr M., 0.33333333333333337\n",
|
||
"Lamanna, 0.0\n",
|
||
"Ujkani, 0.16666666666666663\n",
|
||
"Berisha, 0.0\n",
|
||
"Marchetti, 0.16666666666666663\n",
|
||
"Perilli, 0.16666666666666663\n",
|
||
"Padelli, 0.0\n",
|
||
"Bardi, 0.16666666666666663\n",
|
||
"Cordaz, 0.16666666666666663\n",
|
||
"Pinsoglio, 0.0\n",
|
||
"Fiorillo, 0.16666666666666663\n",
|
||
"Cragno, 0.16666666666666663\n",
|
||
"Sirigu, 0.16666666666666663\n",
|
||
"Cerofolini, 0.8333333333333334\n",
|
||
"Rossi F., 0.16666666666666663\n",
|
||
"Ravaglia F., 0.0\n",
|
||
"Brancolini, 0.0\n",
|
||
"Bleve, 0.0\n",
|
||
"Berardi A., 0.0\n",
|
||
"Russo A., 0.16666666666666663\n",
|
||
"Gemello, 0.0\n",
|
||
"Boer, 0.0\n",
|
||
"Adamonis, 0.0\n",
|
||
"Marfella, 0.0\n",
|
||
"Zovko, 0.16666666666666663\n",
|
||
"Piana, 0.0\n",
|
||
"Bagnolini, 0.0\n",
|
||
"Luis Maximiano, 0.16666666666666663\n",
|
||
"Svilar, 0.5\n",
|
||
"Sorrentino A., 0.0\n",
|
||
"Ciezkowski, 0.0\n",
|
||
"Saro, 0.0\n",
|
||
"Vasquez D., 0.0\n",
|
||
"Turk, 0.6666666666666667\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"min_gk_games = 6\n",
|
||
"\n",
|
||
"fc_players_newgk = fc_players.copy()\n",
|
||
"\n",
|
||
"columns_to_avg = fc_players.columns[123:] # from gk_games to end\n",
|
||
"\n",
|
||
"for i in range(fc_players.shape[0]):\n",
|
||
" if(fc_players['r'][i] == 'P'):\n",
|
||
" if(fc_players['gk_games'][i] < min_gk_games):\n",
|
||
" for j in range(fc_players.shape[0]):\n",
|
||
" if(fc_players['team'][i] == fc_players['team'][j] and fc_players['gk_games'][j] >= min_gk_games):\n",
|
||
" break\n",
|
||
" \n",
|
||
" weight = 1 - (min_gk_games - fc_players['gk_games'][i]) / min_gk_games\n",
|
||
" \n",
|
||
" fc_players_newgk.at[i, columns_to_avg] = fc_players.loc[i][columns_to_avg] * weight + (1 - weight) * fc_players.loc[j][columns_to_avg]\n",
|
||
" \n",
|
||
" print(fc_players['name'][i] + ', ' + str(weight))\n",
|
||
" \n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"id": "3d4eec07",
|
||
"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>id</th>\n",
|
||
" <th>r</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>team</th>\n",
|
||
" <th>surname</th>\n",
|
||
" <th>initial</th>\n",
|
||
" <th>fb_ID</th>\n",
|
||
" <th>age</th>\n",
|
||
" <th>birth_year</th>\n",
|
||
" <th>games</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>gk_pct_goal_kicks_launched</th>\n",
|
||
" <th>gk_goal_kick_length_avg</th>\n",
|
||
" <th>gk_crosses</th>\n",
|
||
" <th>gk_crosses_stopped</th>\n",
|
||
" <th>gk_crosses_stopped_pct</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area</th>\n",
|
||
" <th>gk_def_actions_outside_pen_area_per90</th>\n",
|
||
" <th>gk_avg_distance_def_actions</th>\n",
|
||
" <th>vote_avg</th>\n",
|
||
" <th>vote_std</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>572</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>Meret</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>20.2</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>335.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>3.3</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>1.15</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>6.176471</td>\n",
|
||
" <td>0.400043</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2814</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>Provedel</td>\n",
|
||
" <td></td>\n",
|
||
" <td>632</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.3</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>493.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>1.45</td>\n",
|
||
" <td>16.5</td>\n",
|
||
" <td>6.263158</td>\n",
|
||
" <td>0.409378</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>4964</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td>Empoli</td>\n",
|
||
" <td>Vicario</td>\n",
|
||
" <td></td>\n",
|
||
" <td>649</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>606.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>0.71</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" <td>6.403226</td>\n",
|
||
" <td>0.447562</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>453</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Szczesny</td>\n",
|
||
" <td></td>\n",
|
||
" <td>644</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>38.3</td>\n",
|
||
" <td>389.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>2.8</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.76</td>\n",
|
||
" <td>14.7</td>\n",
|
||
" <td>6.107143</td>\n",
|
||
" <td>0.309295</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2134</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Falcone</td>\n",
|
||
" <td></td>\n",
|
||
" <td>612</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>79.1</td>\n",
|
||
" <td>53.5</td>\n",
|
||
" <td>534.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>4.3</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>1.11</td>\n",
|
||
" <td>14.1</td>\n",
|
||
" <td>6.250000</td>\n",
|
||
" <td>0.547122</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>538</th>\n",
|
||
" <td>5512</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>De Luca</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Luca</td>\n",
|
||
" <td></td>\n",
|
||
" <td>151</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1998</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5.871240</td>\n",
|
||
" <td>0.394770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>539</th>\n",
|
||
" <td>5837</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Voelkerling Persson</td>\n",
|
||
" <td>Lecce</td>\n",
|
||
" <td>Persson</td>\n",
|
||
" <td></td>\n",
|
||
" <td>565</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.132748</td>\n",
|
||
" <td>0.474211</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>540</th>\n",
|
||
" <td>6113</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Montevago</td>\n",
|
||
" <td></td>\n",
|
||
" <td>365</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5.722482</td>\n",
|
||
" <td>0.229188</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>541</th>\n",
|
||
" <td>6143</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>Krollis</td>\n",
|
||
" <td></td>\n",
|
||
" <td>288</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.357731</td>\n",
|
||
" <td>0.405367</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>542</th>\n",
|
||
" <td>6160</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>Vivaldo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>-1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>6.006617</td>\n",
|
||
" <td>0.274006</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>543 rows × 160 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 572 P Meret Napoli Meret 620 25 \n",
|
||
"1 2814 P Provedel Lazio Provedel 632 28 \n",
|
||
"2 4964 P Vicario Empoli Vicario 649 25 \n",
|
||
"3 453 P Szczesny Juventus Szczesny 644 32 \n",
|
||
"4 2134 P Falcone Lecce Falcone 612 27 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"538 5512 A De Luca Sampdoria Luca 151 24 \n",
|
||
"539 5837 A Voelkerling Persson Lecce Persson 565 19 \n",
|
||
"540 6113 A Montevago Sampdoria Montevago 365 19 \n",
|
||
"541 6143 A Krollis Spezia Krollis 288 20 \n",
|
||
"542 6160 A Vivaldo Udinese Vivaldo -1 0 \n",
|
||
"\n",
|
||
" birth_year games ... gk_pct_goal_kicks_launched \\\n",
|
||
"0 1997 0 ... 20.2 \n",
|
||
"1 1994 0 ... 33.3 \n",
|
||
"2 1996 0 ... 50.0 \n",
|
||
"3 1990 0 ... 43.1 \n",
|
||
"4 1995 0 ... 79.1 \n",
|
||
".. ... ... ... ... \n",
|
||
"538 1998 2 ... 0.0 \n",
|
||
"539 2003 9 ... 0.0 \n",
|
||
"540 2003 6 ... 0.0 \n",
|
||
"541 2001 4 ... 0.0 \n",
|
||
"542 0 0 ... 0.0 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 26.9 335.0 11.0 \n",
|
||
"1 33.2 493.0 21.0 \n",
|
||
"2 42.9 606.0 34.0 \n",
|
||
"3 38.3 389.0 11.0 \n",
|
||
"4 53.5 534.0 23.0 \n",
|
||
".. ... ... ... \n",
|
||
"538 0.0 0.0 0.0 \n",
|
||
"539 0.0 0.0 0.0 \n",
|
||
"540 0.0 0.0 0.0 \n",
|
||
"541 0.0 0.0 0.0 \n",
|
||
"542 0.0 0.0 0.0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 3.3 39.0 \n",
|
||
"1 4.3 55.0 \n",
|
||
"2 5.6 22.0 \n",
|
||
"3 2.8 21.0 \n",
|
||
"4 4.3 42.0 \n",
|
||
".. ... ... \n",
|
||
"538 0.0 0.0 \n",
|
||
"539 0.0 0.0 \n",
|
||
"540 0.0 0.0 \n",
|
||
"541 0.0 0.0 \n",
|
||
"542 0.0 0.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \\\n",
|
||
"0 1.15 17.0 \n",
|
||
"1 1.45 16.5 \n",
|
||
"2 0.71 11.5 \n",
|
||
"3 0.76 14.7 \n",
|
||
"4 1.11 14.1 \n",
|
||
".. ... ... \n",
|
||
"538 0.00 0.0 \n",
|
||
"539 0.00 0.0 \n",
|
||
"540 0.00 0.0 \n",
|
||
"541 0.00 0.0 \n",
|
||
"542 0.00 0.0 \n",
|
||
"\n",
|
||
" vote_avg vote_std \n",
|
||
"0 6.176471 0.400043 \n",
|
||
"1 6.263158 0.409378 \n",
|
||
"2 6.403226 0.447562 \n",
|
||
"3 6.107143 0.309295 \n",
|
||
"4 6.250000 0.547122 \n",
|
||
".. ... ... \n",
|
||
"538 5.871240 0.394770 \n",
|
||
"539 6.132748 0.474211 \n",
|
||
"540 5.722482 0.229188 \n",
|
||
"541 6.357731 0.405367 \n",
|
||
"542 6.006617 0.274006 \n",
|
||
"\n",
|
||
"[543 rows x 160 columns]"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players = fc_players_newgk\n",
|
||
"\n",
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "8336c025",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"fc_players.to_excel('mid_outputs/season' + season + '/players_stats.xlsx')"
|
||
]
|
||
}
|
||
],
|
||
"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
|
||
}
|