Created
August 25, 2024 19:56
-
-
Save meneguinha/31b4100f9ef510c873e891196eed29b8 to your computer and use it in GitHub Desktop.
Right_Left_foot.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/meneguinha/31b4100f9ef510c873e891196eed29b8/right_left_foot.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "36f2e498", | |
"metadata": { | |
"id": "36f2e498" | |
}, | |
"source": [ | |
"To use this Jupyter Notebook, dowload this dataset: https://www.kaggle.com/hugomathien/soccer" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "702d136c", | |
"metadata": { | |
"id": "702d136c" | |
}, | |
"outputs": [], | |
"source": [ | |
"import sqlite3\n", | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "78c31334", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "78c31334", | |
"outputId": "54984a22-97e8-4352-f2ff-ec549afa959f" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"done\n" | |
] | |
} | |
], | |
"source": [ | |
"cnx = sqlite3.connect('/content/database.sqlite')\n", | |
"df = pd.read_sql_query(\"SELECT * FROM Player_Attributes\", cnx)\n", | |
"print(\"done\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "e68e459d", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "e68e459d", | |
"outputId": "8bf06e64-f020-487a-b857-8607326254b2" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Index(['id', 'player_fifa_api_id', 'player_api_id', 'date', 'overall_rating',\n", | |
" 'potential', 'preferred_foot', 'attacking_work_rate',\n", | |
" 'defensive_work_rate', 'crossing', 'finishing', 'heading_accuracy',\n", | |
" 'short_passing', 'volleys', 'dribbling', 'curve', 'free_kick_accuracy',\n", | |
" 'long_passing', 'ball_control', 'acceleration', 'sprint_speed',\n", | |
" 'agility', 'reactions', 'balance', 'shot_power', 'jumping', 'stamina',\n", | |
" 'strength', 'long_shots', 'aggression', 'interceptions', 'positioning',\n", | |
" 'vision', 'penalties', 'marking', 'standing_tackle', 'sliding_tackle',\n", | |
" 'gk_diving', 'gk_handling', 'gk_kicking', 'gk_positioning',\n", | |
" 'gk_reflexes'],\n", | |
" dtype='object')" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 3 | |
} | |
], | |
"source": [ | |
"df.columns" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "05e94041", | |
"metadata": { | |
"id": "05e94041" | |
}, | |
"outputs": [], | |
"source": [ | |
"df = df.dropna()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "b83c00b8", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 791 | |
}, | |
"id": "b83c00b8", | |
"outputId": "6a440d96-9f77-4d37-d810-60b2c6ddad25" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" id player_fifa_api_id player_api_id date \\\n", | |
"0 1 218353 505942 2016-02-18 00:00:00 \n", | |
"1 2 218353 505942 2015-11-19 00:00:00 \n", | |
"2 3 218353 505942 2015-09-21 00:00:00 \n", | |
"3 4 218353 505942 2015-03-20 00:00:00 \n", | |
"4 5 218353 505942 2007-02-22 00:00:00 \n", | |
"... ... ... ... ... \n", | |
"183973 183974 102359 39902 2009-08-30 00:00:00 \n", | |
"183974 183975 102359 39902 2009-02-22 00:00:00 \n", | |
"183975 183976 102359 39902 2008-08-30 00:00:00 \n", | |
"183976 183977 102359 39902 2007-08-30 00:00:00 \n", | |
"183977 183978 102359 39902 2007-02-22 00:00:00 \n", | |
"\n", | |
" overall_rating potential preferred_foot attacking_work_rate \\\n", | |
"0 67.0 71.0 right medium \n", | |
"1 67.0 71.0 right medium \n", | |
"2 62.0 66.0 right medium \n", | |
"3 61.0 65.0 right medium \n", | |
"4 61.0 65.0 right medium \n", | |
"... ... ... ... ... \n", | |
"183973 83.0 85.0 right medium \n", | |
"183974 78.0 80.0 right medium \n", | |
"183975 77.0 80.0 right medium \n", | |
"183976 78.0 81.0 right medium \n", | |
"183977 80.0 81.0 right medium \n", | |
"\n", | |
" defensive_work_rate crossing ... vision penalties marking \\\n", | |
"0 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"1 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"2 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"3 medium 48.0 ... 53.0 47.0 62.0 \n", | |
"4 medium 48.0 ... 53.0 47.0 62.0 \n", | |
"... ... ... ... ... ... ... \n", | |
"183973 low 84.0 ... 88.0 83.0 22.0 \n", | |
"183974 low 74.0 ... 88.0 70.0 32.0 \n", | |
"183975 low 74.0 ... 88.0 70.0 32.0 \n", | |
"183976 low 74.0 ... 88.0 53.0 28.0 \n", | |
"183977 low 74.0 ... 88.0 53.0 38.0 \n", | |
"\n", | |
" standing_tackle sliding_tackle gk_diving gk_handling gk_kicking \\\n", | |
"0 69.0 69.0 6.0 11.0 10.0 \n", | |
"1 69.0 69.0 6.0 11.0 10.0 \n", | |
"2 66.0 69.0 6.0 11.0 10.0 \n", | |
"3 63.0 66.0 5.0 10.0 9.0 \n", | |
"4 63.0 66.0 5.0 10.0 9.0 \n", | |
"... ... ... ... ... ... \n", | |
"183973 31.0 30.0 9.0 20.0 84.0 \n", | |
"183974 31.0 30.0 9.0 20.0 73.0 \n", | |
"183975 31.0 30.0 9.0 20.0 73.0 \n", | |
"183976 32.0 30.0 9.0 20.0 73.0 \n", | |
"183977 32.0 30.0 9.0 9.0 78.0 \n", | |
"\n", | |
" gk_positioning gk_reflexes \n", | |
"0 8.0 8.0 \n", | |
"1 8.0 8.0 \n", | |
"2 8.0 8.0 \n", | |
"3 7.0 7.0 \n", | |
"4 7.0 7.0 \n", | |
"... ... ... \n", | |
"183973 20.0 20.0 \n", | |
"183974 20.0 20.0 \n", | |
"183975 20.0 20.0 \n", | |
"183976 20.0 20.0 \n", | |
"183977 7.0 15.0 \n", | |
"\n", | |
"[180354 rows x 42 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-c4549ad9-053a-419b-8262-e1feb38f95db\" class=\"colab-df-container\">\n", | |
" <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>player_fifa_api_id</th>\n", | |
" <th>player_api_id</th>\n", | |
" <th>date</th>\n", | |
" <th>overall_rating</th>\n", | |
" <th>potential</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>attacking_work_rate</th>\n", | |
" <th>defensive_work_rate</th>\n", | |
" <th>crossing</th>\n", | |
" <th>...</th>\n", | |
" <th>vision</th>\n", | |
" <th>penalties</th>\n", | |
" <th>marking</th>\n", | |
" <th>standing_tackle</th>\n", | |
" <th>sliding_tackle</th>\n", | |
" <th>gk_diving</th>\n", | |
" <th>gk_handling</th>\n", | |
" <th>gk_kicking</th>\n", | |
" <th>gk_positioning</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>1</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2016-02-18 00:00:00</td>\n", | |
" <td>67.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-11-19 00:00:00</td>\n", | |
" <td>67.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>3</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-09-21 00:00:00</td>\n", | |
" <td>62.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>4</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-03-20 00:00:00</td>\n", | |
" <td>61.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>48.0</td>\n", | |
" <td>...</td>\n", | |
" <td>53.0</td>\n", | |
" <td>47.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>63.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>5.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>7.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>5</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2007-02-22 00:00:00</td>\n", | |
" <td>61.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>48.0</td>\n", | |
" <td>...</td>\n", | |
" <td>53.0</td>\n", | |
" <td>47.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>63.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>5.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>7.0</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>183973</th>\n", | |
" <td>183974</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2009-08-30 00:00:00</td>\n", | |
" <td>83.0</td>\n", | |
" <td>85.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>84.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>83.0</td>\n", | |
" <td>22.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183974</th>\n", | |
" <td>183975</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2009-02-22 00:00:00</td>\n", | |
" <td>78.0</td>\n", | |
" <td>80.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183975</th>\n", | |
" <td>183976</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2008-08-30 00:00:00</td>\n", | |
" <td>77.0</td>\n", | |
" <td>80.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183976</th>\n", | |
" <td>183977</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2007-08-30 00:00:00</td>\n", | |
" <td>78.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>28.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>183978</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2007-02-22 00:00:00</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>38.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>15.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>180354 rows × 42 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-c4549ad9-053a-419b-8262-e1feb38f95db')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-c4549ad9-053a-419b-8262-e1feb38f95db button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-c4549ad9-053a-419b-8262-e1feb38f95db');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-b89a5dc9-b3e9-45cd-b29f-930e50485bd1\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-b89a5dc9-b3e9-45cd-b29f-930e50485bd1')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-b89a5dc9-b3e9-45cd-b29f-930e50485bd1 button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_1103cce5-3d23-4329-b320-b8352c0178e3\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_1103cce5-3d23-4329-b320-b8352c0178e3 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('df');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "df" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 5 | |
} | |
], | |
"source": [ | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "0f41ca54", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "0f41ca54", | |
"outputId": "b14aff92-dc8f-46b4-a6d1-9f499801d27b" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"180354" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 6 | |
} | |
], | |
"source": [ | |
"len(df)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "daa13d43", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 458 | |
}, | |
"id": "daa13d43", | |
"outputId": "be50325b-c8af-4a5b-bdfd-466ab923c1c7" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"0 right\n", | |
"1 right\n", | |
"2 right\n", | |
"3 right\n", | |
"4 right\n", | |
" ... \n", | |
"183973 right\n", | |
"183974 right\n", | |
"183975 right\n", | |
"183976 right\n", | |
"183977 right\n", | |
"Name: preferred_foot, Length: 180354, dtype: object" | |
], | |
"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>preferred_foot</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183973</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183974</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183975</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183976</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>right</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>180354 rows × 1 columns</p>\n", | |
"</div><br><label><b>dtype:</b> object</label>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 7 | |
} | |
], | |
"source": [ | |
"df['preferred_foot']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "4402516d", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "4402516d", | |
"outputId": "7c445996-7755-43a0-afef-145631df3e85" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7d1842397d30>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 8 | |
} | |
], | |
"source": [ | |
"df.groupby('preferred_foot')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "470dc3c2", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 791 | |
}, | |
"id": "470dc3c2", | |
"outputId": "3a76dbcc-db5f-45d8-a3f4-af25393b4b6d" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" id player_fifa_api_id player_api_id date \\\n", | |
"0 1 218353 505942 2016-02-18 00:00:00 \n", | |
"1 2 218353 505942 2015-11-19 00:00:00 \n", | |
"2 3 218353 505942 2015-09-21 00:00:00 \n", | |
"3 4 218353 505942 2015-03-20 00:00:00 \n", | |
"4 5 218353 505942 2007-02-22 00:00:00 \n", | |
"... ... ... ... ... \n", | |
"183973 183974 102359 39902 2009-08-30 00:00:00 \n", | |
"183974 183975 102359 39902 2009-02-22 00:00:00 \n", | |
"183975 183976 102359 39902 2008-08-30 00:00:00 \n", | |
"183976 183977 102359 39902 2007-08-30 00:00:00 \n", | |
"183977 183978 102359 39902 2007-02-22 00:00:00 \n", | |
"\n", | |
" overall_rating potential preferred_foot attacking_work_rate \\\n", | |
"0 67.0 71.0 right medium \n", | |
"1 67.0 71.0 right medium \n", | |
"2 62.0 66.0 right medium \n", | |
"3 61.0 65.0 right medium \n", | |
"4 61.0 65.0 right medium \n", | |
"... ... ... ... ... \n", | |
"183973 83.0 85.0 right medium \n", | |
"183974 78.0 80.0 right medium \n", | |
"183975 77.0 80.0 right medium \n", | |
"183976 78.0 81.0 right medium \n", | |
"183977 80.0 81.0 right medium \n", | |
"\n", | |
" defensive_work_rate crossing ... vision penalties marking \\\n", | |
"0 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"1 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"2 medium 49.0 ... 54.0 48.0 65.0 \n", | |
"3 medium 48.0 ... 53.0 47.0 62.0 \n", | |
"4 medium 48.0 ... 53.0 47.0 62.0 \n", | |
"... ... ... ... ... ... ... \n", | |
"183973 low 84.0 ... 88.0 83.0 22.0 \n", | |
"183974 low 74.0 ... 88.0 70.0 32.0 \n", | |
"183975 low 74.0 ... 88.0 70.0 32.0 \n", | |
"183976 low 74.0 ... 88.0 53.0 28.0 \n", | |
"183977 low 74.0 ... 88.0 53.0 38.0 \n", | |
"\n", | |
" standing_tackle sliding_tackle gk_diving gk_handling gk_kicking \\\n", | |
"0 69.0 69.0 6.0 11.0 10.0 \n", | |
"1 69.0 69.0 6.0 11.0 10.0 \n", | |
"2 66.0 69.0 6.0 11.0 10.0 \n", | |
"3 63.0 66.0 5.0 10.0 9.0 \n", | |
"4 63.0 66.0 5.0 10.0 9.0 \n", | |
"... ... ... ... ... ... \n", | |
"183973 31.0 30.0 9.0 20.0 84.0 \n", | |
"183974 31.0 30.0 9.0 20.0 73.0 \n", | |
"183975 31.0 30.0 9.0 20.0 73.0 \n", | |
"183976 32.0 30.0 9.0 20.0 73.0 \n", | |
"183977 32.0 30.0 9.0 9.0 78.0 \n", | |
"\n", | |
" gk_positioning gk_reflexes \n", | |
"0 8.0 8.0 \n", | |
"1 8.0 8.0 \n", | |
"2 8.0 8.0 \n", | |
"3 7.0 7.0 \n", | |
"4 7.0 7.0 \n", | |
"... ... ... \n", | |
"183973 20.0 20.0 \n", | |
"183974 20.0 20.0 \n", | |
"183975 20.0 20.0 \n", | |
"183976 20.0 20.0 \n", | |
"183977 7.0 15.0 \n", | |
"\n", | |
"[180354 rows x 42 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-e8142921-88e0-4f6b-be66-d85fac4f150a\" class=\"colab-df-container\">\n", | |
" <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>player_fifa_api_id</th>\n", | |
" <th>player_api_id</th>\n", | |
" <th>date</th>\n", | |
" <th>overall_rating</th>\n", | |
" <th>potential</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>attacking_work_rate</th>\n", | |
" <th>defensive_work_rate</th>\n", | |
" <th>crossing</th>\n", | |
" <th>...</th>\n", | |
" <th>vision</th>\n", | |
" <th>penalties</th>\n", | |
" <th>marking</th>\n", | |
" <th>standing_tackle</th>\n", | |
" <th>sliding_tackle</th>\n", | |
" <th>gk_diving</th>\n", | |
" <th>gk_handling</th>\n", | |
" <th>gk_kicking</th>\n", | |
" <th>gk_positioning</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>1</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2016-02-18 00:00:00</td>\n", | |
" <td>67.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-11-19 00:00:00</td>\n", | |
" <td>67.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>3</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-09-21 00:00:00</td>\n", | |
" <td>62.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>49.0</td>\n", | |
" <td>...</td>\n", | |
" <td>54.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>6.0</td>\n", | |
" <td>11.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>8.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>4</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2015-03-20 00:00:00</td>\n", | |
" <td>61.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>48.0</td>\n", | |
" <td>...</td>\n", | |
" <td>53.0</td>\n", | |
" <td>47.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>63.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>5.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>7.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>5</td>\n", | |
" <td>218353</td>\n", | |
" <td>505942</td>\n", | |
" <td>2007-02-22 00:00:00</td>\n", | |
" <td>61.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>medium</td>\n", | |
" <td>48.0</td>\n", | |
" <td>...</td>\n", | |
" <td>53.0</td>\n", | |
" <td>47.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>63.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>5.0</td>\n", | |
" <td>10.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>7.0</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>183973</th>\n", | |
" <td>183974</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2009-08-30 00:00:00</td>\n", | |
" <td>83.0</td>\n", | |
" <td>85.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>84.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>83.0</td>\n", | |
" <td>22.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183974</th>\n", | |
" <td>183975</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2009-02-22 00:00:00</td>\n", | |
" <td>78.0</td>\n", | |
" <td>80.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183975</th>\n", | |
" <td>183976</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2008-08-30 00:00:00</td>\n", | |
" <td>77.0</td>\n", | |
" <td>80.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>31.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183976</th>\n", | |
" <td>183977</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2007-08-30 00:00:00</td>\n", | |
" <td>78.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>28.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>20.0</td>\n", | |
" <td>20.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>183978</td>\n", | |
" <td>102359</td>\n", | |
" <td>39902</td>\n", | |
" <td>2007-02-22 00:00:00</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>right</td>\n", | |
" <td>medium</td>\n", | |
" <td>low</td>\n", | |
" <td>74.0</td>\n", | |
" <td>...</td>\n", | |
" <td>88.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>38.0</td>\n", | |
" <td>32.0</td>\n", | |
" <td>30.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>9.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>7.0</td>\n", | |
" <td>15.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>180354 rows × 42 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e8142921-88e0-4f6b-be66-d85fac4f150a')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-e8142921-88e0-4f6b-be66-d85fac4f150a button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-e8142921-88e0-4f6b-be66-d85fac4f150a');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-4e62a141-b7aa-4b14-a3f6-9d7c2c7569ee\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-4e62a141-b7aa-4b14-a3f6-9d7c2c7569ee')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-4e62a141-b7aa-4b14-a3f6-9d7c2c7569ee button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_45dce451-4518-44c3-9071-140d969e3f81\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_45dce451-4518-44c3-9071-140d969e3f81 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('df');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "df" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 9 | |
} | |
], | |
"source": [ | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "507ef04d", | |
"metadata": { | |
"id": "507ef04d" | |
}, | |
"outputs": [], | |
"source": [ | |
"filtered_df = df[['player_fifa_api_id','preferred_foot', 'dribbling', 'agility', 'balance', 'vision', 'positioning', 'ball_control','gk_reflexes' ]].copy()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "fd64a0c3", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 444 | |
}, | |
"id": "fd64a0c3", | |
"outputId": "1ae5c195-9fe2-4b74-bbd7-89c9aac03ecf" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id preferred_foot dribbling agility balance \\\n", | |
"0 218353 right 51.0 59.0 65.0 \n", | |
"1 218353 right 51.0 59.0 65.0 \n", | |
"2 218353 right 51.0 59.0 65.0 \n", | |
"3 218353 right 50.0 59.0 65.0 \n", | |
"4 218353 right 50.0 59.0 65.0 \n", | |
"... ... ... ... ... ... \n", | |
"183969 102359 right 80.0 81.0 70.0 \n", | |
"183970 102359 right 80.0 81.0 70.0 \n", | |
"183971 102359 right 80.0 77.0 73.0 \n", | |
"183972 102359 right 84.0 77.0 73.0 \n", | |
"183977 102359 right 87.0 77.0 73.0 \n", | |
"\n", | |
" vision positioning ball_control gk_reflexes \n", | |
"0 54.0 45.0 49.0 8.0 \n", | |
"1 54.0 45.0 49.0 8.0 \n", | |
"2 54.0 45.0 49.0 8.0 \n", | |
"3 53.0 44.0 48.0 7.0 \n", | |
"4 53.0 44.0 48.0 7.0 \n", | |
"... ... ... ... ... \n", | |
"183969 87.0 77.0 82.0 5.0 \n", | |
"183970 87.0 77.0 82.0 5.0 \n", | |
"183971 87.0 84.0 84.0 5.0 \n", | |
"183972 88.0 84.0 85.0 5.0 \n", | |
"183977 88.0 68.0 91.0 15.0 \n", | |
"\n", | |
"[145416 rows x 9 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-3ce9a305-ae71-4e8d-9cbf-ceff442492bb\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>positioning</th>\n", | |
" <th>ball_control</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183969</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183970</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183971</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183972</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>84.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>85.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>91.0</td>\n", | |
" <td>15.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>145416 rows × 9 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3ce9a305-ae71-4e8d-9cbf-ceff442492bb')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-3ce9a305-ae71-4e8d-9cbf-ceff442492bb button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-3ce9a305-ae71-4e8d-9cbf-ceff442492bb');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-61c392f6-c2df-4ed3-a621-c526a82caff1\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-61c392f6-c2df-4ed3-a621-c526a82caff1')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-61c392f6-c2df-4ed3-a621-c526a82caff1 button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_ac5dd6b0-6019-4e9d-84aa-ee5bcf935dc1\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_ac5dd6b0-6019-4e9d-84aa-ee5bcf935dc1 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 11 | |
} | |
], | |
"source": [ | |
"gk_filter = filtered_df['gk_reflexes'] < 20\n", | |
"filtered_df = filtered_df[gk_filter]\n", | |
"filtered_df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "e49bfd93", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 366 | |
}, | |
"id": "e49bfd93", | |
"outputId": "1e9ef2a4-e036-4e39-f6ac-97793a10e71b" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"player_fifa_api_id False\n", | |
"preferred_foot False\n", | |
"dribbling False\n", | |
"agility False\n", | |
"balance False\n", | |
"vision False\n", | |
"positioning False\n", | |
"ball_control False\n", | |
"gk_reflexes False\n", | |
"dtype: bool" | |
], | |
"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>0</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>player_fifa_api_id</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>preferred_foot</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>dribbling</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>agility</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>balance</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>vision</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>positioning</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>ball_control</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>gk_reflexes</th>\n", | |
" <td>False</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div><br><label><b>dtype:</b> bool</label>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 12 | |
} | |
], | |
"source": [ | |
"filtered_df.isnull().any()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "e6b27479", | |
"metadata": { | |
"id": "e6b27479" | |
}, | |
"outputs": [], | |
"source": [ | |
"left_foot_filter = filtered_df['preferred_foot']=='left'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "92d7dbee", | |
"metadata": { | |
"id": "92d7dbee" | |
}, | |
"outputs": [], | |
"source": [ | |
"filtered_df_left = filtered_df[left_foot_filter]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "52ffa403", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 444 | |
}, | |
"id": "52ffa403", | |
"outputId": "64fdd209-ae64-4cc9-dabe-41b14c44af97" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id preferred_foot dribbling agility balance \\\n", | |
"5 189615 left 73.0 78.0 90.0 \n", | |
"6 189615 left 73.0 78.0 90.0 \n", | |
"7 189615 left 71.0 78.0 90.0 \n", | |
"8 189615 left 71.0 78.0 90.0 \n", | |
"9 189615 left 71.0 78.0 90.0 \n", | |
"... ... ... ... ... ... \n", | |
"183948 164680 left 67.0 62.0 58.0 \n", | |
"183949 164680 left 67.0 62.0 58.0 \n", | |
"183950 164680 left 65.0 69.0 68.0 \n", | |
"183951 164680 left 49.0 62.0 68.0 \n", | |
"183952 164680 left 49.0 62.0 68.0 \n", | |
"\n", | |
" vision positioning ball_control gk_reflexes \n", | |
"5 66.0 60.0 71.0 12.0 \n", | |
"6 66.0 60.0 71.0 12.0 \n", | |
"7 65.0 58.0 70.0 12.0 \n", | |
"8 65.0 58.0 70.0 12.0 \n", | |
"9 65.0 58.0 70.0 12.0 \n", | |
"... ... ... ... ... \n", | |
"183948 45.0 65.0 70.0 8.0 \n", | |
"183949 45.0 65.0 70.0 8.0 \n", | |
"183950 65.0 55.0 68.0 8.0 \n", | |
"183951 65.0 55.0 58.0 8.0 \n", | |
"183952 65.0 55.0 58.0 8.0 \n", | |
"\n", | |
"[37143 rows x 9 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-88d0e2fd-5fc4-4937-81e4-f151d29aec70\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>positioning</th>\n", | |
" <th>ball_control</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>73.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>60.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>73.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>60.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183948</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>67.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183949</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>67.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183950</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183951</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>49.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183952</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>49.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>37143 rows × 9 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-88d0e2fd-5fc4-4937-81e4-f151d29aec70')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-88d0e2fd-5fc4-4937-81e4-f151d29aec70 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-88d0e2fd-5fc4-4937-81e4-f151d29aec70');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-f3921363-5ded-47b1-804d-8110df39b421\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f3921363-5ded-47b1-804d-8110df39b421')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-f3921363-5ded-47b1-804d-8110df39b421 button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_1e360b51-ea66-4d14-ad25-77e657f9da05\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_left')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_1e360b51-ea66-4d14-ad25-77e657f9da05 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_left');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_left", | |
"summary": "{\n \"name\": \"filtered_df_left\",\n \"rows\": 37143,\n \"fields\": [\n {\n \"column\": \"player_fifa_api_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 48640,\n \"min\": 2,\n \"max\": 233911,\n \"num_unique_values\": 2793,\n \"samples\": [\n 149306,\n 186591,\n 177905\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"preferred_foot\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"left\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"dribbling\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.549756750680073,\n \"min\": 10.0,\n \"max\": 97.0,\n \"num_unique_values\": 87,\n \"samples\": [\n 90.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"agility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.804197031498157,\n \"min\": 21.0,\n \"max\": 96.0,\n \"num_unique_values\": 75,\n \"samples\": [\n 74.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"balance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.128995827951854,\n \"min\": 20.0,\n \"max\": 96.0,\n \"num_unique_values\": 74,\n \"samples\": [\n 73.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"vision\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.64007495701645,\n \"min\": 18.0,\n \"max\": 94.0,\n \"num_unique_values\": 77,\n \"samples\": [\n 58.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"positioning\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.754316317451018,\n \"min\": 11.0,\n \"max\": 93.0,\n \"num_unique_values\": 83,\n \"samples\": [\n 54.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ball_control\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.38128723618305,\n \"min\": 25.0,\n \"max\": 97.0,\n \"num_unique_values\": 68,\n \"samples\": [\n 42.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"gk_reflexes\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3.1679606838239196,\n \"min\": 1.0,\n \"max\": 19.0,\n \"num_unique_values\": 19,\n \"samples\": [\n 12.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 15 | |
} | |
], | |
"source": [ | |
"filtered_df_left" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "d7dd1e16", | |
"metadata": { | |
"id": "d7dd1e16" | |
}, | |
"outputs": [], | |
"source": [ | |
"right_foot_filter = filtered_df['preferred_foot']=='right'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "98cbbe8d", | |
"metadata": { | |
"id": "98cbbe8d" | |
}, | |
"outputs": [], | |
"source": [ | |
"filtered_df_right = filtered_df[right_foot_filter]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "7f1c3f08", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 444 | |
}, | |
"id": "7f1c3f08", | |
"outputId": "6c9d250a-3aec-436f-89fa-bab2fd1a725c" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id preferred_foot dribbling agility balance \\\n", | |
"0 218353 right 51.0 59.0 65.0 \n", | |
"1 218353 right 51.0 59.0 65.0 \n", | |
"2 218353 right 51.0 59.0 65.0 \n", | |
"3 218353 right 50.0 59.0 65.0 \n", | |
"4 218353 right 50.0 59.0 65.0 \n", | |
"... ... ... ... ... ... \n", | |
"183969 102359 right 80.0 81.0 70.0 \n", | |
"183970 102359 right 80.0 81.0 70.0 \n", | |
"183971 102359 right 80.0 77.0 73.0 \n", | |
"183972 102359 right 84.0 77.0 73.0 \n", | |
"183977 102359 right 87.0 77.0 73.0 \n", | |
"\n", | |
" vision positioning ball_control gk_reflexes \n", | |
"0 54.0 45.0 49.0 8.0 \n", | |
"1 54.0 45.0 49.0 8.0 \n", | |
"2 54.0 45.0 49.0 8.0 \n", | |
"3 53.0 44.0 48.0 7.0 \n", | |
"4 53.0 44.0 48.0 7.0 \n", | |
"... ... ... ... ... \n", | |
"183969 87.0 77.0 82.0 5.0 \n", | |
"183970 87.0 77.0 82.0 5.0 \n", | |
"183971 87.0 84.0 84.0 5.0 \n", | |
"183972 88.0 84.0 85.0 5.0 \n", | |
"183977 88.0 68.0 91.0 15.0 \n", | |
"\n", | |
"[108273 rows x 9 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-b3f3e204-e163-4d8b-9090-dc379c5b4c56\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>positioning</th>\n", | |
" <th>ball_control</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183969</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183970</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183971</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183972</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>84.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>85.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>91.0</td>\n", | |
" <td>15.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>108273 rows × 9 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b3f3e204-e163-4d8b-9090-dc379c5b4c56')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-b3f3e204-e163-4d8b-9090-dc379c5b4c56 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-b3f3e204-e163-4d8b-9090-dc379c5b4c56');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-b2ba7eda-cc10-4cb9-a931-96ab1921855f\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-b2ba7eda-cc10-4cb9-a931-96ab1921855f')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-b2ba7eda-cc10-4cb9-a931-96ab1921855f button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_6c8104e1-64c5-4115-9fab-a7f70313ddef\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_right')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_6c8104e1-64c5-4115-9fab-a7f70313ddef button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_right');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_right" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 18 | |
} | |
], | |
"source": [ | |
"filtered_df_right" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "0d846e13", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "0d846e13", | |
"outputId": "87529e16-e9f2-4979-94d3-f9f3d7c561bc" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7d1839af4580>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 19 | |
} | |
], | |
"source": [ | |
"filtered_df_left.groupby('player_fifa_api_id')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "42685211", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "42685211", | |
"outputId": "4cb46dfe-44bd-4081-ad30-63507ca79bad" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7d1839af44c0>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 20 | |
} | |
], | |
"source": [ | |
"filtered_df_right.groupby('player_fifa_api_id')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "393f9c04", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 444 | |
}, | |
"id": "393f9c04", | |
"outputId": "8e531723-530b-4675-f9ed-d47fbe2110a4" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id preferred_foot dribbling agility balance \\\n", | |
"5 189615 left 73.0 78.0 90.0 \n", | |
"6 189615 left 73.0 78.0 90.0 \n", | |
"7 189615 left 71.0 78.0 90.0 \n", | |
"8 189615 left 71.0 78.0 90.0 \n", | |
"9 189615 left 71.0 78.0 90.0 \n", | |
"... ... ... ... ... ... \n", | |
"183948 164680 left 67.0 62.0 58.0 \n", | |
"183949 164680 left 67.0 62.0 58.0 \n", | |
"183950 164680 left 65.0 69.0 68.0 \n", | |
"183951 164680 left 49.0 62.0 68.0 \n", | |
"183952 164680 left 49.0 62.0 68.0 \n", | |
"\n", | |
" vision positioning ball_control gk_reflexes \n", | |
"5 66.0 60.0 71.0 12.0 \n", | |
"6 66.0 60.0 71.0 12.0 \n", | |
"7 65.0 58.0 70.0 12.0 \n", | |
"8 65.0 58.0 70.0 12.0 \n", | |
"9 65.0 58.0 70.0 12.0 \n", | |
"... ... ... ... ... \n", | |
"183948 45.0 65.0 70.0 8.0 \n", | |
"183949 45.0 65.0 70.0 8.0 \n", | |
"183950 65.0 55.0 68.0 8.0 \n", | |
"183951 65.0 55.0 58.0 8.0 \n", | |
"183952 65.0 55.0 58.0 8.0 \n", | |
"\n", | |
"[37143 rows x 9 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-34eb3e35-564e-4e02-b727-8b3903310e49\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>positioning</th>\n", | |
" <th>ball_control</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>73.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>60.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>73.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>66.0</td>\n", | |
" <td>60.0</td>\n", | |
" <td>71.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>189615</td>\n", | |
" <td>left</td>\n", | |
" <td>71.0</td>\n", | |
" <td>78.0</td>\n", | |
" <td>90.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>12.0</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183948</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>67.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183949</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>67.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183950</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>65.0</td>\n", | |
" <td>69.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183951</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>49.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183952</th>\n", | |
" <td>164680</td>\n", | |
" <td>left</td>\n", | |
" <td>49.0</td>\n", | |
" <td>62.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>55.0</td>\n", | |
" <td>58.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>37143 rows × 9 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-34eb3e35-564e-4e02-b727-8b3903310e49')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-34eb3e35-564e-4e02-b727-8b3903310e49 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-34eb3e35-564e-4e02-b727-8b3903310e49');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-baf5b07b-5511-4df5-866d-bc2f669aa7cd\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-baf5b07b-5511-4df5-866d-bc2f669aa7cd')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-baf5b07b-5511-4df5-866d-bc2f669aa7cd button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_e0bf3478-e642-48de-8ac3-a96138be1ca7\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_left')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_e0bf3478-e642-48de-8ac3-a96138be1ca7 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_left');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_left", | |
"summary": "{\n \"name\": \"filtered_df_left\",\n \"rows\": 37143,\n \"fields\": [\n {\n \"column\": \"player_fifa_api_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 48640,\n \"min\": 2,\n \"max\": 233911,\n \"num_unique_values\": 2793,\n \"samples\": [\n 149306,\n 186591,\n 177905\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"preferred_foot\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"left\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"dribbling\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.549756750680073,\n \"min\": 10.0,\n \"max\": 97.0,\n \"num_unique_values\": 87,\n \"samples\": [\n 90.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"agility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.804197031498157,\n \"min\": 21.0,\n \"max\": 96.0,\n \"num_unique_values\": 75,\n \"samples\": [\n 74.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"balance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.128995827951854,\n \"min\": 20.0,\n \"max\": 96.0,\n \"num_unique_values\": 74,\n \"samples\": [\n 73.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"vision\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.64007495701645,\n \"min\": 18.0,\n \"max\": 94.0,\n \"num_unique_values\": 77,\n \"samples\": [\n 58.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"positioning\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14.754316317451018,\n \"min\": 11.0,\n \"max\": 93.0,\n \"num_unique_values\": 83,\n \"samples\": [\n 54.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ball_control\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.38128723618305,\n \"min\": 25.0,\n \"max\": 97.0,\n \"num_unique_values\": 68,\n \"samples\": [\n 42.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"gk_reflexes\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3.1679606838239196,\n \"min\": 1.0,\n \"max\": 19.0,\n \"num_unique_values\": 19,\n \"samples\": [\n 12.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 21 | |
} | |
], | |
"source": [ | |
"filtered_df_left" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "2e691681", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 444 | |
}, | |
"id": "2e691681", | |
"outputId": "de752668-5749-4026-c37f-18f87f7d5779" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id preferred_foot dribbling agility balance \\\n", | |
"0 218353 right 51.0 59.0 65.0 \n", | |
"1 218353 right 51.0 59.0 65.0 \n", | |
"2 218353 right 51.0 59.0 65.0 \n", | |
"3 218353 right 50.0 59.0 65.0 \n", | |
"4 218353 right 50.0 59.0 65.0 \n", | |
"... ... ... ... ... ... \n", | |
"183969 102359 right 80.0 81.0 70.0 \n", | |
"183970 102359 right 80.0 81.0 70.0 \n", | |
"183971 102359 right 80.0 77.0 73.0 \n", | |
"183972 102359 right 84.0 77.0 73.0 \n", | |
"183977 102359 right 87.0 77.0 73.0 \n", | |
"\n", | |
" vision positioning ball_control gk_reflexes \n", | |
"0 54.0 45.0 49.0 8.0 \n", | |
"1 54.0 45.0 49.0 8.0 \n", | |
"2 54.0 45.0 49.0 8.0 \n", | |
"3 53.0 44.0 48.0 7.0 \n", | |
"4 53.0 44.0 48.0 7.0 \n", | |
"... ... ... ... ... \n", | |
"183969 87.0 77.0 82.0 5.0 \n", | |
"183970 87.0 77.0 82.0 5.0 \n", | |
"183971 87.0 84.0 84.0 5.0 \n", | |
"183972 88.0 84.0 85.0 5.0 \n", | |
"183977 88.0 68.0 91.0 15.0 \n", | |
"\n", | |
"[108273 rows x 9 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-ba97c7bc-e7cd-4587-b2aa-97298691d7f1\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>preferred_foot</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>positioning</th>\n", | |
" <th>ball_control</th>\n", | |
" <th>gk_reflexes</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>51.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>54.0</td>\n", | |
" <td>45.0</td>\n", | |
" <td>49.0</td>\n", | |
" <td>8.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>218353</td>\n", | |
" <td>right</td>\n", | |
" <td>50.0</td>\n", | |
" <td>59.0</td>\n", | |
" <td>65.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>44.0</td>\n", | |
" <td>48.0</td>\n", | |
" <td>7.0</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183969</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183970</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>81.0</td>\n", | |
" <td>70.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>82.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183971</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>80.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>87.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183972</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>84.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>84.0</td>\n", | |
" <td>85.0</td>\n", | |
" <td>5.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183977</th>\n", | |
" <td>102359</td>\n", | |
" <td>right</td>\n", | |
" <td>87.0</td>\n", | |
" <td>77.0</td>\n", | |
" <td>73.0</td>\n", | |
" <td>88.0</td>\n", | |
" <td>68.0</td>\n", | |
" <td>91.0</td>\n", | |
" <td>15.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>108273 rows × 9 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-ba97c7bc-e7cd-4587-b2aa-97298691d7f1')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-ba97c7bc-e7cd-4587-b2aa-97298691d7f1 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-ba97c7bc-e7cd-4587-b2aa-97298691d7f1');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-1142c98a-6a02-4786-9ca7-123e7a5873be\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-1142c98a-6a02-4786-9ca7-123e7a5873be')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-1142c98a-6a02-4786-9ca7-123e7a5873be button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_812f6d9d-3274-4ba4-9458-e155a1dd95c6\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_right')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_812f6d9d-3274-4ba4-9458-e155a1dd95c6 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_right');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_right" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 22 | |
} | |
], | |
"source": [ | |
"filtered_df_right" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "a207d5d5", | |
"metadata": { | |
"id": "a207d5d5" | |
}, | |
"outputs": [], | |
"source": [ | |
"filtered_df_left_mean_by_player = filtered_df_left[['player_fifa_api_id', 'dribbling','agility', 'balance', 'vision',\n", | |
" 'ball_control']].groupby('player_fifa_api_id', as_index=False).mean()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "51786f75", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 424 | |
}, | |
"id": "51786f75", | |
"outputId": "c6537c82-a192-40a8-da91-9f3cae141ac0" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id dribbling agility balance vision \\\n", | |
"0 2 67.320000 67.360000 66.520000 53.120000 \n", | |
"1 80 78.545455 74.409091 85.318182 80.090909 \n", | |
"2 158 62.400000 61.000000 65.000000 54.000000 \n", | |
"3 195 64.666667 50.666667 56.000000 74.333333 \n", | |
"4 201 72.000000 67.000000 64.000000 81.000000 \n", | |
"... ... ... ... ... ... \n", | |
"2788 232643 62.000000 54.000000 54.000000 40.000000 \n", | |
"2789 233229 53.000000 51.000000 68.000000 35.000000 \n", | |
"2790 233502 59.000000 55.000000 75.000000 36.000000 \n", | |
"2791 233711 41.000000 50.000000 62.000000 59.000000 \n", | |
"2792 233911 45.000000 52.000000 70.000000 33.000000 \n", | |
"\n", | |
" ball_control \n", | |
"0 70.280000 \n", | |
"1 80.727273 \n", | |
"2 71.000000 \n", | |
"3 73.000000 \n", | |
"4 78.000000 \n", | |
"... ... \n", | |
"2788 57.000000 \n", | |
"2789 30.000000 \n", | |
"2790 38.000000 \n", | |
"2791 56.000000 \n", | |
"2792 44.000000 \n", | |
"\n", | |
"[2793 rows x 6 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-747d8ef5-741a-4531-8ae8-628e7b454e58\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>ball_control</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2</td>\n", | |
" <td>67.320000</td>\n", | |
" <td>67.360000</td>\n", | |
" <td>66.520000</td>\n", | |
" <td>53.120000</td>\n", | |
" <td>70.280000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>80</td>\n", | |
" <td>78.545455</td>\n", | |
" <td>74.409091</td>\n", | |
" <td>85.318182</td>\n", | |
" <td>80.090909</td>\n", | |
" <td>80.727273</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>158</td>\n", | |
" <td>62.400000</td>\n", | |
" <td>61.000000</td>\n", | |
" <td>65.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>71.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>195</td>\n", | |
" <td>64.666667</td>\n", | |
" <td>50.666667</td>\n", | |
" <td>56.000000</td>\n", | |
" <td>74.333333</td>\n", | |
" <td>73.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>201</td>\n", | |
" <td>72.000000</td>\n", | |
" <td>67.000000</td>\n", | |
" <td>64.000000</td>\n", | |
" <td>81.000000</td>\n", | |
" <td>78.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2788</th>\n", | |
" <td>232643</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>40.000000</td>\n", | |
" <td>57.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2789</th>\n", | |
" <td>233229</td>\n", | |
" <td>53.000000</td>\n", | |
" <td>51.000000</td>\n", | |
" <td>68.000000</td>\n", | |
" <td>35.000000</td>\n", | |
" <td>30.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2790</th>\n", | |
" <td>233502</td>\n", | |
" <td>59.000000</td>\n", | |
" <td>55.000000</td>\n", | |
" <td>75.000000</td>\n", | |
" <td>36.000000</td>\n", | |
" <td>38.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2791</th>\n", | |
" <td>233711</td>\n", | |
" <td>41.000000</td>\n", | |
" <td>50.000000</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>59.000000</td>\n", | |
" <td>56.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2792</th>\n", | |
" <td>233911</td>\n", | |
" <td>45.000000</td>\n", | |
" <td>52.000000</td>\n", | |
" <td>70.000000</td>\n", | |
" <td>33.000000</td>\n", | |
" <td>44.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>2793 rows × 6 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-747d8ef5-741a-4531-8ae8-628e7b454e58')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-747d8ef5-741a-4531-8ae8-628e7b454e58 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-747d8ef5-741a-4531-8ae8-628e7b454e58');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-cdfdcdba-5d3e-4a01-b13d-2b2ee1983a83\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-cdfdcdba-5d3e-4a01-b13d-2b2ee1983a83')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-cdfdcdba-5d3e-4a01-b13d-2b2ee1983a83 button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_206e7432-dc70-4b80-9478-5763f5ef83b1\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_left_mean_by_player')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_206e7432-dc70-4b80-9478-5763f5ef83b1 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_left_mean_by_player');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_left_mean_by_player", | |
"summary": "{\n \"name\": \"filtered_df_left_mean_by_player\",\n \"rows\": 2793,\n \"fields\": [\n {\n \"column\": \"player_fifa_api_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 54387,\n \"min\": 2,\n \"max\": 233911,\n \"num_unique_values\": 2793,\n \"samples\": [\n 223697,\n 182309,\n 224921\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"dribbling\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.108102392029513,\n \"min\": 11.666666666666666,\n \"max\": 96.42857142857143,\n \"num_unique_values\": 1669,\n \"samples\": [\n 73.85,\n 32.285714285714285,\n 82.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"agility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.000991113774354,\n \"min\": 27.076923076923077,\n \"max\": 94.33333333333333,\n \"num_unique_values\": 1492,\n \"samples\": [\n 67.45454545454545,\n 68.19354838709677,\n 49.291666666666664\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"balance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10.672710558259668,\n \"min\": 29.0,\n \"max\": 94.0,\n \"num_unique_values\": 1434,\n \"samples\": [\n 67.91304347826087,\n 69.11538461538461,\n 80.08333333333333\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"vision\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.849632422872071,\n \"min\": 20.0,\n \"max\": 94.0,\n \"num_unique_values\": 1636,\n \"samples\": [\n 63.46153846153846,\n 43.7,\n 48.85\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ball_control\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.081313698450675,\n \"min\": 29.0,\n \"max\": 95.9047619047619,\n \"num_unique_values\": 1561,\n \"samples\": [\n 34.0,\n 61.65,\n 62.85\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 24 | |
} | |
], | |
"source": [ | |
"filtered_df_left_mean_by_player" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "cfc7e04b", | |
"metadata": { | |
"id": "cfc7e04b" | |
}, | |
"outputs": [], | |
"source": [ | |
"filtered_df_right_mean_by_player = filtered_df_right[['player_fifa_api_id', 'dribbling','agility', 'balance', 'vision',\n", | |
" 'ball_control']].groupby('player_fifa_api_id', as_index=False).mean()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "7a0595e7", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 424 | |
}, | |
"id": "7a0595e7", | |
"outputId": "837a8694-d39f-4caf-fb68-9ef0bb4356cb" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id dribbling agility balance vision \\\n", | |
"0 11 67.117647 69.294118 63.705882 68.882353 \n", | |
"1 16 75.666667 76.416667 72.000000 59.833333 \n", | |
"2 27 80.769231 76.423077 77.769231 80.961538 \n", | |
"3 41 90.450000 84.550000 86.050000 92.900000 \n", | |
"4 58 68.277778 52.111111 60.833333 59.277778 \n", | |
"... ... ... ... ... ... \n", | |
"7482 233884 44.000000 56.000000 55.000000 54.000000 \n", | |
"7483 233885 25.000000 44.000000 62.000000 32.000000 \n", | |
"7484 233930 67.000000 70.000000 74.000000 40.000000 \n", | |
"7485 233969 41.000000 50.000000 52.000000 36.000000 \n", | |
"7486 234141 54.000000 51.000000 76.000000 47.000000 \n", | |
"\n", | |
" ball_control \n", | |
"0 72.470588 \n", | |
"1 79.916667 \n", | |
"2 82.500000 \n", | |
"3 93.400000 \n", | |
"4 69.166667 \n", | |
"... ... \n", | |
"7482 50.000000 \n", | |
"7483 32.000000 \n", | |
"7484 55.000000 \n", | |
"7485 42.000000 \n", | |
"7486 56.000000 \n", | |
"\n", | |
"[7487 rows x 6 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-5efa179b-27ce-4628-872e-9d9088ea2321\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>vision</th>\n", | |
" <th>ball_control</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>11</td>\n", | |
" <td>67.117647</td>\n", | |
" <td>69.294118</td>\n", | |
" <td>63.705882</td>\n", | |
" <td>68.882353</td>\n", | |
" <td>72.470588</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>16</td>\n", | |
" <td>75.666667</td>\n", | |
" <td>76.416667</td>\n", | |
" <td>72.000000</td>\n", | |
" <td>59.833333</td>\n", | |
" <td>79.916667</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>27</td>\n", | |
" <td>80.769231</td>\n", | |
" <td>76.423077</td>\n", | |
" <td>77.769231</td>\n", | |
" <td>80.961538</td>\n", | |
" <td>82.500000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>41</td>\n", | |
" <td>90.450000</td>\n", | |
" <td>84.550000</td>\n", | |
" <td>86.050000</td>\n", | |
" <td>92.900000</td>\n", | |
" <td>93.400000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>58</td>\n", | |
" <td>68.277778</td>\n", | |
" <td>52.111111</td>\n", | |
" <td>60.833333</td>\n", | |
" <td>59.277778</td>\n", | |
" <td>69.166667</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>7482</th>\n", | |
" <td>233884</td>\n", | |
" <td>44.000000</td>\n", | |
" <td>56.000000</td>\n", | |
" <td>55.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>50.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7483</th>\n", | |
" <td>233885</td>\n", | |
" <td>25.000000</td>\n", | |
" <td>44.000000</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>32.000000</td>\n", | |
" <td>32.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7484</th>\n", | |
" <td>233930</td>\n", | |
" <td>67.000000</td>\n", | |
" <td>70.000000</td>\n", | |
" <td>74.000000</td>\n", | |
" <td>40.000000</td>\n", | |
" <td>55.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7485</th>\n", | |
" <td>233969</td>\n", | |
" <td>41.000000</td>\n", | |
" <td>50.000000</td>\n", | |
" <td>52.000000</td>\n", | |
" <td>36.000000</td>\n", | |
" <td>42.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7486</th>\n", | |
" <td>234141</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>51.000000</td>\n", | |
" <td>76.000000</td>\n", | |
" <td>47.000000</td>\n", | |
" <td>56.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>7487 rows × 6 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5efa179b-27ce-4628-872e-9d9088ea2321')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-5efa179b-27ce-4628-872e-9d9088ea2321 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-5efa179b-27ce-4628-872e-9d9088ea2321');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-291293e5-9fa6-45e5-9262-136b6a0e1a8a\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-291293e5-9fa6-45e5-9262-136b6a0e1a8a')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-291293e5-9fa6-45e5-9262-136b6a0e1a8a button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_fc92d764-61c4-41aa-836c-30574a03c500\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_right_mean_by_player')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_fc92d764-61c4-41aa-836c-30574a03c500 button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_right_mean_by_player');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_right_mean_by_player", | |
"summary": "{\n \"name\": \"filtered_df_right_mean_by_player\",\n \"rows\": 7487,\n \"fields\": [\n {\n \"column\": \"player_fifa_api_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 54741,\n \"min\": 11,\n \"max\": 234141,\n \"num_unique_values\": 7487,\n \"samples\": [\n 176790,\n 177131,\n 164132\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"dribbling\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13.005592519058604,\n \"min\": 10.75,\n \"max\": 92.8,\n \"num_unique_values\": 3662,\n \"samples\": [\n 57.77272727272727,\n 66.84210526315789,\n 58.3125\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"agility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.431518328316569,\n \"min\": 25.0,\n \"max\": 94.72222222222223,\n \"num_unique_values\": 3412,\n \"samples\": [\n 74.43478260869566,\n 79.61111111111111,\n 63.470588235294116\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"balance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10.823957213375431,\n \"min\": 25.0,\n \"max\": 94.6,\n \"num_unique_values\": 3322,\n \"samples\": [\n 72.9375,\n 87.0,\n 76.62962962962963\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"vision\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.370616318224608,\n \"min\": 13.0,\n \"max\": 95.61111111111111,\n \"num_unique_values\": 3661,\n \"samples\": [\n 68.21428571428571,\n 63.36363636363637,\n 46.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ball_control\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.54883917998422,\n \"min\": 21.0,\n \"max\": 93.65,\n \"num_unique_values\": 3442,\n \"samples\": [\n 64.55555555555556,\n 55.36363636363637,\n 66.81818181818181\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 26 | |
} | |
], | |
"source": [ | |
"filtered_df_right_mean_by_player" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "24b5fcb1", | |
"metadata": { | |
"id": "24b5fcb1" | |
}, | |
"outputs": [], | |
"source": [ | |
"del filtered_df_left_mean_by_player['vision']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "96f0bd13", | |
"metadata": { | |
"id": "96f0bd13" | |
}, | |
"outputs": [], | |
"source": [ | |
"del filtered_df_right_mean_by_player['vision']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "83f409d4", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 424 | |
}, | |
"id": "83f409d4", | |
"outputId": "98f0bf43-30a2-4714-94ad-bcebfb1dfbe1" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
" player_fifa_api_id dribbling agility balance ball_control\n", | |
"0 2 67.320000 67.360000 66.520000 70.280000\n", | |
"1 80 78.545455 74.409091 85.318182 80.727273\n", | |
"2 158 62.400000 61.000000 65.000000 71.000000\n", | |
"3 195 64.666667 50.666667 56.000000 73.000000\n", | |
"4 201 72.000000 67.000000 64.000000 78.000000\n", | |
"... ... ... ... ... ...\n", | |
"2788 232643 62.000000 54.000000 54.000000 57.000000\n", | |
"2789 233229 53.000000 51.000000 68.000000 30.000000\n", | |
"2790 233502 59.000000 55.000000 75.000000 38.000000\n", | |
"2791 233711 41.000000 50.000000 62.000000 56.000000\n", | |
"2792 233911 45.000000 52.000000 70.000000 44.000000\n", | |
"\n", | |
"[2793 rows x 5 columns]" | |
], | |
"text/html": [ | |
"\n", | |
" <div id=\"df-b073fd08-1091-4430-bece-bb2336bb4032\" class=\"colab-df-container\">\n", | |
" <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_fifa_api_id</th>\n", | |
" <th>dribbling</th>\n", | |
" <th>agility</th>\n", | |
" <th>balance</th>\n", | |
" <th>ball_control</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2</td>\n", | |
" <td>67.320000</td>\n", | |
" <td>67.360000</td>\n", | |
" <td>66.520000</td>\n", | |
" <td>70.280000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>80</td>\n", | |
" <td>78.545455</td>\n", | |
" <td>74.409091</td>\n", | |
" <td>85.318182</td>\n", | |
" <td>80.727273</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>158</td>\n", | |
" <td>62.400000</td>\n", | |
" <td>61.000000</td>\n", | |
" <td>65.000000</td>\n", | |
" <td>71.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>195</td>\n", | |
" <td>64.666667</td>\n", | |
" <td>50.666667</td>\n", | |
" <td>56.000000</td>\n", | |
" <td>73.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>201</td>\n", | |
" <td>72.000000</td>\n", | |
" <td>67.000000</td>\n", | |
" <td>64.000000</td>\n", | |
" <td>78.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2788</th>\n", | |
" <td>232643</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>57.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2789</th>\n", | |
" <td>233229</td>\n", | |
" <td>53.000000</td>\n", | |
" <td>51.000000</td>\n", | |
" <td>68.000000</td>\n", | |
" <td>30.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2790</th>\n", | |
" <td>233502</td>\n", | |
" <td>59.000000</td>\n", | |
" <td>55.000000</td>\n", | |
" <td>75.000000</td>\n", | |
" <td>38.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2791</th>\n", | |
" <td>233711</td>\n", | |
" <td>41.000000</td>\n", | |
" <td>50.000000</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>56.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2792</th>\n", | |
" <td>233911</td>\n", | |
" <td>45.000000</td>\n", | |
" <td>52.000000</td>\n", | |
" <td>70.000000</td>\n", | |
" <td>44.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>2793 rows × 5 columns</p>\n", | |
"</div>\n", | |
" <div class=\"colab-df-buttons\">\n", | |
"\n", | |
" <div class=\"colab-df-container\">\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b073fd08-1091-4430-bece-bb2336bb4032')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", | |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
"\n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" .colab-df-buttons div {\n", | |
" margin-bottom: 4px;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-b073fd08-1091-4430-bece-bb2336bb4032 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-b073fd08-1091-4430-bece-bb2336bb4032');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
"\n", | |
"<div id=\"df-39c90548-60fb-4c1a-9562-f3dd2924434e\">\n", | |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-39c90548-60fb-4c1a-9562-f3dd2924434e')\"\n", | |
" title=\"Suggest charts\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <g>\n", | |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", | |
" </g>\n", | |
"</svg>\n", | |
" </button>\n", | |
"\n", | |
"<style>\n", | |
" .colab-df-quickchart {\n", | |
" --bg-color: #E8F0FE;\n", | |
" --fill-color: #1967D2;\n", | |
" --hover-bg-color: #E2EBFA;\n", | |
" --hover-fill-color: #174EA6;\n", | |
" --disabled-fill-color: #AAA;\n", | |
" --disabled-bg-color: #DDD;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-quickchart {\n", | |
" --bg-color: #3B4455;\n", | |
" --fill-color: #D2E3FC;\n", | |
" --hover-bg-color: #434B5C;\n", | |
" --hover-fill-color: #FFFFFF;\n", | |
" --disabled-bg-color: #3B4455;\n", | |
" --disabled-fill-color: #666;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart {\n", | |
" background-color: var(--bg-color);\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: var(--fill-color);\n", | |
" height: 32px;\n", | |
" padding: 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart:hover {\n", | |
" background-color: var(--hover-bg-color);\n", | |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: var(--button-hover-fill-color);\n", | |
" }\n", | |
"\n", | |
" .colab-df-quickchart-complete:disabled,\n", | |
" .colab-df-quickchart-complete:disabled:hover {\n", | |
" background-color: var(--disabled-bg-color);\n", | |
" fill: var(--disabled-fill-color);\n", | |
" box-shadow: none;\n", | |
" }\n", | |
"\n", | |
" .colab-df-spinner {\n", | |
" border: 2px solid var(--fill-color);\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" animation:\n", | |
" spin 1s steps(1) infinite;\n", | |
" }\n", | |
"\n", | |
" @keyframes spin {\n", | |
" 0% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" border-left-color: var(--fill-color);\n", | |
" }\n", | |
" 20% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 30% {\n", | |
" border-color: transparent;\n", | |
" border-left-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 40% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-top-color: var(--fill-color);\n", | |
" }\n", | |
" 60% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" }\n", | |
" 80% {\n", | |
" border-color: transparent;\n", | |
" border-right-color: var(--fill-color);\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" 90% {\n", | |
" border-color: transparent;\n", | |
" border-bottom-color: var(--fill-color);\n", | |
" }\n", | |
" }\n", | |
"</style>\n", | |
"\n", | |
" <script>\n", | |
" async function quickchart(key) {\n", | |
" const quickchartButtonEl =\n", | |
" document.querySelector('#' + key + ' button');\n", | |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", | |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", | |
" try {\n", | |
" const charts = await google.colab.kernel.invokeFunction(\n", | |
" 'suggestCharts', [key], {});\n", | |
" } catch (error) {\n", | |
" console.error('Error during call to suggestCharts:', error);\n", | |
" }\n", | |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", | |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", | |
" }\n", | |
" (() => {\n", | |
" let quickchartButtonEl =\n", | |
" document.querySelector('#df-39c90548-60fb-4c1a-9562-f3dd2924434e button');\n", | |
" quickchartButtonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
" })();\n", | |
" </script>\n", | |
"</div>\n", | |
"\n", | |
" <div id=\"id_7a7846a6-7bee-4a4d-879d-a0bd3379bc3c\">\n", | |
" <style>\n", | |
" .colab-df-generate {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-generate:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-generate:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('filtered_df_left_mean_by_player')\"\n", | |
" title=\"Generate code using this dataframe.\"\n", | |
" style=\"display:none;\">\n", | |
"\n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" <script>\n", | |
" (() => {\n", | |
" const buttonEl =\n", | |
" document.querySelector('#id_7a7846a6-7bee-4a4d-879d-a0bd3379bc3c button.colab-df-generate');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" buttonEl.onclick = () => {\n", | |
" google.colab.notebook.generateWithVariable('filtered_df_left_mean_by_player');\n", | |
" }\n", | |
" })();\n", | |
" </script>\n", | |
" </div>\n", | |
"\n", | |
" </div>\n", | |
" </div>\n" | |
], | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "dataframe", | |
"variable_name": "filtered_df_left_mean_by_player", | |
"summary": "{\n \"name\": \"filtered_df_left_mean_by_player\",\n \"rows\": 2793,\n \"fields\": [\n {\n \"column\": \"player_fifa_api_id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 54387,\n \"min\": 2,\n \"max\": 233911,\n \"num_unique_values\": 2793,\n \"samples\": [\n 223697,\n 182309,\n 224921\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"dribbling\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 12.108102392029513,\n \"min\": 11.666666666666666,\n \"max\": 96.42857142857143,\n \"num_unique_values\": 1669,\n \"samples\": [\n 73.85,\n 32.285714285714285,\n 82.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"agility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 11.000991113774354,\n \"min\": 27.076923076923077,\n \"max\": 94.33333333333333,\n \"num_unique_values\": 1492,\n \"samples\": [\n 67.45454545454545,\n 68.19354838709677,\n 49.291666666666664\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"balance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10.672710558259668,\n \"min\": 29.0,\n \"max\": 94.0,\n \"num_unique_values\": 1434,\n \"samples\": [\n 67.91304347826087,\n 69.11538461538461,\n 80.08333333333333\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ball_control\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9.081313698450675,\n \"min\": 29.0,\n \"max\": 95.9047619047619,\n \"num_unique_values\": 1561,\n \"samples\": [\n 34.0,\n 61.65,\n 62.85\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" | |
} | |
}, | |
"metadata": {}, | |
"execution_count": 29 | |
} | |
], | |
"source": [ | |
"filtered_df_left_mean_by_player" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "21a76087", | |
"metadata": { | |
"id": "21a76087" | |
}, | |
"outputs": [], | |
"source": [ | |
"final_left = filtered_df_left_mean_by_player.drop(columns='player_fifa_api_id').mean(axis=1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"final_left" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 458 | |
}, | |
"id": "9eLbGx8py_pS", | |
"outputId": "0125c7ff-1877-44d9-f253-5416e0a7294b" | |
}, | |
"id": "9eLbGx8py_pS", | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"0 67.870000\n", | |
"1 79.750000\n", | |
"2 64.850000\n", | |
"3 61.083333\n", | |
"4 70.250000\n", | |
" ... \n", | |
"2788 56.750000\n", | |
"2789 50.500000\n", | |
"2790 56.750000\n", | |
"2791 52.250000\n", | |
"2792 52.750000\n", | |
"Length: 2793, dtype: float64" | |
], | |
"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>0</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>67.870000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>79.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>64.850000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>61.083333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>70.250000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2788</th>\n", | |
" <td>56.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2789</th>\n", | |
" <td>50.500000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2790</th>\n", | |
" <td>56.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2791</th>\n", | |
" <td>52.250000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2792</th>\n", | |
" <td>52.750000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>2793 rows × 1 columns</p>\n", | |
"</div><br><label><b>dtype:</b> float64</label>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 41 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "cb538b67", | |
"metadata": { | |
"id": "cb538b67", | |
"outputId": "22d9f298-522f-4d87-85d2-2d882cbdd6e0" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"count 2793.000000\n", | |
"mean 65.158958\n", | |
"std 8.951857\n", | |
"min 34.071429\n", | |
"25% 59.783333\n", | |
"50% 65.972222\n", | |
"75% 71.375000\n", | |
"max 95.011905\n", | |
"dtype: float64" | |
] | |
}, | |
"execution_count": 109, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"final_left.describe()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "71eb167e", | |
"metadata": { | |
"id": "71eb167e" | |
}, | |
"outputs": [], | |
"source": [ | |
"final_right = filtered_df_right_mean_by_player.drop(columns='player_fifa_api_id').mean(axis=1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "f71e7e2d", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 335 | |
}, | |
"id": "f71e7e2d", | |
"outputId": "f298ed3b-c948-4d0f-8e2c-b666b48e8441" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"count 7487.000000\n", | |
"mean 64.106280\n", | |
"std 9.502308\n", | |
"min 30.500000\n", | |
"25% 58.159722\n", | |
"50% 65.062500\n", | |
"75% 70.795177\n", | |
"max 91.612500\n", | |
"dtype: float64" | |
], | |
"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>0</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>7487.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td>64.106280</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td>9.502308</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td>30.500000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td>58.159722</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td>65.062500</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td>70.795177</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td>91.612500</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div><br><label><b>dtype:</b> float64</label>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 32 | |
} | |
], | |
"source": [ | |
"final_right.describe()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "4468cbd7", | |
"metadata": { | |
"id": "4468cbd7" | |
}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"plt.rcParams.update({'font.size': 12})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "aeb6f992", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 901 | |
}, | |
"id": "aeb6f992", | |
"outputId": "a619393f-a100-40f8-e897-520fe96f538b" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 1500x1000 with 1 Axes>" | |
], | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAABO8AAANgCAYAAAB0p0yrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC4IklEQVR4nOzdd3QU5dvG8WuzqSQktIQOCQjSRSkKIl1potJCkRJUivRmQZRmoSgCijRBghCQIoggCCLFBtIURODFAkiVEkgIpO7O+0d+WViSkLDZkMV8P+fMcfLMM/fcs0ROuPMUk2EYhgAAAAAAAAC4HLecTgAAAAAAAABA2ijeAQAAAAAAAC6K4h0AAAAAAADgoijeAQAAAAAAAC6K4h0AAAAAAADgoijeAQAAAAAAAC6K4h0AAAAAAADgoijeAQAAAAAAAC6K4h0AAAAAAADgoijeAQCAHLF06VI9+OCDyps3r0wmk4YMGXJXn28ymdSwYcO7+kykLSwsTCaTScePH89SnPDwcJlMJoWHhzslL2dy5dwAAIBro3gHAADSZDKZZDKZsiX2jh079Oyzz+rq1at68cUXNWbMGDVv3lzbtm2TyWTS2LFj7zhmcHCwLWeTySQ3Nzfly5dPdevW1UcffaSkpCTnvwjspBSobj68vLxUunRpPfvss9q/f39Op5iKo4XDlO/Vmw9PT0+VKFFCHTp00I4dO7InYQAAkOu453QCAAAg9/nqq69kGIY+/fRT1a1b19a+bdu2LMcePHiw8uXLJ4vFomPHjunzzz/Xjh079O2332rVqlVZjo+MPfDAA3rmmWckSdHR0frxxx+1ZMkSff755/r222/16KOP2vWfMGGCXn31VRUvXjwHss2a0qVLKywsTJJ07do17dy5UytXrtSqVau0cuVKtWnTJmcTBAAA9zyKdwAA4K47c+aMJKlYsWJOjz1kyBAFBwfbvh45cqRq1aql1atXa/v27WrQoIHTnwl71atXTzV6sm/fvpozZ45ef/11bd261e5a0aJFVbRo0buYofMEBwenetcxY8Zo/PjxGj58OMU7AACQZUybBQAATrF06VI1atRI+fLlk7e3typWrKi33npL8fHxtj4p0yoXLFggSQoJCbFNOQwLC1OjRo0kSePGjbObjpiVEXmVK1e2rW23a9eu2/Y9c+aMxo8fr0cffVRFihSRp6enihUrpi5duujQoUN2fY8cOSKTyWTLOS1Vq1aVh4eHzp49a9e+ceNGtWzZUoUKFZKXl5fKli2rl156SVeuXEkVIzg4WMHBwYqOjtawYcMUHBwsDw8PW8Ho6tWrevPNN1WlShX5+/srb968Klu2rDp27Ki9e/dm+PmsWrVKJpNJjzzyiBITE+2uHTx4UHny5FGxYsV0/vz5DGPdzvPPPy9J2r17d6pr6U1dNQxD06dPV6VKleTt7a3ixYtrwIABioqKsn0u6dm6dasaNmyovHnzyt/fX61atdLhw4ft+phMJi1cuFCS/ffi7eJmRv/+/SVJx44d04ULF27bd+vWrerdu7cqVaokf39/+fj4qEqVKho3bpzi4uLs+o4cOdIu51vt3btXJpNJTz75pF379evXNWHCBFWvXl2+vr7y8/NTnTp1tHTp0lQxbp66vmvXLrVq1UoFChSw+/M5cOCAOnfurODgYHl5eSkwMFAPPfSQhgwZkup7CAAAZB0j7wAAQJY999xzWrBggUqUKKF27dopX7582rlzp9544w19++23+uabb+Tu7q7q1atrzJgx+uKLL7R//37bFFcpebSWJC1cuFANGjSw20wiq8UUwzAkKcM1/L777jtNnDhRjRo1Urt27eTn56c//vhDK1eu1Jdffqkff/xRDzzwgCSpQoUKatSokbZu3aqjR4+qfPnydrF++uknHTx4UO3atbMbVTZu3DiNHTtWBQoU0JNPPqmgoCAdOHBA7733ntavX68dO3bI39/fLlZCQoIaN26syMhIPfHEE/L391dISIgMw1Dz5s31008/qU6dOnrhhRfk7u6uU6dOaevWrXrsscdUo0aN275z27Zt1b9/f3300UcaNWqUJk+eLCm54BMaGqr4+HhFREQoKCgocx92Bjw8PDLdt3///po1a5aKFSum3r17y9PTU19++aV27dqlxMTEdGOtW7dOa9asUYsWLdS3b18dOnRI69ev1+7du3Xo0CEVKlRIktL9Xkz5r6NSvt+kjL/nJk2apCNHjqhu3bpq1aqV4uLi9OOPP2rs2LHatm2bNm/eLLPZLEnq06ePJk+erLlz56pHjx6pYs2ZM0dS8ijHFFeuXFHjxo31yy+/6KGHHtJzzz0nq9WqjRs3qkuXLvr999/11ltvpYq1Y8cOTZgwQfXq1dNzzz2nixcvytPTUwcOHNDDDz8sk8mkp556SiEhIYqOjtaff/6pmTNn6q233rqjP2MAAJAJBgAAQBokGZn5UWHBggWGJKNNmzbG9evX7a6NGTPGkGRMmzbNrr1Hjx6GJOPYsWN27Vu3bjUkGWPGjLnjfEuXLp1mzIMHDxo+Pj6GJOO7776ztUsyGjRoYNf333//NaKjo1PF/vXXXw1fX1+jefPmdu0rVqwwJBnDhw9PdU/KO27atMnWtmXLFkOSUadOHePy5ct2/VM+xyFDhqT5Xk2aNDFiYmLsrh04cMCQZDzzzDOpnm+xWIzIyMhU7WmJi4szHnzwQcNkMhkbNmwwDMMwwsLCDEnG6NGjMxXj5nfo0aNHqmsvvPCCIcl48sknU11L6/vhu+++MyQZ5cuXt/us4uPjjccee8yQZJQuXTrN55vNZmPz5s1211599VVDkjFp0qQMn50ZKd+rt34PGYZhvPHGG4Yko0yZMqlyW7BggV3fv/76y7BaralivP7664Yk47PPPrNrb9WqlSHJ+O233+zao6OjDT8/P6NkyZJGUlJSqve79b1jY2ONZs2aGSaTyfjll19SvZckY/bs2anyGjZsmCHJ+OKLL1Jdi4yMNCwWS6p2AACQNUybBQAAWTJ9+nS5u7vrk08+kY+Pj921N954QwULFlRERMRdy2fatGkaO3as3njjDXXt2lW1atVSbGys2rRpo8cee+y29wYFBSlv3ryp2h944AE1btxYW7dutZsW+Mwzz6ho0aIKDw+3mx585coVLV++XGXLllXTpk1t7R988IEk6eOPP041uissLEzVq1dP97OaMmWKfH1907x26+cuSW5ubsqfP3/6L3sTLy8vLVu2TL6+vurevbvee+89hYeHq379+ho9enSmYtzs119/1dixYzV27FgNGzZMtWrV0rx581SsWDFNmTIlUzFSpoaOGjXK7rPy9PTUhAkTbntvp06d1KRJE7u23r17S8p46vSdOn78uO1dX3rpJdWvX19vvvmm3Nzc9N5772V4f5kyZdIcnTd06FBJyVOsb/biiy9KujHKLsWSJUsUExOjF154wTZS79KlS1q8eLFq1qypl19+2a6/t7e3Jk2aJMMwtGTJklTPr169uvr06ZNu3ml9z+XPn19ubvzzAgAAZ2PaLAAAcNj169e1f/9+FSpUSNOmTUuzj5eXV6q1xrLT9OnTJSVPV/Tz81O1atXUtWtXu6mEt/PVV19p9uzZ2rNnjy5evKikpCS76xcvXrRNg3V3d1evXr00fvx4ff755+rSpYskadGiRYqNjVXv3r3tCjM7duyQh4eHVqxYoRUrVqR6dkJCgi5cuKBLly6pYMGCtnZvb29Vq1YtVf9KlSqpevXqWrp0qU6cOKGnn35a9erVU82aNeXp6Zmp901Rrlw5zZ49W127dtVLL72kQoUKacmSJbZC0J3Yv3+/9u/fb9dWqlQpff/99ypVqlSmYvzyyy+SpHr16qW69sgjj8jdPf0fY2vWrJmqrWTJkpKky5cvZ+r5mXXixAmNGzdOUvL3Q2BgoNq2bavhw4fb7aScnmvXrmn69OlavXq1jh49qqtXr9pNuz19+rRd/xYtWigkJESLFi3SpEmTlCdPHknS3Llz5e7urhdeeMHWd/fu3bJYLLY17G6VUohO6//P2rVrp5lvx44dNX36dD3zzDNq3769mjZtqkcffVRly5bN8F0BAIBjKN4BAACHXb58WYZh6MKFC7YCRk47duyYw2vkTZ8+XUOGDFH+/Pn1+OOPq1SpUsqTJ49MJpNtbbSbR9hJySO63n77bc2ZM8dWvJs7d648PT3Vs2dPu76XLl1SUlJShp9VTEyMXfEuKCgozdFZZrNZW7Zs0fjx47Vy5Uq98sorkqS8efOqR48emjBhgvz8/DL9/inr6UVHR6tDhw4qXrx4pu+9WY8ePRQeHi7DMHT+/HnNnz9fr7/+ulq3bq0dO3bYCk63ExUVJUkqXLhwqmtms9nu87lVWmvWpRT7LBZLJt8icxo0aODwhiqJiYlq3Lixdu3apSpVqqhjx44KDAy0rRk3bty4VN9vbm5u6tOnj1599VUtW7ZMPXv21N69e7Vv3z4988wzdjs4X7p0SVJyES+tjUJSxMTEpGorUqRImn1r166t77//Xm+//bZWrlypRYsWSZLuv/9+jRkzRp07d76zDwEAAGSI4h0AAHBYQECAJOnBBx/Uvn37cjibrElKStLYsWNVpEgR7du3z26TCSl51FxaihcvrqeeekqrV6/WkSNHFBkZqYMHD9oKMTcLCAiQ1WpVZGTkHeV2u00P8ufPr6lTp2rq1Kn6888/tX37ds2ZM0czZszQlStXbMWVjBiGoe7duys6OlqFChXS3Llz1alTJ9WvX/+Ocr0178KFC+u1117T5cuX9d577+n111/X+++/n+G9KZt2/PvvvypTpozdNYvFokuXLjlcXHQVa9as0a5duxQWFmbbgTnF2bNn0y3yPvfccxozZozmzJmjnj172qbQ3jrNNeX/z6FDh2bqM7/Z7b7n6tSpo3Xr1ik+Pl579+7V119/rQ8//FBdunRRYGCg3VRxAACQdSxKAQAAHObn56fKlSvr999/v+OCVFpSpmg6e3RUZly8eFFXrlxR3bp1UxXuYmJibluc7Nevn6Tkdcjmzp0rKXUhRUqe7nn58mX9/vvvTsz8hvvuu0/PP/+8tm/fLj8/P61ZsybT97777rv6+uuv9eyzz2rLli3y8PBQly5dbKO3smr06NEKDAzUjBkzdOzYsQz7P/jgg5KkH374IdW1nTt3pprO7Kic/J77888/JSXv+Hur7du3p3tfYGCg2rdvr59//lk//vijli5dqpCQED3xxBN2/WrXri03Nzd9//33zk38f7y8vFS3bl2NHz/etp7jnXzPAQCAzKF4BwAAsmTYsGFKSEjQc889pytXrqS6fvny5UyPykuZCvnPP/84M8VMCQoKUp48ebR37167aYSJiYkaPHiwLl68mO69TZo0Ufny5bVw4UItX75c999/vxo1apSqX8omBL169dKZM2dSXb927Zp27tyZ6ZyPHTumv//+O1X75cuXFR8fn+amAmnZuXOnRo0apfvuu0+zZs1S1apVNXXqVJ0+fVo9evSwW4PNUXnz5tUrr7yixMTENNdfu1X37t0lSW+//bZtCq2UvC7ga6+9luV8UuTk91zK9O5bp93+/ffftinQ6UnZuKJjx46KiYlRr169Um0WERQUpGeffVZ79uzRm2++mWaB8q+//spUMTXFTz/9pNjY2FTt//77ryRlako0AAC4M0ybBQAAtxUWFpbutZkzZ+q5557T3r17NXPmTJUtW1bNmjVTqVKlFBkZqWPHjum7775Tz549NXv27Ayfdf/996t48eL67LPP5OHhodKlS8tkMqlbt24qXbq0E98qNTc3Nw0aNEgTJ05U1apV9fTTTyshIUFbt25VZGSkGjVqpK1bt6Z5r8lkUt++fTVs2DBJN3Y2vVWTJk00ceJEjRw5UuXKlVPLli0VEhKimJgYnThxQtu3b1e9evX09ddfZyrn/fv3q23btqpVq5YqVqyoYsWK6cKFC1qzZo0SExMzLABJ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EZUrV84uZ2d67rnnFBgYqGLFiqlVq1a6du2aFi5cqJo1a6Z7z82fWVxcnC5evKhHHnlEkuymqXbv3l3x8fFauXKlrW3ZsmVKSkqyfY6RkZHasmWLQkNDbZ//xYsXdenSJTVr1kx//PFHqg0ievXqJbPZbNeWL18+/fzzzzpz5ky6eTds2FCGYWQ4nThliuylS5c0b948jRgxQqGhofrqq69UqVIlvfXWW3b9f/zxRw0ePFhPPfWU+vbtq71796pKlSp67bXXFBsbe9tnZdbNOa1Zs0YvvviiunTpom+//VYFCxZMldN/CcU7AACA3CQxURo3Lvm4acpUDoUBANyBwMBANW3aVEuWLNGqVatksVhsGy3c6o8//lBUVJSCgoIUGBhod8TExNjtzPn777+rTZs2CggIkL+/vwIDA22FpaioKLu4JUqUkMlksmvLnz9/qnX0HPHHH3/IMAyVK1cuVc6HDx/Ott1ER48erW+++UZbtmzRgQMHdObMGXXr1u2290RGRmrw4MEqXLiwfHx8FBgYqJCQEEn2n1mFChVUq1Ytu6mzEREReuSRR2y75P75558yDENvvPFGqvdOWdvv1ndPedbNJk+erIMHD6pkyZKqXbu2xo4d63BRNaU46eHhYfc95ubmpo4dO+rUqVP6559/0r3f09NTAwYM0JUrV7R3716Hckgvp5CQED388MO2dj8/P7Vu3Vq7du1SUlKSU57lathtFgAAAADwn3W7NfZvGbik29WGbl3f8/jxzPd1pi5duqhXr146d+6cWrRoke5uq1arVUFBQWmutybJtrnDlStX1KBBA/n7+2v8+PEqW7asvL29tW/fPr3yyiuyWq1299062iuF8b913rLCarXKZDJpw4YNaT7Hz88vy89IS9WqVdW0adM7uic0NFQ//fSTXnrpJVWvXl1+fn6yWq1q3rx5qs+se/fuGjx4sE6dOqX4+Hjt3LnTbt24lP4jRoxQs2bN0nxeSqEvhU8au0WFhobqscce0+rVq7Vp0ya9++67mjRpklatWqUWtw4dzUDKphn58uVL9WcRFBQkKXn9w1KlSqUbo2TJkpKSC53OUKxYMUlS4cKFU10LCgpSYmKirl27poCAAKc8z5VQvAMAAAAA/Gf5+uZ8X2dq06aN+vTpo507d2rZsmXp9itbtqw2b96sRx99NM1CT4pt27bp0qVL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mDYLAACQmyQmSnPnJp/37i15eORkGABAJnl7e2vJkiWqV6+eXfv27dt16tQpeXl55VBmd6Z69eoaPny4JOns2bOaN2+eevToofj4ePXq1cvWr379+oqNjZWnp2e25rNkyRIdPHhQQ4YMyfQ9N7/DmTNnNGfOHLVt21azZs1S3759synTe8Ovv/6qhg0bqnjx4ho+fLgKFiyof/75RydPnkz3ng8//FD//PPPHT1n1qxZ2rt3r2rVqqVLly6l2+/ixYsaP368SpUqpQceeMChkZyugOIdAABAbpKQIA0YkHweFuZw1c1JYQAAmdSyZUutWLFCH3zwgdzdb/xTfsmSJapRo4YuXryYg9llXvHixdW1a1fb12FhYSpTpoymTp1qV7xzc3OTt4suqnrrO3Tv3l333Xefpk6dek8U76xWqxISEpz++VqtVnXr1k0VKlTQ1q1b5ePjk+E958+f1/jx4/XKK69o9OjRmX7WokWLVLx4cbm5ualKlSrp9itatKjOnj2rIkWKaM+ePapVq1amn+FKmDYLAAAAAICL69y5sy5duqRvvvnG1paQkKCVK1eqS5cuad5jtVo1bdo0Va5cWd7e3ipcuLD69Omjy5cv2/Vbs2aNWrVqpWLFisnLy0tly5bVm2++KYvFYtevYcOGqlKlig4dOqRGjRopT548Kl68uCZPnuzwewUGBqpChQr666+/7NrTW/Puo48+UpkyZeTj46PatWvr+++/T3d9OavVqrffflslSpSQt7e3mjRpoj///NPufb766iudOHHCNg02ODj4jt+hSJEiqlixoo4dO5Zun4SEBI0ePVo1atRQQECAfH199dhjj2lryu5PSp4CHRwcrKeffjrV/XFxcQoICFCfPn1sbfHx8RozZozuu+8+eXl5qWTJknr55ZcVHx9vd6/JZNKAAQMUERGhypUry8vLS19//bUk6bPPPlONGjWUN29e+fv7q2rVqpo+fbrd/X/99VeqP5+0bNq0SQcPHtSYMWPk4+Oj69evp/oeutWrr76q+++/364YmhklS5aUm1vGJS0vLy8VKVLkjmK7IkbeAQAAAAD+u65dS/+a2Wy/Zfbt+rq5STePJLqTvk4QHBysOnXqaOnSpWrRooUkacOGDYqKilKnTp30wQcfpLqnT58+Cg8PV8+ePTVo0CAdO3ZMM2bM0C+//KIff/xRHv8b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aqUGDRronXfeUZ8+feSbTlG0dOnSkqQ///xTjRo1srUnJSXp+PHjqlatmkPPv1sbJaxcuVJlypTRqlWr7J45ZsyYVH0LFCigVq1aKSIiQs8++6x+/PFHTZs2za5P2bJltX//fjVp0iRL7+Dp6anWrVurdevWslqt6tevn+bMmaM33ngj1SjHjNSoUUMff/yxTp8+bdd+5swZSTcKxv/8848uX76sypUrp4rxzjvv6J133tEvv/yi6tWrO/ZS/0GseQcAAJCbuLtLrVolH+6O/x7XSWEAAHfIz89Ps2bN0tixY9W6det0+4WGhspisejNN99MdS0pKUlXrlyRdGN02s2j0RISEjRz5kznJn4br7zyii5duqSPP/443T41a9ZUwYIF9fHHHyspKcnWHhERkaVpsL6+vqmmBmeHtD7nn3/+WTt27Eizf7du3XTo0CG99NJLMpvN6tSpk9310NBQnT59Os3PLDY2Vtdutxvy/1y6dMnuazc3N1sRND4+3tb+119/pRodmJann35aXl5eWrBggd2IzXnz5kmSHn/8cUnSoEGDtHr1artjzpw5kqSwsDCtXr3aNs03MTFRR44c0dmzZzN8/n8ZP2oBAAAAAHAP6dGjR4Z9GjRooD59+mjChAn69ddf9cQTT8jDw0N//PGHVqxYoenTp6t9+/aqW7eu8ufPrx49emjQoEEymUxatGhRlqeW3okWLVqoSpUqev/999W/f395eHik6uPp6amxY8dq4MCBaty4sUJDQ3X8+HGFh4erbNmyDo8+q1GjhpYtW6Zhw4apVq1a8vPzu21R1FFPPvmkVq1apTZt2qhVq1Y6duyYZs+erUqVKtk2erhZq1atVLBgQa1YsUItWrRItXZht27dbDvSbt26VY8++qgsFouOHDmi5cuXa+PGjapZs+Ztc3rhhRcUGRmpxo0bq0SJEjpx4oQ+/PBDVa9eXRUrVrT1a9KkiSRluGlFkSJFNGrUKI0ePVrNmzfXM888o/379+vjjz9W586dVatWLUnSQw89pIceesju3pTYlStX1jPPPGNrP336tCpWrKgePXooPDzc1v7dd9/pu+++kyRduHBB165d01tvvSVJql+/vt0o0hkzZujKlSu2EYBr1661TdMdOHCgAgICbvteroDiHQAAQG6SmCilrH/07LNSGv9AuothAADZaPbs2apRo4bm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wMkcLt7t2bNHzZs3V548eVSwYEFt375dknTx4kU9/fTT2rZtm7NyBAAAAAAAAHIlh4p3P/30k+rVq6c//vhDXbt2ldVqtV0rVKiQoqKiNGfOHKclCQAAACcxm6XGjZMPs9nhMO5mQz0an1SPxiflbjacmCAAAABu5tCad6+99poqVqyonTt36urVq5o3b57d9UaNGmnhwoVOSRAAAABO5OEhDRmS5TBeHlaFD/k1y3EAAABwew6NvNu9e7d69uwpLy+vNHedLV68uM6dO5fl5AAAAAAAAIDczKGRdx4eHnZTZW91+vRp+fn5OZwUAAAAsolhSPHxyedeXlIav4jNbJjr8cnTbvN4WRwNAwAAgAw4NPLukUce0cqVK9O8du3aNS1YsEANGjTIUmIAAADIBvHxUmho8pFSxHPA9Xiz/EJbyi+0pa2IBwAAAOdzqHg3btw47dmzR61atdKGDRskSfv379e8efNUo0YNXbhwQW+88YZTEwUAAAAAAAByG4emzT788MNav369XnzxRXXv3l2SNHz4cElS2bJltX79elWrVs15WQIAAAAAAAC5kEMj7ySpcePG+r//+z/t3btXy5Yt09KlS7Vr1y4dPXrU4Smzu3fv1oABA1S5cmX5+vqqVKlSCg0N1dGjR1P1PXz4sJo3by4/Pz8VKFBA3bp104ULF1L1s1qtmjx5skJCQuTt7a1q1app6dKlDuUHAAAAAAAA3E0Ojby72YMPPqgHH3zQGblo0qRJ+vHHH9WhQwdVq1ZN586d04wZM/TQQw9p586dqlKliiTp1KlTql+/vgICAvTOO+8oJiZG7733nn777Tft2rVLnp6etpijRo3SxIkT1atXL9WqVUtr1qxRly5dZDKZ1KlTJ6fkDQAAAAAAAGQHh4t38fHx+vjjj7V+/XodP35ckhQcHKyWLVvqhRdekLe39x3HHDZsmJYsWWJXfOvYsaOqVq2qiRMnavHixZKkd955R9euXdPevXtVqlQpSVLt2rX1+OOPKzw8XL1795aUvOvtlClT1L9/f82YMUOS9MILL6hBgwZ66aWX1KFDB5nNLLAMAAAAAAAA1+TQtNlTp06pevXqGjRokPbv36/AwEAFBgZq//79GjRokKpXr65Tp07dcdy6devaFe4kqVy5cqpcubIOHz5sa/v888/15JNP2gp3ktS0aVOVL19ey5cvt7WtWbNGiYmJ6tevn63NZDLpxRdf1KlTp7Rjx447zhEAAAAAAAC4Wxwq3vXv318nTpzQ8uXLdfr0aW3fvl3bt2/X6dOntWzZMv3zzz/q37+/UxI0DEP//vuvChUqJCl5NN358+dVs2bNVH1r166tX375xfb1L7/8Il9fX1WsWDFVv5Tr6YmPj1d0dLTdAQAAcM9zc5Pq1k0+3Bxe/lhmN0Pt655R+7pnZHYznJggAAAAbubQtNlvv/1WQ4cOVfv27VNd69Chg/bt26cPP/wwy8lJUkREhE6fPq3x48dLks6ePStJKlq0aKq+RYsWVWRkpOLj4+Xl5aWzZ8+qcOHCMplMqfpJ0pkzZ9J97oQJEzRu3DinvAMAAIDL8PSUXn01y2G8Pa1a8epeJyQEAACA23Ho16158+ZVUFBQuteLFCmivHnzOpxUiiNHjqh///6qU6eOevToIUmKjY2VJHl5eaXqn7LOXkqf2NjYTPVLy8iRIxUVFWU7Tp48mbWXAQAAAAAAAO6QQ8W7nj17Kjw8XNevX091LSYmRgsWLNDzzz+fpcTOnTunVq1aKSAgQCtXrrRtLOHj4yMpeVrrreLi4uz6+Pj4ZKpfWry8vOTv7293AAAAAAAA4P/bu/cwq6t6f+DvvWeGGZBAUQQEVDp4SzMs0XM4XrLUSEOPKWbe0mNZapp4yiRLT5qX8kL9MlPzHK0kzco00jLtRFmaiqnpT/upJQaIt1QuIsNcvr8/PGxFLsLMnpkN83o9z36eNd/v2ms+u9aDmzdrrS/dabW2zd5www3L/LzDDjvk5ptvztZbb52PfexjGT16dJLk8ccfz/e+970MGjQo22+/fYeLmjdvXj74wQ/m5Zdfzh133JFNNtmkcm/pltel22ffaO7cuRk0aFBltd2wYcPym9/8JkVRLLN1dul73zguAECvsHhxcvDBr7Wvvz753x0Ja+qVxXXpf/A+SZKF19+S9ZraqlUhAABvsFrh3UEHHZRSqZSieO0w4je2zznnnOX6z549Ox/96Edz8NIvhmtg8eLFmTBhQh577LHcfvvtecc73rHM/eHDh2fw4MGZMWPGcu+95557MmbMmMrPY8aMyZVXXplHH310mXHuvvvuyn0AAAAAqFWrFd795je/6eo6kiRtbW35yEc+krvuuis33XRT/uVf/mWF/Q488MB897vfzaxZszJy5Mgkrz1E47HHHsukSZMq/fbff/9MmjQpl156aS655JIkrz299rLLLsvw4cMzbty4rv9QAAAAANBBqxXe7b777l1dR5LkP/7jP/Kzn/0sEyZMyIsvvphrrrlmmfuHH354kuQLX/hCfvSjH2WPPfbIZz7zmSxcuDAXXHBB3vnOd+boo4+u9B8xYkROPvnkXHDBBWlpacnYsWNz44035o477sjUqVMr5+gBAAAAQC1arfCuuzzwwANJkmnTpmXatGnL3V8a3o0cOTK//e1vc8opp+S0005Lnz59su++++aiiy5a7umy559/fjbYYINcfvnlufrqq7PFFlvkmmuuyaGHHtrlnwcAOmUF/y0EAAB6lw6Hd7///e/z3//93/nb3/6Wl156qXIG3lKlUikPPvjgGo05ffr01e677bbb5tZbb33LfuVyOZMnT87kyZPXqBYAAAAA6GkdCu8uvvjifO5zn0tTU1O22mqrDBo0qNp1AQAAAECv16Hw7oILLsi//uu/Ztq0aRk4cGC1awIAoKuUy8mOO77e7qC6cpF9dny20gYAoGt0KLxbtGhRDjvsMMEdAMDapk+f5IwzOj1MU5/23HzGPVUoCACAVenQP7fuscceeeihh6pdCwAAAADwBh0K7775zW/m17/+dS688MK8+OKL1a4JAAAAAEgHw7uRI0fmk5/8ZE477bQMHjw46623XgYMGLDMy5ZaAIAatHhxMnHia6/Fizs8zCuL67LexA9mvYkfzCuL66pYIAAAb9ShM+/OOOOMnHPOORk+fHh23HFHQR0AwNqkubkqwyxq7tBXSQAA1kCHvnFddtll2XfffXPjjTem3ImnlAEAAAAAK9eh5G3JkiXZd999BXcAAAAA0IU6lL596EMfyh133FHtWgAAAACAN+hQeHfmmWfmkUceyfHHH5/77rsvzz//fF588cXlXgAAAABAx3XozLutttoqSfLAAw/k8ssvX2m/tra2jlUFAAAAAHT8abOlUqnatQAA0NVKpWS77V5vd1C5VGT37V6otAEA6Bqloih821oN8+fPz8CBAzNv3rwMGDCgp8sBoDeYNq2nKwBYd02Y0NMVALAW686cyONiAQAAAKBGdWjb7FlnnfWWfUqlUr70pS91ZHgAAAAAIB3cNlsur3zBXqlUSlEUKZVK69QDK2ybBaDb2TZLV1i8OPn4x19rX3ll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ALpPS6khl2xyTqXdUXWlthy4yZ2VNgAAXUN4BwDQixSluvy17zs7PU65lIzs+48qVAQAwKrYNgsAAAAANcrKOwCAXqRctOZf5t+aJLlrwAfSXurY18G2opSH52+WJNluwFOpKxVVqxEAgNcJ7wAAepH6ojUHvXB5kuTet70/SzoY3rUX5fzmhde2377jbbOcewcA0EVsmwUAAACAGiW8AwAAAIAaZdssAK+ZNq2nKwAAAOBNrLwDAAAAgBolvAMAAACAGiW8AwAAAIAa5cw7AIBepLXUkO8M/VKl3VF1pfbsP/TuShsAgK4hvAMA6EXaS3V5ZL2xnR6nXCoyar3nqlARAACrYtssAAAAANQoK+8AAHqRctGa9yz4bZLkvrftnvZSx74OthWl/GXB8CTJ1m+bk7pSUbUaAQB4nfAOAKAXqS9ac+jz30iSPNj/X7Okg+Fde1HObc/vkCTZsv/c1JXaqlYjAACvs20WAAAAAGpUTYV3CxcuzJlnnpnx48dn0KBBKZVKufrqq1fY99FHH8348ePTv3//DBo0KEcccUSef/755fq1t7fna1/7WkaNGpWmpqZsv/32ufbaa7v4kwAAAABA59VUePfCCy/krLPOyqOPPpp3vetdK+03e/bs7LbbbnniiSdy7rnn5rOf/Wxuvvnm7LXXXlmyZMkyfU8//fR8/vOfz1577ZVvfvOb2XTTTXPooYfmuuuu6+qPAwAAAACdUlNn3g0bNixz587N0KFDM2PGjIwdO3aF/c4999y88sorue+++7LpppsmSXbaaafstddeufrqq3PssccmSebMmZOLLrooJ5xwQi655JIkycc//vHsvvvu+dznPpeJEyemrq6uez4cAAAAAKyhmlp519jYmKFDh75lv5/85Cf50Ic+VAnukmTPPffMlltumeuvv75y7aabbkpLS0uOP/74yrVSqZTjjjsus2fPzl133VXdDwAAAAAAVVRT4d3qmDNnTp577rnsuOOOy93baaedcv/991d+vv/++7Peeutlm222Wa7f0vsr09zcnPnz5y/zAgAAAIDuVFPbZlfH3Llzk7y2xfbNhg0blhdffDHNzc1pbGzM3LlzM2TIkJRKpeX6JcnTTz+90t9z3nnn5ctf/nIVKwcA6HmtpYZcPeTUSruj6krt2WfIjEobAICusdatvHv11VeTvLbF9s2ampqW6fPqq6+uVr8VmTx5cubNm1d5zZo1q9O1AwD0tPZSXR7sv0se7L9L2ksdP/u3XCqyZf+52bL/3JRLRRUrBADgjda6lXd9+/ZN8tq21jdbvHjxMn369u27Wv1WpLGxcYXBHwAAAAB0l7Vu5d3SLa9Lt8++0dy5czNo0KBK6DZs2LA888wzKYpiuX5Jsskmm3RxtQAAtaVctOVdC3+fdy38fcpFW4fHaS9KeWzhsDy2cFjai9JbvwEAgA5Z68K74cOHZ/DgwZkxY8Zy9+65556MGTOm8vOYMWOyaNGiPProo8v0u/vuuyv3AQB6k/qiJUc9+7Uc9ezXUl+0dHictqKcW57dMbc8u2PairXuKyUAwFpjrfymdeCBB+bnP//5MufQ/frXv85jjz2WiRMnVq7tv//+aWhoyKWXXlq5VhRFLrvssgwfPjzjxo3r1roBAAAAYE3U3Jl3l1xySV5++eXKk2CnTZuW2bNnJ0lOPPHEDBw4MF/4whfyox/9KHvssUc+85nPZOHChbngggvyzne+M0cffXRlrBEjRuTkk0/OBRdckJaWlowdOzY33nhj7rjjjkydOjV1dR0/pBkAAAAAulrNhXcXXnhhnnrqqcrPN9xwQ2644YYkyeGHH56BAwdm5MiR+e1vf5tTTjklp512Wvr06ZN99903F1100XIPmTj//POzwQYb5PLLL8/VV1+dLbbYItdcc00OPfTQbv1cAFU1bVpPV0AvNmlSdcebMqW64wEAwLqk5sK7mTNnrla/bbfdNrfeeutb9iuXy5k8eXImT57cycoAAAAAoHutlWfeAQAAAEBvILwDAAAAgBpVc9tmAQDoOq2l+vxg8Gcq7Y4ql9qz1+D7K20AALqG8A4AoBdpL9Xn3gHv7/Q4daUi2w6YXYWKAABYFeEdQHfwdFgAAAA6QHgHANCLlIu2bL3oT0mSv/R7d9pLdR0ap70o5alFg5Mkm/V7PuVSUbUaAQB4nQdWAAD0IvVFSz7xzNn5xDNnp75o6fA4bUU5Nz2zc256Zue0Fb5SAgB0FSvvAIAeNWlST1cAAAC1yz+TAgAAAECNEt4BAAAAQI0S3gEAAABAjRLeAQAAAECNEt4BAAAAQI3ytFkAgF6ktVSfH2/0yUq7o8ql9uyx0UOVNgAAXUN4BwDQi7SX6vOHgft2epy6UpF3DZzZ+YIAAFgl22YBAAAAoEZZeQcA0IuUira8ffEjSZK/Nb0jRamuQ+O0F8mcxRsmSYY3/SPlUtVKBADgDay8AwDoRRqKlnz66dPz6adPT0PR0uFx2oq6/OTpcfnJ0+PSVnQsAAQA4K0J7wAAAACgRgnvAAAAAKBGCe8AAAAAoEYJ7wAAAACgRgnvAAAAAKBGCe8AAAAAoEbV93QBAAB0n7ZSXX426KhKu6PKpfbsMuiRShsAgK4hvAMA6EXaSg35zQYf7vQ4daUiO27w1ypUBN1n0qTqjjdlSnXHA4AVsW0WAAAAAGqUlXcAAL1IqWjLiOa/JUlmN749RQe3zrYXyXPNA5MkGzfOS7lUtRIBAHgDK+8AAHqRhqIlp8z5j5wy5z/SULR0eJy2oi7Xzdkt183ZLW1Fx8/OAwBg1YR3AAAAAFCjhHcAAAAAUKOEdwAAAABQo4R3AAAAAFCjhHcAAAAAUKPqe7oAAACAN5s0qacrAIDaILwDAOhF2kp1+eUGh1TaHVUutWfnDf5fpQ0AQNcQ3gEA9CJtpYbcOujQTo9TVyryL4Meq0JFAACsivAOAACgN5g2rbrjTZhQ3fEAWCHhHQBAL1Iq2jOkZXaS5NmGESlKHXt+WVEkL7b0T5IMaliYUqlqJQIA8AaeNgsA0Is0FEvy+VmfzudnfToNxZIOj9Na1OX7s/bI92ftkdai42fnAQCwasI7AAAAAKhRwjsAAAAAqFHCOwAAAACoUcI7AAAAAKhRnjYLAADQAZMmVXe8KVOqO16Xmzat+mNOmFD9MQHWclbeAQAAAECNsvIOAKAXaSvV5X8GHlBpd1S51J73DHyi0gYAoGsI7wAAepG2UkOmbXR0p8epKxXZdaNHq1ARAACrYtssAAAAANQoK+8AAHqRUtGe9VufT5K8XD84Ralj/5ZbFMn81r5JkgH1r6ZUqlqJAAC8gfAOYEW64ulpADWgoViSM/7+iSTJ50ddnyWlpg6N01rU5aq/75kkOWHULWkotVWtRgAAXie8A4B13KRJPV0BAADQUc68AwAAAIAaZeUdANQYK+UAAIClrLwDAAAAgBolvAMAAACAGiW8AwAAAIAa5cw7AIBepK1Ul98P2KfS7qhSqcj2A56stAEA6BrCOwDoBA+XYG3TVmrITwZ/qtPj1Jfa877BD1ehIgAAVsW2WQAAAACoUVbeAQD0JkWR9drnJ0leKQ9ISqWODpNX2/skSfqWl3R0GAAA3oKVdwAAvUifojlfmXlEvjLziPQpmjs8TmtRlytmfiBXzPxAWouOn50HAMCqCe8AAAAAoEYJ7wAAAACgRgnvAAAAAKBGCe8AAAAAoEYJ7wAAAACgRtX3dAEAnTZtWk9XAAAAAF1CeAcA0Iu0lepyz9veV2l3VKlUZJu3zaq0AQDoGsI7AIBepK3UkGs3PrnT49SX2vOBjR/o9DgAAKyaM+8AAAAAoEZZeQcA0JsURfoUzUmSJaXGpFTq6DBpLV7bdltfauvoMAAAvAUr7wAAepE+RXO++uTB+eqTB1dCvI5oLeryrSf3ybee3KcS4gEAUH3COwAAAACoUWtleDd9+vSUSqUVvv74xz8u0/fOO+/MLrvskn79+mXo0KE56aSTsnDhwh6qHAAAAABW31p95t1JJ52UsWPHLnNt9OjRlfYDDzyQ97///dlmm21y8cUXZ/bs2bnwwgvz+OOP5xe/+EV3lwsAAAAAa2StDu923XXXHHTQQSu9/4UvfCEbbLBBpk+fngEDBiRJNt9883ziE5/Ir371q+y9997dVSoANWLSpJ6uAAAAYPWtldtm32jBggVpbW1d7vr8+fNz22235fDDD68Ed0ly5JFHpn///rn++uu7s0wAAAAAWGNrdXh39NFHZ8CAAWlqasoee+yRGTNmVO499NBDaW1tzY477rjMe/r06ZMxY8bk/vvv7+5yAQAAAGCNrJXbZvv06ZMDDzww++yzTzbaaKM88sgjufDCC7PrrrvmzjvvzA477JC5c+cmSYYNG7bc+4cNG5Y77rhjlb+jubk5zc3NlZ/nz59f3Q8BANAD2lPOA+uNq7Q7qpQiW6z3dKUNAEDXWCvDu3HjxmXcuHGVn/fbb78cdNBB2X777TN58uT88pe/zKuvvpokaWxsXO79TU1Nlfsrc9555+XLX/5ydQsHAOhhreU++e7Q0zo9Tn25PfsOva8KFQEAsCpr9bbZNxo9enT233///OY3v0lbW1v69u2bJMusnltq8eLFlfsrM3ny5MybN6/ymjVrVpfUDQAAAAArs1auvFuZkSNHZsmSJXnllVcq22WXbp99o7lz52aTTTZZ5ViNjY0rXLUHAAAAAN1lnQrv/va3v6WpqSn9+/fPdtttl/r6+syYMSMHH3xwpc+SJUvywAMPLHMN6GbTpvV0BQC9Vp/2xfnqk699D/r8qOuzpNzUoXFa2uvyrSf3SZKcMOqWNJTbqlYjAACvWyu3zT7//PPLXXvwwQfzs5/9LHvvvXfK5XIGDhyYPffcM9dcc00WLFhQ6ff9738/CxcuzMSJE7uzZAAAAABYY2vlyruPfOQj6du3b8aNG5eNN944jzzySK644or069cv559/fqXfOeeck3HjxmX33XfPsccem9mzZ+eiiy7K3nvvnfHjx/fgJwAAAACAt7ZWrrz7t3/7t7zwwgu5+OKLc/zxx+eHP/xhPvzhD2fGjBnZZpttKv3e/e535/bbb0/fvn0zadKkXHHFFTnmmGPy4x//uAerBwAAAIDVs1auvDvppJNy0kknrVbfXXbZJX/4wx+6uCIAAAAAqL61cuUdAAAAAPQGwjsAAAAAqFFr5bZZAHqPSZN6ugJYt7SnnEf67Vhpd1QpRTbv92ylDQBA1xDeAQD0Iq3lPvnOsDM6PU59uT3/NuyeKlQEAMCqCO8AqCor5QAAAKrHmXcAAAAAUKOsvIN10bRp1R1vwoTqjgdAj+nTvjhnzTwiSXLG5t/PknJTh8Zpaa/L5TP3TpJ8cvNfpaHcVrUaAQB4nfAOAKCXaSyaqzJOa+GrJABAV7NtFgAAAABqlH8uBQAAWAd1xUOkpkyp/pgArJqVdwAAAABQo4R3AAAAAFCjhHcAAAAAUKOceQcA0IsUKeWJpu0q7Y4qpcjwphcqbQAAuobwDgCgF2kpN+Zbw8/t9Dj15fZMHH5XFSoCeINp06o73oQJ1R0PoAfYNgsAAAAANcrKOwAAgBowaVJPV7AOspIPWAcI7wAAepE+7Yvzpac+niQ5e7Mrs6Tc1KFxWtrr8t9PvT9J8u+b/ToN5baq1QgAwOuEdwAAvUz/9vlVGefV9saqjAMAwMo58w4AAAAAapSVd9DTqn0OR1dYG2oEAACAdZCVdwAAAABQo4R3AAAAAFCjhHcAAAAAUKOceQcA0IsUKeXvjaMr7Y4qpciQxpcrbQAAuobwDgCgF2kpN2bKiIs7PU59uT0fHXFHFSoCAGBVbJsFAAAAgBpl5R0AAACrZdKk6o43ZUp1xwNYFwnvAAB6kYb25pw264Qkyfkjv5WWcmOHxmlpr8v3Zr03SXLkyOlpKLdVq0QAAN5AeAcA0IuUUmRQ63OVdmcsaO1XjZIAAFgF4R1AL1btrS8AAABUlwdWAAAAAECNEt4BAAAAQI0S3gEAAABAjRLeAQAAAECN8sAKAIBepEgpzzSMrLQ7Y1DDgmqUBADAKgjvANYing4LdFZLuTFf3fRbnR6nodyWIzed3vmCAABYJeEdrKlp03q6AgAAAKCXcOYdAAAAANQoK+8AAHqRhvbmnDL7lCTJxSMuTku5sUPjtLTX5drZuyZJPjrijjSU26pWIwAArxPeAQD0IqUUGdoyq9LujBdb3laNkgAAWAXhHQAAAKyOrjj/esKE6o8JrFOceQcAAAAANcrKO4A3mDSppysAAACA11l5BwAAAAA1SngHAAAAADXKtlkAgF6kSCkv1m9caXfG2+oXVaMkAABWQXgHANCLtJQbc/ZmV3Z6nIZyW47Z7NdVqAgAgFWxbRYAAAAAapTwDgAAAABqlG2zAAC9SEN7cz799OQkySWbnJeWcmOHxmltL+dHT/9rkmTiJn9Ifbm9ajUCvcekSdUdb8qU6o4HUAuEdwAAvUgpRTZtfqLS7qgipTzbvH6lDQBA17BtFgAAAABqlPAOAAAAAGqU8A4AAAAAapQz71j3TZvW0xUAAAAAdIiVdwAAAABQo6y8o7ZYJVdTJk3q6QpWbcqUnq4AYO20sDygKuP0LTdXZRyAXq3afweaMKG64wE9TngHANCLLCk35Uujrun0OA3ltnxy1K+qUBEAAKti2ywAAAAA1Cgr74C1Vq1v6wUAoHtV+/uhY1qAWiC8AwDoRRram3Ps3C8nSa4YdmZayo0dGqe1vZyfzt05SXLAsLtTX26vWo0AALxOeAcA0IuUUmT04ocr7Y4qUsqcxRtV2gAAdA1n3gEAAABAjRLeAQAAAECNEt4BAAAAQI1y5h0AAACsQLWfXpt0wxNsp02r7ngTJlR3PGCNCe9gNXXFf7irzaPsAQAAYN0ivAMA6GWaS41VGae+1FqVcQAAWDnhHR22447VHW/GjOqO1xutDasDAehZS8pNOe3tP+r0OA3ltnz67b+oQkUA1LRqb8NNbMWFNeSBFQAAAABQo6y8AwAAgG5S67tlnKMNtUd4BwDQi9S3L8nRz56fJLlqyGlpLffp0Dit7eX8/NnXztD40JAZqS+3V61GAABeJ7zrbap4XsGuLyd3rO+sAgBYm5TTnncsmlFpd1SRUmYuGlJpA8Bqq/Y5es7QYx3XK8K75ubmnHHGGfn+97+fl156Kdtvv32+8pWvZK+99qruL+qFB3nu+nIVP3OV/+er9eXoAAAAAG+lVzyw4qijjsrFF1+cww47LN/4xjdSV1eXffbZJ7///e97ujQAAAAAWKl1fuXdPffck+uuuy4XXHBBPvvZzyZJjjzyyGy33XY59dRTc+edd/ZwhSxlpRwAAEDPqvbfy7rlARi24bKOW+dX3v34xz9OXV1djj322Mq1pqamHHPMMbnrrrsya9asHqwOAAAAAFZunV95d//992fLLbfMgAEDlrm+0047JUkeeOCBjBw5sidKWz1dcY4eAAAArKXWytWBnbDjjtUfc8aM6o9J11nnw7u5c+dm2LBhy11feu3pp59e4fuam5vT3Nxc+XnevHlJkvnz56/8ly1a1IlK1z7NHX9AHQDQQ4r2xVn6baa5fVGWdPCJs63tdcn/jrSkfVHa01adAgFYp8zvgr8mV/vvosvVuKq/9/eAti74T2yNfcS10tJ8qCiKLv9d63x49+qrr6axsXG5601NTZX7K3Leeefly1/+8nLXa3qVHgDAavjG0sZTR1VlvO88VZVhAFgHffuQnq7gra0NNVbbwIE9XcG64x//+EcGdvH/oOt8eNe3b99lVtAttXjx4sr9FZk8eXJOOeWUys8vv/xyNttss/z973/v8v9TYHXNnz8/I0eOzKxZs5bbGg49xbykFpmX1CLzklpkXlKLzEtq0bx587Lppptm0KBBXf671vnwbtiwYZkzZ85y1+fOnZsk2WSTTVb4vsbGxhWu2Bs4cKA/LKg5AwYMMC+pOeYltci8pBaZl9Qi85JaZF5Si8rlrn8W7Dr/tNkxY8bkscceW+6survvvrtyHwAAAABq0Tof3h100EFpa2vLFVdcUbnW3Nycq666KjvvvLMz7AAAAACoWev8ttmdd945EydOzOTJk/Pcc89l9OjR+e53v5uZM2fmv/7rv1Z7nMbGxpx55pkr3EoLPcW8pBaZl9Qi85JaZF5Si8xLapF5SS3qznlZKrrjmbY9bPHixfnSl76Ua665Ji+99FK23377nH322fnABz7Q06UBAAAAwEr1ivAOAAAAANZG6/yZdwAAAACwthLeAQAAAECNEt4BAAAAQI0S3v2v//t//28mTpyYt7/97enXr1822mij7Lbbbpk2bdpyfR999NGMHz8+/fv3z6BBg3LEEUfk+eef74Gq6W3OOeeclEqlbLfddsvdu/POO7PLLrukX79+GTp0aE466aQsXLiwB6pkXTd9+vSUSqUVvv74xz8u09e8pLv96U9/yn777ZdBgwalX79+2W677fJ//s//WaaPeUl3Oeqoo1b652WpVMqcOXMqfc1LutPjjz+eQw45JCNGjEi/fv2y9dZb56yzzsqiRYuW6Wde0p3uu+++jB8/PgMGDMjb3va27L333nnggQdW2NfcpNoWLlyYM888M+PHj8+gQYNSKpVy9dVXr7Dv6mZC7e3t+drXvpZRo0alqakp22+/fa699toO1VffoXetg5566qksWLAgH/vYx7LJJptk0aJF+clPfpL99tsvl19+eY499tgkyezZs7Pbbrtl4MCBOffcc7Nw4cJceOGFeeihh3LPPfekT58+PfxJWFfNnj075557btZbb73l7j3wwAN5//vfn2222SYXX3xxZs+enQsvvDCPP/54fvGLX/RAtfQGJ510UsaOHbvMtdGjR1fa5iXd7Ve/+lUmTJiQHXbYIV/60pfSv3///PWvf83s2bMrfcxLutMnP/nJ7LnnnstcK4oin/rUp7L55ptn+PDhScxLutesWbOy0047ZeDAgfn0pz+dQYMG5a677sqZZ56Z++67LzfddFMS85Lu9ac//Sm77LJLRo4cmTPPPDPt7e259NJLs/vuu+eee+7JVlttVelrbtIVXnjhhZx11lnZdNNN8653vSvTp09fYb81yYROP/30nH/++fnEJz6RsWPH5qabbsqhhx6aUqmUQw45ZM0KLFip1tbW4l3velex1VZbVa4dd9xxRd++fYunnnqqcu22224rkhSXX355T5RJL/GRj3ykeN/73lfsvvvuxbbbbrvMvQ9+8IPFsGHDinnz5lWufec73ymSFLfeemt3l8o67je/+U2RpPjRj360yn7mJd1p3rx5xZAhQ4oDDjigaGtrW2k/85KedscddxRJinPOOadyzbykO51zzjlFkuLhhx9e5vqRRx5ZJClefPHFoijMS7rXPvvsU2ywwQbFCy+8ULn29NNPF/379y8+/OEPL9PX3KQrLF68uJg7d25RFEVx7733FkmKq666arl+q5sJzZ49u2hoaChOOOGEyrX29vZi1113LUaMGFG0trauUX22za5CXV1dRo4cmZdffrly7Sc/+Uk+9KEPZdNNN61c23PPPbPlllvm+uuv74Eq6Q1+97vf5cc//nG+/vWvL3dv/vz5ue2223L44YdnwIABletHHnlk+vfvb17SpRYsWJDW1tblrpuXdLcf/OAHefbZZ3POOeekXC7nlVdeSXt7+zJ9zEtqwQ9+8IOUSqUceuihScxLut/8+fOTJEOGDFnm+rBhw1Iul9OnTx/zkm53xx13ZM8998yGG25YuTZs2LDsvvvu+fnPf17ZEmtu0lUaGxszdOjQt+y3upnQTTfdlJaWlhx//PGVa6VSKccdd1xmz56du+66a43qE969ySuvvJIXXnghf/3rXzNlypT84he/yPvf//4kyZw5c/Lcc89lxx13XO59O+20U+6///7uLpdeoK2tLSeeeGI+/vGP553vfOdy9x966KG0trYuNy/79OmTMWPGmJd0maOPPjoDBgxIU1NT9thjj8yYMaNyz7yku91+++0ZMGBA5syZk6222ir9+/fPgAEDctxxx2Xx4sVJzEt6XktLS66//vqMGzcum2++eRLzku733ve+N0lyzDHH5IEHHsisWbPywx/+MN/+9rdz0kknZb311jMv6XbNzc3p27fvctf79euXJUuW5OGHH07iz0x61ppkQvfff3/WW2+9bLPNNsv1W3p/TQjv3uQ//uM/Mnjw4IwePTqf/exnc8ABB+SSSy5JksydOzfJa/8C8GbDhg3Liy++mObm5m6tl3XfZZddlqeeeipnn332Cu+/1bx8+umnu7Q+ep8+ffrkwAMPzDe+8Y3cdNNN+cpXvpKHHnoou+66a+U/QuYl3e3xxx9Pa2tr9t9//3zgAx/IT37yk/z7v/97Lrvsshx99NFJzEt63q233pp//OMfOeywwyrXzEu62/jx43P22Wfntttuyw477JBNN900hxxySE488cRMmTIliXlJ99tqq63yxz/+MW1tbZVrS5Ysyd13350klQf8mJv0pDXJhObOnZshQ4akVCot1y/JGs9VD6x4k5NPPjkHHXRQnn766Vx//fVpa2vLkiVLkiSvvvpqkteWU75ZU1NTpc+K7kNH/OMf/8gZZ5yRL33pSxk8ePAK+7zVvFx6H6pl3LhxGTduXOXn/fbbLwcddFC23377TJ48Ob/85S/NS7rdwoULs2jRonzqU5+qPF32wx/+cJYsWZLLL788Z511lnlJj/vBD36QhoaGHHzwwZVr5iU9YfPNN89uu+2WAw88MBtuuGFuvvnmnHvuuRk6dGg+/elPm5d0u+OPPz7HHXdcjjnmmJx66qlpb2/PV77ylUpYsnTOmZv0pDXJhFaWDb2x35oQ3r3J1ltvna233jrJa/vm995770yYMCF33313ZRnvilbXLd2Ss6KlvtBRX/ziFzNo0KCceOKJK+3zVvPSnKQ7jB49Ovvvv39uuOGGtLW1mZd0u6Vz6qMf/egy1w899NBcfvnlueuuu9KvX78k5iU9Y+HChbnpppvygQ98YJkznfx5SXe77rrrcuyxx+axxx7LiBEjkrz2jx3t7e35/Oc/n49+9KPmJd3uU5/6VGbNmpULLrgg3/3ud5MkO+64Y0499dScc8456d+/fxJ/ZtKz1iQT6tu3b1WzI9tm38JBBx2Ue++9N4899lhleePS9P+N5s6dm0GDBll1R9U8/vjjueKKK3LSSSfl6aefzsyZMzNz5swsXrw4LS0tmTlzZl588cW3nJebbLJJd5dOLzVy5MgsWbIkr7zyinlJt1s6p958APvGG2+cJHnppZfMS3rUjTfemEWLFi2zZTaJeUm3u/TSS7PDDjtUgrul9ttvvyxatCj333+/eUmPOOecc/Lss8/mjjvuyJ///Ofce++9lYdPbbnllkn8mUnPWpNMaNiwYXnmmWdSFMVy/ZKs8VwV3r2FpUsZ582bl+HDh2fw4MHLHMq+1D333JMxY8Z0c3Wsy+bMmZP29vacdNJJGTVqVOV1991357HHHsuoUaNy1llnZbvttkt9ff1y83LJkiV54IEHzEu6zd/+9rc0NTWlf//+5iXd7j3veU+S18/EWWrpeSKDBw82L+lRU6dOTf/+/bPffvstc928pLs9++yzy5wrtlRLS0uSpLW11bykx2ywwQbZZZddKg/qu/322zNixIjK7jhzk560JpnQmDFjsmjRojz66KPL9Ft6juOazlXh3f967rnnlrvW0tKS733ve+nbt2/e8Y53JEkOPPDA/PznP8+sWbMq/X7961/nsccey8SJE7utXtZ92223XX76058u99p2222z6aab5qc//WmOOeaYDBw4MHvuuWeuueaaLFiwoPL+73//+1m4cKF5SdU9//zzy1178MEH87Of/Sx77713yuWyeUm3W3qG2H/9138tc/3KK69MfX193vve95qX9Jjnn38+t99+ew444IDK9u2lzEu625Zbbpn7778/jz322DLXr7322pTL5Wy//fbmJTXhhz/8Ye69996cfPLJKZdfiy7MTXra6mZC+++/fxoaGnLppZdWrhVFkcsuuyzDhw9f5gzx1VEq3ryGr5c64IADMn/+/Oy2224ZPnx4nnnmmUydOjV/+ctfctFFF+WUU05JksyaNSs77LBD1l9//XzmM5/JwoULc8EFF2TEiBG59957bZuly733ve/NCy+8UHlcepL86U9/yrhx4/KOd7wjxx57bGbPnp2LLroou+22W2699dYerJZ10fve97707ds348aNy8Ybb5xHHnkkV1xxRRoaGnLXXXdVHoduXtLdjjnmmPz3f/93Dj744Oy+++6ZPn16fvSjH2Xy5Mk599xzk5iX9IxLLrkkJ554Yn75y1/mAx/4wHL3zUu60+9+97u8733vy4YbbphPf/rT2XDDDfPzn/88v/jFL/Lxj3883/nOd5KYl3Sv3/3udznrrLOy9957Z8MNN8wf//jHXHXVVdlrr70ybdq01Ne/fly/uUlXueSSS/Lyyy/n6aefzre//e18+MMfzg477JAkOfHEEzNw4MA1yoROPfXUXHDBBTn22GMzduzY3Hjjjbn55pszderUHHrooWtWXEFRFEVx7bXXFnvuuWcxZMiQor6+vthggw2KPffcs7jpppuW6/vwww8Xe++9d9GvX79i/fXXLw477LDimWee6YGq6Y123333Ytttt13u+h133FGMGzeuaGpqKgYPHlyccMIJxfz583ugQtZ13/jGN4qddtqpGDRoUFFfX18MGzasOPzww4vHH398ub7mJd1pyZIlxX/+538Wm222WdHQ0FCMHj26mDJlynL9zEu62z//8z8XG2+8cdHa2rrSPuYl3enuu+8uPvjBDxZDhw4tGhoaii233LI455xzipaWlmX6mZd0lyeeeKLYe++9i4022qhobGwstt566+K8884rmpubV9jf3KQrbLbZZkWSFb6efPLJSr/VzYTa2tqKc889t9hss82KPn36FNtuu21xzTXXdKg2K+8AAAAAoEY58w4AAAAAapTwDgAAAABqlPAOAAAAAGqU8A4AAAAAapTwDgAAAABqlPAOAAAAAGqU8A4AAAAAapTwDgAAAABqlPAOAAAAAGqU8A4AoBeaOXNmSqVSLrzwwrfs+5//+Z8plUrLXNt8881z1FFHVX6ePn16SqVSpk+fXuVKAQB6N+EdAMA66tJLL02pVMrOO+/cI7//Bz/4Qb7+9a/3yO8GAFhXCO8AANZRU6dOzeabb5577rknTzzxRIfH+eIXv5hXX311lX122223vPrqq9ltt90q14R3AACdJ7wDAFgHPfnkk7nzzjtz8cUXZ/DgwZk6dWqHx6qvr09TU9Mq+5TL5TQ1NaVc9vUSAKCafLsCAFgHTZ06NRtssEH23XffHHTQQasM76ZMmZLNNtssffv2ze67756HH354mfsrOvPuzd585t173/ve3HzzzXnqqadSKpVSKpWy+eabZ+HChVlvvfXymc98ZrkxZs+enbq6upx33nlr/oEBANZR9T1dAAAA1Td16tR8+MMfTp8+ffLRj3403/72t3Pvvfdm7Nixy/T73ve+lwULFuSEE07I4sWL841vfCPve9/78tBDD2XIkCEd/v2nn3565s2bl9mzZ2fKlClJkv79+6d///454IAD8sMf/jAXX3xx6urqKu+59tprUxRFDjvssA7/XgCAdY3wDgBgHXPfffflL3/5S775zW8mSXbZZZeMGDEiU6dOXS68e+KJJ/L4449n+PDhSZLx48dn5513zle/+tVcfPHFHa5hr732yvDhw/PSSy/l8MMPX+bekUcemalTp+a2227L+PHjK9evueaa7Lbbbtl00007/HsBANY1ts0CAKxjpk6dmiFDhmSPPfZIkpRKpXzkIx/Jddddl7a2tmX6/tu//VsluEuSnXbaKTvvvHNuueWWLqtvzz33zCabbLLMVt6HH344f/7zn5cL+gAAejvhHQDAOqStrS3XXXdd9thjjzz55JN54okn8sQTT2TnnXfOs88+m1//+tfL9N9iiy2WG2PLLbfMzJkzu6zGcrmcww47LDfeeGMWLVqU5LXAsampKRMnTuyy3wsAsDYS3gEArEP+53/+J3Pnzs11112XLbbYovI6+OCDk6RTT52tpiOPPDILFy7MjTfemKIo8oMf/CAf+tCHMnDgwJ4uDQCgpjjzDgBgHTJ16tRsvPHG+da3vrXcvRtuuCE//elPc9lll1WuPf7448v1e+yxx7L55pt3upZVPaF2u+22yw477JCpU6dmxIgR+fvf/145ow8AgNcJ7wAA1hGvvvpqbrjhhkycODEHHXTQcvc32WSTXHvttfnZz36WnXfeOUly4403Zs6cOZVz7+65557cfffdOfnkkztdz3rrrZd58+at9P4RRxyRU089NY2Njdlwww3zwQ9+sNO/EwBgXWPbLADAOuJnP/tZFixYkP3222+F9//5n/85gwcPXmbr7OjRo7PLLrvka1/7Ws4+++x88IMfzIYbbphTTz210/W85z3vycsvv5xTTjkl1157baZNm7bM/UMPPTRJ8tOf/jQHH3xwGhoaOv07AQDWNVbeAQCsI5Y+9GGvvfZa4f1yuZx99903U6dOzT/+8Y8kr509Vy6X8/Wvfz3PPfdcdtppp1xyySUZNmxYp+s5/vjj88ADD+Sqq67KlClTstlmm2XChAmV+0OGDMnee++dW265JUcccUSnfx8AwLqoVBRF0dNFAADQOx1wwAF56KGH8sQTT/R0KQAANcm2WQAAesTcuXNz8803W3UHALAKts0CANCtnnzyyfzhD3/IlVdemYaGhnzyk5/s6ZIAAGqWlXcAAHSr3/72tzniiCPy5JNP5rvf/W6GDh3a0yUBANQsZ94BAAAAQI2y8g4AAAAAapTwDgAAAABqlPAOAAAAAGqU8A4AAAAAapTwDgAAAABqlPAOAAAAAGqU8A4AAAAAapTwDgAAAABq1P8HySD/y/RD/r8AAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
], | |
"source": [ | |
"left_mean = final_left.mean()\n", | |
"right_mean = final_right.mean()\n", | |
"plt.axvline(left_mean, color='blue', linestyle='dashed', linewidth=1.5, label=f'Mean Left Players: {left_mean:.2f}')\n", | |
"plt.axvline(right_mean, color='red', linestyle='dashed', linewidth=1.5, label=f'Mean Right Players: {right_mean:.2f}')\n", | |
"plt.hist(final_left, 50, alpha = 0.8, label='Left',density=False, facecolor='blue')\n", | |
"plt.hist(final_right, 50, alpha = 0.3, label = 'Right',density=False, facecolor='red')\n", | |
"plt.legend(loc='upper right')\n", | |
"plt.xlabel('Ability')\n", | |
"plt.ylabel('Number of Players')\n", | |
"plt.title('Left Players x Right Players')\n", | |
"plt.xlim([30, 100])\n", | |
"fig = plt.gcf()\n", | |
"fig.set_size_inches(15, 10)\n", | |
"fig.savefig('left_right.png', dpi=500)\n", | |
"#plt.grid(True)\n", | |
"\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from scipy import stats\n", | |
"\n", | |
"# Perform the t-test\n", | |
"t_statistic, p_value = stats.ttest_ind(final_left, final_right, alternative='greater', equal_var=False)\n", | |
"\n", | |
"# Print the results\n", | |
"print(f\"T-statistic: {t_statistic}\")\n", | |
"print(f\"P-value: {p_value}\")\n", | |
"\n", | |
"# Interpret the results\n", | |
"alpha = 0.05 # Common significance level\n", | |
"if p_value < alpha:\n", | |
" print(\"Reject the null hypothesis. There is significant evidence that the Left Footed mean is higher.\")\n", | |
"else:\n", | |
" print(\"Fail to reject the null hypothesis. There is not significant evidence that the Left Footed mean is higher.\")" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "sWQVdvlQ4LL7", | |
"outputId": "1a0f7345-c280-42c3-db88-0905c53381e2" | |
}, | |
"id": "sWQVdvlQ4LL7", | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"T-statistic: 5.214621050184478\n", | |
"P-value: 9.560563675210363e-08\n", | |
"Reject the null hypothesis. There is significant evidence that the Left Footed mean is higher.\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"There is significant evidence that the Left Footed mean is higher.\n", | |
"\n" | |
], | |
"metadata": { | |
"id": "-b5zFAdI5Cpm" | |
}, | |
"id": "-b5zFAdI5Cpm" | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"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.8.8" | |
}, | |
"colab": { | |
"provenance": [], | |
"include_colab_link": true | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment