8f7df5dd7f
- updated code for new FBRef stats; - updated players list; - players who changed team handled slightly better
4873 lines
213 KiB
Plaintext
4873 lines
213 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": 23,
|
||
"id": "b72a3c5e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"season = '2021'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"id": "7c65df92",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"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": 26,
|
||
"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>Gennaro Acampora</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Francesco Acerbi</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Andrea Adorante</td>\n",
|
||
" <td>Parma</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Lucien Agoume</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Kevin Agudelo</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>665</th>\n",
|
||
" <td>Ciprian Tătărușanu</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>666</th>\n",
|
||
" <td>Pietro Terracciano</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>667</th>\n",
|
||
" <td>Samir Ujkani</td>\n",
|
||
" <td>Torino</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>668</th>\n",
|
||
" <td>Guglielmo Vicario</td>\n",
|
||
" <td>Cagliari</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>669</th>\n",
|
||
" <td>Jeroen Zoet</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>670 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" player team\n",
|
||
"0 Gennaro Acampora Spezia\n",
|
||
"1 Francesco Acerbi Lazio\n",
|
||
"2 Andrea Adorante Parma\n",
|
||
"3 Lucien Agoume Spezia\n",
|
||
"4 Kevin Agudelo Spezia\n",
|
||
".. ... ...\n",
|
||
"665 Ciprian Tătărușanu Milan\n",
|
||
"666 Pietro Terracciano Fiorentina\n",
|
||
"667 Samir Ujkani Torino\n",
|
||
"668 Guglielmo Vicario Cagliari\n",
|
||
"669 Jeroen Zoet Spezia\n",
|
||
"\n",
|
||
"[670 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"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": 27,
|
||
"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": 28,
|
||
"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": 29,
|
||
"id": "ffd6091c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" player surname\n",
|
||
"0 Gennaro Acampora Acampora\n",
|
||
"1 Francesco Acerbi Acerbi\n",
|
||
"2 Andrea Adorante Adorante\n",
|
||
"3 Lucien Agoume Agoume\n",
|
||
"4 Kevin Agudelo Agudelo\n",
|
||
"5 Jean-Daniel Akpa-Akpro Akpa-Akpro\n",
|
||
"6 Luis Alberto Alberto\n",
|
||
"7 Bruno Alves Alves\n",
|
||
"8 Wisdom Amey Amey\n",
|
||
"9 Sofyan Amrabat Amrabat\n",
|
||
"10 Djavan Anderson Anderson\n",
|
||
"11 Nícolas Andrade Andrade\n",
|
||
"12 Davide Angelo Ghislandi Ghislandi\n",
|
||
"13 Philip Ankhrah Ankhrah\n",
|
||
"14 Cristian Ansaldi Ansaldi\n",
|
||
"15 Valentin Antov Antov\n",
|
||
"16 Nicolò Armini Armini\n",
|
||
"17 Tolgay Arslan Arslan\n",
|
||
"18 Kwadwo Asamoah Asamoah\n",
|
||
"19 Kristoffer Askildsen Askildsen\n",
|
||
"20 Emil Audero Audero\n",
|
||
"21 Tommaso Augello Augello\n",
|
||
"22 Kaan Ayhan Ayhan\n",
|
||
"23 Milan Badelj Badelj\n",
|
||
"24 Tiemoué Bakayoko Bakayoko\n",
|
||
"25 Keita Baldé Balde\n",
|
||
"26 Botond Balogh Balogh\n",
|
||
"27 Mattia Bani Bani\n",
|
||
"28 Mattia Bani Bani\n",
|
||
"29 Antonín Barák Barak\n",
|
||
"30 Federico Barba Barba\n",
|
||
"31 Nicolò Barella Barella\n",
|
||
"32 Antonio Barreca Barreca\n",
|
||
"33 Musa Barrow Barrow\n",
|
||
"34 Paolo Bartolomei Bartolomei\n",
|
||
"35 Daniele Baselli Baselli\n",
|
||
"36 Alessandro Bastoni Bastoni\n",
|
||
"37 Simone Bastoni Bastoni\n",
|
||
"38 Bastos Bastos\n",
|
||
"39 Rodrigo Becão Becao\n",
|
||
"40 Valon Behrami Behrami\n",
|
||
"41 Andrea Belotti Belotti\n",
|
||
"42 Ahmad Benali Benali\n",
|
||
"43 Ismaël Bennacer Bennacer\n",
|
||
"44 Rodrigo Bentancur Bentancur\n",
|
||
"45 Alessandro Berardi Berardi\n",
|
||
"46 Domenico Berardi Berardi\n",
|
||
"47 Álex Berenguer Berenguer\n",
|
||
"48 Bartosz Bereszyński Bereszynski\n",
|
||
"49 Federico Bernardeschi Bernardeschi\n",
|
||
"50 Marco Bertini Bertini\n",
|
||
"51 Daniel Bessa Bessa\n",
|
||
"52 Cristiano Biraghi Biraghi\n",
|
||
"53 Davide Biraschi Biraschi\n",
|
||
"54 Jeremie Boga Boga\n",
|
||
"55 Giacomo Bonaventura Bonaventura\n",
|
||
"56 Federico Bonazzoli Bonazzoli\n",
|
||
"57 Federico Bonazzoli Bonazzoli\n",
|
||
"58 Kevin Bonifazi Bonifazi\n",
|
||
"59 Leonardo Bonucci Bonucci\n",
|
||
"60 Mehdi Bourabia Bourabia\n",
|
||
"61 Edoardo Bove Bove\n",
|
||
"62 Jayden Braaf Braaf\n",
|
||
"63 Gleison Bremer Bremer\n",
|
||
"64 Marcelo Brozović Brozovic\n",
|
||
"65 Gastón Brugman Brugman\n",
|
||
"66 Juan Brunetta Brunetta\n",
|
||
"67 Gianluigi Buffon Buffon\n",
|
||
"68 Alessandro Buongiorno Buongiorno\n",
|
||
"69 Maxime Busi Busi\n",
|
||
"70 Martín Cáceres Caceres\n",
|
||
"71 Felipe Caicedo Caicedo\n",
|
||
"72 Arturo Calabresi Calabresi\n",
|
||
"73 Arturo Calabresi Calabresi\n",
|
||
"74 Davide Calabria Calabria\n",
|
||
"75 Riccardo Calafiori Calafiori\n",
|
||
"76 Mattia Caldara Caldara\n",
|
||
"77 Luca Caldirola Caldirola\n",
|
||
"78 Hakan Çalhanoğlu Calhanoglu\n",
|
||
"79 Fabrizio Caligara Caligara\n",
|
||
"80 José Callejón Callejon\n",
|
||
"81 Drissa Camara Camara\n",
|
||
"82 Antonio Candreva Candreva\n",
|
||
"83 Elio Capradossi Capradossi\n",
|
||
"84 Gianluca Caprari Caprari\n",
|
||
"85 Francesco Caputo Caputo\n",
|
||
"86 Andrea Carboni Carboni\n",
|
||
"87 Giuseppe Caso Caso\n",
|
||
"88 Francesco Cassata Cassata\n",
|
||
"89 Samu Castillejo Castillejo\n",
|
||
"90 Gaetano Castrovilli Castrovilli\n",
|
||
"91 Danilo Cataldi Cataldi\n",
|
||
"92 Federico Ceccherini Ceccherini\n",
|
||
"93 Federico Ceccherini Ceccherini\n",
|
||
"94 Luca Ceppitelli Ceppitelli\n",
|
||
"95 Alberto Cerri Cerri\n",
|
||
"96 Julian Chabot Chabot\n",
|
||
"97 Giorgio Chiellini Chiellini\n",
|
||
"98 Federico Chiesa Chiesa\n",
|
||
"99 Federico Chiesa Chiesa\n",
|
||
"100 Vlad Chiricheș Chiriches\n",
|
||
"101 Luca Cigarini Cigarini\n",
|
||
"102 Antonio Cioffi Cioffi\n",
|
||
"103 Ebrima Colley Colley\n",
|
||
"104 Omar Colley Colley\n",
|
||
"105 Simone Colombi Colombi\n",
|
||
"106 Lorenzo Colombo Colombo\n",
|
||
"107 Andrea Consigli Consigli\n",
|
||
"108 Andrea Conti Conti\n",
|
||
"109 Andrea Conti Conti\n",
|
||
"110 Alex Cordaz Cordaz\n",
|
||
"111 Andreas Cornelius Cornelius\n",
|
||
"112 Joaquín Correa Correa\n",
|
||
"113 Félix Correia Correia\n",
|
||
"114 Douglas Costa Costa\n",
|
||
"115 Angelo da Costa Júnior Junior\n",
|
||
"116 Mamadou Coulibaly Coulibaly\n",
|
||
"117 Alessio Cragno Cragno\n",
|
||
"118 Gian Crespi Crespi\n",
|
||
"119 Domenico Criscito Criscito\n",
|
||
"120 Bryan Cristante Cristante\n",
|
||
"121 Giovanni Crociata Crociata\n",
|
||
"122 Juan Cuadrado Cuadrado\n",
|
||
"123 Giuseppe Cuomo Cuomo\n",
|
||
"124 Patrick Cutrone Cutrone\n",
|
||
"125 Wylan Cyprien Cyprien\n",
|
||
"126 Lennart-Marten Czyborra Czyborra\n",
|
||
"127 Danilo D'Ambrosio DAmbrosio\n",
|
||
"128 Bryan Dabo Dabo\n",
|
||
"129 Diogo Dalot Dalot\n",
|
||
"130 Mikkel Damsgaard Damsgaard\n",
|
||
"131 Danilo Danilo\n",
|
||
"132 Andrea Danzi Danzi\n",
|
||
"133 Ebrima Darboe Darboe\n",
|
||
"134 Matteo Darmian Darmian\n",
|
||
"135 Matteo Darmian Darmian\n",
|
||
"136 Paweł Dawidowicz Dawidowicz\n",
|
||
"137 Sebastien De Maio Maio\n",
|
||
"138 Rodrigo De Paul Paul\n",
|
||
"139 Mattia De Sciglio Sciglio\n",
|
||
"140 Lorenzo De Silvestri Silvestri\n",
|
||
"141 Grégoire Defrel Defrel\n",
|
||
"142 Alessandro Deiola Deiola\n",
|
||
"143 Alessandro Deiola Deiola\n",
|
||
"144 Lorenzo Del Pinto Pinto\n",
|
||
"145 Cristian Dell'Orco DellOrco\n",
|
||
"146 Merih Demiral Demiral\n",
|
||
"147 Diego Demme Demme\n",
|
||
"148 Stefano Denswil Denswil\n",
|
||
"149 Fabio Depaoli Depaoli\n",
|
||
"150 Fabio Depaoli Depaoli\n",
|
||
"151 Fabio Depaoli Depaoli\n",
|
||
"152 Kastriot Dermaku Dermaku\n",
|
||
"153 Kiril Despodov Despodov\n",
|
||
"154 Mattia Destro Destro\n",
|
||
"155 Gerard Deulofeu Deulofeu\n",
|
||
"156 Jacopo Dezi Dezi\n",
|
||
"157 Samuel Di Carmine Carmine\n",
|
||
"158 Samuel Di Carmine Carmine\n",
|
||
"159 Giovanni Di Lorenzo Lorenzo\n",
|
||
"160 Alessandro Di Pardo Pardo\n",
|
||
"161 Giuseppe Di Serio Serio\n",
|
||
"162 Amad Diallo Diallo\n",
|
||
"163 Amadou Diambo Diambo\n",
|
||
"164 Amadou Diawara Diawara\n",
|
||
"165 Brahim Díaz Diaz\n",
|
||
"166 Daan Dierckx Dierckx\n",
|
||
"167 Mitchell Dijks Dijks\n",
|
||
"168 Federico Dimarco Dimarco\n",
|
||
"169 Koffi Djidji Djidji\n",
|
||
"170 Berat Djimsiti Djimsiti\n",
|
||
"171 Nicolás Domínguez Dominguez\n",
|
||
"172 Gianluigi Donnarumma Donnarumma\n",
|
||
"173 Bartłomiej Drągowski Dragowski\n",
|
||
"174 Denis Drăguș Dragus\n",
|
||
"175 Radu Drăgușin Dragusin\n",
|
||
"176 Léo Duarte Duarte\n",
|
||
"177 Alfred Duncan Duncan\n",
|
||
"178 Alfred Duncan Duncan\n",
|
||
"179 Paulo Dybala Dybala\n",
|
||
"180 Edin Džeko Dzeko\n",
|
||
"181 Steeve-Mike Ebongue Ebongue\n",
|
||
"182 Simone Edera Edera\n",
|
||
"183 Albin Ekdal Ekdal\n",
|
||
"184 Elif Elmas Elmas\n",
|
||
"185 Alan Empereur Empereur\n",
|
||
"186 Christian Eriksen Eriksen\n",
|
||
"187 Martin Erlic Erlic\n",
|
||
"188 Gonzalo Escalante Escalante\n",
|
||
"189 Nahuel Estévez Estevez\n",
|
||
"190 Valentin Eysseric Eysseric\n",
|
||
"191 Nicolò Fagioli Fagioli\n",
|
||
"192 Iago Falque Falque\n",
|
||
"193 Andri Fannar Baldursson Baldursson\n",
|
||
"194 Paolo Faragò Farago\n",
|
||
"195 Paolo Faragò Farago\n",
|
||
"196 Davide Faraoni Faraoni\n",
|
||
"197 Mohamed Fares Fares\n",
|
||
"198 Diego Farias Farias\n",
|
||
"199 Andrea Favilli Favilli\n",
|
||
"200 Federico Fazio Fazio\n",
|
||
"201 Luiz Felipe Felipe\n",
|
||
"202 Alex Ferrari Ferrari\n",
|
||
"203 Salvador Ferrer Ferrer\n",
|
||
"204 Marco Festa Festa\n",
|
||
"205 Fernando Forestieri Forestieri\n",
|
||
"206 Daam Foulon Foulon\n",
|
||
"207 Gianluca Frabotta Frabotta\n",
|
||
"208 Remo Freuler Freuler\n",
|
||
"209 Daniel Fuzato Fuzato\n",
|
||
"210 Matteo Gabbia Gabbia\n",
|
||
"211 Manolo Gabbiadini Gabbiadini\n",
|
||
"212 Roberto Gagliardini Gagliardini\n",
|
||
"213 Riccardo Gagliolo Gagliolo\n",
|
||
"214 Adolfo Gaich Gaich\n",
|
||
"215 Andrey Galabinov Galabinov\n",
|
||
"216 Manuel Gasparini Gasparini\n",
|
||
"217 Gervinho Gervinho\n",
|
||
"218 Paolo Ghiglione Ghiglione\n",
|
||
"219 Faouzi Ghoulam Ghoulam\n",
|
||
"220 Kamil Glik Glik\n",
|
||
"221 Diego Godín Godin\n",
|
||
"222 Amer Gojak Gojak\n",
|
||
"223 Edoardo Goldaniga Goldaniga\n",
|
||
"224 Vladimir Golemić Golemic\n",
|
||
"225 Pierluigi Gollini Gollini\n",
|
||
"226 Tomislav Gomelt Gomelt\n",
|
||
"227 Papu Gómez Gomez\n",
|
||
"228 Robin Gosens Gosens\n",
|
||
"229 Alberto Grassi Grassi\n",
|
||
"230 Koray Günter Gunter\n",
|
||
"231 Manu Gyabuaa Gyabuaa\n",
|
||
"232 Emmanuel Gyasi Gyasi\n",
|
||
"233 Achraf Hakimi Hakimi\n",
|
||
"234 Samir Handanović Handanovic\n",
|
||
"235 Lukáš Haraslín Haraslin\n",
|
||
"236 Hans Hateboer Hateboer\n",
|
||
"237 Eduardo Henrique Henrique\n",
|
||
"238 Theo Hernández Hernandez\n",
|
||
"239 Hernani Hernani\n",
|
||
"240 Përparim Hetemaj Hetemaj\n",
|
||
"241 Aaron Hickey Hickey\n",
|
||
"242 Wesley Hoedt Hoedt\n",
|
||
"243 Elseid Hysaj Hysaj\n",
|
||
"244 Simone Iacoponi Iacoponi\n",
|
||
"245 Roger Ibanez Ibanez\n",
|
||
"246 Zlatan Ibrahimović Ibrahimovic\n",
|
||
"247 Igor Igor\n",
|
||
"248 Ivan Ilić Ilic\n",
|
||
"249 Josip Iličić Ilicic\n",
|
||
"250 Ciro Immobile Immobile\n",
|
||
"251 Riccardo Improta Improta\n",
|
||
"252 Roberto Inglese Inglese\n",
|
||
"253 Lorenzo Insigne Insigne\n",
|
||
"254 Roberto Insigne Insigne\n",
|
||
"255 Artur Ioniță Ionita\n",
|
||
"256 Ardian Ismajli Ismajli\n",
|
||
"257 Armando Izzo Izzo\n",
|
||
"258 Mato Jajalo Jajalo\n",
|
||
"259 Jakub Jankto Jankto\n",
|
||
"260 Juan Jesus Jesus\n",
|
||
"261 Hamed Junior Traorè Traore\n",
|
||
"262 Musa Juwara Juwara\n",
|
||
"263 Nikola Kalinić Kalinic\n",
|
||
"264 Yayah Kallon Kallon\n",
|
||
"265 Pierre Kalulu Kalulu\n",
|
||
"266 Yann Karamoh Karamoh\n",
|
||
"267 Isaac Karamoko Karamoko\n",
|
||
"268 Augustus Kargbo Kargbo\n",
|
||
"269 Rick Karsdorp Karsdorp\n",
|
||
"270 Franck Kessié Kessie\n",
|
||
"271 Omar Khailoti Khailoti\n",
|
||
"272 Simon Kjær Kjr\n",
|
||
"273 Ragnar Klavan Klavan\n",
|
||
"274 Justin Kluivert Kluivert\n",
|
||
"275 Aleksandr Kokorin Kokorin\n",
|
||
"276 Aleksandar Kolarov Kolarov\n",
|
||
"277 Márk Kosznovszky Kosznovszky\n",
|
||
"278 Christian Kouamé Kouame\n",
|
||
"279 Kalidou Koulibaly Koulibaly\n",
|
||
"280 Viktor Kovalenko Kovalenko\n",
|
||
"281 Rade Krunić Krunic\n",
|
||
"282 Juraj Kucka Kucka\n",
|
||
"283 Dejan Kulusevski Kulusevski\n",
|
||
"284 Marash Kumbulla Kumbulla\n",
|
||
"285 Jasmin Kurtić Kurtic\n",
|
||
"286 Giorgos Kyriakopoulos Kyriakopoulos\n",
|
||
"287 Antonino La Gumina Gumina\n",
|
||
"288 Sam Lammers Lammers\n",
|
||
"289 Gianluca Lapadula Lapadula\n",
|
||
"290 Danilo Larangeira Larangeira\n",
|
||
"291 Kevin Lasagna Lasagna\n",
|
||
"292 Kevin Lasagna Lasagna\n",
|
||
"293 Vincent Laurini Laurini\n",
|
||
"294 Darko Lazović Lazovic\n",
|
||
"295 Manuel Lazzari Lazzari\n",
|
||
"296 Rafael Leão Leao\n",
|
||
"297 Lucas Leiva Leiva\n",
|
||
"298 Lukas Lerager Lerager\n",
|
||
"299 Mehdi Léris Leris\n",
|
||
"300 Karlo Letica Letica\n",
|
||
"301 Gaetano Letizia Letizia\n",
|
||
"302 Matthijs de Ligt Ligt\n",
|
||
"303 Karol Linetty Linetty\n",
|
||
"304 Pol Lirola Lirola\n",
|
||
"305 Fernando Llorente Llorente\n",
|
||
"306 Fernando Llorente Llorente\n",
|
||
"307 Stanislav Lobotka Lobotka\n",
|
||
"308 Manuel Locatelli Locatelli\n",
|
||
"309 Maxime Lopez Lopez\n",
|
||
"310 Pau López Lopez\n",
|
||
"311 Matteo Lovato Lovato\n",
|
||
"312 Hirving Lozano Lozano\n",
|
||
"313 José Luis Palomino Palomino\n",
|
||
"314 Romelu Lukaku Lukaku\n",
|
||
"315 Saša Lukić Lukic\n",
|
||
"316 Senad Lulić Lulic\n",
|
||
"317 Sebastiano Luperto Luperto\n",
|
||
"318 Lyanco Lyanco\n",
|
||
"319 Charalambos Lykogiannis Lykogiannis\n",
|
||
"320 Lisandro Magallán Magallan\n",
|
||
"321 Christian Maggio Maggio\n",
|
||
"322 Giulio Maggiore Maggiore\n",
|
||
"323 Francesco Magnanelli Magnanelli\n",
|
||
"324 Giangiacomo Magnani Magnani\n",
|
||
"325 Jean-Victor Makengo Makengo\n",
|
||
"326 Nikola Maksimović Maksimovic\n",
|
||
"327 Kévin Malcuit Malcuit\n",
|
||
"328 Kévin Malcuit Malcuit\n",
|
||
"329 Daniel Maldini Maldini\n",
|
||
"330 Ruslan Malinovskyi Malinovskyi\n",
|
||
"331 Dennis Man Man\n",
|
||
"332 Gianluca Mancini Mancini\n",
|
||
"333 Rolando Mandragora Mandragora\n",
|
||
"334 Rolando Mandragora Mandragora\n",
|
||
"335 Mario Mandžukić Mandzukic\n",
|
||
"336 Niccolò Manfredini Manfredini\n",
|
||
"337 Kostas Manolas Manolas\n",
|
||
"338 Juan Manuel Ramos Ramos\n",
|
||
"339 Federico Marchetti Marchetti\n",
|
||
"340 Riccardo Marchizza Marchizza\n",
|
||
"341 Gian Marco Ferrari Ferrari\n",
|
||
"342 Răzvan Marin Marin\n",
|
||
"343 Marlon Marlon\n",
|
||
"344 Luca Marrone Marrone\n",
|
||
"345 Lautaro Martínez Martinez\n",
|
||
"346 Lucas Martínez Quarta Quarta\n",
|
||
"347 Adam Marušić Marusic\n",
|
||
"348 Andrea Masiello Masiello\n",
|
||
"349 Giuseppe Mastinu Mastinu\n",
|
||
"350 Ryder Matos Matos\n",
|
||
"351 Federico Mattiello Mattiello\n",
|
||
"352 Borja Mayoral Mayoral\n",
|
||
"353 Antonio Mazzotta Mazzotta\n",
|
||
"354 Ibrahima Mbaye Mbaye\n",
|
||
"355 Weston McKennie McKennie\n",
|
||
"356 Gary Medel Medel\n",
|
||
"357 Soualiho Meïté Meite\n",
|
||
"358 Soualiho Meïté Meite\n",
|
||
"359 Filippo Melegoni Melegoni\n",
|
||
"360 Arthur Melo Melo\n",
|
||
"361 Alex Meret Meret\n",
|
||
"362 Yıldırım Mert Çetin Cetin\n",
|
||
"363 Dries Mertens Mertens\n",
|
||
"364 Junior Messias Messias\n",
|
||
"365 Petar Mićin Micin\n",
|
||
"366 Valentin Mihaila Mihaila\n",
|
||
"367 Nikola Milenković Milenkovic\n",
|
||
"368 Sergej Milinković-Savić Milinkovic-Savic\n",
|
||
"369 Vanja Milinković-Savić Milinkovic-Savic\n",
|
||
"370 Vincenzo Millico Millico\n",
|
||
"371 Aleksei Miranchuk Miranchuk\n",
|
||
"372 Antonio Mirante Mirante\n",
|
||
"373 Henrikh Mkhitaryan Mkhitaryan\n",
|
||
"374 Johan Mojica Mojica\n",
|
||
"375 Nahuel Molina Molina\n",
|
||
"376 Salvatore Molina Molina\n",
|
||
"377 Gabriele Moncini Moncini\n",
|
||
"378 Cristóbal Montiel Montiel\n",
|
||
"379 Lorenzo Montipò Montipo\n",
|
||
"380 Luca Mora Mora\n",
|
||
"381 Álvaro Morata Morata\n",
|
||
"382 Raúl Moro Moro\n",
|
||
"383 Mert Müldür Muldur\n",
|
||
"384 Luis Muriel Muriel\n",
|
||
"385 Vedat Muriqi Muriqi\n",
|
||
"386 Nicola Murru Murru\n",
|
||
"387 Mateo Musacchio Musacchio\n",
|
||
"388 Mateo Musacchio Musacchio\n",
|
||
"389 Juan Musso Musso\n",
|
||
"390 Joakim Mæhle Mhle\n",
|
||
"391 Radja Nainggolan Nainggolan\n",
|
||
"392 Radja Nainggolan Nainggolan\n",
|
||
"393 Nahitan Nández Nandez\n",
|
||
"394 Ilija Nestorovski Nestorovski\n",
|
||
"395 Nicolas Nkoulou Nkoulou\n",
|
||
"396 Bram Nuytinck Nuytinck\n",
|
||
"397 Simeon Nwankwo Nwankwo\n",
|
||
"398 M'Bala Nzola Nzola\n",
|
||
"399 Pedro Obiang Obiang\n",
|
||
"400 Brian Oddei Oddei\n",
|
||
"401 Stefano Okaka Okaka\n",
|
||
"402 Christian Oliva Oliva\n",
|
||
"403 Maximiliano Olivera Olivera\n",
|
||
"404 Jérôme Onguéné Onguene\n",
|
||
"405 Riccardo Orsolini Orsolini\n",
|
||
"406 Victor Osimhen Osimhen\n",
|
||
"407 Yordan Osorio Osorio\n",
|
||
"408 David Ospina Ospina\n",
|
||
"409 Adam Ounas Ounas\n",
|
||
"410 Adam Ounas Ounas\n",
|
||
"411 Thomas Ouwejan Ouwejan\n",
|
||
"412 Daniele Padelli Padelli\n",
|
||
"413 Mattia Pagliuca Pagliuca\n",
|
||
"414 Rodrigo Palacio Palacio\n",
|
||
"415 Alberto Paleari Paleari\n",
|
||
"416 Antonio Palumbo Palumbo\n",
|
||
"417 Martin Palumbo Palumbo\n",
|
||
"418 Goran Pandev Pandev\n",
|
||
"419 Ivor Pandur Pandur\n",
|
||
"420 Vittorio Parigini Parigini\n",
|
||
"421 Marco Parolo Parolo\n",
|
||
"422 Mario Pašalić Pasalic\n",
|
||
"423 Christian Pastina Pastina\n",
|
||
"424 Javier Pastore Pastore\n",
|
||
"425 Patric Patric\n",
|
||
"426 Leonardo Pavoletti Pavoletti\n",
|
||
"427 Nehuén Paz Paz\n",
|
||
"428 Pedro Pedro\n",
|
||
"429 João Pedro Pedro\n",
|
||
"430 Gianluca Pegolo Pegolo\n",
|
||
"431 Graziano Pellè Pelle\n",
|
||
"432 Lorenzo Pellegrini Pellegrini\n",
|
||
"433 Luca Pellegrini Pellegrini\n",
|
||
"434 Federico Peluso Peluso\n",
|
||
"435 Andreas Pereira Pereira\n",
|
||
"436 Pedro Pereira Pereira\n",
|
||
"437 Gastón Pereiro Pereiro\n",
|
||
"438 Bruno Peres Peres\n",
|
||
"439 Roberto Pereyra Pereyra\n",
|
||
"440 Carles Pérez Perez\n",
|
||
"441 Mattia Perin Perin\n",
|
||
"442 Ivan Perišić Perisic\n",
|
||
"443 Matteo Pessina Pessina\n",
|
||
"444 Andrea Petagna Petagna\n",
|
||
"445 Jacopo Petriccione Petriccione\n",
|
||
"446 Jens Petter Hauge Hauge\n",
|
||
"447 Germán Pezzella Pezzella\n",
|
||
"448 Giuseppe Pezzella Pezzella\n",
|
||
"449 Cristiano Piccini Piccini\n",
|
||
"450 Roberto Piccoli Piccoli\n",
|
||
"451 Andrea Pinamonti Pinamonti\n",
|
||
"452 Carlo Pinsoglio Pinsoglio\n",
|
||
"453 Fabio Pisacane Pisacane\n",
|
||
"454 Marko Pjaca Pjaca\n",
|
||
"455 Tommaso Pobega Pobega\n",
|
||
"456 Andrea Poli Poli\n",
|
||
"457 Matteo Politano Politano\n",
|
||
"458 Manolo Portanova Portanova\n",
|
||
"459 Manolo Portanova Portanova\n",
|
||
"460 Ivan Provedel Provedel\n",
|
||
"461 Erick Pulgar Pulgar\n",
|
||
"462 Ignacio Pussetto Pussetto\n",
|
||
"463 Fabio Quagliarella Quagliarella\n",
|
||
"464 Simone Rabbi Rabbi\n",
|
||
"465 Adrien Rabiot Rabiot\n",
|
||
"466 Ivan Radovanović Radovanovic\n",
|
||
"467 Ionuț Radu Radu\n",
|
||
"468 Ștefan Radu Radu\n",
|
||
"469 Rafael Rafael\n",
|
||
"470 Antonio Raimondo Raimondo\n",
|
||
"471 Gastón Ramírez Ramirez\n",
|
||
"472 Aaron Ramsey Ramsey\n",
|
||
"473 Andrea Ranocchia Ranocchia\n",
|
||
"474 Giacomo Raspadori Raspadori\n",
|
||
"475 Federico Ravaglia Ravaglia\n",
|
||
"476 Ante Rebić Rebic\n",
|
||
"477 Arkadiusz Reca Reca\n",
|
||
"478 Vasco Regini Regini\n",
|
||
"479 Pepe Reina Reina\n",
|
||
"480 Bryan Reynolds Reynolds\n",
|
||
"481 Franck Ribéry Ribery\n",
|
||
"482 Federico Ricci Ricci\n",
|
||
"483 Giacomo Ricci Ricci\n",
|
||
"484 Matteo Ricci Ricci\n",
|
||
"485 Tomás Rincón Rincon\n",
|
||
"486 Andrea Rispoli Rispoli\n",
|
||
"487 Emmanuel Rivière Riviere\n",
|
||
"488 Ricardo Rodríguez Rodriguez\n",
|
||
"489 Marko Rog Rog\n",
|
||
"490 Rogério Rogerio\n",
|
||
"491 Luis Rojas Rojas\n",
|
||
"492 Alessio Romagnoli Romagnoli\n",
|
||
"493 Cristian Romero Romero\n",
|
||
"494 Cristiano Ronaldo Ronaldo\n",
|
||
"495 Marten de Roon Roon\n",
|
||
"496 Nicolò Rovella Rovella\n",
|
||
"497 Amir Rrahmani Rrahmani\n",
|
||
"498 Kevin Rüegg Ruegg\n",
|
||
"499 Daniele Rugani Rugani\n",
|
||
"500 Matteo Ruggeri Ruggeri\n",
|
||
"501 Mário Rui Rui\n",
|
||
"502 Fabián Ruiz Peña Pena\n",
|
||
"503 Alexis Saelemaekers Saelemaekers\n",
|
||
"504 Jacopo Sala Sala\n",
|
||
"505 Eddie Salcedo Salcedo\n",
|
||
"506 Antonio Sanabria Sanabria\n",
|
||
"507 Alexis Sánchez Sanchez\n",
|
||
"508 Alex Sandro Sandro\n",
|
||
"509 Siriki Sanogo Sanogo\n",
|
||
"510 Nicola Sansone Sansone\n",
|
||
"511 Federico Santander Santander\n",
|
||
"512 Davide Santon Santon\n",
|
||
"513 Samir Santos Santos\n",
|
||
"514 Riccardo Saponara Saponara\n",
|
||
"515 Riccardo Saponara Saponara\n",
|
||
"516 Marco Sau Sau\n",
|
||
"517 Gianluca Scamacca Scamacca\n",
|
||
"518 Nicolás Schiappacasse Schiappacasse\n",
|
||
"519 Pasquale Schiattarella Schiattarella\n",
|
||
"520 Jerdy Schouten Schouten\n",
|
||
"521 Matteo Scozzarella Scozzarella\n",
|
||
"522 Simone Scuffet Scuffet\n",
|
||
"523 Jacopo Segre Segre\n",
|
||
"524 Léo Sena Sena\n",
|
||
"525 Stefano Sensi Sensi\n",
|
||
"526 Luigi Sepe Sepe\n",
|
||
"527 Stephan El Shaarawy Shaarawy\n",
|
||
"528 Eldor Shomurodov Shomurodov\n",
|
||
"529 Luca Siligardi Siligardi\n",
|
||
"530 Luca Siligardi Siligardi\n",
|
||
"531 Adrien Silva Silva\n",
|
||
"532 Marco Silvestri Silvestri\n",
|
||
"533 Giovanni Simeone Simeone\n",
|
||
"534 Wilfried Singo Singo\n",
|
||
"535 Salvatore Sirigu Sirigu\n",
|
||
"536 Łukasz Skorupski Skorupski\n",
|
||
"537 Andreas Skov Olsen Olsen\n",
|
||
"538 Milan Škriniar Skriniar\n",
|
||
"539 Chris Smalling Smalling\n",
|
||
"540 Simon Sohm Sohm\n",
|
||
"541 Roberto Soriano Soriano\n",
|
||
"542 Riccardo Sottil Sottil\n",
|
||
"543 Adama Soumaoro Soumaoro\n",
|
||
"544 Leonardo Spinazzola Spinazzola\n",
|
||
"545 Marco Sportiello Sportiello\n",
|
||
"546 Mattia Sprocati Sprocati\n",
|
||
"547 Thomas Strakosha Strakosha\n",
|
||
"548 Kevin Strootman Strootman\n",
|
||
"549 Jens Stryger Larsen Larsen\n",
|
||
"550 Stefano Sturaro Sturaro\n",
|
||
"551 Stefano Sturaro Sturaro\n",
|
||
"552 Bosko Sutalo Sutalo\n",
|
||
"553 Mattias Svanberg Svanberg\n",
|
||
"554 Wojciech Szczęsny Szczesny\n",
|
||
"555 Adrien Tameze Tameze\n",
|
||
"556 Ciprian Tătărușanu Tatarusanu\n",
|
||
"557 Andrés Tello Tello\n",
|
||
"558 Hidde ter Avest Avest\n",
|
||
"559 Pietro Terracciano Terracciano\n",
|
||
"560 Claudio Terzi Terzi\n",
|
||
"561 Morten Thorsby Thorsby\n",
|
||
"562 Jeremy Toljan Toljan\n",
|
||
"563 Rafael Tolói Toloi\n",
|
||
"564 Takehiro Tomiyasu Tomiyasu\n",
|
||
"565 Fikayo Tomori Tomori\n",
|
||
"566 Sandro Tonali Tonali\n",
|
||
"567 Lorenzo Tonelli Tonelli\n",
|
||
"568 Ernesto Torregrossa Torregrossa\n",
|
||
"569 Mattéo Tramoni Tramoni\n",
|
||
"570 Chaka Traorè Traore\n",
|
||
"571 Alessandro Tripaldelli Tripaldelli\n",
|
||
"572 Alessandro Tuia Tuia\n",
|
||
"573 Ľubomír Tupta Tupta\n",
|
||
"574 Iyenoma Udogie Udogie\n",
|
||
"575 Samir Ujkani Ujkani\n",
|
||
"576 Kacper Urbanski Urbanski\n",
|
||
"577 Lautaro Valenti Valenti\n",
|
||
"578 Borja Valero Valero\n",
|
||
"579 Denis Vavro Vavro\n",
|
||
"580 Matías Vecino Vecino\n",
|
||
"581 Miguel Veloso Veloso\n",
|
||
"582 Lorenzo Venuti Venuti\n",
|
||
"583 Daniele Verde Verde\n",
|
||
"584 Simone Verdi Verdi\n",
|
||
"585 Jordan Veretout Veretout\n",
|
||
"586 Edoardo Vergani Vergani\n",
|
||
"587 Valerio Verre Verre\n",
|
||
"588 Guglielmo Vicario Vicario\n",
|
||
"589 Arturo Vidal Vidal\n",
|
||
"590 Ronaldo Vieira Vieira\n",
|
||
"591 Luca Vignali Vignali\n",
|
||
"592 Emanuel Vignato Vignato\n",
|
||
"593 Gonzalo Villar Villar\n",
|
||
"594 Nicolas Viola Viola\n",
|
||
"595 Dušan Vlahović Vlahovic\n",
|
||
"596 Mërgim Vojvoda Vojvoda\n",
|
||
"597 Stefan de Vrij Vrij\n",
|
||
"598 Giacomo Vrioni Vrioni\n",
|
||
"599 Miloš Vulić Vulic\n",
|
||
"600 Walace Walace\n",
|
||
"601 Sebastian Walukiewicz Walukiewicz\n",
|
||
"602 Maya Yoshida Yoshida\n",
|
||
"603 Ashley Young Young\n",
|
||
"604 Mattia Zaccagni Zaccagni\n",
|
||
"605 Vasilios Zagaritis Zagaritis\n",
|
||
"606 Miha Zajc Zajc\n",
|
||
"607 Nicola Zalewski Zalewski\n",
|
||
"608 Niccolò Zanellato Zanellato\n",
|
||
"609 Cristián Zapata Zapata\n",
|
||
"610 Duván Zapata Zapata\n",
|
||
"611 Gabriele Zappa Zappa\n",
|
||
"612 Davide Zappacosta Zappacosta\n",
|
||
"613 Simone Zaza Zaza\n",
|
||
"614 Marvin Zeegelaar Zeegelaar\n",
|
||
"615 Piotr Zieliński Zielinski\n",
|
||
"616 Joshua Zirkzee Zirkzee\n",
|
||
"617 Jeroen Zoet Zoet\n",
|
||
"618 Filip Đuričić uricic\n",
|
||
"619 Nícolas Andrade Andrade\n",
|
||
"620 Emil Audero Audero\n",
|
||
"621 Alessandro Berardi Berardi\n",
|
||
"622 Gianluigi Buffon Buffon\n",
|
||
"623 Simone Colombi Colombi\n",
|
||
"624 Andrea Consigli Consigli\n",
|
||
"625 Alex Cordaz Cordaz\n",
|
||
"626 Angelo da Costa Júnior Junior\n",
|
||
"627 Alessio Cragno Cragno\n",
|
||
"628 Gian Crespi Crespi\n",
|
||
"629 Gianluigi Donnarumma Donnarumma\n",
|
||
"630 Bartłomiej Drągowski Dragowski\n",
|
||
"631 Marco Festa Festa\n",
|
||
"632 Daniel Fuzato Fuzato\n",
|
||
"633 Manuel Gasparini Gasparini\n",
|
||
"634 Pierluigi Gollini Gollini\n",
|
||
"635 Samir Handanović Handanovic\n",
|
||
"636 Karlo Letica Letica\n",
|
||
"637 Pau López Lopez\n",
|
||
"638 Niccolò Manfredini Manfredini\n",
|
||
"639 Federico Marchetti Marchetti\n",
|
||
"640 Alex Meret Meret\n",
|
||
"641 Vanja Milinković-Savić Milinkovic-Savic\n",
|
||
"642 Antonio Mirante Mirante\n",
|
||
"643 Lorenzo Montipò Montipo\n",
|
||
"644 Juan Musso Musso\n",
|
||
"645 David Ospina Ospina\n",
|
||
"646 Daniele Padelli Padelli\n",
|
||
"647 Alberto Paleari Paleari\n",
|
||
"648 Ivor Pandur Pandur\n",
|
||
"649 Gianluca Pegolo Pegolo\n",
|
||
"650 Mattia Perin Perin\n",
|
||
"651 Carlo Pinsoglio Pinsoglio\n",
|
||
"652 Ivan Provedel Provedel\n",
|
||
"653 Ionuț Radu Radu\n",
|
||
"654 Rafael Rafael\n",
|
||
"655 Federico Ravaglia Ravaglia\n",
|
||
"656 Pepe Reina Reina\n",
|
||
"657 Simone Scuffet Scuffet\n",
|
||
"658 Luigi Sepe Sepe\n",
|
||
"659 Marco Silvestri Silvestri\n",
|
||
"660 Salvatore Sirigu Sirigu\n",
|
||
"661 Łukasz Skorupski Skorupski\n",
|
||
"662 Marco Sportiello Sportiello\n",
|
||
"663 Thomas Strakosha Strakosha\n",
|
||
"664 Wojciech Szczęsny Szczesny\n",
|
||
"665 Ciprian Tătărușanu Tatarusanu\n",
|
||
"666 Pietro Terracciano Terracciano\n",
|
||
"667 Samir Ujkani Ujkani\n",
|
||
"668 Guglielmo Vicario Vicario\n",
|
||
"669 Jeroen Zoet Zoet\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(players[['player', 'surname']].to_string())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "3e759b1b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Maehle\n",
|
||
"Kjaer\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": 30,
|
||
"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": 31,
|
||
"id": "f96eaaa1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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",
|
||
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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"
|
||
]
|
||
},
|
||
{
|
||
"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>350</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Donnarumma G.</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>Donnarumma</td>\n",
|
||
" <td>G</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</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>2</th>\n",
|
||
" <td>250</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>610</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>761</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Audero</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>559</th>\n",
|
||
" <td>5361</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>560</th>\n",
|
||
" <td>5378</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>561</th>\n",
|
||
" <td>5414</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Karamoko Is.</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Karamoko</td>\n",
|
||
" <td>I</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>562</th>\n",
|
||
" <td>5419</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>563</th>\n",
|
||
" <td>5436</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td></td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>564 rows × 6 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial\n",
|
||
"0 350 P Donnarumma G. Milan Donnarumma G\n",
|
||
"1 453 P Szczesny Juventus Szczesny \n",
|
||
"2 250 P Handanovic Inter Handanovic \n",
|
||
"3 610 P Gollini Atalanta Gollini \n",
|
||
"4 761 P Audero Sampdoria Audero \n",
|
||
".. ... .. ... ... ... ...\n",
|
||
"559 5361 A Rabbi Bologna Rabbi \n",
|
||
"560 5378 A Oddei Sassuolo Oddei \n",
|
||
"561 5414 A Karamoko Is. Sassuolo Karamoko I\n",
|
||
"562 5419 A Correia Juventus Correia \n",
|
||
"563 5436 A Raimondo Bologna Raimondo \n",
|
||
"\n",
|
||
"[564 rows x 6 columns]"
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"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['surname'][i] = spl[-2]\n",
|
||
" fc_players['initial'][i] = spl[-1][0]\n",
|
||
" else:\n",
|
||
" fc_players['surname'][i] = spl[-1]\n",
|
||
" fc_players['initial'][i] = ''\n",
|
||
" \n",
|
||
"fc_players\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "9c50e4b5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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['fb_ID'][i] = -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",
|
||
" fc_players['fb_ID'][i] = j\n",
|
||
" \n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"id": "5a3e2771",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Radunovic\n",
|
||
"Da Costa\n",
|
||
"Zima L.\n",
|
||
"Aresti\n",
|
||
"Rossi F.\n",
|
||
"Rosati\n",
|
||
"Contini\n",
|
||
"Brancolini\n",
|
||
"Avogadri\n",
|
||
"Turati\n",
|
||
"Breza\n",
|
||
"Ciocci\n",
|
||
"Gori P.\n",
|
||
"Ravaglia\n",
|
||
"Krapikas\n",
|
||
"Boer\n",
|
||
"Alia\n",
|
||
"Rinaldi\n",
|
||
"Farelli\n",
|
||
"Samir\n",
|
||
"Danilo Lar.\n",
|
||
"Romagna\n",
|
||
"Ferigra\n",
|
||
"Prodl\n",
|
||
"Amione\n",
|
||
"Djuricic\n",
|
||
"Ruiz\n",
|
||
"Zaniolo\n",
|
||
"Arthur\n",
|
||
"Akpa Akpro\n",
|
||
"Benassi\n",
|
||
"Nicolussi Caviglia\n",
|
||
"Eyango\n",
|
||
"Simy\n",
|
||
"Keita B.\n",
|
||
"Ake' M.\n",
|
||
"Luvumbo\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": 34,
|
||
"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>350</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Donnarumma G.</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>Donnarumma</td>\n",
|
||
" <td>G</td>\n",
|
||
" <td>629</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</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>664</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>250</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td></td>\n",
|
||
" <td>635</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>610</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td></td>\n",
|
||
" <td>634</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>761</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</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>559</th>\n",
|
||
" <td>5361</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>464</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>560</th>\n",
|
||
" <td>5378</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td></td>\n",
|
||
" <td>400</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>561</th>\n",
|
||
" <td>5414</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Karamoko Is.</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Karamoko</td>\n",
|
||
" <td>I</td>\n",
|
||
" <td>267</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>562</th>\n",
|
||
" <td>5419</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td></td>\n",
|
||
" <td>113</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>563</th>\n",
|
||
" <td>5436</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>470</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>564 rows × 7 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID\n",
|
||
"0 350 P Donnarumma G. Milan Donnarumma G 629\n",
|
||
"1 453 P Szczesny Juventus Szczesny 664\n",
|
||
"2 250 P Handanovic Inter Handanovic 635\n",
|
||
"3 610 P Gollini Atalanta Gollini 634\n",
|
||
"4 761 P Audero Sampdoria Audero 620\n",
|
||
".. ... .. ... ... ... ... ...\n",
|
||
"559 5361 A Rabbi Bologna Rabbi 464\n",
|
||
"560 5378 A Oddei Sassuolo Oddei 400\n",
|
||
"561 5414 A Karamoko Is. Sassuolo Karamoko I 267\n",
|
||
"562 5419 A Correia Juventus Correia 113\n",
|
||
"563 5436 A Raimondo Bologna Raimondo 470\n",
|
||
"\n",
|
||
"[564 rows x 7 columns]"
|
||
]
|
||
},
|
||
"execution_count": 34,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "1d73a312",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"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": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"keeper_players.columns[4:]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"id": "eb9127a9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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\\nicol\\AppData\\Local\\Temp\\ipykernel_9056\\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]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"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>Nícolas Andrade</td>\n",
|
||
" <td>br BRA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>180.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.4</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>55.6</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Emil Audero</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>54.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>259.0</td>\n",
|
||
" <td>64.1</td>\n",
|
||
" <td>45.3</td>\n",
|
||
" <td>563.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>2.1</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Alessandro Berardi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>100.0</td>\n",
|
||
" <td>66.5</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Gianluigi Buffon</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>42</td>\n",
|
||
" <td>1978</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>720.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>27.4</td>\n",
|
||
" <td>61.0</td>\n",
|
||
" <td>19.7</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>122.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.8</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>1.13</td>\n",
|
||
" <td>15.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Simone Colombi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Parma</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>180.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.5</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>72.7</td>\n",
|
||
" <td>49.4</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>7.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>Andrea Consigli</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>33</td>\n",
|
||
" <td>1987</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>56.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>27.7</td>\n",
|
||
" <td>240.0</td>\n",
|
||
" <td>21.7</td>\n",
|
||
" <td>24.1</td>\n",
|
||
" <td>513.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>5.1</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>15.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>Alex Cordaz</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Crotone</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>3240.0</td>\n",
|
||
" <td>91.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>31.8</td>\n",
|
||
" <td>306.0</td>\n",
|
||
" <td>39.9</td>\n",
|
||
" <td>33.2</td>\n",
|
||
" <td>555.0</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>3.2</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>15.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>Angelo da Costa Júnior</td>\n",
|
||
" <td>br BRA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>540.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>27.6</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>23.3</td>\n",
|
||
" <td>26.3</td>\n",
|
||
" <td>86.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>5.8</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>1.67</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>Alessio Cragno</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Cagliari</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>3060.0</td>\n",
|
||
" <td>53.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.5</td>\n",
|
||
" <td>274.0</td>\n",
|
||
" <td>58.4</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>530.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>3.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>0.65</td>\n",
|
||
" <td>14.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>Gian Crespi</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Crotone</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2001</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>26.3</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>27.3</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>18.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10</th>\n",
|
||
" <td>Gianluigi Donnarumma</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>38.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>207.0</td>\n",
|
||
" <td>41.5</td>\n",
|
||
" <td>33.7</td>\n",
|
||
" <td>556.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>1.16</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>11</th>\n",
|
||
" <td>Bartłomiej Drągowski</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>3148.0</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.9</td>\n",
|
||
" <td>260.0</td>\n",
|
||
" <td>54.6</td>\n",
|
||
" <td>43.6</td>\n",
|
||
" <td>486.0</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>4.9</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>0.77</td>\n",
|
||
" <td>13.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>12</th>\n",
|
||
" <td>Marco Festa</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Crotone</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>31.1</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>36.7</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>13</th>\n",
|
||
" <td>Daniel Fuzato</td>\n",
|
||
" <td>br BRA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>450.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.1</td>\n",
|
||
" <td>30.0</td>\n",
|
||
" <td>36.7</td>\n",
|
||
" <td>37.2</td>\n",
|
||
" <td>50.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.40</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14</th>\n",
|
||
" <td>Manuel Gasparini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>44.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>15</th>\n",
|
||
" <td>Pierluigi Gollini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>2156.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.6</td>\n",
|
||
" <td>116.0</td>\n",
|
||
" <td>63.8</td>\n",
|
||
" <td>49.7</td>\n",
|
||
" <td>234.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>1.63</td>\n",
|
||
" <td>17.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16</th>\n",
|
||
" <td>Samir Handanović</td>\n",
|
||
" <td>si SVN</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1984</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3240.0</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.7</td>\n",
|
||
" <td>167.0</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>441.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>2.9</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>0.61</td>\n",
|
||
" <td>14.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>17</th>\n",
|
||
" <td>Karlo Letica</td>\n",
|
||
" <td>hr CRO</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</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>25.6</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>33.6</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18</th>\n",
|
||
" <td>Pau López</td>\n",
|
||
" <td>es ESP</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>1817.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.2</td>\n",
|
||
" <td>101.0</td>\n",
|
||
" <td>38.6</td>\n",
|
||
" <td>35.6</td>\n",
|
||
" <td>174.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>30.0</td>\n",
|
||
" <td>1.49</td>\n",
|
||
" <td>19.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19</th>\n",
|
||
" <td>Niccolò Manfredini</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Benevento</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>25.6</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>42.9</td>\n",
|
||
" <td>36.9</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>10.5</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>3.00</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>20</th>\n",
|
||
" <td>Federico Marchetti</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Genoa</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>334.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>24.4</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>38.2</td>\n",
|
||
" <td>30.4</td>\n",
|
||
" <td>48.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>2.1</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>1.62</td>\n",
|
||
" <td>14.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>21</th>\n",
|
||
" <td>Alex Meret</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>1980.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>24.9</td>\n",
|
||
" <td>93.0</td>\n",
|
||
" <td>16.1</td>\n",
|
||
" <td>23.3</td>\n",
|
||
" <td>241.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>3.3</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>0.59</td>\n",
|
||
" <td>13.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>22</th>\n",
|
||
" <td>Vanja Milinković-Savić</td>\n",
|
||
" <td>rs SRB</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Torino</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>450.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>36.1</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>53.1</td>\n",
|
||
" <td>44.7</td>\n",
|
||
" <td>64.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.6</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>19.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>23</th>\n",
|
||
" <td>Antonio Mirante</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Roma</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1983</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>1153.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.9</td>\n",
|
||
" <td>83.0</td>\n",
|
||
" <td>27.7</td>\n",
|
||
" <td>28.6</td>\n",
|
||
" <td>162.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.6</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>1.95</td>\n",
|
||
" <td>18.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>24</th>\n",
|
||
" <td>Lorenzo Montipò</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Benevento</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3330.0</td>\n",
|
||
" <td>74.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>36.8</td>\n",
|
||
" <td>271.0</td>\n",
|
||
" <td>58.3</td>\n",
|
||
" <td>43.4</td>\n",
|
||
" <td>620.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>3.1</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.57</td>\n",
|
||
" <td>11.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>25</th>\n",
|
||
" <td>Juan Musso</td>\n",
|
||
" <td>ar ARG</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>3147.0</td>\n",
|
||
" <td>51.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.9</td>\n",
|
||
" <td>254.0</td>\n",
|
||
" <td>41.3</td>\n",
|
||
" <td>34.7</td>\n",
|
||
" <td>484.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>5.4</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>0.51</td>\n",
|
||
" <td>13.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>26</th>\n",
|
||
" <td>David Ospina</td>\n",
|
||
" <td>co COL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Napoli</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>1440.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>28.6</td>\n",
|
||
" <td>57.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>22.9</td>\n",
|
||
" <td>192.0</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>7.8</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>0.69</td>\n",
|
||
" <td>12.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>27</th>\n",
|
||
" <td>Daniele Padelli</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>1985</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>45.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>17.9</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>14.5</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>28</th>\n",
|
||
" <td>Alberto Paleari</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Genoa</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>206.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.6</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>36.8</td>\n",
|
||
" <td>35.7</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.87</td>\n",
|
||
" <td>11.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>29</th>\n",
|
||
" <td>Ivor Pandur</td>\n",
|
||
" <td>hr CRO</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>2000</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>332.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.1</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>90.9</td>\n",
|
||
" <td>61.2</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>8.1</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>1.36</td>\n",
|
||
" <td>16.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>30</th>\n",
|
||
" <td>Gianluca Pegolo</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1981</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>19.1</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>6.7</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>15.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>31</th>\n",
|
||
" <td>Mattia Perin</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Genoa</td>\n",
|
||
" <td>27</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>2879.0</td>\n",
|
||
" <td>44.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>37.1</td>\n",
|
||
" <td>275.0</td>\n",
|
||
" <td>49.5</td>\n",
|
||
" <td>38.4</td>\n",
|
||
" <td>540.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>3.5</td>\n",
|
||
" <td>18.0</td>\n",
|
||
" <td>0.56</td>\n",
|
||
" <td>12.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>32</th>\n",
|
||
" <td>Carlo Pinsoglio</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>20.9</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>3.91</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>33</th>\n",
|
||
" <td>Ivan Provedel</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>1994</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>2610.0</td>\n",
|
||
" <td>55.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.2</td>\n",
|
||
" <td>157.0</td>\n",
|
||
" <td>46.5</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>298.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>46.0</td>\n",
|
||
" <td>1.59</td>\n",
|
||
" <td>17.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>34</th>\n",
|
||
" <td>Ionuț Radu</td>\n",
|
||
" <td>ro ROU</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>135.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>21.1</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>13.9</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>13.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>35</th>\n",
|
||
" <td>Rafael</td>\n",
|
||
" <td>br BRA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>38</td>\n",
|
||
" <td>1982</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>207.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.4</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>27.8</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>2.7</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.87</td>\n",
|
||
" <td>12.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>36</th>\n",
|
||
" <td>Federico Ravaglia</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>360.0</td>\n",
|
||
" <td>10.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>25.6</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>17.4</td>\n",
|
||
" <td>21.8</td>\n",
|
||
" <td>33.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>2.00</td>\n",
|
||
" <td>26.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>37</th>\n",
|
||
" <td>Pepe Reina</td>\n",
|
||
" <td>es ESP</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1982</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>2610.0</td>\n",
|
||
" <td>41.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>145.0</td>\n",
|
||
" <td>22.1</td>\n",
|
||
" <td>25.5</td>\n",
|
||
" <td>372.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>2.4</td>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>0.59</td>\n",
|
||
" <td>13.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>38</th>\n",
|
||
" <td>Simone Scuffet</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Udinese</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>1996</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>39.1</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>77.8</td>\n",
|
||
" <td>48.6</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>5.7</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>39</th>\n",
|
||
" <td>Luigi Sepe</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Parma</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>36.0</td>\n",
|
||
" <td>3240.0</td>\n",
|
||
" <td>76.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>34.4</td>\n",
|
||
" <td>274.0</td>\n",
|
||
" <td>40.1</td>\n",
|
||
" <td>36.5</td>\n",
|
||
" <td>619.0</td>\n",
|
||
" <td>16.0</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>24.0</td>\n",
|
||
" <td>0.67</td>\n",
|
||
" <td>13.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>40</th>\n",
|
||
" <td>Marco Silvestri</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Hellas Verona</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>3060.0</td>\n",
|
||
" <td>42.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>43.1</td>\n",
|
||
" <td>266.0</td>\n",
|
||
" <td>89.5</td>\n",
|
||
" <td>58.0</td>\n",
|
||
" <td>444.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>20.0</td>\n",
|
||
" <td>0.61</td>\n",
|
||
" <td>12.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>41</th>\n",
|
||
" <td>Salvatore Sirigu</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Torino</td>\n",
|
||
" <td>33</td>\n",
|
||
" <td>1987</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>2880.0</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.6</td>\n",
|
||
" <td>271.0</td>\n",
|
||
" <td>50.6</td>\n",
|
||
" <td>37.9</td>\n",
|
||
" <td>486.0</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>2.3</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.66</td>\n",
|
||
" <td>14.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>42</th>\n",
|
||
" <td>Łukasz Skorupski</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>28.0</td>\n",
|
||
" <td>2520.0</td>\n",
|
||
" <td>46.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.2</td>\n",
|
||
" <td>231.0</td>\n",
|
||
" <td>24.2</td>\n",
|
||
" <td>23.4</td>\n",
|
||
" <td>443.0</td>\n",
|
||
" <td>23.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>0.75</td>\n",
|
||
" <td>12.6</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>43</th>\n",
|
||
" <td>Marco Sportiello</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>28</td>\n",
|
||
" <td>1992</td>\n",
|
||
" <td>15.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>1261.0</td>\n",
|
||
" <td>21.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>28.3</td>\n",
|
||
" <td>57.0</td>\n",
|
||
" <td>59.6</td>\n",
|
||
" <td>43.6</td>\n",
|
||
" <td>143.0</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>5.6</td>\n",
|
||
" <td>27.0</td>\n",
|
||
" <td>1.93</td>\n",
|
||
" <td>16.3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>44</th>\n",
|
||
" <td>Thomas Strakosha</td>\n",
|
||
" <td>al ALB</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Lazio</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>810.0</td>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.3</td>\n",
|
||
" <td>57.0</td>\n",
|
||
" <td>8.8</td>\n",
|
||
" <td>23.6</td>\n",
|
||
" <td>119.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>3.4</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>0.56</td>\n",
|
||
" <td>14.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>45</th>\n",
|
||
" <td>Wojciech Szczęsny</td>\n",
|
||
" <td>pl POL</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>30.0</td>\n",
|
||
" <td>30.0</td>\n",
|
||
" <td>2677.0</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.5</td>\n",
|
||
" <td>179.0</td>\n",
|
||
" <td>10.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>399.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>1.24</td>\n",
|
||
" <td>16.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46</th>\n",
|
||
" <td>Ciprian Tătărușanu</td>\n",
|
||
" <td>ro ROU</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>1986</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>19.7</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>30.3</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>8.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>47</th>\n",
|
||
" <td>Pietro Terracciano</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Fiorentina</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>272.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>45.9</td>\n",
|
||
" <td>32.0</td>\n",
|
||
" <td>93.8</td>\n",
|
||
" <td>59.6</td>\n",
|
||
" <td>52.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>3.8</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.33</td>\n",
|
||
" <td>11.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>48</th>\n",
|
||
" <td>Samir Ujkani</td>\n",
|
||
" <td>xk KVX</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Torino</td>\n",
|
||
" <td>32</td>\n",
|
||
" <td>1988</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>90.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>30.9</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>26.0</td>\n",
|
||
" <td>19.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>11.5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>49</th>\n",
|
||
" <td>Guglielmo Vicario</td>\n",
|
||
" <td>it ITA</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Cagliari</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1996</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>360.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.6</td>\n",
|
||
" <td>25.0</td>\n",
|
||
" <td>88.0</td>\n",
|
||
" <td>56.4</td>\n",
|
||
" <td>71.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.4</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>6.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>50</th>\n",
|
||
" <td>Jeroen Zoet</td>\n",
|
||
" <td>nl NED</td>\n",
|
||
" <td>GK</td>\n",
|
||
" <td>Spezia</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>1991</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>603.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>33.1</td>\n",
|
||
" <td>31.0</td>\n",
|
||
" <td>38.7</td>\n",
|
||
" <td>37.4</td>\n",
|
||
" <td>72.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>8.3</td>\n",
|
||
" <td>11.0</td>\n",
|
||
" <td>1.64</td>\n",
|
||
" <td>17.8</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>51 rows × 47 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" player nationality position team age \\\n",
|
||
"0 Nícolas Andrade br BRA GK Udinese 32 \n",
|
||
"1 Emil Audero it ITA GK Sampdoria 23 \n",
|
||
"2 Alessandro Berardi it ITA GK Hellas Verona 29 \n",
|
||
"3 Gianluigi Buffon it ITA GK Juventus 42 \n",
|
||
"4 Simone Colombi it ITA GK Parma 29 \n",
|
||
"5 Andrea Consigli it ITA GK Sassuolo 33 \n",
|
||
"6 Alex Cordaz it ITA GK Crotone 37 \n",
|
||
"7 Angelo da Costa Júnior br BRA GK Bologna 36 \n",
|
||
"8 Alessio Cragno it ITA GK Cagliari 26 \n",
|
||
"9 Gian Crespi it ITA GK Crotone 19 \n",
|
||
"10 Gianluigi Donnarumma it ITA GK Milan 21 \n",
|
||
"11 Bartłomiej Drągowski pl POL GK Fiorentina 22 \n",
|
||
"12 Marco Festa it ITA GK Crotone 28 \n",
|
||
"13 Daniel Fuzato br BRA GK Roma 23 \n",
|
||
"14 Manuel Gasparini it ITA GK Udinese 18 \n",
|
||
"15 Pierluigi Gollini it ITA GK Atalanta 25 \n",
|
||
"16 Samir Handanović si SVN GK Inter 36 \n",
|
||
"17 Karlo Letica hr CRO GK Sampdoria 23 \n",
|
||
"18 Pau López es ESP GK Roma 25 \n",
|
||
"19 Niccolò Manfredini it ITA GK Benevento 32 \n",
|
||
"20 Federico Marchetti it ITA GK Genoa 37 \n",
|
||
"21 Alex Meret it ITA GK Napoli 23 \n",
|
||
"22 Vanja Milinković-Savić rs SRB GK Torino 23 \n",
|
||
"23 Antonio Mirante it ITA GK Roma 37 \n",
|
||
"24 Lorenzo Montipò it ITA GK Benevento 24 \n",
|
||
"25 Juan Musso ar ARG GK Udinese 26 \n",
|
||
"26 David Ospina co COL GK Napoli 31 \n",
|
||
"27 Daniele Padelli it ITA GK Inter 34 \n",
|
||
"28 Alberto Paleari it ITA GK Genoa 27 \n",
|
||
"29 Ivor Pandur hr CRO GK Hellas Verona 20 \n",
|
||
"30 Gianluca Pegolo it ITA GK Sassuolo 39 \n",
|
||
"31 Mattia Perin it ITA GK Genoa 27 \n",
|
||
"32 Carlo Pinsoglio it ITA GK Juventus 30 \n",
|
||
"33 Ivan Provedel it ITA GK Spezia 26 \n",
|
||
"34 Ionuț Radu ro ROU GK Inter 23 \n",
|
||
"35 Rafael br BRA GK Spezia 38 \n",
|
||
"36 Federico Ravaglia it ITA GK Bologna 20 \n",
|
||
"37 Pepe Reina es ESP GK Lazio 37 \n",
|
||
"38 Simone Scuffet it ITA GK Udinese 24 \n",
|
||
"39 Luigi Sepe it ITA GK Parma 29 \n",
|
||
"40 Marco Silvestri it ITA GK Hellas Verona 29 \n",
|
||
"41 Salvatore Sirigu it ITA GK Torino 33 \n",
|
||
"42 Łukasz Skorupski pl POL GK Bologna 29 \n",
|
||
"43 Marco Sportiello it ITA GK Atalanta 28 \n",
|
||
"44 Thomas Strakosha al ALB GK Lazio 25 \n",
|
||
"45 Wojciech Szczęsny pl POL GK Juventus 30 \n",
|
||
"46 Ciprian Tătărușanu ro ROU GK Milan 34 \n",
|
||
"47 Pietro Terracciano it ITA GK Fiorentina 30 \n",
|
||
"48 Samir Ujkani xk KVX GK Torino 32 \n",
|
||
"49 Guglielmo Vicario it ITA GK Cagliari 23 \n",
|
||
"50 Jeroen Zoet nl NED GK Spezia 29 \n",
|
||
"\n",
|
||
" birth_year gk_games gk_games_starts gk_minutes gk_goals_against ... \\\n",
|
||
"0 1988 2.0 2.0 180.0 5.0 ... \n",
|
||
"1 1997 37.0 37.0 3330.0 54.0 ... \n",
|
||
"2 1991 1.0 0.0 28.0 0.0 ... \n",
|
||
"3 1978 8.0 8.0 720.0 5.0 ... \n",
|
||
"4 1991 2.0 2.0 180.0 7.0 ... \n",
|
||
"5 1987 37.0 37.0 3330.0 56.0 ... \n",
|
||
"6 1983 36.0 36.0 3240.0 91.0 ... \n",
|
||
"7 1983 6.0 6.0 540.0 9.0 ... \n",
|
||
"8 1994 34.0 34.0 3060.0 53.0 ... \n",
|
||
"9 2001 1.0 1.0 90.0 0.0 ... \n",
|
||
"10 1999 37.0 37.0 3330.0 38.0 ... \n",
|
||
"11 1997 36.0 36.0 3148.0 55.0 ... \n",
|
||
"12 1992 1.0 1.0 90.0 1.0 ... \n",
|
||
"13 1997 5.0 5.0 450.0 7.0 ... \n",
|
||
"14 2002 1.0 0.0 3.0 0.0 ... \n",
|
||
"15 1995 25.0 25.0 2156.0 26.0 ... \n",
|
||
"16 1984 37.0 37.0 3240.0 33.0 ... \n",
|
||
"17 1997 1.0 1.0 90.0 0.0 ... \n",
|
||
"18 1994 21.0 20.0 1817.0 29.0 ... \n",
|
||
"19 1988 1.0 1.0 90.0 1.0 ... \n",
|
||
"20 1983 4.0 4.0 334.0 11.0 ... \n",
|
||
"21 1997 22.0 22.0 1980.0 29.0 ... \n",
|
||
"22 1997 5.0 5.0 450.0 6.0 ... \n",
|
||
"23 1983 13.0 13.0 1153.0 19.0 ... \n",
|
||
"24 1996 37.0 37.0 3330.0 74.0 ... \n",
|
||
"25 1994 35.0 35.0 3147.0 51.0 ... \n",
|
||
"26 1988 16.0 16.0 1440.0 12.0 ... \n",
|
||
"27 1985 1.0 0.0 45.0 1.0 ... \n",
|
||
"28 1992 3.0 2.0 206.0 3.0 ... \n",
|
||
"29 2000 4.0 4.0 332.0 6.0 ... \n",
|
||
"30 1981 1.0 1.0 90.0 0.0 ... \n",
|
||
"31 1992 32.0 32.0 2879.0 44.0 ... \n",
|
||
"32 1990 1.0 0.0 23.0 1.0 ... \n",
|
||
"33 1994 29.0 29.0 2610.0 55.0 ... \n",
|
||
"34 1997 2.0 1.0 135.0 1.0 ... \n",
|
||
"35 1982 3.0 2.0 207.0 5.0 ... \n",
|
||
"36 1999 4.0 4.0 360.0 10.0 ... \n",
|
||
"37 1982 29.0 29.0 2610.0 41.0 ... \n",
|
||
"38 1996 1.0 1.0 90.0 2.0 ... \n",
|
||
"39 1991 36.0 36.0 3240.0 76.0 ... \n",
|
||
"40 1991 34.0 34.0 3060.0 42.0 ... \n",
|
||
"41 1987 32.0 32.0 2880.0 62.0 ... \n",
|
||
"42 1991 28.0 28.0 2520.0 46.0 ... \n",
|
||
"43 1992 15.0 13.0 1261.0 21.0 ... \n",
|
||
"44 1995 9.0 9.0 810.0 14.0 ... \n",
|
||
"45 1990 30.0 30.0 2677.0 32.0 ... \n",
|
||
"46 1986 1.0 1.0 90.0 3.0 ... \n",
|
||
"47 1990 4.0 2.0 272.0 4.0 ... \n",
|
||
"48 1988 1.0 1.0 90.0 1.0 ... \n",
|
||
"49 1996 4.0 4.0 360.0 6.0 ... \n",
|
||
"50 1991 7.0 7.0 603.0 12.0 ... \n",
|
||
"\n",
|
||
" gk_passes_length_avg gk_goal_kicks gk_pct_goal_kicks_launched \\\n",
|
||
"0 29.4 9.0 55.6 \n",
|
||
"1 35.0 259.0 64.1 \n",
|
||
"2 43.0 4.0 100.0 \n",
|
||
"3 27.4 61.0 19.7 \n",
|
||
"4 37.5 11.0 72.7 \n",
|
||
"5 27.7 240.0 21.7 \n",
|
||
"6 31.8 306.0 39.9 \n",
|
||
"7 27.6 43.0 23.3 \n",
|
||
"8 33.5 274.0 58.4 \n",
|
||
"9 26.3 11.0 27.3 \n",
|
||
"10 29.0 207.0 41.5 \n",
|
||
"11 37.9 260.0 54.6 \n",
|
||
"12 31.1 10.0 50.0 \n",
|
||
"13 34.1 30.0 36.7 \n",
|
||
"14 44.0 1.0 0.0 \n",
|
||
"15 32.6 116.0 63.8 \n",
|
||
"16 26.7 167.0 26.9 \n",
|
||
"17 25.6 5.0 20.0 \n",
|
||
"18 29.2 101.0 38.6 \n",
|
||
"19 25.6 7.0 42.9 \n",
|
||
"20 24.4 34.0 38.2 \n",
|
||
"21 24.9 93.0 16.1 \n",
|
||
"22 36.1 32.0 53.1 \n",
|
||
"23 30.9 83.0 27.7 \n",
|
||
"24 36.8 271.0 58.3 \n",
|
||
"25 32.9 254.0 41.3 \n",
|
||
"26 28.6 57.0 14.0 \n",
|
||
"27 17.9 4.0 0.0 \n",
|
||
"28 34.6 19.0 36.8 \n",
|
||
"29 34.1 22.0 90.9 \n",
|
||
"30 19.1 8.0 0.0 \n",
|
||
"31 37.1 275.0 49.5 \n",
|
||
"32 20.9 2.0 0.0 \n",
|
||
"33 34.2 157.0 46.5 \n",
|
||
"34 21.1 9.0 0.0 \n",
|
||
"35 32.4 16.0 25.0 \n",
|
||
"36 25.6 23.0 17.4 \n",
|
||
"37 30.8 145.0 22.1 \n",
|
||
"38 39.1 9.0 77.8 \n",
|
||
"39 34.4 274.0 40.1 \n",
|
||
"40 43.1 266.0 89.5 \n",
|
||
"41 33.6 271.0 50.6 \n",
|
||
"42 30.2 231.0 24.2 \n",
|
||
"43 28.3 57.0 59.6 \n",
|
||
"44 29.3 57.0 8.8 \n",
|
||
"45 26.5 179.0 10.6 \n",
|
||
"46 19.7 4.0 25.0 \n",
|
||
"47 45.9 32.0 93.8 \n",
|
||
"48 30.9 6.0 0.0 \n",
|
||
"49 35.6 25.0 88.0 \n",
|
||
"50 33.1 31.0 38.7 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 43.1 23.0 0.0 \n",
|
||
"1 45.3 563.0 12.0 \n",
|
||
"2 66.5 6.0 0.0 \n",
|
||
"3 25.0 122.0 1.0 \n",
|
||
"4 49.4 27.0 0.0 \n",
|
||
"5 24.1 513.0 26.0 \n",
|
||
"6 33.2 555.0 18.0 \n",
|
||
"7 26.3 86.0 5.0 \n",
|
||
"8 42.0 530.0 19.0 \n",
|
||
"9 28.0 14.0 0.0 \n",
|
||
"10 33.7 556.0 29.0 \n",
|
||
"11 43.6 486.0 24.0 \n",
|
||
"12 36.7 20.0 0.0 \n",
|
||
"13 37.2 50.0 4.0 \n",
|
||
"14 15.0 0.0 0.0 \n",
|
||
"15 49.7 234.0 6.0 \n",
|
||
"16 30.8 441.0 13.0 \n",
|
||
"17 33.6 17.0 0.0 \n",
|
||
"18 35.6 174.0 7.0 \n",
|
||
"19 36.9 19.0 2.0 \n",
|
||
"20 30.4 48.0 1.0 \n",
|
||
"21 23.3 241.0 8.0 \n",
|
||
"22 44.7 64.0 1.0 \n",
|
||
"23 28.6 162.0 1.0 \n",
|
||
"24 43.4 620.0 19.0 \n",
|
||
"25 34.7 484.0 26.0 \n",
|
||
"26 22.9 192.0 15.0 \n",
|
||
"27 14.5 5.0 0.0 \n",
|
||
"28 35.7 33.0 1.0 \n",
|
||
"29 61.2 37.0 3.0 \n",
|
||
"30 14.0 15.0 1.0 \n",
|
||
"31 38.4 540.0 19.0 \n",
|
||
"32 14.0 2.0 0.0 \n",
|
||
"33 42.0 298.0 9.0 \n",
|
||
"34 13.9 28.0 0.0 \n",
|
||
"35 27.8 37.0 1.0 \n",
|
||
"36 21.8 33.0 0.0 \n",
|
||
"37 25.5 372.0 9.0 \n",
|
||
"38 48.6 26.0 0.0 \n",
|
||
"39 36.5 619.0 16.0 \n",
|
||
"40 58.0 444.0 9.0 \n",
|
||
"41 37.9 486.0 11.0 \n",
|
||
"42 23.4 443.0 23.0 \n",
|
||
"43 43.6 143.0 8.0 \n",
|
||
"44 23.6 119.0 4.0 \n",
|
||
"45 22.0 399.0 12.0 \n",
|
||
"46 30.3 12.0 0.0 \n",
|
||
"47 59.6 52.0 2.0 \n",
|
||
"48 26.0 19.0 0.0 \n",
|
||
"49 56.4 71.0 1.0 \n",
|
||
"50 37.4 72.0 6.0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 0.0 0.0 \n",
|
||
"1 2.1 34.0 \n",
|
||
"2 0.0 0.0 \n",
|
||
"3 0.8 9.0 \n",
|
||
"4 0.0 0.0 \n",
|
||
"5 5.1 34.0 \n",
|
||
"6 3.2 36.0 \n",
|
||
"7 5.8 10.0 \n",
|
||
"8 3.6 22.0 \n",
|
||
"9 0.0 1.0 \n",
|
||
"10 5.2 43.0 \n",
|
||
"11 4.9 27.0 \n",
|
||
"12 0.0 1.0 \n",
|
||
"13 8.0 2.0 \n",
|
||
"14 0.0 0.0 \n",
|
||
"15 2.6 39.0 \n",
|
||
"16 2.9 22.0 \n",
|
||
"17 0.0 1.0 \n",
|
||
"18 4.0 30.0 \n",
|
||
"19 10.5 3.0 \n",
|
||
"20 2.1 6.0 \n",
|
||
"21 3.3 13.0 \n",
|
||
"22 1.6 10.0 \n",
|
||
"23 0.6 23.0 \n",
|
||
"24 3.1 21.0 \n",
|
||
"25 5.4 18.0 \n",
|
||
"26 7.8 11.0 \n",
|
||
"27 0.0 1.0 \n",
|
||
"28 3.0 2.0 \n",
|
||
"29 8.1 5.0 \n",
|
||
"30 6.7 1.0 \n",
|
||
"31 3.5 18.0 \n",
|
||
"32 0.0 1.0 \n",
|
||
"33 3.0 46.0 \n",
|
||
"34 0.0 3.0 \n",
|
||
"35 2.7 2.0 \n",
|
||
"36 0.0 8.0 \n",
|
||
"37 2.4 17.0 \n",
|
||
"38 0.0 0.0 \n",
|
||
"39 2.6 24.0 \n",
|
||
"40 2.0 20.0 \n",
|
||
"41 2.3 21.0 \n",
|
||
"42 5.2 21.0 \n",
|
||
"43 5.6 27.0 \n",
|
||
"44 3.4 5.0 \n",
|
||
"45 3.0 37.0 \n",
|
||
"46 0.0 0.0 \n",
|
||
"47 3.8 1.0 \n",
|
||
"48 0.0 0.0 \n",
|
||
"49 1.4 0.0 \n",
|
||
"50 8.3 11.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \n",
|
||
"0 0.00 11.0 \n",
|
||
"1 0.92 14.8 \n",
|
||
"2 0.00 9.0 \n",
|
||
"3 1.13 15.2 \n",
|
||
"4 0.00 7.5 \n",
|
||
"5 0.92 15.1 \n",
|
||
"6 1.00 15.1 \n",
|
||
"7 1.67 15.0 \n",
|
||
"8 0.65 14.2 \n",
|
||
"9 1.00 18.7 \n",
|
||
"10 1.16 14.8 \n",
|
||
"11 0.77 13.3 \n",
|
||
"12 1.00 11.5 \n",
|
||
"13 0.40 11.5 \n",
|
||
"14 0.00 0.0 \n",
|
||
"15 1.63 17.4 \n",
|
||
"16 0.61 14.9 \n",
|
||
"17 1.00 11.0 \n",
|
||
"18 1.49 19.2 \n",
|
||
"19 3.00 13.0 \n",
|
||
"20 1.62 14.5 \n",
|
||
"21 0.59 13.1 \n",
|
||
"22 2.00 19.1 \n",
|
||
"23 1.95 18.3 \n",
|
||
"24 0.57 11.6 \n",
|
||
"25 0.51 13.3 \n",
|
||
"26 0.69 12.6 \n",
|
||
"27 2.00 20.0 \n",
|
||
"28 0.87 11.1 \n",
|
||
"29 1.36 16.8 \n",
|
||
"30 1.00 15.3 \n",
|
||
"31 0.56 12.6 \n",
|
||
"32 3.91 28.0 \n",
|
||
"33 1.59 17.2 \n",
|
||
"34 2.00 13.9 \n",
|
||
"35 0.87 12.6 \n",
|
||
"36 2.00 26.2 \n",
|
||
"37 0.59 13.8 \n",
|
||
"38 0.00 5.7 \n",
|
||
"39 0.67 13.9 \n",
|
||
"40 0.61 12.4 \n",
|
||
"41 0.66 14.6 \n",
|
||
"42 0.75 12.6 \n",
|
||
"43 1.93 16.3 \n",
|
||
"44 0.56 14.2 \n",
|
||
"45 1.24 16.2 \n",
|
||
"46 0.00 8.0 \n",
|
||
"47 0.33 11.1 \n",
|
||
"48 0.00 11.5 \n",
|
||
"49 0.00 6.8 \n",
|
||
"50 1.64 17.8 \n",
|
||
"\n",
|
||
"[51 rows x 47 columns]"
|
||
]
|
||
},
|
||
"execution_count": 38,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"keeper_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"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>350</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Donnarumma G.</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>Donnarumma</td>\n",
|
||
" <td>G</td>\n",
|
||
" <td>629</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>207</td>\n",
|
||
" <td>41.5</td>\n",
|
||
" <td>33.7</td>\n",
|
||
" <td>556</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>43</td>\n",
|
||
" <td>1.16</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</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>664</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.5</td>\n",
|
||
" <td>179</td>\n",
|
||
" <td>10.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>399</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1.24</td>\n",
|
||
" <td>16.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>250</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td></td>\n",
|
||
" <td>635</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1984</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.7</td>\n",
|
||
" <td>167</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>441</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>2.9</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>0.61</td>\n",
|
||
" <td>14.9</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>610</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td></td>\n",
|
||
" <td>634</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>32.6</td>\n",
|
||
" <td>116</td>\n",
|
||
" <td>63.8</td>\n",
|
||
" <td>49.7</td>\n",
|
||
" <td>234</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1.63</td>\n",
|
||
" <td>17.4</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>761</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>35.0</td>\n",
|
||
" <td>259</td>\n",
|
||
" <td>64.1</td>\n",
|
||
" <td>45.3</td>\n",
|
||
" <td>563</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>2.1</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>14.8</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>559</th>\n",
|
||
" <td>5361</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>464</td>\n",
|
||
" <td>18</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>560</th>\n",
|
||
" <td>5378</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td></td>\n",
|
||
" <td>400</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>5</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>561</th>\n",
|
||
" <td>5414</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Karamoko Is.</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Karamoko</td>\n",
|
||
" <td>I</td>\n",
|
||
" <td>267</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>1</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>562</th>\n",
|
||
" <td>5419</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td></td>\n",
|
||
" <td>113</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>1</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>563</th>\n",
|
||
" <td>5436</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>470</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>2004</td>\n",
|
||
" <td>1</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>564 rows × 167 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 350 P Donnarumma G. Milan Donnarumma G 629 21 \n",
|
||
"1 453 P Szczesny Juventus Szczesny 664 30 \n",
|
||
"2 250 P Handanovic Inter Handanovic 635 36 \n",
|
||
"3 610 P Gollini Atalanta Gollini 634 25 \n",
|
||
"4 761 P Audero Sampdoria Audero 620 23 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"559 5361 A Rabbi Bologna Rabbi 464 18 \n",
|
||
"560 5378 A Oddei Sassuolo Oddei 400 17 \n",
|
||
"561 5414 A Karamoko Is. Sassuolo Karamoko I 267 18 \n",
|
||
"562 5419 A Correia Juventus Correia 113 19 \n",
|
||
"563 5436 A Raimondo Bologna Raimondo 470 16 \n",
|
||
"\n",
|
||
" birth_year games ... gk_passes_length_avg gk_goal_kicks \\\n",
|
||
"0 1999 0 ... 29.0 207 \n",
|
||
"1 1990 0 ... 26.5 179 \n",
|
||
"2 1984 0 ... 26.7 167 \n",
|
||
"3 1995 0 ... 32.6 116 \n",
|
||
"4 1997 0 ... 35.0 259 \n",
|
||
".. ... ... ... ... ... \n",
|
||
"559 2001 4 ... 0.0 0 \n",
|
||
"560 2002 5 ... 0.0 0 \n",
|
||
"561 2002 1 ... 0.0 0 \n",
|
||
"562 2001 1 ... 0.0 0 \n",
|
||
"563 2004 1 ... 0.0 0 \n",
|
||
"\n",
|
||
" gk_pct_goal_kicks_launched gk_goal_kick_length_avg gk_crosses \\\n",
|
||
"0 41.5 33.7 556 \n",
|
||
"1 10.6 22.0 399 \n",
|
||
"2 26.9 30.8 441 \n",
|
||
"3 63.8 49.7 234 \n",
|
||
"4 64.1 45.3 563 \n",
|
||
".. ... ... ... \n",
|
||
"559 0.0 0.0 0 \n",
|
||
"560 0.0 0.0 0 \n",
|
||
"561 0.0 0.0 0 \n",
|
||
"562 0.0 0.0 0 \n",
|
||
"563 0.0 0.0 0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped gk_crosses_stopped_pct \\\n",
|
||
"0 29 5.2 \n",
|
||
"1 12 3.0 \n",
|
||
"2 13 2.9 \n",
|
||
"3 6 2.6 \n",
|
||
"4 12 2.1 \n",
|
||
".. ... ... \n",
|
||
"559 0 0.0 \n",
|
||
"560 0 0.0 \n",
|
||
"561 0 0.0 \n",
|
||
"562 0 0.0 \n",
|
||
"563 0 0.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area gk_def_actions_outside_pen_area_per90 \\\n",
|
||
"0 43 1.16 \n",
|
||
"1 37 1.24 \n",
|
||
"2 22 0.61 \n",
|
||
"3 39 1.63 \n",
|
||
"4 34 0.92 \n",
|
||
".. ... ... \n",
|
||
"559 0 0.00 \n",
|
||
"560 0 0.00 \n",
|
||
"561 0 0.00 \n",
|
||
"562 0 0.00 \n",
|
||
"563 0 0.00 \n",
|
||
"\n",
|
||
" gk_avg_distance_def_actions \n",
|
||
"0 14.8 \n",
|
||
"1 16.2 \n",
|
||
"2 14.9 \n",
|
||
"3 17.4 \n",
|
||
"4 14.8 \n",
|
||
".. ... \n",
|
||
"559 0.0 \n",
|
||
"560 0.0 \n",
|
||
"561 0.0 \n",
|
||
"562 0.0 \n",
|
||
"563 0.0 \n",
|
||
"\n",
|
||
"[564 rows x 167 columns]"
|
||
]
|
||
},
|
||
"execution_count": 39,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"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.283784</td>\n",
|
||
" <td>0.394909</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>6.216667</td>\n",
|
||
" <td>0.441273</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>6.027027</td>\n",
|
||
" <td>0.505990</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>6.100000</td>\n",
|
||
" <td>0.632456</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>6.378378</td>\n",
|
||
" <td>0.409439</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>559</th>\n",
|
||
" <td>6.027304</td>\n",
|
||
" <td>0.472755</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>560</th>\n",
|
||
" <td>6.207968</td>\n",
|
||
" <td>0.447162</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>561</th>\n",
|
||
" <td>6.186813</td>\n",
|
||
" <td>0.444240</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>562</th>\n",
|
||
" <td>6.600386</td>\n",
|
||
" <td>0.396770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>563</th>\n",
|
||
" <td>6.209072</td>\n",
|
||
" <td>0.275318</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>564 rows × 2 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" vote_avg vote_std\n",
|
||
"0 6.283784 0.394909\n",
|
||
"1 6.216667 0.441273\n",
|
||
"2 6.027027 0.505990\n",
|
||
"3 6.100000 0.632456\n",
|
||
"4 6.378378 0.409439\n",
|
||
".. ... ...\n",
|
||
"559 6.027304 0.472755\n",
|
||
"560 6.207968 0.447162\n",
|
||
"561 6.186813 0.444240\n",
|
||
"562 6.600386 0.396770\n",
|
||
"563 6.209072 0.275318\n",
|
||
"\n",
|
||
"[564 rows x 2 columns]"
|
||
]
|
||
},
|
||
"execution_count": 40,
|
||
"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": 41,
|
||
"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>350</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Donnarumma G.</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>Donnarumma</td>\n",
|
||
" <td>G</td>\n",
|
||
" <td>629</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>41.5</td>\n",
|
||
" <td>33.7</td>\n",
|
||
" <td>556</td>\n",
|
||
" <td>29</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>43</td>\n",
|
||
" <td>1.16</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" <td>6.283784</td>\n",
|
||
" <td>0.394909</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</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>664</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>10.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>399</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>37</td>\n",
|
||
" <td>1.24</td>\n",
|
||
" <td>16.2</td>\n",
|
||
" <td>6.216667</td>\n",
|
||
" <td>0.441273</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>250</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td></td>\n",
|
||
" <td>635</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1984</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>441</td>\n",
|
||
" <td>13</td>\n",
|
||
" <td>2.9</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>0.61</td>\n",
|
||
" <td>14.9</td>\n",
|
||
" <td>6.027027</td>\n",
|
||
" <td>0.505990</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>610</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td></td>\n",
|
||
" <td>634</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>63.8</td>\n",
|
||
" <td>49.7</td>\n",
|
||
" <td>234</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>39</td>\n",
|
||
" <td>1.63</td>\n",
|
||
" <td>17.4</td>\n",
|
||
" <td>6.100000</td>\n",
|
||
" <td>0.632456</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>761</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>64.1</td>\n",
|
||
" <td>45.3</td>\n",
|
||
" <td>563</td>\n",
|
||
" <td>12</td>\n",
|
||
" <td>2.1</td>\n",
|
||
" <td>34</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" <td>6.378378</td>\n",
|
||
" <td>0.409439</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>559</th>\n",
|
||
" <td>5361</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>464</td>\n",
|
||
" <td>18</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.027304</td>\n",
|
||
" <td>0.472755</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>560</th>\n",
|
||
" <td>5378</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td></td>\n",
|
||
" <td>400</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>5</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.207968</td>\n",
|
||
" <td>0.447162</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>561</th>\n",
|
||
" <td>5414</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Karamoko Is.</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Karamoko</td>\n",
|
||
" <td>I</td>\n",
|
||
" <td>267</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>1</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.186813</td>\n",
|
||
" <td>0.444240</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>562</th>\n",
|
||
" <td>5419</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td></td>\n",
|
||
" <td>113</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>1</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.600386</td>\n",
|
||
" <td>0.396770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>563</th>\n",
|
||
" <td>5436</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>470</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>2004</td>\n",
|
||
" <td>1</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.209072</td>\n",
|
||
" <td>0.275318</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>564 rows × 169 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 350 P Donnarumma G. Milan Donnarumma G 629 21 \n",
|
||
"1 453 P Szczesny Juventus Szczesny 664 30 \n",
|
||
"2 250 P Handanovic Inter Handanovic 635 36 \n",
|
||
"3 610 P Gollini Atalanta Gollini 634 25 \n",
|
||
"4 761 P Audero Sampdoria Audero 620 23 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"559 5361 A Rabbi Bologna Rabbi 464 18 \n",
|
||
"560 5378 A Oddei Sassuolo Oddei 400 17 \n",
|
||
"561 5414 A Karamoko Is. Sassuolo Karamoko I 267 18 \n",
|
||
"562 5419 A Correia Juventus Correia 113 19 \n",
|
||
"563 5436 A Raimondo Bologna Raimondo 470 16 \n",
|
||
"\n",
|
||
" birth_year games ... gk_pct_goal_kicks_launched \\\n",
|
||
"0 1999 0 ... 41.5 \n",
|
||
"1 1990 0 ... 10.6 \n",
|
||
"2 1984 0 ... 26.9 \n",
|
||
"3 1995 0 ... 63.8 \n",
|
||
"4 1997 0 ... 64.1 \n",
|
||
".. ... ... ... ... \n",
|
||
"559 2001 4 ... 0.0 \n",
|
||
"560 2002 5 ... 0.0 \n",
|
||
"561 2002 1 ... 0.0 \n",
|
||
"562 2001 1 ... 0.0 \n",
|
||
"563 2004 1 ... 0.0 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 33.7 556 29 \n",
|
||
"1 22.0 399 12 \n",
|
||
"2 30.8 441 13 \n",
|
||
"3 49.7 234 6 \n",
|
||
"4 45.3 563 12 \n",
|
||
".. ... ... ... \n",
|
||
"559 0.0 0 0 \n",
|
||
"560 0.0 0 0 \n",
|
||
"561 0.0 0 0 \n",
|
||
"562 0.0 0 0 \n",
|
||
"563 0.0 0 0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 5.2 43 \n",
|
||
"1 3.0 37 \n",
|
||
"2 2.9 22 \n",
|
||
"3 2.6 39 \n",
|
||
"4 2.1 34 \n",
|
||
".. ... ... \n",
|
||
"559 0.0 0 \n",
|
||
"560 0.0 0 \n",
|
||
"561 0.0 0 \n",
|
||
"562 0.0 0 \n",
|
||
"563 0.0 0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \\\n",
|
||
"0 1.16 14.8 \n",
|
||
"1 1.24 16.2 \n",
|
||
"2 0.61 14.9 \n",
|
||
"3 1.63 17.4 \n",
|
||
"4 0.92 14.8 \n",
|
||
".. ... ... \n",
|
||
"559 0.00 0.0 \n",
|
||
"560 0.00 0.0 \n",
|
||
"561 0.00 0.0 \n",
|
||
"562 0.00 0.0 \n",
|
||
"563 0.00 0.0 \n",
|
||
"\n",
|
||
" vote_avg vote_std \n",
|
||
"0 6.283784 0.394909 \n",
|
||
"1 6.216667 0.441273 \n",
|
||
"2 6.027027 0.505990 \n",
|
||
"3 6.100000 0.632456 \n",
|
||
"4 6.378378 0.409439 \n",
|
||
".. ... ... \n",
|
||
"559 6.027304 0.472755 \n",
|
||
"560 6.207968 0.447162 \n",
|
||
"561 6.186813 0.444240 \n",
|
||
"562 6.600386 0.396770 \n",
|
||
"563 6.209072 0.275318 \n",
|
||
"\n",
|
||
"[564 rows x 169 columns]"
|
||
]
|
||
},
|
||
"execution_count": 41,
|
||
"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": 42,
|
||
"id": "494db0f4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Terracciano, 0.6666666666666667\n",
|
||
"Vicario, 0.6666666666666667\n",
|
||
"Radu I., 0.33333333333333337\n",
|
||
"Fuzato, 0.8333333333333334\n",
|
||
"Pandur, 0.6666666666666667\n",
|
||
"Rafael, 0.5\n",
|
||
"Festa, 0.16666666666666663\n",
|
||
"Berardi A., 0.16666666666666663\n",
|
||
"Letica, 0.16666666666666663\n",
|
||
"Crespi, 0.16666666666666663\n",
|
||
"Ujkani, 0.16666666666666663\n",
|
||
"Padelli, 0.16666666666666663\n",
|
||
"Pinsoglio, 0.16666666666666663\n",
|
||
"Milinkovic-Savic V., 0.8333333333333334\n",
|
||
"Paleari, 0.5\n",
|
||
"Radunovic, 0.0\n",
|
||
"Da Costa, 0.0\n",
|
||
"Tatarusanu, 0.16666666666666663\n",
|
||
"Marchetti, 0.6666666666666667\n",
|
||
"Colombi, 0.33333333333333337\n",
|
||
"Pegolo, 0.16666666666666663\n",
|
||
"Scuffet, 0.16666666666666663\n",
|
||
"Zima L., 0.0\n",
|
||
"Aresti, 0.0\n",
|
||
"Rossi F., 0.0\n",
|
||
"Ravaglia F., 0.6666666666666667\n",
|
||
"Rosati, 0.0\n",
|
||
"Contini, 0.0\n",
|
||
"Brancolini, 0.0\n",
|
||
"Avogadri, 0.0\n",
|
||
"Turati, 0.0\n",
|
||
"Breza, 0.0\n",
|
||
"Ciocci, 0.0\n",
|
||
"Gori P., 0.0\n",
|
||
"Manfredini, 0.16666666666666663\n",
|
||
"Ravaglia, 0.0\n",
|
||
"Krapikas, 0.0\n",
|
||
"Boer, 0.0\n",
|
||
"Alia, 0.0\n",
|
||
"Gasparini, 0.16666666666666663\n",
|
||
"Rinaldi, 0.0\n",
|
||
"Farelli, 0.0\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": 43,
|
||
"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>350</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Donnarumma G.</td>\n",
|
||
" <td>Milan</td>\n",
|
||
" <td>Donnarumma</td>\n",
|
||
" <td>G</td>\n",
|
||
" <td>629</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>1999</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>41.5</td>\n",
|
||
" <td>33.7</td>\n",
|
||
" <td>556.0</td>\n",
|
||
" <td>29.0</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" <td>43.0</td>\n",
|
||
" <td>1.16</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" <td>6.283784</td>\n",
|
||
" <td>0.394909</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</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>664</td>\n",
|
||
" <td>30</td>\n",
|
||
" <td>1990</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>10.6</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>399.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>37.0</td>\n",
|
||
" <td>1.24</td>\n",
|
||
" <td>16.2</td>\n",
|
||
" <td>6.216667</td>\n",
|
||
" <td>0.441273</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>250</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td>Inter</td>\n",
|
||
" <td>Handanovic</td>\n",
|
||
" <td></td>\n",
|
||
" <td>635</td>\n",
|
||
" <td>36</td>\n",
|
||
" <td>1984</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>26.9</td>\n",
|
||
" <td>30.8</td>\n",
|
||
" <td>441.0</td>\n",
|
||
" <td>13.0</td>\n",
|
||
" <td>2.9</td>\n",
|
||
" <td>22.0</td>\n",
|
||
" <td>0.61</td>\n",
|
||
" <td>14.9</td>\n",
|
||
" <td>6.027027</td>\n",
|
||
" <td>0.505990</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>610</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td>Atalanta</td>\n",
|
||
" <td>Gollini</td>\n",
|
||
" <td></td>\n",
|
||
" <td>634</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>1995</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>63.8</td>\n",
|
||
" <td>49.7</td>\n",
|
||
" <td>234.0</td>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>2.6</td>\n",
|
||
" <td>39.0</td>\n",
|
||
" <td>1.63</td>\n",
|
||
" <td>17.4</td>\n",
|
||
" <td>6.100000</td>\n",
|
||
" <td>0.632456</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>761</td>\n",
|
||
" <td>P</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td>Sampdoria</td>\n",
|
||
" <td>Audero</td>\n",
|
||
" <td></td>\n",
|
||
" <td>620</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>1997</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>64.1</td>\n",
|
||
" <td>45.3</td>\n",
|
||
" <td>563.0</td>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>2.1</td>\n",
|
||
" <td>34.0</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>14.8</td>\n",
|
||
" <td>6.378378</td>\n",
|
||
" <td>0.409439</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>559</th>\n",
|
||
" <td>5361</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Rabbi</td>\n",
|
||
" <td></td>\n",
|
||
" <td>464</td>\n",
|
||
" <td>18</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.027304</td>\n",
|
||
" <td>0.472755</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>560</th>\n",
|
||
" <td>5378</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Oddei</td>\n",
|
||
" <td></td>\n",
|
||
" <td>400</td>\n",
|
||
" <td>17</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>5</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.207968</td>\n",
|
||
" <td>0.447162</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>561</th>\n",
|
||
" <td>5414</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Karamoko Is.</td>\n",
|
||
" <td>Sassuolo</td>\n",
|
||
" <td>Karamoko</td>\n",
|
||
" <td>I</td>\n",
|
||
" <td>267</td>\n",
|
||
" <td>18</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>1</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.186813</td>\n",
|
||
" <td>0.444240</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>562</th>\n",
|
||
" <td>5419</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td>Juventus</td>\n",
|
||
" <td>Correia</td>\n",
|
||
" <td></td>\n",
|
||
" <td>113</td>\n",
|
||
" <td>19</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>1</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.600386</td>\n",
|
||
" <td>0.396770</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>563</th>\n",
|
||
" <td>5436</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td>Bologna</td>\n",
|
||
" <td>Raimondo</td>\n",
|
||
" <td></td>\n",
|
||
" <td>470</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>2004</td>\n",
|
||
" <td>1</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.209072</td>\n",
|
||
" <td>0.275318</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>564 rows × 169 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id r name team surname initial fb_ID age \\\n",
|
||
"0 350 P Donnarumma G. Milan Donnarumma G 629 21 \n",
|
||
"1 453 P Szczesny Juventus Szczesny 664 30 \n",
|
||
"2 250 P Handanovic Inter Handanovic 635 36 \n",
|
||
"3 610 P Gollini Atalanta Gollini 634 25 \n",
|
||
"4 761 P Audero Sampdoria Audero 620 23 \n",
|
||
".. ... .. ... ... ... ... ... ... \n",
|
||
"559 5361 A Rabbi Bologna Rabbi 464 18 \n",
|
||
"560 5378 A Oddei Sassuolo Oddei 400 17 \n",
|
||
"561 5414 A Karamoko Is. Sassuolo Karamoko I 267 18 \n",
|
||
"562 5419 A Correia Juventus Correia 113 19 \n",
|
||
"563 5436 A Raimondo Bologna Raimondo 470 16 \n",
|
||
"\n",
|
||
" birth_year games ... gk_pct_goal_kicks_launched \\\n",
|
||
"0 1999 0 ... 41.5 \n",
|
||
"1 1990 0 ... 10.6 \n",
|
||
"2 1984 0 ... 26.9 \n",
|
||
"3 1995 0 ... 63.8 \n",
|
||
"4 1997 0 ... 64.1 \n",
|
||
".. ... ... ... ... \n",
|
||
"559 2001 4 ... 0.0 \n",
|
||
"560 2002 5 ... 0.0 \n",
|
||
"561 2002 1 ... 0.0 \n",
|
||
"562 2001 1 ... 0.0 \n",
|
||
"563 2004 1 ... 0.0 \n",
|
||
"\n",
|
||
" gk_goal_kick_length_avg gk_crosses gk_crosses_stopped \\\n",
|
||
"0 33.7 556.0 29.0 \n",
|
||
"1 22.0 399.0 12.0 \n",
|
||
"2 30.8 441.0 13.0 \n",
|
||
"3 49.7 234.0 6.0 \n",
|
||
"4 45.3 563.0 12.0 \n",
|
||
".. ... ... ... \n",
|
||
"559 0.0 0.0 0.0 \n",
|
||
"560 0.0 0.0 0.0 \n",
|
||
"561 0.0 0.0 0.0 \n",
|
||
"562 0.0 0.0 0.0 \n",
|
||
"563 0.0 0.0 0.0 \n",
|
||
"\n",
|
||
" gk_crosses_stopped_pct gk_def_actions_outside_pen_area \\\n",
|
||
"0 5.2 43.0 \n",
|
||
"1 3.0 37.0 \n",
|
||
"2 2.9 22.0 \n",
|
||
"3 2.6 39.0 \n",
|
||
"4 2.1 34.0 \n",
|
||
".. ... ... \n",
|
||
"559 0.0 0.0 \n",
|
||
"560 0.0 0.0 \n",
|
||
"561 0.0 0.0 \n",
|
||
"562 0.0 0.0 \n",
|
||
"563 0.0 0.0 \n",
|
||
"\n",
|
||
" gk_def_actions_outside_pen_area_per90 gk_avg_distance_def_actions \\\n",
|
||
"0 1.16 14.8 \n",
|
||
"1 1.24 16.2 \n",
|
||
"2 0.61 14.9 \n",
|
||
"3 1.63 17.4 \n",
|
||
"4 0.92 14.8 \n",
|
||
".. ... ... \n",
|
||
"559 0.00 0.0 \n",
|
||
"560 0.00 0.0 \n",
|
||
"561 0.00 0.0 \n",
|
||
"562 0.00 0.0 \n",
|
||
"563 0.00 0.0 \n",
|
||
"\n",
|
||
" vote_avg vote_std \n",
|
||
"0 6.283784 0.394909 \n",
|
||
"1 6.216667 0.441273 \n",
|
||
"2 6.027027 0.505990 \n",
|
||
"3 6.100000 0.632456 \n",
|
||
"4 6.378378 0.409439 \n",
|
||
".. ... ... \n",
|
||
"559 6.027304 0.472755 \n",
|
||
"560 6.207968 0.447162 \n",
|
||
"561 6.186813 0.444240 \n",
|
||
"562 6.600386 0.396770 \n",
|
||
"563 6.209072 0.275318 \n",
|
||
"\n",
|
||
"[564 rows x 169 columns]"
|
||
]
|
||
},
|
||
"execution_count": 43,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"fc_players = fc_players_newgk\n",
|
||
"\n",
|
||
"fc_players"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"id": "8336c025",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"fc_players.to_excel('mid_outputs/season' + season + '/players_stats.xlsx')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b7a7c972",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f3fc9b1b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.9.13"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|