Teknisk Tirsdag: Supervised Learning

I denne opgave skal vi bruge Logistisk Regression til at forudsige hvilke danske fodboldspillere der egentlig kunne spille for en storklub.


In [1]:
# Run the datacleaning notebook to get all the variables
%run 'Teknisk Tirsdag - Data Cleaning.ipynb'


/usr/local/lib/python3.5/dist-packages/IPython/core/interactiveshell.py:2850: DtypeWarning: Columns (23,35) have mixed types. Specify dtype option on import or set low_memory=False.
  if self.run_code(code, result):
Kolonnenavn: Name                 antal fyldte felter: 17981     datatype: object
Kolonnenavn: Age                  antal fyldte felter: 17981     datatype: int64
Kolonnenavn: Nationality          antal fyldte felter: 17981     datatype: object
Kolonnenavn: Overall              antal fyldte felter: 17981     datatype: int64
Kolonnenavn: Potential            antal fyldte felter: 17981     datatype: int64
Kolonnenavn: Club                 antal fyldte felter: 17733     datatype: object
Kolonnenavn: Value                antal fyldte felter: 17981     datatype: object
Kolonnenavn: Wage                 antal fyldte felter: 17981     datatype: object
Kolonnenavn: Special              antal fyldte felter: 17981     datatype: int64
Kolonnenavn: Acceleration         antal fyldte felter: 17981     datatype: object
Kolonnenavn: Aggression           antal fyldte felter: 17981     datatype: object
Kolonnenavn: Agility              antal fyldte felter: 17981     datatype: object
Kolonnenavn: Balance              antal fyldte felter: 17981     datatype: object
Kolonnenavn: Ball control         antal fyldte felter: 17981     datatype: object
Kolonnenavn: Composure            antal fyldte felter: 17981     datatype: object
Kolonnenavn: Crossing             antal fyldte felter: 17981     datatype: object
Kolonnenavn: Curve                antal fyldte felter: 17981     datatype: object
Kolonnenavn: Dribbling            antal fyldte felter: 17981     datatype: object
Kolonnenavn: Finishing            antal fyldte felter: 17981     datatype: object
Kolonnenavn: Free kick accuracy   antal fyldte felter: 17981     datatype: object
Kolonnenavn: GK diving            antal fyldte felter: 17981     datatype: object
Kolonnenavn: GK handling          antal fyldte felter: 17981     datatype: object
Kolonnenavn: GK kicking           antal fyldte felter: 17981     datatype: object
Kolonnenavn: GK positioning       antal fyldte felter: 17981     datatype: object
Kolonnenavn: GK reflexes          antal fyldte felter: 17981     datatype: object
Kolonnenavn: Heading accuracy     antal fyldte felter: 17981     datatype: object
Kolonnenavn: Interceptions        antal fyldte felter: 17981     datatype: object
Kolonnenavn: Jumping              antal fyldte felter: 17981     datatype: object
Kolonnenavn: Long passing         antal fyldte felter: 17981     datatype: object
Kolonnenavn: Long shots           antal fyldte felter: 17981     datatype: object
Kolonnenavn: Marking              antal fyldte felter: 17981     datatype: object
Kolonnenavn: Penalties            antal fyldte felter: 17981     datatype: object
Kolonnenavn: Positioning          antal fyldte felter: 17981     datatype: object
Kolonnenavn: Reactions            antal fyldte felter: 17981     datatype: object
Kolonnenavn: Short passing        antal fyldte felter: 17981     datatype: object
Kolonnenavn: Shot power           antal fyldte felter: 17981     datatype: object
Kolonnenavn: Sliding tackle       antal fyldte felter: 17981     datatype: object
Kolonnenavn: Sprint speed         antal fyldte felter: 17981     datatype: object
Kolonnenavn: Stamina              antal fyldte felter: 17981     datatype: object
Kolonnenavn: Standing tackle      antal fyldte felter: 17981     datatype: object
Kolonnenavn: Strength             antal fyldte felter: 17981     datatype: object
Kolonnenavn: Vision               antal fyldte felter: 17981     datatype: object
Kolonnenavn: Volleys              antal fyldte felter: 17981     datatype: object
Kolonnenavn: CAM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: CB                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: CDM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: CF                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: CM                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: ID                   antal fyldte felter: 17981     datatype: int64
Kolonnenavn: LAM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LB                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LCB                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LCM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LDM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LF                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LM                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LS                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LW                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: LWB                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: Preferred Positions  antal fyldte felter: 17981     datatype: object
Kolonnenavn: RAM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RB                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RCB                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RCM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RDM                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RF                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RM                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RS                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RW                   antal fyldte felter: 15952     datatype: float64
Kolonnenavn: RWB                  antal fyldte felter: 15952     datatype: float64
Kolonnenavn: ST                   antal fyldte felter: 15952     datatype: float64
('GK kicking', ['73-1', '68-2', '67+4', '65+1', '61-3', '63-7', '59-1', '60+2', '62+2', '60-1', '61+2', '60+1', '54-1', '65+4', '55+2', '68+8', '57+2', '55-1', '56+4'])
('GK diving', ['81-2', '76+1', '76-1', '75+1', '78+3', '72-1', '75+4', '70-2', '73+2', '71-2', '65+2', '68-1', '67+2', '63+2', '62-1', '66+1', '63+1', '64-3', '62+1', '64+5', '54-3', '56+2', '55+5', '55+4'])
('GK positioning', ['71-2', '69+1', '66-2', '69+2', '64+1', '65+4', '60+3', '66-1', '65+1', '63-1', '70+2', '62-1', '64+2', '62+4', '61-1', '60+1', '58+2', '58+4', '59+2', '51+3', '45-1'])
('GK handling', ['78-2', '72-1', '78-1', '67-1', '69+1', '75-1', '73+1', '66+3', '65+1', '63+2', '64+3', '66+2', '63-1', '65+3', '59+3', '58-1', '60+2', '60-1', '57+2', '52+2', '56+4', '53-1', '47-1', '52+3', '55+2'])
('GK reflexes', ['86-2', '83-1', '85-1', '79+1', '74+1', '81-1', '83+3', '78+2', '73-1', '75+2', '70+1', '70-1', '69+2', '67+2', '62+3', '68+2', '65+1', '65-3', '65-1', '61-3', '67+8', '60+1', '55+5', '56-4', '53+3', '55+3', '57+5'])
('Penalties', ['81+7', '65+2', '70-5', '64+6', '70+4', '67+11', '55+1', '70+2', '70+3', '36-10', '53+2', '67+15', '69+2', '61+5', '51+1', '58+13', '51+5', '56+7', '66+2', '58-4', '69-1', '40-1', '49-1', '61-6', '52-2', '60-7', '60-3', '58+5', '46-1', '61-1'])
('Volleys', ['70+1', '69+3', '72+1', '71+1', '69+4', '66+1', '68+2', '64+1', '69+1', '61+5', '62-4', '49+2', '39+4', '59+1', '60+2', '71+8', '51+1', '49+6', '63+5', '32-1', '52+8', '65-2', '53-1', '62+4', '59+2', '40-12', '57+1', '55-4', '57+2', '29-1', '54+10', '51-1', '56+6', '51+7', '33-1', '52-1', '15+8'])
('Free kick accuracy', ['81+1', '66-5', '73+1', '57+5', '60-4', '56+4', '60+8', '53+11', '63-7', '77-3', '58+2', '69+1', '52+10', '62-3', '69-2', '65+1', '70+5', '39+2', '58+6', '62-4', '65+5', '61+10', '71+4', '56+11', '64+1', '39+10', '55+21', '64+8', '70+3', '68+4', '70+17', '69+12', '65+24', '52+9', '70+21', '39-9', '66+30', '64-3', '70+4', '67-1', '39-6', '65+29', '56-2', '64-2', '36+4', '53+1', '32-1', '45-1'])
('Balance', ['90+2', '71+2', '85+2', '89+2', '65+7', '85+1', '47-3', '70+3', '72+6', '80+6', '64+1', '64+4', '52-2', '61-1', '73+4', '70+7', '66+6', '33+4', '53+1', '66+2', '63+2', '82+2', '66+4', '69+3', '80-6', '56-7', '67-2', '49+2', '64+2', '86-3', '62+1', '73-1', '72-2', '63+5', '81-1', '53-13', '50-5', '70+1', '55-3', '70+2', '73+5', '81+1', '65+1', '79-1', '75+1', '77+2', '63-2', '60+3', '68-4', '73-3', '58-1', '71+1'])
('Aggression', ['58-10', '65+10', '57+5', '66+7', '77+5', '68+1', '68+3', '87+1', '82+1', '76+3', '72+3', '80+3', '65-2', '72+5', '42+7', '78-3', '74+7', '82+2', '81+2', '70-1', '75+1', '76+7', '67+4', '66+3', '78+3', '60+12', '71+1', '65-1', '69+10', '74-6', '23+3', '57+1', '67+6', '67+39', '67-2', '53+14', '33+2', '51+2', '56+1', '65+2', '72-2', '66-2', '82+10', '78+17', '72+14', '59+1', '64+3', '58-1', '53+4', '49+4', '67-3', '65+4', '59-7', '61+1', '68-3', '85-2', '53+5', '51+1', '58+7', '48+2', '57+9', '40+2', '30-1', '61+2', '60+8', '46+1'])
('Jumping', ['74+1', '76-4', '67+2', '65+2', '73-8', '59+1', '77-4', '78+1', '86+1', '59+2', '80-2', '68+1', '76+4', '68-1', '81+2', '76-5', '72+4', '63+2', '67-2', '75-6', '73-3', '70+14', '70-3', '66-1', '64+4', '82+6', '75-4', '74+4', '73-4', '78-2', '72-1', '68+7', '60+1', '77-2', '79+2', '64+2', '67+8', '74+7', '65+1', '68+6', '64-4', '59-1', '76-3', '66-3', '69+7', '63+1', '77+2', '57+4', '62+1', '70-2', '71+2', '67+16', '71+9', '87+2', '66+2', '76-2', '46+2', '70+1', '68+2', '39-2', '60+3', '73+5', '66+5', '63+7', '52-2', '60-2'])
('Agility', ['60+6', '78+1', '58-2', '71+1', '70+1', '69+1', '68+2', '74+4', '64-1', '75-1', '64-2', '43-3', '84+1', '58+4', '68-2', '77-8', '76-3', '50-8', '58-4', '70+14', '70-2', '70+3', '81-2', '63-2', '65+4', '55-4', '65+1', '66+3', '48-3', '46+13', '67+8', '83+6', '68+1', '62-3', '83+3', '85+2', '82-8', '82+3', '61-3', '72-1', '83+1', '66-3', '62+1', '67+2', '79+2', '55+1', '71-4', '72+1', '59+4', '67-2', '60+7', '36+2', '62+3', '48+3', '35-2', '68+10', '53+2', '49+1', '63+3', '75+1', '50-1', '77+2', '46+1'])
('Curve', ['81+2', '77+2', '78+1', '60+7', '75-2', '74+2', '71+1', '76+1', '68+4', '39+7', '67+3', '79+1', '73-2', '75+10', '61+2', '67+4', '59+24', '70+1', '58+10', '72-3', '69+7', '65+3', '64+1', '61+5', '52-6', '66+3', '73+2', '73+1', '52+4', '39+8', '53+1', '64+2', '59+1', '68+2', '72+2', '58+3', '62+4', '66+5', '63+11', '71+3', '62+1', '63-2', '69+15', '55+22', '57+4', '58+21', '69+8', '68-3', '50-3', '63+19', '43+3', '45+5', '57-1', '64+9', '34+3', '37-1', '42-3', '28+5', '36+6', '56+2', '53+10', '46+12', '31-1', '56+1', '45-1', '41+5', '27+2'])
('Shot power', ['81+1', '73+3', '85+6', '83+3', '77+3', '78-1', '75+4', '74-1', '70+28', '73+2', '70+13', '75+3', '73+1', '68-1', '58+9', '66+1', '80+6', '63+2', '73-5', '56+2', '63-3', '64+29', '79-3', '67+2', '76+1', '74-2', '70+1', '54+1', '71-6', '71+4', '68+2', '62-1', '71+1', '64+10', '63+1', '67+1', '69+2', '58+5', '75+1', '60+5', '65+2', '69+4', '57+3', '81-4', '74+2', '65+3', '55+1', '64-1', '55-4', '43-4', '66-2', '56-1', '61+3', '57-1', '60-2', '58-3', '52+3', '67+10', '50+4', '54+2', '43+10', '45-1', '36+13', '56-2', '21+1'])
('Heading accuracy', ['85-1', '73+1', '76+2', '74+1', '72+3', '78+1', '78-1', '75+2', '75-1', '65+2', '68-7', '42-7', '69+2', '70+2', '56+2', '46+8', '74+2', '64+4', '72-2', '72+2', '60+2', '64-1', '55+7', '59+2', '68-4', '43+3', '69-1', '74-2', '61+1', '61+2', '63+4', '57+5', '71-1', '59-5', '65-1', '59-1', '62-1', '72+1', '62+3', '64-3', '63-3', '56-6', '53+6', '64+1', '60+4', '62+4', '65+1', '60-5', '50-10', '54+3', '48-2', '69-3', '63+1', '64+2', '52+5', '57+2', '37+2', '57-1', '60-1', '70+4', '48+1', '43-1', '60+6', '52-11', '47+7', '43+2', '41+2'])
('Long shots', ['80+3', '73+2', '72+2', '79+3', '62+2', '74+1', '73+1', '78+2', '64+2', '73-1', '66+2', '60+6', '70+5', '77-2', '68-2', '65+1', '69+1', '70-4', '67-1', '68-4', '55+5', '64+3', '55+25', '75+1', '52-3', '63+3', '68+1', '75+6', '66+4', '43+1', '53-14', '52+1', '72+5', '63+1', '59+2', '59-1', '69+4', '66+1', '53+9', '64-1', '59+1', '61+3', '54+8', '71+2', '62-1', '62+1', '60+7', '61+1', '41-4', '58+3', '66-2', '43-1', '60+4', '38+10', '59+20', '60-2', '63+10', '27+3', '42+20', '56+5', '57+1', '23-1', '50+1', '39-1', '35+5', '47+3', '17+10'])
('Acceleration', ['70+9', '80+1', '49-1', '67+2', '79-2', '65-2', '91-2', '74-3', '75+1', '41-6', '74+1', '70+3', '75+5', '74+2', '71+2', '68+1', '71+4', '89-2', '58-10', '78+1', '86+1', '66-1', '66+1', '74+4', '71-3', '80+2', '64-2', '57-4', '78+3', '73+9', '82-3', '68+3', '68+2', '55-8', '55-1', '43-2', '77+3', '82+10', '49-10', '72+1', '61+1', '79+8', '70-2', '60-2', '86+7', '81+4', '69+3', '65-10', '64-3', '73+4', '75-6', '64+5', '33+10', '92+2', '76-1', '62+2', '65+7', '58+8', '44-2', '77+1', '82+3', '68-1', '61+3', '73+3', '59+1', '64+12', '85-1', '78+14', '59-1', '75+4', '73+10', '71+6', '77+13', '62+1', '64-5'])
('Composure', ['79+1', '74+2', '70-1', '75+1', '75+2', '66+4', '74+1', '65-8', '68-3', '82+18', '72+6', '67-1', '70+3', '78+10', '72-2', '66+2', '64+4', '74-5', '65+2', '72-1', '68+2', '67+1', '68+3', '65+5', '64-3', '60-3', '69+2', '61+2', '69+1', '58-1', '61+3', '57-3', '59+2', '55-3', '61-1', '68-2', '68-1', '28+4', '63-1', '50+4', '60-1', '62+3', '59-2', '64+24', '62+1', '63+2', '63+3', '58+5', '62-2', '56+2', '52-3', '62-1', '70+5', '55+4', '52+1', '65-1', '64-1', '58-2', '54-4', '58+2', '55+3', '65-2', '56-1', '51+5', '51+3', '51-4', '56+7', '44+1', '56+1', '52-2', '43+1', '42+1', '40+1', '45+2', '44+5', '35+2'])
('Positioning', ['80+1', '80+3', '76-2', '76+1', '80+2', '72+2', '72+4', '73-2', '75+1', '68+2', '58-1', '74+1', '74+3', '56+4', '71-3', '57+2', '70+3', '68-1', '77+1', '72+8', '66+2', '66-2', '62-3', '69+2', '65+2', '63-3', '65+1', '74+2', '70+1', '58+10', '66+1', '68+6', '70-2', '63+4', '66-8', '61+2', '62-2', '64+1', '70+2', '70+9', '69-1', '68+4', '66+5', '67+4', '10-3', '62-1', '67+3', '67+1', '51+2', '55+3', '60+2', '67+2', '56+29', '69+3', '54+1', '51-4', '61+1', '46+4', '52-7', '40+14', '58+2', '56+3', '39+2', '60-2', '50+2', '30-1', '56-4', '53+1', '52+1', '50+7', '51-1', '47+6', '47+1', '56+7', '17+10', '27+3', '42+1', '52-1'])
('Sliding tackle', ['71+4', '82-1', '77-1', '31+8', '73+1', '79-2', '70+3', '78-1', '77+1', '58+37', '77+3', '78+1', '66+2', '72+1', '73+2', '70+1', '34+14', '65-1', '74+2', '73+3', '42+9', '32-4', '70+2', '80+5', '58+2', '66-3', '67-2', '65-2', '16+4', '68-1', '68+1', '69-1', '67-1', '68+3', '70-1', '69+2', '71-3', '18+3', '20+2', '29-9', '66-1', '52+12', '67-3', '48+6', '55+1', '65+1', '62+3', '44+26', '62-2', '63+5', '61+2', '64+1', '53-3', '59+2', '60+1', '61+5', '63+14', '62-4', '64+4', '60-2', '60-4', '65-3', '21+10', '67+2', '63+1', '31+10', '61-2', '23-2', '59+3', '51+3', '68-5', '34-1', '52+2', '66+1', '54+1', '52+1', '57+4', '56+2', '41+1', '54+3', '50-1'])
('Crossing', ['79+2', '85+1', '63+2', '79+4', '70+2', '74-5', '80+2', '68-8', '72+1', '74+2', '61+1', '71+2', '70-3', '65-3', '72+4', '66-3', '72-8', '79+3', '73+3', '56-3', '61-4', '67+1', '66-2', '60+2', '61-3', '67-2', '41+5', '62+1', '65-1', '66+2', '65+2', '64+2', '37-6', '66+1', '57-10', '66+7', '68+4', '36+10', '63+5', '67-1', '50+1', '62-3', '69-1', '60-1', '46+1', '71+1', '64-1', '58+2', '67+9', '53+1', '68+2', '59+2', '65+3', '54+10', '73-1', '64-5', '53+2', '54+2', '50+8', '58+1', '51+8', '60+8', '50+3', '65+6', '51-3', '54+7', '55+3', '61+29', '60+5', '48-7', '59+9', '55-2', '42+3', '58+11', '56-1', '38-9', '52-6', '56+3', '32-1', '45+9', '55+1', '65+1', '63-1', '36+6', '64+37', '48+7', '45+1', '33+3', '32+2'])
('Interceptions', ['37+1', '43+4', '81+2', '76+2', '64+13', '76+1', '69+1', '71+3', '73+1', '75-1', '74+1', '64+1', '72+1', '49+13', '49+17', '48-11', '36-10', '75-2', '57-2', '21-11', '66+1', '69-4', '67-2', '68-3', '67+1', '68+2', '66+2', '68+1', '68-1', '68-4', '67+3', '66-2', '61+1', '74+7', '17+1', '67-4', '62-1', '68+4', '64-1', '60+10', '67-1', '10-11', '45+6', '65+1', '64+12', '69+5', '59+4', '64+2', '36+24', '63+29', '39+10', '49+15', '59+2', '54+2', '64+4', '48+2', '56+4', '62+5', '23+10', '58+4', '58-6', '55+2', '63+2', '55+5', '57+3', '58-3', '18-6', '60+2', '58-4', '63-2', '48+1', '59+1', '57+1', '44+3', '56+1', '48+24', '24-1', '57-1', '50+5', '15-11', '34+5', '27+20', '49+2', '52+2', '31+1'])
('Strength', ['70+1', '79+1', '66+1', '34+3', '65-2', '76+2', '71+3', '68+1', '47+3', '52-5', '80+1', '68+6', '85-1', '75+5', '87-4', '75+2', '83+5', '77-1', '56-5', '85+1', '68+4', '76+1', '78+2', '65-1', '83-1', '54+5', '84+6', '60+2', '74+1', '81-3', '51-7', '68+2', '75+1', '57-3', '78-6', '69-3', '69+1', '65+3', '85-5', '78-2', '73-1', '70-1', '67-5', '74+2', '78+1', '72-2', '83+4', '74-1', '57-10', '84-4', '73+3', '48-2', '80-1', '66+5', '57+1', '40+10', '68-1', '55-6', '69+11', '79-1', '71-1', '54-7', '54+2', '82-5', '50+3', '73-2', '59-19', '57+4', '68+3', '74+4', '33+2', '87-3', '58+10', '70+3', '37+5', '71-4', '32+2', '55-1', '69+8', '74+8', '66+6', '65+2', '70+6', '45-10', '67+7', '47+9', '48+12', '72+3', '70+15'])
('Vision', ['72+2', '79+1', '77+1', '77-4', '73-2', '57-1', '73+1', '78+3', '78+1', '78+2', '66+6', '74+2', '67-3', '74+1', '71-2', '62+8', '67-1', '70+2', '66-2', '38-10', '70-4', '73-3', '68+3', '66+1', '68-3', '62+1', '63-4', '69+10', '36-10', '74-2', '69+1', '72+1', '52+5', '68+1', '61+2', '48+2', '58+5', '67+3', '57-4', '69+2', '54-4', '70-2', '66+10', '72+4', '60-5', '70-1', '52-1', '67+1', '65+2', '42-5', '65+1', '65+5', '63+2', '71+4', '53+1', '64+1', '29+15', '71+1', '71-1', '66+2', '57+8', '62+11', '60-3', '52+4', '60+8', '61+11', '55-2', '56+3', '54+1', '63+7', '66-5', '45+24', '52+1', '49+14', '60+4', '59+5', '52+3', '49+1', '61-1', '44+1', '31+3', '37+1', '58+3', '55+8', '51-2', '44+3', '30+1', '47+1', '50+1'])
('Stamina', ['68+2', '82+1', '85+2', '73+3', '75+1', '77+2', '84+7', '75+19', '58-2', '70+2', '74+2', '66+4', '79+2', '41+20', '72-3', '72+2', '72+1', '78-2', '84-3', '56+3', '86-3', '78-1', '80+2', '60+2', '69-1', '85+1', '62-4', '70-1', '63+2', '64+7', '76+3', '68-2', '66-8', '87+3', '85+3', '62-1', '60-4', '81-4', '78+3', '74+9', '74+1', '65-4', '72-1', '76+6', '67+2', '43-2', '73-2', '67-1', '65-1', '72-10', '65+4', '29-11', '59+3', '79-3', '72-2', '69+3', '65+1', '74+4', '64-3', '79+8', '68-1', '64-2', '64+2', '69+1', '73+10', '58-10', '67-2', '66+9', '80-2', '52+7', '61-22', '66+2', '75+20', '70-3', '51-8', '67+1', '74-1', '90+7', '61+30', '54+12', '60+4', '62+1', '73+22', '44-3', '48-1', '63+4', '40+1', '70+6', '69-7', '78+38', '29-9', '62+3', '58+2', '61+6', '53+2', '60-2'])
('Marking', ['84-1', '65+1', '77-2', '78-2', '73+2', '68+2', '78+1', '64+22', '63+1', '62+4', '25+4', '70-1', '74+1', '70+1', '42+21', '73-1', '72+1', '57+1', '79+4', '72+3', '41+7', '75-3', '70+2', '24-7', '67-4', '57+2', '68-1', '59+2', '71-2', '69-2', '74-4', '70-2', '65+2', '62-1', '69+1', '66+2', '59-3', '65+4', '66-2', '61+2', '68-3', '20+3', '70+4', '24+4', '64-3', '66+1', '34-3', '67-6', '55+16', '65-1', '72-1', '43+3', '60-2', '66+9', '60+1', '63+2', '62+6', '64+1', '68+4', '61+1', '56-5', '52+3', '63+4', '64+6', '31-1', '50-4', '62-3', '54+4', '60+2', '60-1', '57+5', '63-1', '64-4', '59+4', '58-2', '57-6', '61+3', '62-4', '22-2', '14-19', '55-1', '54+3', '59-2', '57+3', '40+6', '56-1', '23-1', '25-1', '56+1', '54+6', '15+10', '46+2', '50+1', '45+1', '47+3'])
('Finishing', ['52+2', '81+1', '79+1', '60+2', '79+3', '70+1', '69+4', '74+1', '72-1', '78+1', '69+1', '74+2', '64-3', '45+1', '73+1', '71+1', '80-3', '74+3', '75+1', '65-1', '71-1', '73-1', '77+1', '77-1', '67+3', '70-1', '73+2', '58-2', '58-1', '65+2', '57-3', '71-2', '47+10', '59+2', '65+3', '69+2', '68+2', '62+6', '52+1', '53+4', '69+5', '65-2', '70+2', '44+4', '66+3', '63-1', '58+3', '59+1', '66+1', '50+2', '36-12', '64-2', '68+4', '45+2', '52-3', '58+7', '53-2', '63-3', '33+3', '65+1', '58-4', '58+6', '55+3', '42+3', '64+2', '62-1', '61+1', '61+2', '40-1', '67+2', '38-1', '69-2', '61+3', '62+2', '57-5', '64+5', '51-1', '37+4', '68-3', '63-2', '32-8', '35+3', '49+2', '38+10', '46+1', '26-1', '53-4', '69+3', '54-1', '57-2', '49+1', '48+3', '13+7', '29+13', '56-1'])
('Sprint speed', ['73+7', '83+1', '53-1', '69+1', '84+1', '69+2', '89+1', '58+3', '80-3', '77-4', '73+1', '90+1', '67+3', '89+3', '70-9', '74+1', '38-3', '70+1', '49+8', '82-3', '71+1', '76+5', '78+2', '64+1', '69+3', '75-3', '85-4', '77+2', '63+4', '68+2', '88-2', '64+3', '55-9', '68-1', '77+4', '71-2', '85+1', '68+1', '72-2', '66+4', '80+2', '80-2', '65-3', '67-2', '80+3', '69+6', '79-2', '78+5', '47-2', '83-2', '57+1', '52-14', '73+6', '37-10', '86-1', '58+4', '54+11', '84+5', '77+3', '66+5', '76+1', '55-10', '69-1', '83+11', '68-4', '77+7', '68+6', '71+5', '70-2', '80-5', '68+7', '85+5', '74+4', '73+2', '71-5', '66-10', '90-2', '60-2', '70-10', '67+12', '55+17', '32-1', '87-2', '72-1', '66+6', '64+2', '81+2', '70+5', '66+8', '46-3', '75+3', '70+15', '71+3', '65+3', '71+39', '70+3', '74+2', '61+1', '68+4', '95+2', '65+2', '75+8', '58-2', '73-3', '72+12', '79+17', '60+1', '63-11'])
('Reactions', ['79+2', '78+2', '73+1', '74-2', '76-1', '74+6', '74+4', '77+2', '76+3', '71-2', '72+1', '79+4', '77+1', '75-2', '71+1', '73+3', '71-1', '69-1', '70-1', '72+4', '73+7', '63-2', '66-1', '76+1', '68+1', '66-3', '67+1', '59+4', '61+2', '68+3', '62-3', '75+1', '66+2', '64+3', '76+2', '56+4', '62-2', '69-2', '61-2', '60-2', '65+1', '69+6', '62+1', '55-1', '66+13', '62+2', '58-2', '61+1', '63+4', '53-1', '65-1', '59-3', '64+5', '59+2', '65-2', '67+2', '58-1', '60-5', '62+6', '68+2', '57-2', '63-9', '62+9', '63-1', '59+1', '52-1', '57-1', '59-1', '59+10', '55+2', '56+1', '61-1', '56-1', '54+6', '56-2', '56+3', '57+3', '51+1', '52+7', '49+1', '51+2', '57+5', '55-3', '43-7', '54-2', '48+1', '45+1', '49+5', '52+1', '39-6', '54+3'])
('Long passing', ['80+1', '70+3', '72+2', '81+1', '70+1', '76+1', '82-1', '65+10', '55+24', '77+1', '73-1', '74+2', '61+1', '75-2', '76-1', '74+6', '62+13', '62+4', '72+4', '55-2', '66+6', '71+3', '52+10', '60-2', '62+2', '56-10', '70-2', '53-3', '65+6', '66+2', '70-1', '66+1', '53+3', '61+2', '59-1', '56-2', '74+4', '65+4', '67+5', '71+1', '74-5', '65-2', '61-1', '67+1', '65+1', '44+5', '54+5', '65+3', '59+8', '47+3', '67-1', '53-2', '57+6', '64-3', '75+1', '57+1', '52+3', '60-1', '69+2', '47+4', '43+3', '67+4', '62+1', '65+2', '55-3', '58+4', '57+2', '65+8', '57+21', '54+10', '44+4', '47-4', '48+8', '64+2', '57-1', '56+2', '46-6', '63-3', '45-10', '55+11', '51-3', '51+2', '38+3', '60-3', '40+12', '48+2', '61+4', '50+6', '38+1', '26+16', '26+4', '58+2', '34-1', '62+20', '49-5', '49-1', '38+6', '36+1', '48+10', '59+6', '34+10', '30+6', '25+4'])
('Standing tackle', ['82-1', '72-5', '83-1', '34+8', '76-2', '80-2', '69+3', '80+2', '64+35', '76+2', '46+10', '72+1', '71+2', '39+5', '77+3', '75-2', '75+1', '73+2', '35+6', '71-1', '74+1', '66-3', '72-1', '76+3', '41+10', '70+3', '73+1', '34-5', '68-1', '67-1', '59+2', '69-2', '40+10', '70-1', '65+3', '71-2', '72-4', '67+2', '66-2', '71+1', '60-3', '66+3', '44+10', '64-1', '72-2', '63+4', '73-2', '60+5', '17+2', '27+4', '65-2', '37-3', '67+1', '67-2', '58+10', '69-3', '70+1', '49+4', '69-1', '64+1', '69+4', '67+4', '66+4', '63+1', '51-9', '65+1', '68+1', '68+2', '62+1', '60+2', '62+2', '48+4', '45+2', '68+15', '65-3', '63-2', '63+2', '57-4', '63-1', '13-2', '61-1', '60-2', '37+10', '20-1', '30-2', '64+2', '59+7', '60+1', '55+2', '33+2', '73+5', '26-1', '52+4', '57+1', '54+7', '60+4', '54+4', '58+2', '47+1'])
('Dribbling', ['78+3', '87+1', '84+1', '68+3', '77+1', '80+1', '76+1', '76-2', '74+2', '71-3', '73+2', '71+2', '77+3', '74+4', '76-1', '75-2', '75+1', '72+4', '73-2', '69-5', '72-1', '72+3', '72+2', '74+1', '70+1', '74-1', '78-1', '67-1', '72+1', '38+2', '66-2', '59-2', '64-1', '71+4', '67+2', '56+1', '73+1', '60-1', '66-1', '68+1', '79+1', '66+2', '67+1', '48+15', '69-1', '71+1', '58+4', '42+2', '72-2', '64+3', '63-2', '65+1', '68+2', '36+2', '66+1', '64+1', '66+4', '65-2', '59+10', '63-1', '60-2', '54+8', '62-2', '66+3', '65-1', '57-1', '54-4', '54+10', '62-1', '65+2', '55-2', '59+5', '60+5', '34+3', '58-10', '64+4', '54+1', '49+1', '64-2', '47-2', '65+3', '63+2', '35+7', '49+3', '52+4', '37-1', '58-1', '59-1', '37+7', '31+2', '47+4', '62+5', '50+6', '53+2', '11+6', '36+4', '55-1', '59+1', '41+1', '53+1', '43-1'])
('Ball control', ['83+2', '77+1', '79+1', '85+1', '80+1', '70+1', '76+1', '82+6', '68+6', '74+1', '66+1', '74+5', '63-3', '75-2', '71-2', '74+3', '72-2', '74+2', '59-3', '70-1', '71-1', '68+1', '75+1', '38+3', '67+2', '48+3', '56-2', '70-3', '72+3', '62+2', '61-2', '67+1', '64+1', '72-1', '72-3', '56+2', '55-2', '72+2', '66-1', '63-1', '71+2', '63+1', '58-2', '65-1', '65+5', '59-2', '62-1', '66+3', '67-1', '68+4', '55-4', '71+1', '63+3', '61-3', '63-2', '65+2', '60-1', '61+2', '66+2', '68-1', '67+3', '72+1', '60+2', '69+1', '65+1', '67+6', '61-1', '56+14', '48+5', '50+4', '60-4', '61+4', '60-2', '58+1', '61+1', '57+1', '43+6', '51+2', '64+3', '55+2', '50+2', '58+4', '39-1', '60+5', '64+4', '64-1', '43+7', '48+1', '56+5', '47+6', '30+19', '41+11', '40+1', '48+4', '14-2', '38+1'])
('Short passing', ['79+2', '73+3', '84+1', '82+1', '78+2', '80+1', '81+3', '67-5', '76+3', '67+1', '78+1', '75+1', '72-2', '77-2', '77-1', '68-2', '65+2', '59-6', '74-2', '71+1', '66+1', '69-3', '79-1', '68+1', '67+6', '58+1', '64-2', '70+1', '74+3', '74+2', '55-10', '70-2', '67+7', '67-1', '72+2', '56-1', '64+4', '73+1', '72+3', '69+4', '65+5', '64-1', '73+2', '63-1', '69+1', '66+4', '67+2', '61+4', '62+1', '70-3', '73+4', '67-2', '66+2', '68-1', '64+3', '65+6', '57+1', '60-3', '67+3', '63+2', '54+5', '75+4', '66-1', '65-1', '59-2', '54-1', '65+1', '59+4', '69-1', '61+6', '62-2', '70+3', '62-5', '64+1', '63+4', '74+5', '67+13', '69+3', '62+4', '62+2', '63-2', '63+3', '60+13', '68+15', '60+6', '66-3', '65+9', '60+4', '68+2', '54+1', '61+3', '45+4', '64+2', '58-2', '54+6', '65-3', '50-10', '59+8', '62+7', '54-2', '60+1', '49+1', '46+10', '54+2', '53+6', '49+4', '18+11', '42+1', '37-1', '58+12', '61+2', '52-6', '62-1', '45+5', '60+3', '58+8', '58+4', '40+10', '44+3', '38+8', '46+1', '33+3', '38+1', '56+1', '31+3', '42-2'])
('Club', ['Real Madrid CF', 'FC Barcelona', 'Paris Saint-Germain', 'FC Bayern Munich', 'Manchester United', 'Chelsea', 'Juventus', 'Manchester City', 'Arsenal', 'Atlético Madrid', 'Borussia Dortmund', 'Milan', 'Tottenham Hotspur', 'Napoli', 'Inter', 'Liverpool', 'Roma', 'Beşiktaş JK', 'AS Monaco', 'Bayer 04 Leverkusen', 'AS Saint-Étienne', 'Athletic Club de Bilbao', '1. FC Köln', 'Villarreal CF', 'FC Schalke 04', 'Olympique de Marseille', 'Atalanta', 'RB Leipzig', 'Real Sociedad', 'Torino', 'Sporting CP', 'Leicester City', 'Southampton', 'FC Porto', 'UD Las Palmas', 'Olympique Lyonnais', 'Lazio', 'Genoa', 'Everton', 'RC Celta de Vigo', 'Valencia CF', nan, 'Sevilla FC', 'Toronto FC', 'Borussia Mönchengladbach', 'SL Benfica', 'RCD Espanyol', 'OGC Nice', 'Spartak Moscow', 'Swansea City', 'Sassuolo', 'TSG 1899 Hoffenheim', 'Stoke City', 'Shakhtar Donetsk', 'West Ham United', 'SV Werder Bremen', 'Watford', 'Galatasaray SK', 'Lokomotiv Moscow', 'Zenit St. Petersburg', 'Bournemouth', 'Sampdoria', 'Antalyaspor', 'Girondins de Bordeaux', 'VfL Wolfsburg', 'New York City Football Club', 'Hertha BSC Berlin', 'SD Eibar', 'Ajax', 'RC Deportivo de La Coruña', 'Crystal Palace', 'West Bromwich Albion', 'CSKA Moscow', 'Eintracht Frankfurt', 'Real Betis Balompié', 'Fenerbahçe SK', 'Fiorentina', 'Burnley', 'Tigres U.A.N.L.', 'San Lorenzo de Almagro', 'Chicago Fire Soccer Club', 'Feyenoord', 'FC Krasnodar', 'Angers SCO', 'U.N.A.M.', 'Montreal Impact', 'Chievo Verona', 'LA Galaxy', 'Vissel Kobe', 'Bologna', 'LOSC Lille', 'Orlando City Soccer Club', 'Atlanta United FC', 'Independiente', 'Club Atlético Lanús', 'RSC Anderlecht', 'İstanbul Başakşehir FK', 'Hannover 96', 'Newcastle United', 'Málaga CF', 'Trabzonspor', 'PSV', 'FC Augsburg', 'Club Tijuana', 'VfB Stuttgart', 'Hamburger SV', 'CD Leganés', 'Getafe CF', 'Deportivo Alavés', 'Portland Timbers', 'Kayserispor', 'Udinese', 'Standard de Liège', 'Alanyaspor', '1. FSV Mainz 05', 'Sparta Praha', 'FC Nantes', 'Al Ahli', 'SC Braga', 'Brighton & Hove Albion', 'Levante UD', 'Boca Juniors', 'Columbus Crew SC', 'Querétaro', 'Dijon FCO', 'Olympiakos CFP', 'KRC Genk', 'FC Basel', 'Club América', 'Montpellier Hérault SC', 'Monterrey', 'Seattle Sounders FC', 'River Plate', 'CPD Junior Barranquilla', 'Racing Club de Avellaneda', 'En Avant de Guingamp', 'Rangers', 'Colorado Rapids', 'Necaxa', 'Aston Villa', 'KV Oostende', 'Akhisar Belediyespor', 'Rubin Kazan', 'Rosario Central', 'Ferrara (SPAL)', 'Wolverhampton Wanderers', 'Stade Rennais FC', 'Pachuca', 'Granada CF', 'Colo-Colo', 'KAA Gent', 'Middlesbrough', 'Toulouse FC', 'BSC Young Boys', 'FC St. Gallen', 'Santos Futebol Clube', 'Cagliari', 'Rio Ave FC', 'Norwich City', 'Grêmio Foot-Ball Porto Alegrense', 'Estudiantes de La Plata', 'Cruzeiro', 'Universidad de Chile', 'Atletico Nacional Medellin', 'FC Ufa', 'Girona CF', 'SM Caen', 'Independiente Medellín', 'Djurgårdens IF', 'Vitória Guimarães', 'São Paulo Futebol Clube', 'Royal Antwerp FC', 'Kaizer Chiefs', 'Fulham', 'Sunderland', 'Huddersfield Town', 'PAOK Thessaloniki', 'Fluminense Football Club', 'Leeds United', 'Derby County', 'AC Ajaccio', 'Club León', 'Sociedade Esportiva Palmeiras', 'Hellas Verona', 'Rayo Vallecano', 'Club Brugge KV', 'Real Sporting de Gijón', 'Celtic', 'Hull City', 'Universidad Católica', "CD O'Higgins", 'Club Atlas', 'SC Freiburg', 'Melbourne City', 'Grupo Desportivo de Chaves', 'Al Hilal', 'CA Osasuna', 'Perth Glory', 'Panathinaikos FC', 'FC Utrecht', 'Club Atlético Huracán', 'Birmingham City', 'Botafogo de Futebol e Regatas', 'Deportivo Toluca', 'Amiens SC Football', 'Clube Atlético Paranaense', 'Göztepe', 'FC Groningen', 'FC Ingolstadt 04', 'New England Revolution', 'FC Red Bull Salzburg', 'Clube Atlético Mineiro', 'Crotone', 'Banfield', 'Grasshopper Club Zürich', 'Vitesse', 'AZ Alkmaar', 'SV Darmstadt 98', 'Avaí Futebol Clube', 'Coritiba Foot Ball Club', 'Legia Warszawa', 'RC Strasbourg', 'Brescia', 'Vancouver Whitecaps FC', 'Western Sydney Wanderers', 'Guadalajara', 'Cerezo Osaka', 'CS Marítimo', 'Osmanlıspor', 'Santos Laguna', 'Dinamo Moscow', 'Monarcas Morelia', 'Frosinone', 'Cruz Azul', 'Real Zaragoza', 'Deportes Iquique', 'Sydney FC', 'Brisbane Roar', 'AEK Athens', 'Colon de Santa Fe', 'Atiker Konyaspor', 'Unión Española', 'Reading', 'Asociacion Deportivo Cali', 'Palermo', 'FC Metz', 'Sporting Kansas City', 'FC Seoul', 'Bursaspor', 'Benevento Calcio', 'FC Rostov', 'Associação Atlética Ponte Preta', 'Al Nassr', 'San Jose Earthquakes', 'Nîmes Olympique', 'Al Ittihad', 'Godoy Cruz', 'Gimnàstic de Tarragona', 'Philadelphia Union', 'Sport Club do Recife', 'CD Universidad de Concepción', 'FC Paços de Ferreira', 'New York Red Bulls', 'Club Atlético Tigre', 'FC Lorient', 'Belgrano de Córdoba', 'Sheffield Wednesday', 'CD Tenerife', 'SC Heerenveen', 'Independiente Santa Fe', 'Puebla', 'Vitória Setúbal', 'FC København', 'Kalmar FF', 'CD Aves', "Newell's Old Boys", 'Terek Grozny', '1. FC Union Berlin', 'Real Valladolid', 'ADO Den Haag', 'Santiago Wanderers', 'Bari', 'Ulsan Hyundai Horang-i', '1. FC Heidenheim', 'Argentinos Juniors', 'Brentford', 'Gençlerbirliği SK', 'FC St. Pauli', 'Melbourne Victory', 'VfL Bochum', 'Córdoba CF', 'Atlético Clube Goianiense', 'Kardemir Karabükspor', 'AJ Auxerre', 'Real Oviedo', 'Vitória ', 'Arsenal Tula', 'RC Lens', 'CF Os Belenenses', 'SK Rapid Wien', 'Everton de Viña del Mar', 'CD Los Millionarios Bogota', 'GwangJu FC', 'Sangju Sangmu FC', 'Jeonbuk Hyundai Motors', 'FC Dallas', 'ES Troyes AC', 'F.B.C. Unione Venezia', 'Al Qadisiyah', 'Fortuna Düsseldorf', 'Boavista FC', 'D.C. United', 'Medicana Sivasspor', 'CD Once Caldas Manizales', 'FC Ural', 'Kashiwa Reysol', 'Malmö FF', 'Cádiz C.F.', 'Portimonense SC', 'Urawa Red Diamonds', 'UD Almería', 'AIK Solna', 'CD Huachipato', 'Estoril Praia', '1. FC Nürnberg', 'Pescara', 'Stade de Reims', 'Moreirense FC', 'Empoli', 'Orlando Pirates', 'FC Anzhi Makhachkala', 'Heracles Almelo', 'Eintracht Braunschweig', 'Cremonese', 'CD Antofagasta', 'AS Nancy Lorraine', 'Lobos de la BUAP', 'Suwon Samsung Bluewings', 'Defensa y Justicia', 'Ipswich Town', 'Rosenborg BK', 'KAS Eupen', 'FC Sion', 'Adelaide United', 'Real Salt Lake', 'FC Midtjylland', 'Minnesota Thunder', 'AD Alcorcón', 'Al Faisaly', 'FC Tosno', 'FC Twente', 'F.C. Tokyo', 'IF Elfsborg', 'Carpi', 'Parma', 'IFK Norrköping', 'Unión de Santa Fe', 'Corporación Club Deportivo Tuluá', 'Kawasaki Frontale', 'Associação Chapecoense de Futebol', '1. FC Kaiserslautern', 'Preston North End', 'Molde FK', 'Bristol City', 'Brøndby IF', 'Albacete Balompié', 'GFC Ajaccio', 'KV Kortrijk', 'Kashima Antlers', 'CD Feirense', 'Oxford United', 'Talleres de Cordoba', 'FC Lugano', 'SV Zulte-Waregem', 'Deportes Tolima', 'Amkar Perm', 'Kasimpaşa SK', 'Gimnasia y Esgrima La Plata', 'Queens Park Rangers', 'Shimizu S-Pulse', 'Aalborg BK', 'Águilas Doradas', 'FC Lausanne-Sports', 'Tiburones Rojos de Veracruz', 'Perugia', 'La Spezia', 'Pohang Steelers', 'FC Barcelona B', 'Evkur Yeni Malatyaspor', 'Willem II', 'Novara', 'Sporting Charleroi', 'FK Austria Wien', 'Gamba Osaka', 'DSC Arminia Bielefeld', 'Nottingham Forest', 'Salernitana', 'Vercelli', 'Śląsk Wrocław', 'Sagan Tosu', 'CD Numancia', 'Strømsgodset IF', 'Yokohama F. Marinos', 'Cardiff City', 'FC Sochaux-Montbéliard', 'Jeju United FC', 'Lechia Gdańsk', 'Piast Gliwice', 'SD Huesca', 'FC Zürich', 'Heart of Midlothian', 'Atlético Tucumán', 'BK Häcken', 'Audax Italiano', 'Club de Deportes Temuco', 'San Luis de Quillota', 'Al Taawoun', 'Lech Poznań', 'FC Luzern', 'Cesena', 'Chacarita Juniors', 'Aberdeen', 'Excelsior', 'SpVgg Greuther Fürth', 'San Martín de San Juan', 'Wisła Kraków', 'Hammarby IF', 'Virtus Entella', 'Vegalta Sendai', 'Alianza Petrolera', 'CD Palestino', 'KV Mechelen', 'Central Coast Mariners', 'La Equidad', 'Avellino', 'Omiya Ardija', 'Cracovia', 'Curicó Unido', 'CF Reus Deportiu', 'SK Brann', 'C.D. Leonesa S.A.D.', 'US Quevilly-Rouen', 'Sporting Lokeren', 'Houston Dynamo', 'Termalica Bruk-Bet Nieciecza', 'Tondela', 'SV Sandhausen', 'Al Fayha', 'Jeonnam Dragons', 'Sandefjord Fotball', 'Pogoń Szczecin', 'Östersunds FK', 'Burton Albion', 'Al Raed', 'Jagiellonia Białystok', 'Bahía Blanca', 'Ventforet Kofu', 'Stade Brestois 29', 'CD Lugo', 'Korona Kielce', 'PEC Zwolle', 'MSV Duisburg', 'AFC Eskilstuna', 'Waasland-Beveren', 'Club Atlético Patronato', 'La Berrichonne de Châteauroux', 'SK Sturm Graz', 'Royal Excel Mouscron', 'Júbilo Iwata', 'SønderjyskE', 'Al Shabab', 'US Orléans Loiret Football', 'Bourg en Bresse Péronnas 01', 'FC Nordsjælland', 'FC Thun', 'CD America de Cali', 'VVV-Venlo', 'Charlton Athletic', 'Sevilla Atlético', 'Ternana', 'Gangwon FC', 'IFK Göteborg', 'Odense Boldklub', 'Arsenal de Sarandí', 'SG Dynamo Dresden', 'Bolton Wanderers', 'Plymouth Argyle', 'Southend United', 'Vélez Sarsfield', 'Daegu FC', 'Sanfrecce Hiroshima', 'Odds BK', 'Aarhus GF', 'Blackburn Rovers', 'Lyngby BK', 'FC Erzgebirge Aue', 'Sint-Truidense VV', 'Karlsruher SC', 'Jaguares Fútbol Club', 'Sarpsborg 08 FF', 'Temperley', ' SSV Jahn Regensburg', 'Patriotas Boyacá FC', 'Barnsley', 'Sandecja Nowy Sącz', 'Górnik Zabrze', 'VfL Osnabrück', 'Valenciennes FC', 'Tours FC', 'Lorca Deportiva CF', 'Albirex Niigata', 'Cittadella', 'Aalesunds FK', 'Deportivo Pasto', 'Roda JC Kerkrade', 'Motherwell', 'Holstein Kiel', 'Scunthorpe United', 'Atlético Huila', 'Wisła Płock', 'Atlético Bucaramanga', 'Sparta Rotterdam', 'Stabæk Fotball', 'Würzburger FV', 'VfR Aalen', 'Clermont Foot 63', 'Randers FC', 'Vålerenga Fotball', 'Incheon United FC', 'Hibernian', 'SCR Altach', 'Sheffield United', 'Le Havre AC', 'Walsall', 'Chamois Niortais FC', 'Sportfreunde Lotte', 'Millwall', 'SpVgg Unterhaching', 'FC SKA-Energiya Khabarovsk', 'Hansa Rostock', 'Wellington Phoenix', 'Hobro IK', 'Wigan Athletic', 'Peterborough United', 'Chemnitzer FC', 'Grimsby Town', 'Ascoli', 'Al Fateh', 'Foggia', 'Bristol Rovers', '1. FC Magdeburg', 'SG Sonnenhof Großaspach', 'Bury', 'Lillestrøm SK', 'Arka Gdynia', 'Ross County FC', 'Paris FC', 'Bradford City', 'Hamilton Academical FC', 'Luton Town', 'NAC Breda', 'Portsmouth', 'Zagłębie Lubin', 'Kilmarnock', 'Hokkaido Consadole Sapporo', 'Örebro SK', 'SV Wehen Wiesbaden', 'Coventry City', 'Milton Keynes Dons', 'Rochdale', 'FK Haugesund', 'Dundee FC', 'Oldham Athletic', 'Ohod Club', 'Rotherham United', 'HJK Helsinki', 'LASK Linz', 'AC Horsens', 'SC Fortuna Köln', 'St. Johnstone FC', 'Sogndal', 'Envigado FC', 'Blackpool', 'SC Preußen Münster', 'Hallescher FC', 'Ettifaq FC', 'Crawley Town', 'Exeter City', 'AFC Wimbledon', 'Doncaster Rovers', 'IK Sirius', 'Jönköpings Södra IF', 'Rot-Weiß Erfurt', 'Notts County', 'SV Mattersburg', 'Viking FK', 'Cambridge United', 'Tigres FC', 'Mansfield Town', 'SV Meppen', 'Tromsø IL', 'Swindon Town', 'Werder Bremen II', 'FC Admira Wacker Mödling', 'SC Paderborn 07', 'Partick Thistle F.C.', 'Silkeborg IF', 'Al Batin', 'Colchester United', 'FSV Zwickau', 'Crewe Alexandra', 'Northampton Town', 'Kristiansund BK', 'Lincoln City', 'Dundalk', 'Wycombe Wanderers', 'Yeovil Town', 'GIF Sundsvall', 'FC Carl Zeiss Jena', "St. Patrick's Athletic", 'Fleetwood Town', 'Wolfsberger AC', 'Cork City', 'Gillingham', 'SKN St. Pölten', 'Carlisle United', 'Chesterfield', 'Newcastle Jets', 'Morecambe', 'Port Vale', 'Newport County', 'Shrewsbury', 'Accrington Stanley', 'Forest Green', 'Bohemian FC', 'Cheltenham Town', 'Barnet', 'Halmstads BK', 'Shamrock Rovers', 'Derry City', 'Stevenage', 'Finn Harps', 'FC Helsingør', 'Sligo Rovers', 'Bray Wanderers', 'Limerick FC', 'Galway United', 'Drogheda United'])
Teknisk Tirsdag - Data Cleaning.ipynb:4: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  "cell_type": "markdown",
Teknisk Tirsdag - Data Cleaning.ipynb:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  {
Teknisk Tirsdag - Data Cleaning.ipynb:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  "cells": [
Variablenavn: Name                 Variabletype: object
Variablenavn: Age                  Variabletype: int64
Variablenavn: Nationality          Variabletype: object
Variablenavn: Overall              Variabletype: int64
Variablenavn: Potential            Variabletype: int64
Variablenavn: Club                 Variabletype: object
Variablenavn: Value                Variabletype: float64
Variablenavn: Wage                 Variabletype: float64
Variablenavn: Special              Variabletype: int64
Variablenavn: Acceleration         Variabletype: float64
Variablenavn: Aggression           Variabletype: float64
Variablenavn: Agility              Variabletype: float64
Variablenavn: Balance              Variabletype: float64
Variablenavn: Ball control         Variabletype: float64
Variablenavn: Composure            Variabletype: float64
Variablenavn: Crossing             Variabletype: float64
Variablenavn: Curve                Variabletype: float64
Variablenavn: Dribbling            Variabletype: float64
Variablenavn: Finishing            Variabletype: float64
Variablenavn: Free kick accuracy   Variabletype: float64
Variablenavn: GK diving            Variabletype: float64
Variablenavn: GK handling          Variabletype: float64
Variablenavn: GK kicking           Variabletype: float64
Variablenavn: GK positioning       Variabletype: float64
Variablenavn: GK reflexes          Variabletype: float64
Variablenavn: Heading accuracy     Variabletype: float64
Variablenavn: Interceptions        Variabletype: float64
Variablenavn: Jumping              Variabletype: float64
Variablenavn: Long passing         Variabletype: float64
Variablenavn: Long shots           Variabletype: float64
Variablenavn: Marking              Variabletype: float64
Variablenavn: Penalties            Variabletype: float64
Variablenavn: Positioning          Variabletype: float64
Variablenavn: Reactions            Variabletype: float64
Variablenavn: Short passing        Variabletype: float64
Variablenavn: Shot power           Variabletype: float64
Variablenavn: Sliding tackle       Variabletype: float64
Variablenavn: Sprint speed         Variabletype: float64
Variablenavn: Stamina              Variabletype: float64
Variablenavn: Standing tackle      Variabletype: float64
Variablenavn: Strength             Variabletype: float64
Variablenavn: Vision               Variabletype: float64
Variablenavn: Volleys              Variabletype: float64
Variablenavn: CAM                  Variabletype: float64
Variablenavn: CB                   Variabletype: float64
Variablenavn: CDM                  Variabletype: float64
Variablenavn: CF                   Variabletype: float64
Variablenavn: CM                   Variabletype: float64
Variablenavn: ID                   Variabletype: int64
Variablenavn: LAM                  Variabletype: float64
Variablenavn: LB                   Variabletype: float64
Variablenavn: LCB                  Variabletype: float64
Variablenavn: LCM                  Variabletype: float64
Variablenavn: LDM                  Variabletype: float64
Variablenavn: LF                   Variabletype: float64
Variablenavn: LM                   Variabletype: float64
Variablenavn: LS                   Variabletype: float64
Variablenavn: LW                   Variabletype: float64
Variablenavn: LWB                  Variabletype: float64
Variablenavn: Preferred Positions  Variabletype: object
Variablenavn: RAM                  Variabletype: float64
Variablenavn: RB                   Variabletype: float64
Variablenavn: RCB                  Variabletype: float64
Variablenavn: RCM                  Variabletype: float64
Variablenavn: RDM                  Variabletype: float64
Variablenavn: RF                   Variabletype: float64
Variablenavn: RM                   Variabletype: float64
Variablenavn: RS                   Variabletype: float64
Variablenavn: RW                   Variabletype: float64
Variablenavn: RWB                  Variabletype: float64
Variablenavn: ST                   Variabletype: float64
Træningsæt størrelse: 1272

Efter at have hentet vores rensede data, hvor vi minder os selv om at vi har:

  • dansker_set
  • topklub_set
  • ikke_topklub_set
  • overall_set

Det første, vi gerne vil kigge lidt på, er, om vi var grundige nok i vores foranalyse. Derfor laver vi et heatmap, der skal fortælle os hvor stor sammenhængen er (korrelation) mellem kolonnerne i forhold til hinanden.


In [2]:
corr = overall_set.corr()

fig = plt.figure(figsize=(20, 16))
ax = sb.heatmap(corr, xticklabels=corr.columns.values,
                yticklabels=corr.columns.values,
                linewidths=0.25, vmax=1.0, square=True,
                linecolor='black', annot=False
               )
plt.show()


Hvad vi ser her, er en korrelationsmatrix. Jo mørkere farver, des højere korrelation, rød for positiv- og blå for negativ-korrelation.
Vi ser altså at der er høj korrelation, i vores nedre højre hjørne; Dette er spilpositionerne. Vi ser også et stort blåt kryds, som er målmandsdata. Disse har meget negativ korrelation med resten af vores datasæt. (Dobbeltklik evt. på plottet, hvis det er meget svært at læse teksten)
Derudover kan vi se, at ID kolonnen slet ikke korrelere. Man kan derfor vælge at tage den ud.

Vi tilføjer nu vores "kendte" labels til vores data. (Hvis man spiller for en af vores topklubber, får man et 1-tal, og ellers får man et 0)
Vi deler også vores træningssæt op i en X matrix med alle vores numeriske features, og en y vektor med alle vores labels.


In [3]:
overall_set['label'] = overall_set['Club'].isin(topklub_set.Club).astype(int)
y = overall_set['label']
X = overall_set.iloc[:,0:-1].select_dtypes(include=['float64', 'int64'])

Vi kan kigge lidt overordnet på tallene mellem de 2 klasser.


In [4]:
overall_set.groupby('label').mean()


Out[4]:
Age Overall Potential Value Wage Special Acceleration Aggression Agility Balance ... RB RCB RCM RDM RF RM RS RW RWB ST
label
0 25.026730 65.619497 70.600629 1.655747e+06 9361.635220 1571.663522 63.682390 54.246855 62.617925 62.869497 ... 49.207547 47.996855 50.830189 49.125786 51.566038 52.295597 51.045597 51.738994 49.856918 51.045597
1 25.166667 77.099057 81.856918 1.630118e+07 71496.855346 1817.268868 69.382075 62.413522 68.784591 66.122642 ... 58.400943 56.378931 61.515723 58.900943 61.589623 62.281447 60.044025 61.707547 59.371069 60.044025

2 rows × 67 columns

Observationer

  • Alderen siger ikke rigtig noget om, hvorvidt du spiller for en topklub eller ej
  • Topklubsspillere er i gennemsnittet en faktor 10 mere værd end ikke-topklub spillere
  • Topklubsspillere er i gennemsnittet generelt ca. 10+ på alt i forhold til ikke-topklub spillere

Vi er nu klar til at gå i gang med vores første Machine Learning algoritme. På forhånd ved vi, at der i vores træningssæt er {{y.where(y==1).count()}} som spiller i topklubber, og {{y.where(y==0).count()}} der ikke gør.
Der er en 50/50 chance for at ramme rigtigt, hvis man bare gætte tilfældigt. Vi håber derfor, at algoritmen kan slå den 50% svarrate.

Logistisk regression


In [5]:
# hent nødvendige pakker fra Scikit Learn biblioteket (generelt super hvis man vil lave data science)
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

Vi fitter nu en logistic regression classifier til vores data, og fitter en model, så den kan genkende om man spiller for en topklub eller ej, og evaluere resultatet:


In [6]:
model = LogisticRegression()
model = model.fit(X,y)

model.score(X,y)


Out[6]:
0.83411949685534592

Altså har vores model ret i {{'{:.0f}'.format(100*model.score(X, y))}}% af tiden i træningssættet.

Pretty good!! Den har altså fundet nogle mønstre der kan mappe data til labels, og gætter ikke bare.

Men vi kan ikke vide, om den har overfittet, og derved har tilpasset sig for godt til sit kendte data, så nyt data vil blive fejlmappet.
Hvad vi kan prøve, er at splitte vores træningssæt op i et trænings- og testsæt. På den måde kan vi først fitte og derefter evaluere på "nyt" kendt data, om den stadig performer som forventet.


In [7]:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
print('Træningsæt størrelse: {} - Testsæt størrelse: {}'.format(len(X_train), len(X_test)))


Træningsæt størrelse: 1017 - Testsæt størrelse: 255

Og vi er nu klar til at prøve igen!

Logistisk regression 2.0

Igen fitter vi en logistisk regression til vores træningsdata, og danner en model, men denne gang uden at bruge testdatasættet.


In [8]:
model2 = LogisticRegression()
model2 = model2.fit(X_train, y_train)
model2.score(X_train, y_train)


Out[8]:
0.82595870206489674

Modellen matcher nu {{'{:.0f}'.format(100*model2.score(X, y))}}% af tiden i træningssættet.
Men har den overfittet?

Evaluering af modellen

Vi genererer derfor vores y forudsigelse og også sandsynlighederne for vores testsæt, da disse bruges til at evaluere modellen.


In [9]:
y_pred = model2.predict(X_test)
y_probs = model2.predict_proba(X_test)

In [10]:
# Evalueringsmålinger
from sklearn import metrics
print('Nøjagtigheden af vores logistiske regressions models prediction på testsættet er {:.0f}'.format(100*metrics.accuracy_score(y_test, y_pred))+'%', '\n')
print('Arealet under vores ROC AUC kurve er {:.0f}'.format(100*metrics.roc_auc_score(y_test, y_probs[:, 1]))+'%')


Nøjagtigheden af vores logistiske regressions models prediction på testsættet er 84% 

Arealet under vores ROC AUC kurve er 90%

Det ser jo ret fornuftigt ud.

For at sige noget om vores nye model, kan vi også lave en "confusion_matrix"

<img src='http://revolution-computing.typepad.com/.a/6a010534b1db25970b01bb08c97955970d-pi', align="center" width="40%" alt="confusion matrix">

T og F står for henholdsvist True og False
P og N står for henholdsvist Positive og Negative


In [11]:
confusion_matrix = metrics.confusion_matrix(y_test, y_pred)
print(confusion_matrix)


[[112   9]
 [ 32 102]]

Resultatet fortæller os, at vi har {{confusion_matrix[0,0]}}+{{confusion_matrix[1,1]}} = {{confusion_matrix[0,0]+confusion_matrix[1,1]}} korrekte forudsigelser og {{confusion_matrix[0,1]}}+{{confusion_matrix[1,0]}} = {{confusion_matrix[0,1]+confusion_matrix[1,0]}} ukorrekte

Man kan også bede classifieren om en rapport:


In [12]:
print(metrics.classification_report(y_test, y_pred))


             precision    recall  f1-score   support

          0       0.78      0.93      0.85       121
          1       0.92      0.76      0.83       134

avg / total       0.85      0.84      0.84       255

Logistisk regression med krydsvalidering

Vi er egentlig meget tilfredse med vores model, men ofte kan det være en god idé at teste på flere små testsæt, og holde dem op mod hinanden.

Her laver vi en 10-folds krydsvalidering og får altså 10 scorer ud:


In [13]:
# 10-folds cross-validation
from sklearn.model_selection import cross_val_score
scores = cross_val_score(LogisticRegression(), X, y, scoring='accuracy', cv=10)
print(scores,'\n')
print(scores.mean())


[ 0.9296875   0.9453125   0.9140625   0.921875    0.9765625   0.9375
  0.94444444  0.74603175  0.46825397  0.44444444] 

0.822817460317

Her preformer modellen altså i gennemsnit {{'{:.0f}'.format(100*scores.mean())}}%.

Det lyder meget lovende, men vi holder os til vores model2 og kan nu prøve modellen af på det rigtige datasæt

Danskersættet

Vi skal nu prøve vores model på vores danske spillere

Opgave:

Vi skal lave prediction og probability på vores danske spillere, ligesom vi gjorde tidligere for testsættet. (Lige under Evaluering af modellen)

Husk din dataframe kun må indeholder numeriske værdier, når vi bruger modellen.
Fx. "df.select_dtypes(include=['float64', 'int64'])"


In [14]:
dansker_pred = None ### Fjern NONE og UDFYLD MIG ###
dansker_probs = None ### Fjern NONE og UDFYLD MIG ###

Modellen har fundet {{np.bincount(dansker_pred)[0]}} nuller og {{np.bincount(dansker_pred)[1]}} ét-taller

Hvis du satte top_klub_ratio til 75 i Opgave 1 i Data Cleaning, skulle der være omkring 27-28 ét-taller.
top_klub_ratio blev sat til: {{top_klub_ratio}}

Vi tilføjer disse kolonner til vores dataframe.


In [18]:
dansker_set_df = dansker_set.copy()
dansker_set_df[['prob1','prob2']] = pd.DataFrame(dansker_probs, index=dansker_set.index)
dansker_set_df['Probabilities [0,1]'] = dansker_set_df[['prob1','prob2']].values.tolist()
dansker_set_df['Prediction'] = pd.Series(dansker_pred, index=dansker_set.index)
del dansker_set_df['prob1'], dansker_set_df['prob2'] 
# dansker_set_df.head()

Og sortere listen, så de bedste danske spillere står øvers, og tilføjer et index, så vi kan få et bedre overblik


In [16]:
dansker_set_df.loc[:,'pred=1'] = dansker_set_df['Probabilities [0,1]'].map(lambda x: x[1]).sort_values(ascending=False)
dansker_sorted = dansker_set_df.sort_values('pred=1', ascending=False)
dansker_sorted = dansker_sorted[['Name', 'Club', 'Overall', 'Potential', 'Probabilities [0,1]', 'Prediction']]
dansker_sorted.loc[:,'in'] = np.arange(1, len(dansker_set_df)+1)
dansker_sorted.set_index('in')


Out[16]:
Name Club Overall Potential Probabilities [0,1] Prediction
in
1 C. Eriksen Tottenham Hotspur 87 91 [1.2361997292487104e-07, 0.9999998763800271] 1
2 A. Christensen Chelsea 81 89 [0.00595764605638005, 0.99404235394362] 1
3 K. Schmeichel Leicester City 83 84 [0.014948898649614573, 0.9850511013503854] 1
4 S. Kjær Sevilla FC 81 82 [0.0792499037714689, 0.9207500962285311] 1
5 D. Wass RC Celta de Vigo 80 80 [0.08093367436833954, 0.9190663256316605] 1
6 J. Vestergaard Borussia Mönchengladbach 79 84 [0.09443758718579498, 0.905562412814205] 1
7 N. Jørgensen Feyenoord 79 81 [0.09662360026251093, 0.9033763997374891] 1
8 Y. Poulsen RB Leipzig 76 83 [0.11856360569546154, 0.8814363943045385] 1
9 K. Dolberg Ajax 78 88 [0.1340973698375778, 0.8659026301624222] 1
10 P. Højbjerg Southampton 75 81 [0.19744945518739987, 0.8025505448126001] 1
11 M. Braithwaite Middlesbrough 77 80 [0.20992890568457212, 0.7900710943154279] 1
12 L. Andersen Grasshopper Club Zürich 76 83 [0.23658486733875572, 0.7634151326612443] 1
13 F. Sørensen 1. FC Köln 77 81 [0.2387127042826872, 0.7612872957173128] 1
14 L. Lerager Girondins de Bordeaux 75 80 [0.28360075282343045, 0.7163992471765696] 1
15 V. Fischer 1. FSV Mainz 05 75 82 [0.28803632021595915, 0.7119636797840408] 1
16 M. Jørgensen Huddersfield Town 75 78 [0.30175956933231884, 0.6982404306676812] 1
17 M. Krohn-Dehli Sevilla FC 79 79 [0.34163848506912053, 0.6583615149308795] 1
18 P. Sisto RC Celta de Vigo 74 83 [0.35254475144372266, 0.6474552485562773] 1
19 L. Schøne Ajax 77 77 [0.3653813781431249, 0.6346186218568751] 1
20 J. Poulsen FC Midtjylland 71 71 [0.41554897703083404, 0.584451022969166] 1
21 R. Falk Jensen FC København 74 77 [0.41712565782872424, 0.5828743421712758] 1
22 J. Lössl Huddersfield Town 75 76 [0.4321175862344081, 0.5678824137655919] 1
23 E. Sviatchenko Celtic 73 75 [0.4361724537479308, 0.5638275462520692] 1
24 A. Bjelland Brentford 73 73 [0.4629540156936526, 0.5370459843063474] 1
25 A. Cornelius Atalanta 73 78 [0.4666099871886722, 0.5333900128113278] 1
26 P. Mtiliga FC Nordsjælland 69 69 [0.4794912216897943, 0.5205087783102057] 1
27 M. Rasmussen Aarhus GF 69 69 [0.48675749765285403, 0.513242502347146] 1
28 M. Jensen Rosenborg BK 74 74 [0.5020672719966166, 0.49793272800338345] 0
29 A. Scholz Standard de Liège 74 79 [0.5049879774285326, 0.4950120225714674] 0
30 A. Christiansen Malmö FF 74 75 [0.5096762833242563, 0.4903237166757437] 0
... ... ... ... ... ... ...
317 M. Roerslev FC København 52 68 [0.8631321739682192, 0.1368678260317808] 0
318 K. Tshiembe Lyngby BK 52 68 [0.8634039506795222, 0.13659604932047775] 0
319 O. Albayrak Hobro IK 56 64 [0.8636862223098634, 0.13631377769013664] 0
320 O. Snorre Lyngby BK 52 73 [0.8637484895953144, 0.13625151040468567] 0
321 T. Damsgaard Randers FC 51 66 [0.8637660405380061, 0.13623395946199385] 0
322 J. Eskesen Odense Boldklub 52 68 [0.8638436078001344, 0.1361563921998657] 0
323 N. Lyngø Aalborg BK 54 65 [0.8638480408791316, 0.13615195912086842] 0
324 O. Ottesen FC Midtjylland 57 67 [0.863986086521014, 0.1360139134789859] 0
325 D. Thøgersen Aarhus GF 52 70 [0.863995687351485, 0.13600431264851498] 0
326 M. Warming Brøndby IF 51 66 [0.864179921766968, 0.135820078233032] 0
327 M. Mattsson Silkeborg IF 54 76 [0.8642832619995633, 0.13571673800043674] 0
328 E. Simonsen Lyngby BK 53 77 [0.8643983530602066, 0.13560164693979332] 0
329 G. Marcussen Lyngby BK 50 69 [0.8644066756136866, 0.13559332438631339] 0
330 M. Andersen Aalborg BK 52 66 [0.8644086683355966, 0.13559133166440343] 0
331 F. Roepstorff FC Helsingør 51 70 [0.8644360366151669, 0.1355639633848331] 0
332 M. Haarup Hobro IK 54 66 [0.8644842744974983, 0.13551572550250168] 0
333 A. Vaporakis FC Helsingør 53 63 [0.8644874549734057, 0.13551254502659427] 0
334 M. Hegaard FC Helsingør 51 69 [0.864535621341468, 0.13546437865853198] 0
335 A. Kappenberger FC Helsingør 52 66 [0.8645552105643415, 0.13544478943565855] 0
336 M. Johannsen FC Helsingør 54 58 [0.8645567173499312, 0.13544328265006875] 0
337 G. Arndal-Lauritzen Brøndby IF 50 67 [0.864584838948699, 0.135415161051301] 0
338 A. Skov Olsen FC Nordsjælland 53 66 [0.8646176815512268, 0.13538231844877324] 0
339 T. Arndal AC Horsens 52 65 [0.864647326784709, 0.135352673215291] 0
340 C. Enemark Brøndby IF 50 69 [0.8646551987933163, 0.13534480120668368] 0
341 A. Ammitzbøl Aarhus GF 55 64 [0.8649192100937313, 0.13508078990626865] 0
342 I. Esen FC Helsingør 50 69 [0.8649298106428374, 0.13507018935716258] 0
343 A. Junge FC Helsingør 50 56 [0.865287155002264, 0.13471284499773598] 0
344 M. Iversen Aalborg BK 50 62 [0.8666456075747598, 0.13335439242524016] 0
345 O. Drost AC Horsens 51 58 [0.8668261929640377, 0.13317380703596227] 0
346 F. Nørgaard AC Horsens 50 62 [0.8669208380435555, 0.13307916195644454] 0

346 rows × 6 columns

Efter flot hattrick mod Irland, kan man vidst ikke være i tvivl om Kong Christian tager pladsen på tronen <img src='kongen.png', align="center" width="40%" alt="kongen">

Men hvilke danske spillere spiller egentlig for topklubber, og hvordan er de rangeret i forhold til vores model?


In [39]:
dansker_sorted[dansker_sorted['Club'].isin(top_clubs)].set_index('in')


Out[39]:
Name Club Overall Potential Probabilities [0,1] Prediction
in
2 A. Christensen Chelsea 81 89 [0.00469680685795848, 0.9953031931420415] 1
7 S. Kjær Sevilla FC 81 82 [0.10268761388443448, 0.8973123861155655] 1
17 M. Krohn-Dehli Sevilla FC 79 79 [0.32668814694969617, 0.6733118530503038] 1
198 J. Larsen Borussia Dortmund 62 79 [0.8181799678362287, 0.18182003216377135] 0
224 R. Corlu Roma 58 69 [0.8314270782764579, 0.16857292172354213] 0

Man kan undre sig over hvad Jacob Larsen laver hos stopklubben Borussia Dortmund, men en hurtig googling viser, at han simpelthen blev headhuntet til klubben som 16-årig.

Og så er der jo nok nogen, der vil spørger - Hvad med Bendtner? Så han skal da også lige have en plads i vores analyse:


In [40]:
dansker_sorted.loc[dansker_sorted.Name == 'N. Bendtner'].set_index('in')


Out[40]:
Name Club Overall Potential Probabilities [0,1] Prediction
in
42 N. Bendtner Rosenborg BK 73 73 [0.568000951323095, 0.43199904867690503] 0

Opgave:

Vi kan også kigge på ham i det store billede. Prøv evt. at lege lidt rundt med forskellige spillere eller andre features.
Er der noget specielt, der kunne være sjovt at kigge på?


In [41]:
df.loc[df.Name == 'N. Bendtner']


Out[41]:
Name Age Nationality Overall Potential Club Value Wage Special Acceleration ... RB RCB RCM RDM RF RM RS RW RWB ST
2697 N. Bendtner 29 Denmark 73 73 Rosenborg BK 4000000.0 10000.0 1790 70.0 ... 51.0 51.0 65.0 54.0 70.0 69.0 72.0 69.0 53.0 72.0

1 rows × 71 columns

Ekstra lege/analyse opgaver

Danske Rezan Corlu som ellers ligger ret lavt selv på potentiale har alligevel sikret sig en plads hos A.S. Roma i en alder af 20 år. Men hvordan var det egentlig med de topklub spillere? Hvor langt ned kan man gå i potentiale, og stadig spille for en topklub?


In [42]:
top_df = df[df.Club.isin(top_clubs)]
top_df[top_df.Overall < 70].sort_values('Overall', ascending=True)


Out[42]:
Name Age Nationality Overall Potential Club Value Wage Special Acceleration ... RB RCB RCM RDM RF RM RS RW RWB ST
17331 A. Zerbin 18 Italy 53 73 Napoli 120000.0 4000.0 1324 42.0 ... 39.0 37.0 49.0 41.0 52.0 51.0 51.0 53.0 41.0 51.0
16714 P. Fritsch 18 Germany 55 71 Borussia Dortmund 160000.0 3000.0 1349 52.0 ... 49.0 54.0 44.0 50.0 41.0 42.0 42.0 42.0 48.0 42.0
16406 D. Sauerland 20 Germany 56 68 Borussia Dortmund 160000.0 5000.0 1526 55.0 ... 46.0 41.0 55.0 47.0 57.0 56.0 53.0 58.0 49.0 53.0
15718 J. Maddox 18 England 58 74 Chelsea 260000.0 7000.0 1402 71.0 ... 42.0 34.0 51.0 41.0 56.0 57.0 52.0 57.0 45.0 52.0
15549 R. Corlu 19 Denmark 58 69 Roma 210000.0 4000.0 1473 73.0 ... 43.0 34.0 51.0 40.0 56.0 57.0 53.0 58.0 45.0 53.0
15479 T. Bola 18 England 59 72 Arsenal 250000.0 6000.0 1344 59.0 ... 54.0 58.0 41.0 50.0 40.0 40.0 42.0 40.0 51.0 42.0
15409 E. Nketiah 18 England 59 80 Arsenal 350000.0 8000.0 1404 77.0 ... 37.0 33.0 50.0 37.0 59.0 56.0 58.0 58.0 39.0 58.0
15389 Obama 17 Spain 59 76 Atlético Madrid 300000.0 4000.0 1408 66.0 ... 37.0 29.0 48.0 34.0 58.0 56.0 58.0 58.0 40.0 58.0
15341 A. Guarnone 18 Italy 59 74 Milan 260000.0 3000.0 997 54.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
15180 J. Beste 18 Germany 59 78 Borussia Dortmund 290000.0 3000.0 1510 69.0 ... 58.0 53.0 52.0 54.0 50.0 55.0 47.0 54.0 59.0 47.0
15103 R. Nelson 17 England 59 83 Arsenal 350000.0 7000.0 1471 84.0 ... 42.0 36.0 48.0 39.0 59.0 58.0 56.0 61.0 44.0 56.0
15063 G. McEachran 16 England 59 79 Chelsea 300000.0 4000.0 1521 64.0 ... 52.0 47.0 57.0 52.0 55.0 58.0 49.0 56.0 53.0 49.0
14374 T. Chalobah 17 England 60 77 Chelsea 375000.0 6000.0 1491 71.0 ... 58.0 59.0 48.0 55.0 47.0 50.0 49.0 49.0 56.0 49.0
14511 K. Scott 19 United States 60 75 Chelsea 450000.0 7000.0 1553 61.0 ... 53.0 46.0 59.0 53.0 57.0 59.0 52.0 59.0 55.0 52.0
15044 D. Reimann 20 Germany 60 74 Borussia Dortmund 375000.0 4000.0 989 44.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
15034 Javi Díaz 20 Spain 60 72 Sevilla FC 290000.0 1000.0 1125 58.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
14655 Tachi 19 Spain 60 77 Atlético Madrid 400000.0 3000.0 1369 63.0 ... 57.0 59.0 46.0 54.0 42.0 45.0 44.0 43.0 54.0 44.0
13783 A. Bernede 18 France 61 73 Paris Saint-Germain 425000.0 7000.0 1565 65.0 ... 50.0 46.0 57.0 51.0 58.0 59.0 55.0 59.0 51.0 55.0
13738 S. Schreck 18 Germany 61 78 Bayer 04 Leverkusen 525000.0 5000.0 1457 67.0 ... 46.0 40.0 56.0 47.0 57.0 59.0 51.0 58.0 48.0 51.0
13771 H. Wilson 20 Wales 61 79 Liverpool 550000.0 13000.0 1556 77.0 ... 47.0 40.0 53.0 44.0 60.0 60.0 58.0 61.0 48.0 58.0
13831 N. Dorsch 19 Germany 61 78 FC Bayern Munich 500000.0 7000.0 1607 68.0 ... 59.0 59.0 58.0 60.0 56.0 58.0 53.0 57.0 59.0 53.0
14172 M. Pantović 20 Serbia 61 69 FC Bayern Munich 375000.0 12000.0 1497 67.0 ... 45.0 39.0 54.0 43.0 60.0 60.0 59.0 61.0 47.0 59.0
13928 Juan Moreno 20 Spain 61 70 Atlético Madrid 400000.0 7000.0 1543 62.0 ... 50.0 45.0 57.0 49.0 59.0 60.0 54.0 61.0 52.0 54.0
14061 Olabe 21 Spain 61 70 Atlético Madrid 400000.0 7000.0 1500 62.0 ... 50.0 46.0 58.0 51.0 60.0 60.0 57.0 60.0 52.0 57.0
14073 M. Gabbia 17 Italy 61 76 Milan 450000.0 7000.0 1386 62.0 ... 55.0 60.0 41.0 51.0 41.0 42.0 43.0 42.0 52.0 43.0
13834 F. Benko 19 Germany 61 78 FC Bayern Munich 550000.0 8000.0 1643 65.0 ... 54.0 53.0 60.0 56.0 59.0 59.0 56.0 59.0 55.0 56.0
12876 L. Jones 21 England 62 70 Liverpool 400000.0 11000.0 1328 46.0 ... 52.0 61.0 43.0 54.0 38.0 39.0 41.0 38.0 50.0 41.0
12985 N. Schiappacasse 18 Uruguay 62 78 Atlético Madrid 625000.0 5000.0 1453 64.0 ... 42.0 35.0 52.0 39.0 62.0 59.0 61.0 62.0 44.0 61.0
13274 K. Bare 19 Albania 62 75 Atlético Madrid 575000.0 5000.0 1629 69.0 ... 56.0 55.0 62.0 59.0 60.0 60.0 58.0 58.0 57.0 58.0
13074 A. Pinamonti 18 Italy 62 80 Inter 625000.0 6000.0 1446 55.0 ... 37.0 36.0 50.0 37.0 60.0 55.0 61.0 58.0 39.0 61.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8967 João Costa 21 Portugal 66 76 FC Porto 800000.0 2000.0 935 18.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9512 Moreto Cassamá 19 Portugal 66 81 FC Porto 1400000.0 2000.0 1803 74.0 ... 58.0 53.0 65.0 58.0 67.0 67.0 64.0 67.0 59.0 64.0
9418 J. Riley 20 England 66 78 Manchester United 1000000.0 18000.0 1719 78.0 ... 65.0 62.0 59.0 62.0 58.0 63.0 56.0 60.0 65.0 56.0
9580 N. Lomb 23 Germany 66 71 Bayer 04 Leverkusen 625000.0 8000.0 1073 38.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9690 O. Ejaria 19 England 66 81 Liverpool 1400000.0 13000.0 1703 71.0 ... 56.0 53.0 63.0 57.0 64.0 65.0 63.0 64.0 58.0 63.0
9711 A. Donnarumma 26 Italy 66 70 Milan 575000.0 16000.0 930 13.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9514 Álvaro Tejero 20 Spain 66 78 Real Madrid CF 1000000.0 22000.0 1758 76.0 ... 65.0 62.0 56.0 60.0 58.0 59.0 56.0 59.0 65.0 56.0
8741 C. Willock 19 England 67 82 SL Benfica 1600000.0 4000.0 1502 83.0 ... 43.0 33.0 56.0 41.0 65.0 66.0 60.0 66.0 48.0 60.0
8737 Caio Henrique 19 Brazil 67 81 Atlético Madrid 1600000.0 15000.0 1603 67.0 ... 49.0 42.0 64.0 52.0 63.0 63.0 57.0 63.0 51.0 57.0
8581 Unai Simón 20 Spain 67 80 Athletic Club de Bilbao 1200000.0 7000.0 1095 46.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
7995 R. Habran 23 France 67 72 Paris Saint-Germain 1000000.0 32000.0 1779 87.0 ... 55.0 51.0 59.0 53.0 65.0 66.0 64.0 67.0 56.0 64.0
7871 Gerson 20 Brazil 67 80 Roma 1500000.0 24000.0 1701 71.0 ... 52.0 45.0 66.0 55.0 66.0 68.0 62.0 67.0 56.0 62.0
7789 Paulo Lopes 39 Portugal 67 67 SL Benfica 50000.0 3000.0 1120 38.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
7759 V. Yurchenko 23 Ukraine 67 73 Bayer 04 Leverkusen 1000000.0 23000.0 1769 67.0 ... 59.0 55.0 66.0 61.0 66.0 67.0 63.0 67.0 61.0 63.0
6678 A. Isak 17 Sweden 68 84 Borussia Dortmund 1800000.0 18000.0 1574 80.0 ... 44.0 38.0 56.0 42.0 66.0 64.0 67.0 66.0 47.0 67.0
6987 Diogo Dalot 18 Portugal 68 83 FC Porto 1600000.0 4000.0 1686 71.0 ... 67.0 67.0 58.0 63.0 61.0 63.0 61.0 62.0 67.0 61.0
7093 M. Chrien 21 Slovakia 68 77 SL Benfica 1400000.0 6000.0 1744 67.0 ... 61.0 59.0 67.0 62.0 66.0 68.0 64.0 66.0 62.0 64.0
7164 Galeno 19 Brazil 68 79 FC Porto 1500000.0 5000.0 1695 79.0 ... 52.0 45.0 60.0 51.0 68.0 67.0 66.0 68.0 55.0 66.0
7506 Rúben Dias 20 Portugal 68 78 SL Benfica 1300000.0 5000.0 1458 62.0 ... 62.0 67.0 48.0 60.0 47.0 48.0 48.0 46.0 59.0 48.0
7604 Óscar 19 Spain 68 81 Real Madrid CF 1700000.0 37000.0 1667 64.0 ... 51.0 48.0 63.0 55.0 65.0 63.0 61.0 65.0 53.0 61.0
7500 Wallyson Mallmann 23 Brazil 68 75 Sporting CP 1300000.0 8000.0 1890 70.0 ... 61.0 60.0 66.0 62.0 67.0 66.0 67.0 67.0 62.0 67.0
6545 Wallace Oliveira 23 Brazil 69 78 Chelsea 1400000.0 40000.0 1888 76.0 ... 68.0 66.0 67.0 68.0 67.0 69.0 64.0 68.0 70.0 64.0
6486 R. Bentancur 20 Uruguay 69 83 Juventus 2300000.0 37000.0 1760 62.0 ... 62.0 59.0 68.0 64.0 65.0 66.0 61.0 65.0 63.0 61.0
6369 A. Werner 21 Argentina 69 81 Atlético Madrid 1500000.0 14000.0 1135 41.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6358 Pedro Pereira 19 Portugal 69 82 SL Benfica 1700000.0 4000.0 1723 75.0 ... 68.0 66.0 62.0 65.0 60.0 64.0 56.0 62.0 68.0 56.0
6322 C. Pinsoglio 27 Italy 69 69 Juventus 700000.0 34000.0 1062 43.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6253 J. Wilson 21 England 69 76 Manchester United 1500000.0 48000.0 1632 74.0 ... 45.0 40.0 59.0 45.0 67.0 65.0 68.0 66.0 48.0 68.0
6160 T. Alexander-Arnold 18 England 69 85 Liverpool 1900000.0 23000.0 1904 81.0 ... 68.0 64.0 66.0 66.0 65.0 68.0 62.0 67.0 69.0 62.0
5876 M. Delač 24 Croatia 69 72 Chelsea 950000.0 31000.0 1008 31.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
5808 C. Brannagan 21 England 69 79 Liverpool 1700000.0 38000.0 1881 64.0 ... 65.0 64.0 68.0 67.0 65.0 66.0 63.0 65.0 66.0 63.0

106 rows × 71 columns

Vi kan altså se, at der bliver satset på ungdommen, hvor deres kommende potentiale nok taler for deres plads i en storklub.

Men hvad så med ikke-topklubsspillere og deres performance?


In [43]:
bund_df = df[~df.Club.isin(top_clubs)]
bund_df[bund_df.Overall > 70]


Out[43]:
Name Age Nationality Overall Potential Club Value Wage Special Acceleration ... RB RCB RCM RDM RF RM RS RW RWB ST
11 K. De Bruyne 26 Belgium 89 92 Manchester City 83000000.0 285000.0 2162 76.0 ... 66.0 57.0 84.0 70.0 85.0 85.0 81.0 85.0 71.0 81.0
16 S. Agüero 29 Argentina 89 89 Manchester City 66500000.0 325000.0 2074 90.0 ... 52.0 44.0 75.0 54.0 87.0 84.0 86.0 86.0 57.0 86.0
29 H. Lloris 30 France 88 88 Tottenham Hotspur 38000000.0 165000.0 1318 65.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
36 C. Eriksen 25 Denmark 87 91 Tottenham Hotspur 65000000.0 165000.0 2064 77.0 ... 64.0 53.0 83.0 68.0 82.0 84.0 77.0 83.0 69.0 77.0
42 David Silva 31 Spain 87 87 Manchester City 44000000.0 220000.0 1977 72.0 ... 59.0 50.0 81.0 64.0 81.0 82.0 75.0 82.0 65.0 75.0
46 H. Kane 23 England 86 90 Tottenham Hotspur 59000000.0 165000.0 2057 68.0 ... 60.0 57.0 74.0 62.0 82.0 78.0 84.0 79.0 62.0 84.0
56 T. Alderweireld 28 Belgium 86 87 Tottenham Hotspur 40500000.0 165000.0 2047 62.0 ... 79.0 84.0 74.0 81.0 67.0 67.0 67.0 65.0 77.0 67.0
76 D. Subašić 32 Croatia 85 85 AS Monaco 22000000.0 46000.0 1305 51.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
79 K. Glik 29 Poland 85 85 AS Monaco 30000000.0 60000.0 1612 53.0 ... 72.0 83.0 55.0 74.0 48.0 50.0 52.0 45.0 68.0 52.0
81 I. Gündoğan 26 Germany 85 87 Manchester City 46000000.0 190000.0 2148 73.0 ... 73.0 69.0 83.0 77.0 81.0 81.0 76.0 81.0 75.0 76.0
86 J. Vertonghen 30 Belgium 85 85 Tottenham Hotspur 28500000.0 130000.0 2079 68.0 ... 80.0 83.0 74.0 81.0 70.0 70.0 70.0 69.0 78.0 70.0
88 S. Ruffier 30 France 85 85 AS Saint-Étienne 24500000.0 49000.0 1257 45.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
90 V. Kompany 31 Belgium 85 85 Manchester City 26000000.0 170000.0 1913 61.0 ... 76.0 82.0 67.0 77.0 62.0 63.0 63.0 61.0 74.0 63.0
94 Bernardo Silva 22 Portugal 84 91 Manchester City 43500000.0 165000.0 2012 85.0 ... 63.0 53.0 79.0 66.0 82.0 83.0 75.0 83.0 68.0 75.0
96 D. Alli 21 England 84 90 Tottenham Hotspur 43000000.0 115000.0 2122 77.0 ... 72.0 69.0 81.0 75.0 83.0 81.0 81.0 81.0 73.0 81.0
103 T. Horn 24 Germany 84 90 1. FC Köln 31000000.0 39000.0 1260 45.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
111 Bruno 33 Spain 84 84 Villarreal CF 18500000.0 59000.0 2059 42.0 ... 74.0 78.0 82.0 82.0 74.0 72.0 71.0 71.0 75.0 71.0
116 R. Fährmann 28 Germany 84 85 FC Schalke 04 25000000.0 54000.0 1190 38.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
117 Sergio Asenjo 28 Spain 84 85 Villarreal CF 25000000.0 46000.0 1341 59.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
120 D. Payet 30 France 84 84 Olympique de Marseille 29500000.0 60000.0 2076 79.0 ... 60.0 51.0 79.0 63.0 82.0 83.0 78.0 83.0 64.0 78.0
121 Falcao 31 Colombia 84 84 AS Monaco 28000000.0 68000.0 2010 73.0 ... 54.0 54.0 71.0 57.0 79.0 74.0 82.0 76.0 56.0 82.0
125 A. Gómez 29 Argentina 84 84 Atalanta 31000000.0 60000.0 2013 94.0 ... 59.0 45.0 77.0 59.0 83.0 84.0 76.0 85.0 65.0 76.0
129 N. Keïta 22 Guinea 83 88 RB Leipzig 34000000.0 68000.0 2055 82.0 ... 71.0 65.0 82.0 76.0 80.0 81.0 74.0 80.0 75.0 74.0
131 G. Rulli 25 Argentina 83 89 Real Sociedad 25500000.0 28000.0 1284 54.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
132 T. Lemar 21 France 83 91 AS Monaco 38500000.0 37000.0 2171 86.0 ... 72.0 66.0 78.0 72.0 81.0 82.0 77.0 82.0 75.0 77.0
135 Ederson 23 Brazil 83 89 Manchester City 26000000.0 87000.0 1320 64.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
136 Fabinho 23 Brazil 83 88 AS Monaco 29500000.0 37000.0 2114 73.0 ... 82.0 82.0 77.0 82.0 74.0 76.0 72.0 74.0 82.0 72.0
138 A. Belotti 23 Italy 83 90 Torino 37000000.0 58000.0 1935 80.0 ... 52.0 51.0 65.0 52.0 78.0 72.0 82.0 75.0 54.0 82.0
139 E. Forsberg 25 Sweden 83 85 RB Leipzig 31500000.0 75000.0 1949 78.0 ... 55.0 45.0 76.0 59.0 79.0 81.0 74.0 81.0 61.0 74.0
143 R. Mahrez 26 Algeria 83 84 Leicester City 30500000.0 88000.0 1935 85.0 ... 54.0 41.0 74.0 55.0 80.0 81.0 74.0 82.0 60.0 74.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
4822 Jair 28 Brazil 71 71 Jeonnam Dragons 2400000.0 7000.0 1828 76.0 ... 55.0 49.0 66.0 56.0 70.0 70.0 70.0 71.0 58.0 70.0
4823 K. Vandendriessche 27 France 71 71 KV Oostende 2400000.0 12000.0 1924 71.0 ... 69.0 70.0 70.0 70.0 68.0 68.0 70.0 66.0 69.0 70.0
4824 C. Fai 24 Cameroon 71 74 Standard de Liège 2500000.0 9000.0 1740 88.0 ... 70.0 67.0 62.0 67.0 59.0 65.0 53.0 62.0 70.0 53.0
4825 S. Hagen 31 Norway 71 71 Odds BK 1600000.0 4000.0 1530 56.0 ... 66.0 70.0 58.0 68.0 48.0 51.0 49.0 47.0 64.0 49.0
4826 M. Rygaard 26 Denmark 71 73 Lyngby BK 2900000.0 9000.0 1818 78.0 ... 54.0 50.0 66.0 57.0 68.0 69.0 64.0 69.0 57.0 64.0
4827 M. Männel 29 Germany 71 71 FC Erzgebirge Aue 1600000.0 5000.0 1184 52.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4828 Cristian López 28 Spain 71 71 RC Lens 2400000.0 8000.0 1705 80.0 ... 49.0 48.0 58.0 49.0 69.0 64.0 70.0 66.0 51.0 70.0
4829 Eduardo Fonseira 29 Brazil 71 71 Clube Atlético Mineiro 1600000.0 18000.0 963 32.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4830 L. Rosić 24 Serbia 71 77 SC Braga 2800000.0 7000.0 1442 58.0 ... 60.0 70.0 47.0 61.0 43.0 44.0 46.0 42.0 57.0 46.0
4831 R. Beerens 29 Netherlands 71 71 Reading 2300000.0 27000.0 1760 80.0 ... 49.0 39.0 64.0 49.0 69.0 71.0 64.0 71.0 54.0 64.0
4832 B. Douglas 27 Scotland 71 71 Wolverhampton Wanderers 2000000.0 31000.0 1956 76.0 ... 70.0 67.0 66.0 67.0 64.0 68.0 62.0 66.0 71.0 62.0
4833 S. Johnstone 24 England 71 79 Aston Villa 2600000.0 40000.0 1162 45.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4834 R. Elliot 31 Republic of Ireland 71 71 Newcastle United 1400000.0 30000.0 1128 47.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4835 D. Capelli 31 Italy 71 71 La Spezia 1600000.0 4000.0 1457 34.0 ... 60.0 70.0 49.0 63.0 41.0 43.0 45.0 40.0 58.0 45.0
4836 K. Ziani 34 France 71 71 US Orléans Loiret Football 1200000.0 5000.0 1836 75.0 ... 50.0 42.0 65.0 51.0 68.0 69.0 64.0 69.0 53.0 64.0
4837 A. Kozlov 30 Russia 71 71 Dinamo Moscow 1700000.0 21000.0 1801 71.0 ... 70.0 70.0 63.0 69.0 58.0 62.0 59.0 60.0 69.0 59.0
4838 S. Berge 19 Norway 71 82 KRC Genk 3500000.0 6000.0 1851 75.0 ... 68.0 69.0 69.0 70.0 66.0 67.0 64.0 65.0 68.0 64.0
4839 O. Pérez 44 Mexico 71 71 Pachuca 160000.0 9000.0 1244 60.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
4840 C. Pasquato 27 Italy 71 71 Legia Warszawa 2500000.0 8000.0 1707 90.0 ... 44.0 33.0 62.0 44.0 68.0 70.0 64.0 71.0 49.0 64.0
4841 A. Kolomeytsev 28 Russia 71 72 Lokomotiv Moscow 2200000.0 26000.0 1904 58.0 ... 68.0 68.0 72.0 70.0 69.0 69.0 69.0 68.0 69.0 69.0
4842 S. Kitsiou 23 Greece 71 75 Sint-Truidense VV 2600000.0 8000.0 1878 78.0 ... 70.0 67.0 68.0 69.0 67.0 68.0 65.0 68.0 70.0 65.0
4843 Y. Yotún 27 Peru 71 72 Orlando City Soccer Club 2700000.0 7000.0 1937 71.0 ... 67.0 63.0 70.0 68.0 66.0 69.0 61.0 67.0 69.0 61.0
4844 G. Zardes 25 United States 71 72 LA Galaxy 2900000.0 7000.0 1812 85.0 ... 56.0 54.0 62.0 54.0 70.0 69.0 70.0 70.0 58.0 70.0
4845 C. Menéndez 29 Argentina 71 71 Tiburones Rojos de Veracruz 2400000.0 8000.0 1670 66.0 ... 45.0 45.0 61.0 47.0 69.0 64.0 70.0 65.0 47.0 70.0
4846 T. Zentena 25 Chile 71 71 Everton de Viña del Mar 2600000.0 4000.0 1744 81.0 ... 48.0 42.0 60.0 47.0 71.0 70.0 71.0 72.0 52.0 71.0
4847 Vágner Corraldo 29 Brazil 71 71 Santos Futebol Clube 1800000.0 13000.0 1915 78.0 ... 70.0 67.0 65.0 67.0 65.0 67.0 63.0 67.0 71.0 63.0
4848 D. Sjölund 34 Finland 71 71 IFK Norrköping 1200000.0 5000.0 1839 46.0 ... 60.0 61.0 70.0 68.0 63.0 64.0 60.0 63.0 63.0 60.0
4849 C. Mavinga 26 DR Congo 71 72 Toronto FC 2300000.0 6000.0 1736 77.0 ... 70.0 70.0 64.0 69.0 60.0 66.0 58.0 63.0 70.0 58.0
4850 E. Conferio 33 Chile 71 71 CD Antofagasta 1500000.0 4000.0 1763 86.0 ... 50.0 40.0 62.0 47.0 72.0 69.0 70.0 71.0 52.0 70.0
4851 F. Ben Khalfallah 34 Tunisia 71 71 Brisbane Roar 1200000.0 6000.0 1808 75.0 ... 53.0 48.0 67.0 56.0 70.0 71.0 67.0 71.0 57.0 67.0

4336 rows × 71 columns

Måske er de 22 klubber, vi har udvalgt ikke helt nok til at beskrive topklubber


In [44]:
top_clubs


Out[44]:
220               FC Barcelona
331                   Juventus
467             Real Madrid CF
223           FC Bayern Munich
433        Paris Saint-Germain
378          Manchester United
398                     Napoli
478                       Roma
530                 Sevilla FC
324                      Inter
143                    Chelsea
551                Sporting CP
241                   FC Porto
369                  Liverpool
68             Atlético Madrid
52                     Arsenal
92           Borussia Dortmund
61     Athletic Club de Bilbao
83                 Beşiktaş JK
502                 SL Benfica
384                      Milan
80         Bayer 04 Leverkusen
Name: Club, dtype: object

Du kan evt. gå tilbage til Data Cleaning notebooken, og prøve at ændre tallet for top_klub_ratio


In [ ]: