{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Python/pdfquery: Scraping the FIFA World Player of the Year votes](http://www.markhneedham.com/blog/2015/01/22/pythonpdfquery-scraping-the-fifa-world-player-of-the-year-votes-pdf-into-shape/) (here: compare with `pdftotext` and text processing)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "18" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import csv\n", "import pathlib\n", "import re\n", "import subprocess\n", "import urllib.request\n", "\n", "URL = 'https://raw.githubusercontent.com/mneedham/fifa/master/fboaward_menplayer2014_neutral.pdf'\n", "\n", "PDF = pathlib.Path(URL.rpartition('/')[2])\n", "\n", "TXT = PDF.with_suffix('.txt')\n", "\n", "CSV = PDF.with_suffix('.csv')\n", "\n", "\n", "def load_pages(filepath=TXT, encoding='utf-8', delimiter='\\f'):\n", " text = filepath.read_text(encoding=encoding)\n", " return text.split(delimiter)\n", "\n", "\n", "if not PDF.exists():\n", " urllib.request.urlretrieve(URL, PDF)\n", "\n", "if not TXT.exists(): # requires one of popper-utils, miktex-poppler-bin, xpdf\n", " subprocess.run(['pdftotext', '-layout', PDF, TXT], check=True)\n", "\n", "pages = load_pages()\n", "\n", "len(pages)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[['Vote',\n", " 'Country',\n", " 'Name',\n", " 'First (5 points)',\n", " 'Second (3 points)',\n", " 'Third (1 point)'],\n", " ['Captain',\n", " 'Afghanistan',\n", " 'Amiri Islam',\n", " 'Messi Lionel',\n", " 'Cristiano Ronaldo',\n", " 'Ibrahimovic Zlatan']]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def iterrows(pages):\n", " first = None\n", " for p in pages:\n", " if not p:\n", " continue\n", " title, _, rest = p.partition('\\n\\n\\n')\n", " header, _, rest = rest.partition('\\n')\n", " header = re.split(r' {2,}', header)\n", " if first is None:\n", " yield header\n", " first = title, header\n", " else:\n", " assert title, header == first\n", " table, _, footer = rest.partition('\\n ')\n", " table, footer = (s.strip() for s in (table, footer))\n", " page, total = map(int, re.match(r'(\\d+) / (\\d+)$', footer).groups())\n", " for line in table.splitlines():\n", " if not line:\n", " continue\n", " if line.startswith(' '):\n", " assert line.endswith(' Grenadines')\n", " continue\n", " row = re.split(r' {2,}', line)\n", " assert len(row) == len(header)\n", " if row[1] == 'St. Vincent and the':\n", " row[1] += ' Grenadines'\n", " yield row\n", "\n", "\n", "rows = list(iterrows(pages))\n", "\n", "rows[:2]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Captain',\n", " 'Sweden',\n", " 'Ibrahimovic Zlatan',\n", " 'Messi Lionel',\n", " 'Neuer Manuel',\n", " 'Cristiano Ronaldo']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rows[163]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "544" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def write_csv(rows, filepath=CSV, encoding='utf-8', dialect=csv.excel, has_header=True):\n", " with filepath.open('w', encoding=encoding, newline='') as f:\n", " writer = csv.writer(f, dialect=dialect)\n", " for ndata, r in enumerate(rows, 0 if has_header else 1):\n", " writer.writerow(r)\n", " return ndata\n", "\n", "\n", "write_csv(rows)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "RangeIndex: 544 entries, 0 to 543\n", "Data columns (total 6 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Vote 544 non-null object\n", " 1 Country 544 non-null object\n", " 2 Name 544 non-null object\n", " 3 First (5 points) 544 non-null object\n", " 4 Second (3 points) 544 non-null object\n", " 5 Third (1 point) 544 non-null object\n", "dtypes: object(6)\n", "memory usage: 25.6+ KB\n" ] }, { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Vote</th>\n", " <th>Country</th>\n", " <th>Name</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>Captain</td>\n", " <td>Afghanistan</td>\n", " <td>Amiri Islam</td>\n", " <td>Messi Lionel</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Ibrahimovic Zlatan</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Captain</td>\n", " <td>Albania</td>\n", " <td>Cana Lorik</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Robben Arjen</td>\n", " <td>Mueller Thomas</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>Captain</td>\n", " <td>Algeria</td>\n", " <td>Bougherra Madjid</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Robben Arjen</td>\n", " <td>Benzema Karim</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>Captain</td>\n", " <td>American Samoa</td>\n", " <td>Luvu Rafe Talalelei</td>\n", " <td>Neymar</td>\n", " <td>Robben Arjen</td>\n", " <td>Cristiano Ronaldo</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>Captain</td>\n", " <td>Andorra</td>\n", " <td>Sonejee Masand Oscar</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Mueller Thomas</td>\n", " <td>Kroos Toni</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " Vote Country Name First (5 points) \\\n", "0 Captain Afghanistan Amiri Islam Messi Lionel \n", "1 Captain Albania Cana Lorik Cristiano Ronaldo \n", "2 Captain Algeria Bougherra Madjid Cristiano Ronaldo \n", "3 Captain American Samoa Luvu Rafe Talalelei Neymar \n", "4 Captain Andorra Sonejee Masand Oscar Cristiano Ronaldo \n", "\n", " Second (3 points) Third (1 point) \n", "0 Cristiano Ronaldo Ibrahimovic Zlatan \n", "1 Robben Arjen Mueller Thomas \n", "2 Robben Arjen Benzema Karim \n", "3 Robben Arjen Cristiano Ronaldo \n", "4 Mueller Thomas Kroos Toni " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "\n", "df = pd.read_csv(CSV, encoding='utf-8', dialect=csv.excel)\n", "\n", "df.info()\n", "assert df.set_index(['Vote', 'Country']).index.is_unique\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Votes</th>\n", " </tr>\n", " <tr>\n", " <th>Vote</th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Captain</th>\n", " <td>182</td>\n", " </tr>\n", " <tr>\n", " <th>Coach</th>\n", " <td>181</td>\n", " </tr>\n", " <tr>\n", " <th>Media</th>\n", " <td>181</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " Votes\n", "Vote \n", "Captain 182\n", "Coach 181\n", "Media 181" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Vote'].value_counts().to_frame('Votes').sort_index()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th>Vote</th>\n", " <th>Captain</th>\n", " <th>Coach</th>\n", " <th>Media</th>\n", " </tr>\n", " <tr>\n", " <th>Country</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Afghanistan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Albania</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Algeria</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>American Samoa</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Andorra</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Angola</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Anguilla</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Antigua and Barbuda</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Argentina</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Armenia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Aruba</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Australia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Austria</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Azerbaijan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bahamas</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Bahrain</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bangladesh</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Barbados</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Belarus</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Belgium</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Belize</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Benin</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bermuda</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bhutan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bolivia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bosnia and Herzegovina</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Bosnia-Herzegovina</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Botswana</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Brazil</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>British Virgin Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Brunei Darussalam</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Bulgaria</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Burkina Faso</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Burma</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Burundi</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Cambodia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cameroon</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Canada</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cape Verde Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cayman Islands</th>\n", " <td>1</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Chad</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Chile</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>China PR</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Chinese Taipei</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Colombia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Comoros</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Congo</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Congo DR</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cook Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Costa Rica</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Croatia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cuba</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Curaçao</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Cyprus</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Czech Republic</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Côte d'Ivoire</th>\n", " <td>0</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Denmark</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Djibouti</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Dominica</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Dominican Republic</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Ecuador</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Egypt</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>El Salvador</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>England</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Eritrea</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Estonia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Ethiopia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>FYR Macedonia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Faroe Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Fiji</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Finland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>France</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Gabon</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Gambia</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Georgia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Germany</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Ghana</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Greece</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Grenada</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Guam</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Guatemala</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Guinea</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Guinea-Bissau</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Guyana</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Haiti</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Honduras</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Hong Kong</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Hungary</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Iceland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>India</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Indonesia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Iran</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Iraq</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Ireland</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Israel</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Italy</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Jamaica</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Japan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Jordan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Kazakhstan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Kenya</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Korea Republic</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Kuwait</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Kyrgyzstan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Laos</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Latvia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Lebanon</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Lesotho</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Liberia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Libya</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Liechtenstein</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Lithuania</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Luxembourg</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Macau</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Madagascar</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Malawi</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Malaysia</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Maldives</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mali</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Malta</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mauritania</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mauritius</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mexico</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Moldova</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mongolia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Montenegro</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Montserrat</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Morocco</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Mozambique</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Myanmar</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Namibia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Nepal</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Netherlands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>New Caledonia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>New Zealand</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Nicaragua</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Niger</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Nigeria</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>North Korea</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Northern Ireland</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Norway</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Oman</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Pakistan</th>\n", " <td>1</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Palestine</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Panama</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Paraguay</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Peru</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Philippines</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Poland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Portugal</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Puerto Rico</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Qatar</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Republic of Ireland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Romania</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Russia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Rwanda</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Samoa</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>San Marino</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Saudi Arabia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Scotland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Senegal</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Serbia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Seychelles</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Sierra Leone</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Singapore</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Slovakia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Slovenia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Solomon Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>South Africa</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>South Korea</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>South Sudan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Spain</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Sri Lanka</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>St Kitts & Nevis</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>St. Kitts and Nevis</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>St. Lucia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>St. Vincent and the Grenadines</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>Sudan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Suriname</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Swaziland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Sweden</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Switzerland</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Syria</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Tahiti</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Tajikistan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Tanzania</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Thailand</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Togo</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Trinidad and Tobago</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Tunisia</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Turkey</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Turkmenistan</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Turks and Caicos Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>US Virgin Islands</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>USA</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Uganda</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Ukraine</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>United Arab Emirates</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Uruguay</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Uzbekistan</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Vanuatu</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Venezuela</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Vietnam</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Wales</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Yemen</th>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Zambia</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>Zimbabwe</th>\n", " <td>1</td>\n", " <td>1</td>\n", " <td>1</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ "Vote Captain Coach Media\n", "Country \n", "Afghanistan 1 1 0\n", "Albania 1 1 1\n", "Algeria 1 1 1\n", "American Samoa 1 1 0\n", "Andorra 1 1 1\n", "Angola 1 1 1\n", "Anguilla 1 1 0\n", "Antigua and Barbuda 1 1 1\n", "Argentina 1 1 1\n", "Armenia 1 1 1\n", "Aruba 1 1 1\n", "Australia 1 1 1\n", "Austria 1 1 1\n", "Azerbaijan 1 1 1\n", "Bahamas 1 1 0\n", "Bahrain 1 1 1\n", "Bangladesh 1 1 1\n", "Barbados 1 1 0\n", "Belarus 1 1 1\n", "Belgium 1 1 1\n", "Belize 1 1 1\n", "Benin 0 0 1\n", "Bermuda 1 1 1\n", "Bhutan 1 1 1\n", "Bolivia 1 1 1\n", "Bosnia and Herzegovina 1 1 0\n", "Bosnia-Herzegovina 0 0 1\n", "Botswana 0 0 1\n", "Brazil 1 1 1\n", "British Virgin Islands 1 1 0\n", "Brunei Darussalam 1 1 1\n", "Bulgaria 1 1 1\n", "Burkina Faso 1 1 1\n", "Burma 0 0 1\n", "Burundi 1 1 0\n", "Cambodia 1 1 1\n", "Cameroon 1 1 1\n", "Canada 1 1 1\n", "Cape Verde Islands 1 1 1\n", "Cayman Islands 1 0 1\n", "Chad 1 1 1\n", "Chile 1 1 1\n", "China PR 1 1 1\n", "Chinese Taipei 1 1 0\n", "Colombia 1 1 1\n", "Comoros 1 1 1\n", "Congo 1 1 1\n", "Congo DR 1 1 1\n", "Cook Islands 1 1 0\n", "Costa Rica 1 1 1\n", "Croatia 1 1 1\n", "Cuba 1 1 1\n", "Curaçao 1 1 1\n", "Cyprus 1 1 1\n", "Czech Republic 1 1 1\n", "Côte d'Ivoire 0 1 1\n", "Denmark 1 1 1\n", "Djibouti 1 1 1\n", "Dominica 1 1 0\n", "Dominican Republic 1 1 1\n", "Ecuador 1 1 1\n", "Egypt 1 1 1\n", "El Salvador 1 1 1\n", "England 1 1 1\n", "Eritrea 0 0 1\n", "Estonia 1 1 1\n", "Ethiopia 1 1 1\n", "FYR Macedonia 1 1 1\n", "Faroe Islands 1 1 1\n", "Fiji 1 1 1\n", "Finland 1 1 1\n", "France 1 1 1\n", "Gabon 1 1 1\n", "Gambia 0 0 1\n", "Georgia 1 1 1\n", "Germany 1 1 1\n", "Ghana 1 1 1\n", "Greece 1 1 1\n", "Grenada 1 1 1\n", "Guam 1 1 0\n", "Guatemala 1 1 1\n", "Guinea 0 0 1\n", "Guinea-Bissau 0 0 1\n", "Guyana 1 1 1\n", "Haiti 0 0 1\n", "Honduras 1 1 1\n", "Hong Kong 1 1 1\n", "Hungary 1 1 1\n", "Iceland 1 1 1\n", "India 1 1 1\n", "Indonesia 1 1 1\n", "Iran 1 1 1\n", "Iraq 0 0 1\n", "Ireland 0 0 1\n", "Israel 1 1 1\n", "Italy 1 1 1\n", "Jamaica 1 1 0\n", "Japan 1 1 1\n", "Jordan 1 1 0\n", "Kazakhstan 1 1 1\n", "Kenya 1 1 1\n", "Korea Republic 1 1 0\n", "Kuwait 1 1 1\n", "Kyrgyzstan 1 1 1\n", "Laos 1 1 0\n", "Latvia 1 1 1\n", "Lebanon 1 1 1\n", "Lesotho 1 1 1\n", "Liberia 1 1 1\n", "Libya 0 0 1\n", "Liechtenstein 1 1 1\n", "Lithuania 1 1 1\n", "Luxembourg 1 1 1\n", "Macau 1 1 1\n", "Madagascar 1 1 1\n", "Malawi 1 1 1\n", "Malaysia 0 0 1\n", "Maldives 1 1 1\n", "Mali 1 1 1\n", "Malta 1 1 1\n", "Mauritania 1 1 1\n", "Mauritius 1 1 1\n", "Mexico 1 1 1\n", "Moldova 1 1 1\n", "Mongolia 1 1 1\n", "Montenegro 1 1 1\n", "Montserrat 1 1 0\n", "Morocco 1 1 1\n", "Mozambique 1 1 1\n", "Myanmar 1 1 0\n", "Namibia 1 1 1\n", "Nepal 1 1 1\n", "Netherlands 1 1 1\n", "New Caledonia 1 1 1\n", "New Zealand 1 1 1\n", "Nicaragua 1 1 1\n", "Niger 1 1 1\n", "Nigeria 1 1 1\n", "North Korea 0 0 1\n", "Northern Ireland 0 0 1\n", "Norway 1 1 1\n", "Oman 1 1 1\n", "Pakistan 1 0 1\n", "Palestine 1 1 1\n", "Panama 1 1 1\n", "Paraguay 1 1 1\n", "Peru 1 1 1\n", "Philippines 1 1 1\n", "Poland 1 1 1\n", "Portugal 1 1 1\n", "Puerto Rico 1 1 1\n", "Qatar 1 1 1\n", "Republic of Ireland 1 1 0\n", "Romania 1 1 1\n", "Russia 1 1 1\n", "Rwanda 1 1 1\n", "Samoa 1 1 0\n", "San Marino 1 1 1\n", "Saudi Arabia 1 1 1\n", "Scotland 1 1 1\n", "Senegal 1 1 1\n", "Serbia 1 1 1\n", "Seychelles 1 1 1\n", "Sierra Leone 1 1 1\n", "Singapore 1 1 1\n", "Slovakia 1 1 1\n", "Slovenia 1 1 1\n", "Solomon Islands 1 1 0\n", "South Africa 1 1 1\n", "South Korea 0 0 1\n", "South Sudan 1 1 0\n", "Spain 1 1 1\n", "Sri Lanka 1 1 0\n", "St Kitts & Nevis 0 0 1\n", "St. Kitts and Nevis 1 1 0\n", "St. Lucia 1 1 1\n", "St. Vincent and the Grenadines 1 1 0\n", "Sudan 1 1 1\n", "Suriname 1 1 1\n", "Swaziland 1 1 1\n", "Sweden 1 1 1\n", "Switzerland 1 1 1\n", "Syria 1 1 1\n", "Tahiti 1 1 1\n", "Tajikistan 1 1 1\n", "Tanzania 1 1 1\n", "Thailand 1 1 1\n", "Togo 0 0 1\n", "Trinidad and Tobago 0 0 1\n", "Tunisia 0 0 1\n", "Turkey 1 1 1\n", "Turkmenistan 0 0 1\n", "Turks and Caicos Islands 1 1 1\n", "US Virgin Islands 1 1 0\n", "USA 1 1 1\n", "Uganda 0 0 1\n", "Ukraine 1 1 1\n", "United Arab Emirates 1 1 1\n", "Uruguay 1 1 1\n", "Uzbekistan 1 1 1\n", "Vanuatu 0 0 1\n", "Venezuela 1 1 1\n", "Vietnam 1 1 1\n", "Wales 1 1 1\n", "Yemen 0 0 1\n", "Zambia 1 1 1\n", "Zimbabwe 1 1 1" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.set_option('display.max_rows', 250)\n", "\n", "df.groupby('Country')['Vote'].value_counts().unstack(fill_value=0)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>Vote</th>\n", " <th>Country</th>\n", " <th>Name</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>Captain</td>\n", " <td>Afghanistan</td>\n", " <td>Amiri Islam</td>\n", " <td>Messi Lionel</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Ibrahimovic Zlatan</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>Captain</td>\n", " <td>Albania</td>\n", " <td>Cana Lorik</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Robben Arjen</td>\n", " <td>Mueller Thomas</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>Captain</td>\n", " <td>Algeria</td>\n", " <td>Bougherra Madjid</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Robben Arjen</td>\n", " <td>Benzema Karim</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>Captain</td>\n", " <td>American Samoa</td>\n", " <td>Luvu Rafe Talalelei</td>\n", " <td>Neymar</td>\n", " <td>Robben Arjen</td>\n", " <td>Cristiano Ronaldo</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>Captain</td>\n", " <td>Andorra</td>\n", " <td>Sonejee Masand Oscar</td>\n", " <td>Cristiano Ronaldo</td>\n", " <td>Mueller Thomas</td>\n", " <td>Kroos Toni</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " Vote Country Name First (5 points) \\\n", "0 Captain Afghanistan Amiri Islam Messi Lionel \n", "1 Captain Albania Cana Lorik Cristiano Ronaldo \n", "2 Captain Algeria Bougherra Madjid Cristiano Ronaldo \n", "3 Captain American Samoa Luvu Rafe Talalelei Neymar \n", "4 Captain Andorra Sonejee Masand Oscar Cristiano Ronaldo \n", "\n", " Second (3 points) Third (1 point) \n", "0 Cristiano Ronaldo Ibrahimovic Zlatan \n", "1 Robben Arjen Mueller Thomas \n", "2 Robben Arjen Benzema Karim \n", "3 Robben Arjen Cristiano Ronaldo \n", "4 Mueller Thomas Kroos Toni " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", "\n", " .dataframe thead tr:last-of-type th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th></th>\n", " <th colspan=\"3\" halign=\"left\">len</th>\n", " <th colspan=\"3\" halign=\"left\">sum</th>\n", " <th>Total</th>\n", " </tr>\n", " <tr>\n", " <th>Rank</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th></th>\n", " </tr>\n", " <tr>\n", " <th>Name</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Cristiano Ronaldo</th>\n", " <td>303</td>\n", " <td>96</td>\n", " <td>41</td>\n", " <td>1515</td>\n", " <td>288</td>\n", " <td>41</td>\n", " <td>1844</td>\n", " </tr>\n", " <tr>\n", " <th>Messi Lionel</th>\n", " <td>55</td>\n", " <td>132</td>\n", " <td>101</td>\n", " <td>275</td>\n", " <td>396</td>\n", " <td>101</td>\n", " <td>772</td>\n", " </tr>\n", " <tr>\n", " <th>Neuer Manuel</th>\n", " <td>85</td>\n", " <td>89</td>\n", " <td>77</td>\n", " <td>425</td>\n", " <td>267</td>\n", " <td>77</td>\n", " <td>769</td>\n", " </tr>\n", " <tr>\n", " <th>Robben Arjen</th>\n", " <td>17</td>\n", " <td>69</td>\n", " <td>59</td>\n", " <td>85</td>\n", " <td>207</td>\n", " <td>59</td>\n", " <td>351</td>\n", " </tr>\n", " <tr>\n", " <th>Mueller Thomas</th>\n", " <td>22</td>\n", " <td>35</td>\n", " <td>50</td>\n", " <td>110</td>\n", " <td>105</td>\n", " <td>50</td>\n", " <td>265</td>\n", " </tr>\n", " <tr>\n", " <th>Lahm Philipp</th>\n", " <td>12</td>\n", " <td>17</td>\n", " <td>31</td>\n", " <td>60</td>\n", " <td>51</td>\n", " <td>31</td>\n", " <td>142</td>\n", " </tr>\n", " <tr>\n", " <th>Neymar</th>\n", " <td>6</td>\n", " <td>13</td>\n", " <td>39</td>\n", " <td>30</td>\n", " <td>39</td>\n", " <td>39</td>\n", " <td>108</td>\n", " </tr>\n", " <tr>\n", " <th>Rodriguez James</th>\n", " <td>6</td>\n", " <td>8</td>\n", " <td>18</td>\n", " <td>30</td>\n", " <td>24</td>\n", " <td>18</td>\n", " <td>72</td>\n", " </tr>\n", " <tr>\n", " <th>Kroos Toni</th>\n", " <td>5</td>\n", " <td>11</td>\n", " <td>12</td>\n", " <td>25</td>\n", " <td>33</td>\n", " <td>12</td>\n", " <td>70</td>\n", " </tr>\n", " <tr>\n", " <th>Di Maria Angel</th>\n", " <td>4</td>\n", " <td>8</td>\n", " <td>19</td>\n", " <td>20</td>\n", " <td>24</td>\n", " <td>19</td>\n", " <td>63</td>\n", " </tr>\n", " <tr>\n", " <th>Costa Diego</th>\n", " <td>2</td>\n", " <td>9</td>\n", " <td>13</td>\n", " <td>10</td>\n", " <td>27</td>\n", " <td>13</td>\n", " <td>50</td>\n", " </tr>\n", " <tr>\n", " <th>Bale Gareth</th>\n", " <td>5</td>\n", " <td>6</td>\n", " <td>6</td>\n", " <td>25</td>\n", " <td>18</td>\n", " <td>6</td>\n", " <td>49</td>\n", " </tr>\n", " <tr>\n", " <th>Ibrahimovic Zlatan</th>\n", " <td>3</td>\n", " <td>8</td>\n", " <td>10</td>\n", " <td>15</td>\n", " <td>24</td>\n", " <td>10</td>\n", " <td>49</td>\n", " </tr>\n", " <tr>\n", " <th>Toure Yaya</th>\n", " <td>0</td>\n", " <td>9</td>\n", " <td>15</td>\n", " <td>0</td>\n", " <td>27</td>\n", " <td>15</td>\n", " <td>42</td>\n", " </tr>\n", " <tr>\n", " <th>Goetze Mario</th>\n", " <td>5</td>\n", " <td>5</td>\n", " <td>1</td>\n", " <td>25</td>\n", " <td>15</td>\n", " <td>1</td>\n", " <td>41</td>\n", " </tr>\n", " <tr>\n", " <th>Benzema Karim</th>\n", " <td>1</td>\n", " <td>7</td>\n", " <td>11</td>\n", " <td>5</td>\n", " <td>21</td>\n", " <td>11</td>\n", " <td>37</td>\n", " </tr>\n", " <tr>\n", " <th>Iniesta Andres</th>\n", " <td>3</td>\n", " <td>4</td>\n", " <td>6</td>\n", " <td>15</td>\n", " <td>12</td>\n", " <td>6</td>\n", " <td>33</td>\n", " </tr>\n", " <tr>\n", " <th>Schweinsteiger Bastian</th>\n", " <td>2</td>\n", " <td>3</td>\n", " <td>9</td>\n", " <td>10</td>\n", " <td>9</td>\n", " <td>9</td>\n", " <td>28</td>\n", " </tr>\n", " <tr>\n", " <th>Mascherano Javier</th>\n", " <td>2</td>\n", " <td>4</td>\n", " <td>5</td>\n", " <td>10</td>\n", " <td>12</td>\n", " <td>5</td>\n", " <td>27</td>\n", " </tr>\n", " <tr>\n", " <th>Courtois Thibaut</th>\n", " <td>4</td>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>20</td>\n", " <td>3</td>\n", " <td>2</td>\n", " <td>25</td>\n", " </tr>\n", " <tr>\n", " <th>Hazard Eden</th>\n", " <td>0</td>\n", " <td>4</td>\n", " <td>11</td>\n", " <td>0</td>\n", " <td>12</td>\n", " <td>11</td>\n", " <td>23</td>\n", " </tr>\n", " <tr>\n", " <th>Pogba Paul</th>\n", " <td>1</td>\n", " <td>4</td>\n", " <td>3</td>\n", " <td>5</td>\n", " <td>12</td>\n", " <td>3</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>Ramos Sergio</th>\n", " <td>1</td>\n", " <td>2</td>\n", " <td>5</td>\n", " <td>5</td>\n", " <td>6</td>\n", " <td>5</td>\n", " <td>16</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " len \\\n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 303 96 41 \n", "Messi Lionel 55 132 101 \n", "Neuer Manuel 85 89 77 \n", "Robben Arjen 17 69 59 \n", "Mueller Thomas 22 35 50 \n", "Lahm Philipp 12 17 31 \n", "Neymar 6 13 39 \n", "Rodriguez James 6 8 18 \n", "Kroos Toni 5 11 12 \n", "Di Maria Angel 4 8 19 \n", "Costa Diego 2 9 13 \n", "Bale Gareth 5 6 6 \n", "Ibrahimovic Zlatan 3 8 10 \n", "Toure Yaya 0 9 15 \n", "Goetze Mario 5 5 1 \n", "Benzema Karim 1 7 11 \n", "Iniesta Andres 3 4 6 \n", "Schweinsteiger Bastian 2 3 9 \n", "Mascherano Javier 2 4 5 \n", "Courtois Thibaut 4 1 2 \n", "Hazard Eden 0 4 11 \n", "Pogba Paul 1 4 3 \n", "Ramos Sergio 1 2 5 \n", "\n", " sum \\\n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 1515 288 41 \n", "Messi Lionel 275 396 101 \n", "Neuer Manuel 425 267 77 \n", "Robben Arjen 85 207 59 \n", "Mueller Thomas 110 105 50 \n", "Lahm Philipp 60 51 31 \n", "Neymar 30 39 39 \n", "Rodriguez James 30 24 18 \n", "Kroos Toni 25 33 12 \n", "Di Maria Angel 20 24 19 \n", "Costa Diego 10 27 13 \n", "Bale Gareth 25 18 6 \n", "Ibrahimovic Zlatan 15 24 10 \n", "Toure Yaya 0 27 15 \n", "Goetze Mario 25 15 1 \n", "Benzema Karim 5 21 11 \n", "Iniesta Andres 15 12 6 \n", "Schweinsteiger Bastian 10 9 9 \n", "Mascherano Javier 10 12 5 \n", "Courtois Thibaut 20 3 2 \n", "Hazard Eden 0 12 11 \n", "Pogba Paul 5 12 3 \n", "Ramos Sergio 5 6 5 \n", "\n", " Total \n", "Rank \n", "Name \n", "Cristiano Ronaldo 1844 \n", "Messi Lionel 772 \n", "Neuer Manuel 769 \n", "Robben Arjen 351 \n", "Mueller Thomas 265 \n", "Lahm Philipp 142 \n", "Neymar 108 \n", "Rodriguez James 72 \n", "Kroos Toni 70 \n", "Di Maria Angel 63 \n", "Costa Diego 50 \n", "Bale Gareth 49 \n", "Ibrahimovic Zlatan 49 \n", "Toure Yaya 42 \n", "Goetze Mario 41 \n", "Benzema Karim 37 \n", "Iniesta Andres 33 \n", "Schweinsteiger Bastian 28 \n", "Mascherano Javier 27 \n", "Courtois Thibaut 25 \n", "Hazard Eden 23 \n", "Pogba Paul 20 \n", "Ramos Sergio 16 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf = (df.melt('Vote', df.columns[-3:].tolist(), var_name='Rank', value_name='_Name')\n", " .rename(columns={'_Name': 'Name'})\n", " .assign(Points=lambda x: x['Rank'].str.extract(r'(\\d+)', expand=False).astype(int))\n", " .pivot_table('Points', ['Vote', 'Name'], 'Rank', aggfunc=[len, 'sum'], fill_value=0)\n", " .assign(Total=lambda x: x['sum'].sum(axis=1)))\n", "\n", "pf.groupby(level='Name').sum().sort_values(by='Total', ascending=False)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", "\n", " .dataframe thead tr:last-of-type th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th></th>\n", " <th colspan=\"3\" halign=\"left\">len</th>\n", " <th colspan=\"3\" halign=\"left\">sum</th>\n", " <th>Total</th>\n", " </tr>\n", " <tr>\n", " <th>Rank</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th></th>\n", " </tr>\n", " <tr>\n", " <th>Name</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Cristiano Ronaldo</th>\n", " <td>99</td>\n", " <td>37</td>\n", " <td>13</td>\n", " <td>495</td>\n", " <td>111</td>\n", " <td>13</td>\n", " <td>619</td>\n", " </tr>\n", " <tr>\n", " <th>Messi Lionel</th>\n", " <td>31</td>\n", " <td>44</td>\n", " <td>25</td>\n", " <td>155</td>\n", " <td>132</td>\n", " <td>25</td>\n", " <td>312</td>\n", " </tr>\n", " <tr>\n", " <th>Neuer Manuel</th>\n", " <td>22</td>\n", " <td>13</td>\n", " <td>27</td>\n", " <td>110</td>\n", " <td>39</td>\n", " <td>27</td>\n", " <td>176</td>\n", " </tr>\n", " <tr>\n", " <th>Robben Arjen</th>\n", " <td>3</td>\n", " <td>25</td>\n", " <td>22</td>\n", " <td>15</td>\n", " <td>75</td>\n", " <td>22</td>\n", " <td>112</td>\n", " </tr>\n", " <tr>\n", " <th>Mueller Thomas</th>\n", " <td>3</td>\n", " <td>11</td>\n", " <td>16</td>\n", " <td>15</td>\n", " <td>33</td>\n", " <td>16</td>\n", " <td>64</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " len \\\n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 99 37 13 \n", "Messi Lionel 31 44 25 \n", "Neuer Manuel 22 13 27 \n", "Robben Arjen 3 25 22 \n", "Mueller Thomas 3 11 16 \n", "\n", " sum Total \n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 495 111 13 619 \n", "Messi Lionel 155 132 25 312 \n", "Neuer Manuel 110 39 27 176 \n", "Robben Arjen 15 75 22 112 \n", "Mueller Thomas 15 33 16 64 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.loc['Captain'].sort_values(by='Total', ascending=False).head()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", "\n", " .dataframe thead tr:last-of-type th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th></th>\n", " <th colspan=\"3\" halign=\"left\">len</th>\n", " <th colspan=\"3\" halign=\"left\">sum</th>\n", " <th>Total</th>\n", " </tr>\n", " <tr>\n", " <th>Rank</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th></th>\n", " </tr>\n", " <tr>\n", " <th>Name</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Cristiano Ronaldo</th>\n", " <td>89</td>\n", " <td>31</td>\n", " <td>14</td>\n", " <td>445</td>\n", " <td>93</td>\n", " <td>14</td>\n", " <td>552</td>\n", " </tr>\n", " <tr>\n", " <th>Messi Lionel</th>\n", " <td>20</td>\n", " <td>49</td>\n", " <td>35</td>\n", " <td>100</td>\n", " <td>147</td>\n", " <td>35</td>\n", " <td>282</td>\n", " </tr>\n", " <tr>\n", " <th>Neuer Manuel</th>\n", " <td>32</td>\n", " <td>31</td>\n", " <td>25</td>\n", " <td>160</td>\n", " <td>93</td>\n", " <td>25</td>\n", " <td>278</td>\n", " </tr>\n", " <tr>\n", " <th>Robben Arjen</th>\n", " <td>10</td>\n", " <td>26</td>\n", " <td>20</td>\n", " <td>50</td>\n", " <td>78</td>\n", " <td>20</td>\n", " <td>148</td>\n", " </tr>\n", " <tr>\n", " <th>Mueller Thomas</th>\n", " <td>8</td>\n", " <td>8</td>\n", " <td>17</td>\n", " <td>40</td>\n", " <td>24</td>\n", " <td>17</td>\n", " <td>81</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " len \\\n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 89 31 14 \n", "Messi Lionel 20 49 35 \n", "Neuer Manuel 32 31 25 \n", "Robben Arjen 10 26 20 \n", "Mueller Thomas 8 8 17 \n", "\n", " sum Total \n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 445 93 14 552 \n", "Messi Lionel 100 147 35 282 \n", "Neuer Manuel 160 93 25 278 \n", "Robben Arjen 50 78 20 148 \n", "Mueller Thomas 40 24 17 81 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.loc['Coach'].sort_values(by='Total', ascending=False).head()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead tr th {\n", " text-align: left;\n", " }\n", "\n", " .dataframe thead tr:last-of-type th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr>\n", " <th></th>\n", " <th colspan=\"3\" halign=\"left\">len</th>\n", " <th colspan=\"3\" halign=\"left\">sum</th>\n", " <th>Total</th>\n", " </tr>\n", " <tr>\n", " <th>Rank</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th>First (5 points)</th>\n", " <th>Second (3 points)</th>\n", " <th>Third (1 point)</th>\n", " <th></th>\n", " </tr>\n", " <tr>\n", " <th>Name</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Cristiano Ronaldo</th>\n", " <td>115</td>\n", " <td>28</td>\n", " <td>14</td>\n", " <td>575</td>\n", " <td>84</td>\n", " <td>14</td>\n", " <td>673</td>\n", " </tr>\n", " <tr>\n", " <th>Neuer Manuel</th>\n", " <td>31</td>\n", " <td>45</td>\n", " <td>25</td>\n", " <td>155</td>\n", " <td>135</td>\n", " <td>25</td>\n", " <td>315</td>\n", " </tr>\n", " <tr>\n", " <th>Messi Lionel</th>\n", " <td>4</td>\n", " <td>39</td>\n", " <td>41</td>\n", " <td>20</td>\n", " <td>117</td>\n", " <td>41</td>\n", " <td>178</td>\n", " </tr>\n", " <tr>\n", " <th>Mueller Thomas</th>\n", " <td>11</td>\n", " <td>16</td>\n", " <td>17</td>\n", " <td>55</td>\n", " <td>48</td>\n", " <td>17</td>\n", " <td>120</td>\n", " </tr>\n", " <tr>\n", " <th>Robben Arjen</th>\n", " <td>4</td>\n", " <td>18</td>\n", " <td>17</td>\n", " <td>20</td>\n", " <td>54</td>\n", " <td>17</td>\n", " <td>91</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " len \\\n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 115 28 14 \n", "Neuer Manuel 31 45 25 \n", "Messi Lionel 4 39 41 \n", "Mueller Thomas 11 16 17 \n", "Robben Arjen 4 18 17 \n", "\n", " sum Total \n", "Rank First (5 points) Second (3 points) Third (1 point) \n", "Name \n", "Cristiano Ronaldo 575 84 14 673 \n", "Neuer Manuel 155 135 25 315 \n", "Messi Lionel 20 117 41 178 \n", "Mueller Thomas 55 48 17 120 \n", "Robben Arjen 20 54 17 91 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pf.loc['Media'].sort_values(by='Total', ascending=False).head()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }