Skip to content

Instantly share code, notes, and snippets.

@pybokeh
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pybokeh/3165d52c3cdd04ce3156 to your computer and use it in GitHub Desktop.
Save pybokeh/3165d52c3cdd04ce3156 to your computer and use it in GitHub Desktop.
FIFA_2014
{
"metadata": {
"name": "",
"signature": "sha256:18ea5138f5b98639b245d28d45fc81639116b4b0a962b51450faf7e0322890d1"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='top'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Using A Free FIFA 2014 World Cup API with Python</h1></center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sections"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- [A glance at the JSON data](#json)\n",
"- [All completed matches to date](#all)\n",
"- [All today's matches and status](#today)\n",
"- [All tomorrow's matches](#tomorrow)\n",
"- [Getting Match Events for a Specfic Match Number (game)](#events)\n",
"- [Matches Played by a Specific Team](#team)\n",
"- [Goal Summary Section](#summary)\n",
"- [Top goals scored by player](#player)\n",
"- [Top goals scored by team/country](#top_country)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The free API can be found [here](https://github.com/estiens/world_cup_json) at Github."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='json'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Here's a Quick Glance at the JSON data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[all completed](#all)] [[today's matches](#today)] [[tomorrow's matches](#tomorrow)] [[get match events](#events)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import requests # because we don't like urllib\n",
"from pprint import pprint # for prettier printing of json data\n",
"\n",
"json_data = requests.get('http://worldcup.sfg.io/matches')\n",
"matches = json_data.json()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**To help facilitate figuring out the structure of the json data, let's pretty print just the 1st record of the json data:**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='sample'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[all completed](#all)] [[today's matches](#today)] [[tomorrow's matches](#tomorrow)] [[get match events](#events)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pprint(matches[:1])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[{'away_team': {'code': 'CRO', 'country': 'Croatia', 'goals': 1},\n",
" 'away_team_events': [{'id': 677,\n",
" 'player': 'Brozovi\u0106',\n",
" 'time': '61',\n",
" 'type_of_event': 'substitution-in'},\n",
" {'id': 674,\n",
" 'player': 'Corluka',\n",
" 'time': '66',\n",
" 'type_of_event': 'yellow-card'},\n",
" {'id': 675,\n",
" 'player': 'Lovren',\n",
" 'time': '69',\n",
" 'type_of_event': 'yellow-card'},\n",
" {'id': 676,\n",
" 'player': 'Rebi\u0106',\n",
" 'time': '78',\n",
" 'type_of_event': 'substitution-in'}],\n",
" 'datetime': '2014-06-12T17:00:00.000-03:00',\n",
" 'home_team': {'code': 'BRA', 'country': 'Brazil', 'goals': 3},\n",
" 'home_team_events': [{'id': 662,\n",
" 'player': 'Marcelo',\n",
" 'time': '11',\n",
" 'type_of_event': 'goal-own'},\n",
" {'id': 665,\n",
" 'player': 'Neymar Jr',\n",
" 'time': '27',\n",
" 'type_of_event': 'yellow-card'},\n",
" {'id': 666,\n",
" 'player': 'Neymar Jr',\n",
" 'time': '29',\n",
" 'type_of_event': 'goal'},\n",
" {'id': 664,\n",
" 'player': 'Paulinho',\n",
" 'time': '63',\n",
" 'type_of_event': 'substitution-out'},\n",
" {'id': 672,\n",
" 'player': 'Hernanes',\n",
" 'time': '63',\n",
" 'type_of_event': 'substitution-in'},\n",
" {'id': 663,\n",
" 'player': 'Hulk',\n",
" 'time': '68',\n",
" 'type_of_event': 'substitution-out'},\n",
" {'id': 673,\n",
" 'player': 'Bernard',\n",
" 'time': '68',\n",
" 'type_of_event': 'substitution-in'},\n",
" {'id': 667,\n",
" 'player': 'Neymar Jr',\n",
" 'time': '71',\n",
" 'type_of_event': 'goal-penalty'},\n",
" {'id': 670,\n",
" 'player': 'L Gustavo',\n",
" 'time': '88',\n",
" 'type_of_event': 'yellow-card'},\n",
" {'id': 668,\n",
" 'player': 'Neymar Jr',\n",
" 'time': '88',\n",
" 'type_of_event': 'substitution-out'},\n",
" {'id': 671,\n",
" 'player': 'Ramires',\n",
" 'time': '88',\n",
" 'type_of_event': 'substitution-in'},\n",
" {'id': 669,\n",
" 'player': 'Oscar',\n",
" 'time': '901',\n",
" 'type_of_event': 'goal'}],\n",
" 'location': 'Arena de Sao Paulo',\n",
" 'match_number': 1,\n",
" 'status': 'completed',\n",
" 'winner': 'Brazil'}]\n"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see what data type \"matches\" is:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"type(matches)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 88,
"text": [
"list"
]
}
],
"prompt_number": 88
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So it is a list that contains nested dictionaries. Now that we understand the structure, we can do some simple looping to print out all completed games to date."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='all'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## All Completed Matches To Date"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[view sample json](#sample)] [[today's matches](#today)] [[tomorrow's matches](#tomorrow)] [[get match events](#events)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"json_data = requests.get('http://worldcup.sfg.io/matches')\n",
"matches = json_data.json()\n",
"\n",
"completed_matches = PrettyTable([\"Match Number\", \"Home Team\",\"Home Team Goals\", \"Away Team\", \"Away Team Goals\", \"Winner\"])\n",
"\n",
"for match in matches:\n",
" if match['status'] == 'completed':\n",
" match_number = match['match_number']\n",
" home_team = match['home_team']['country']\n",
" away_team = match['away_team']['country']\n",
" home_team_goals = match['home_team']['goals']\n",
" away_team_goals = match['away_team']['goals']\n",
" winner = match['winner']\n",
" completed_matches.add_row([match_number, home_team, home_team_goals, away_team, away_team_goals, winner])\n",
"\n",
"print(completed_matches)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"+--------------+----------------+-----------------+------------------------+-----------------+-------------+\n",
"| Match Number | Home Team | Home Team Goals | Away Team | Away Team Goals | Winner |\n",
"+--------------+----------------+-----------------+------------------------+-----------------+-------------+\n",
"| 1 | Brazil | 3 | Croatia | 1 | Brazil |\n",
"| 2 | Mexico | 1 | Cameroon | 0 | Mexico |\n",
"| 3 | Spain | 1 | Netherlands | 5 | Netherlands |\n",
"| 4 | Chile | 3 | Australia | 1 | Chile |\n",
"| 5 | Colombia | 3 | Greece | 0 | Colombia |\n",
"| 6 | Ivory Coast | 2 | Japan | 1 | Ivory Coast |\n",
"| 7 | Uruguay | 1 | Costa Rica | 3 | Costa Rica |\n",
"| 8 | England | 1 | Italy | 2 | Italy |\n",
"| 9 | Switzerland | 2 | Ecuador | 1 | Switzerland |\n",
"| 10 | France | 3 | Honduras | 0 | France |\n",
"| 11 | Argentina | 2 | Bosnia and Herzegovina | 1 | Argentina |\n",
"| 12 | Iran | 0 | Nigeria | 0 | Draw |\n",
"| 13 | Germany | 4 | Portugal | 0 | Germany |\n",
"| 14 | Ghana | 1 | USA | 2 | USA |\n",
"| 15 | Belgium | 2 | Algeria | 1 | Belgium |\n",
"| 16 | Russia | 1 | Korea Republic | 1 | Draw |\n",
"| 17 | Brazil | 0 | Mexico | 0 | Draw |\n",
"| 18 | Cameroon | 0 | Croatia | 4 | Croatia |\n",
"| 19 | Spain | 0 | Chile | 2 | Chile |\n",
"| 20 | Australia | 2 | Netherlands | 3 | Netherlands |\n",
"| 21 | Colombia | 2 | Ivory Coast | 1 | Colombia |\n",
"| 22 | Japan | 0 | Greece | 0 | Draw |\n",
"| 23 | Uruguay | 2 | England | 1 | Uruguay |\n",
"| 24 | Italy | 0 | Costa Rica | 1 | Costa Rica |\n",
"| 25 | Switzerland | 2 | France | 5 | France |\n",
"| 26 | Honduras | 1 | Ecuador | 2 | Ecuador |\n",
"| 27 | Argentina | 1 | Iran | 0 | Argentina |\n",
"| 28 | Nigeria | 1 | Bosnia and Herzegovina | 0 | Nigeria |\n",
"| 29 | Germany | 2 | Ghana | 2 | Draw |\n",
"| 30 | USA | 2 | Portugal | 2 | Draw |\n",
"| 31 | Belgium | 1 | Russia | 0 | Belgium |\n",
"| 32 | Korea Republic | 2 | Algeria | 4 | Algeria |\n",
"| 33 | Cameroon | 1 | Brazil | 4 | Brazil |\n",
"| 34 | Croatia | 1 | Mexico | 3 | Mexico |\n",
"| 35 | Australia | 0 | Spain | 3 | Spain |\n",
"| 36 | Netherlands | 2 | Chile | 0 | Netherlands |\n",
"+--------------+----------------+-----------------+------------------------+-----------------+-------------+\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='today'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## All Today's Matches"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[view sample json](#sample)] [[all completed](#all)] [[tomorrow's matches](#tomorrow)] [[get match events](#events)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import datetime\n",
"import requests\n",
"import dateutil\n",
"from pytz import timezone\n",
"\n",
"eastern = timezone('US/Eastern')\n",
"\n",
"json_data = requests.get('http://worldcup.sfg.io/matches/today')\n",
"today = json_data.json()\n",
"\n",
"todays_matches = PrettyTable([\"Match Number\", \"Home Team\",\"Home Team Goals\", \"Away Team\", \"Away Team Goals\",\n",
" \"Winner\", \"Status / Start Date+Time\"])\n",
"\n",
"for match in today:\n",
" match_number = match['match_number']\n",
" home_team = match['home_team']['country']\n",
" away_team = match['away_team']['country']\n",
" home_team_goals = match['home_team']['goals']\n",
" away_team_goals = match['away_team']['goals']\n",
" if match['winner'] == None:\n",
" winner = 'N/A'\n",
" else:\n",
" winner = match['winner']\n",
" \n",
" if match['status'] == 'future':\n",
" mydate = dateutil.parser.parse(match['datetime'])\n",
" status = mydate.astimezone(eastern).strftime('%Y-%m-%d %H:%M %Z')\n",
" elif match['status'] == 'completed':\n",
" status = 'Completed'\n",
" else:\n",
" status = match['status']\n",
" \n",
" todays_matches.add_row([match_number, home_team, home_team_goals, away_team, away_team_goals, winner, status])\n",
"\n",
"print(todays_matches.get_string(sortby=\"Status / Start Date+Time\"))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"+--------------+-------------+-----------------+-----------+-----------------+-------------+--------------------------+\n",
"| Match Number | Home Team | Home Team Goals | Away Team | Away Team Goals | Winner | Status / Start Date+Time |\n",
"+--------------+-------------+-----------------+-----------+-----------------+-------------+--------------------------+\n",
"| 33 | Cameroon | 1 | Brazil | 4 | Brazil | Completed |\n",
"| 34 | Croatia | 1 | Mexico | 3 | Mexico | Completed |\n",
"| 35 | Australia | 0 | Spain | 3 | Spain | Completed |\n",
"| 36 | Netherlands | 2 | Chile | 0 | Netherlands | Completed |\n",
"+--------------+-------------+-----------------+-----------+-----------------+-------------+--------------------------+\n"
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='tomorrow'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tomorrow's Matches"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[view sample json](#sample)] [[all completed](#all)] [[today's matches](#today)] [[get match events](#events)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"import dateutil\n",
"from pytz import timezone\n",
"\n",
"eastern = timezone('US/Eastern')\n",
"\n",
"json_data = requests.get('http://worldcup.sfg.io/matches/tomorrow')\n",
"tomorrow = json_data.json()\n",
"\n",
"tomorrows_matches = PrettyTable([\"Home Team\", \"Away Team\", \"Start Time\"])\n",
"\n",
"for match in tomorrow:\n",
" home_team = match['home_team']['country']\n",
" away_team = match['away_team']['country']\n",
" mydate = dateutil.parser.parse(match['datetime'])\n",
" local_date = mydate.astimezone(eastern).strftime('%Y-%m-%d %H:%M %Z')\n",
" tomorrows_matches.add_row([home_team, away_team, local_date])\n",
" \n",
"print(tomorrows_matches.get_string(sortby=\"Start Time\"))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"+------------+-------------+----------------------+\n",
"| Home Team | Away Team | Start Time |\n",
"+------------+-------------+----------------------+\n",
"| Costa Rica | England | 2014-06-24 12:00 EDT |\n",
"| Italy | Uruguay | 2014-06-24 12:00 EDT |\n",
"| Greece | Ivory Coast | 2014-06-24 16:00 EDT |\n",
"| Japan | Colombia | 2014-06-24 16:00 EDT |\n",
"+------------+-------------+----------------------+\n"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='events'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Getting Match Events for a Specific Match Number"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[view sample json](#sample)] [[all completed](#all)] [[today's matches](#today)] [[tomorrow's matches](#tomorrow)] [[specific team matches](#team)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"from pprint import pprint # Prettier printing of json data\n",
"json_data = requests.get('http://worldcup.sfg.io/matches')\n",
"matches = json_data.json()\n",
"\n",
"match_number = input(\"Enter the match number you want to see the events for: \")\n",
"\n",
"match_events = PrettyTable([\"Country\",\"Player\", \"Time\", \"Type Of Event\"])\n",
"\n",
"for match in matches:\n",
" if match[\"match_number\"] == int(match_number):\n",
" home_team = match[\"home_team\"][\"country\"]\n",
" away_team = match[\"away_team\"][\"country\"]\n",
" home_goals = match[\"home_team\"][\"goals\"]\n",
" away_goals = match[\"away_team\"][\"goals\"]\n",
" for home_event in match[\"home_team_events\"]:\n",
" player = home_event[\"player\"]\n",
" time = home_event[\"time\"].strip()\n",
" event = home_event[\"type_of_event\"]\n",
" match_events.add_row([home_team, player, time, event])\n",
" \n",
" for away_event in match[\"away_team_events\"]:\n",
" player = away_event[\"player\"]\n",
" time = away_event[\"time\"].strip()\n",
" event = away_event[\"type_of_event\"]\n",
" match_events.add_row([away_team, player, time, event])\n",
"\n",
"print(match_events.get_string(sortby=\"Time\"))\n",
"print(home_team, home_goals, \",\", away_team, away_goals)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter the match number you want to see the events for: 33\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"+----------+---------------+------+--------------------------+\n",
"| Country | Player | Time | Type Of Event |\n",
"+----------+---------------+------+--------------------------+\n",
"| Cameroon | Enoh | 11 | yellow-card |\n",
"| Brazil | Neymar Jr | 17 | goal |\n",
"| Cameroon | Matip | 26 | goal |\n",
"| Brazil | Neymar Jr | 35 | goal |\n",
"| Brazil | Fernandinho | 46 | substitution-in halftime |\n",
"| Brazil | Fred | 49 | goal |\n",
"| Cameroon | Moukandjo | 58 | substitution-out |\n",
"| Cameroon | Salli | 58 | substitution-in |\n",
"| Brazil | Ramires | 63 | substitution-in |\n",
"| Brazil | Willian | 71 | substitution-in |\n",
"| Cameroon | Aboubakar | 72 | substitution-out |\n",
"| Cameroon | Webo | 72 | substitution-in |\n",
"| Cameroon | Salli | 75 | yellow-card |\n",
"| Cameroon | Mbia | 80 | yellow-card |\n",
"| Cameroon | Choupo Moting | 81 | substitution-out |\n",
"| Cameroon | Makoun | 81 | substitution-in |\n",
"| Brazil | Fernandinho | 84 | goal |\n",
"+----------+---------------+------+--------------------------+\n",
"Cameroon 1 , Brazil 4\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='team'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Matches Played by a Specific Team"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[view sample json](#sample)] [[today's matches](#today)] [[tomorrow's matches](#tomorrow)] [[get match events](#events)] [[all matches completed](#all)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"json_data = requests.get('http://worldcup.sfg.io/matches')\n",
"matches = json_data.json()\n",
"\n",
"team = input(\"Enter team country: \").strip()\n",
"\n",
"team_matches = PrettyTable([\"Match Number\", \"Home Team\",\"Home Team Goals\", \"Away Team\", \"Away Team Goals\", \"Winner\"])\n",
"\n",
"for match in matches:\n",
" if match['status'] == 'completed' or match['status'] == 'in progress':\n",
" home_country = match['home_team']['country']\n",
" away_country = match['away_team']['country']\n",
" if home_country == team or away_country == team:\n",
" match_number = match['match_number']\n",
" home_team = match['home_team']['country']\n",
" away_team = match['away_team']['country']\n",
" home_team_goals = match['home_team']['goals']\n",
" away_team_goals = match['away_team']['goals']\n",
" winner = match['winner']\n",
" team_matches.add_row([match_number, home_team, home_team_goals, away_team, away_team_goals, winner])\n",
"\n",
"print(team_matches)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter team country: USA\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"+--------------+-----------+-----------------+-----------+-----------------+--------+\n",
"| Match Number | Home Team | Home Team Goals | Away Team | Away Team Goals | Winner |\n",
"+--------------+-----------+-----------------+-----------+-----------------+--------+\n",
"| 14 | Ghana | 1 | USA | 2 | USA |\n",
"| 30 | USA | 2 | Portugal | 2 | Draw |\n",
"+--------------+-----------+-----------------+-----------+-----------------+--------+\n"
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### BONUS: How to Convert a PrettyTable to an in-memory CSV file Object then Converted to Pandas DataFrame Object"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use PrettyTable's 2 methods to get the column names (\\_get_field_names) and row data (\\_rows):"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"column_names = completed_matches._get_field_names()\n",
"column_names"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
"['Match Number',\n",
" 'Home Team',\n",
" 'Home Team Goals',\n",
" 'Away Team',\n",
" 'Away Team Goals',\n",
" 'Winner']"
]
}
],
"prompt_number": 94
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"row_data = completed_matches._rows\n",
"row_data"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 95,
"text": [
"[[1, 'Brazil', 3, 'Croatia', 1, 'Brazil'],\n",
" [2, 'Mexico', 1, 'Cameroon', 0, 'Mexico'],\n",
" [3, 'Spain', 1, 'Netherlands', 5, 'Netherlands'],\n",
" [4, 'Chile', 3, 'Australia', 1, 'Chile'],\n",
" [5, 'Colombia', 3, 'Greece', 0, 'Colombia'],\n",
" [6, 'Ivory Coast', 2, 'Japan', 1, 'Ivory Coast'],\n",
" [7, 'Uruguay', 1, 'Costa Rica', 3, 'Costa Rica'],\n",
" [8, 'England', 1, 'Italy', 2, 'Italy'],\n",
" [9, 'Switzerland', 2, 'Ecuador', 1, 'Switzerland'],\n",
" [10, 'France', 3, 'Honduras', 0, 'France'],\n",
" [11, 'Argentina', 2, 'Bosnia and Herzegovina', 1, 'Argentina'],\n",
" [12, 'Iran', 0, 'Nigeria', 0, 'Draw'],\n",
" [13, 'Germany', 4, 'Portugal', 0, 'Germany'],\n",
" [14, 'Ghana', 1, 'USA', 2, 'USA'],\n",
" [15, 'Belgium', 2, 'Algeria', 1, 'Belgium'],\n",
" [16, 'Russia', 1, 'Korea Republic', 1, 'Draw'],\n",
" [17, 'Brazil', 0, 'Mexico', 0, 'Draw'],\n",
" [18, 'Cameroon', 0, 'Croatia', 4, 'Croatia'],\n",
" [19, 'Spain', 0, 'Chile', 2, 'Chile'],\n",
" [20, 'Australia', 2, 'Netherlands', 3, 'Netherlands'],\n",
" [21, 'Colombia', 2, 'Ivory Coast', 1, 'Colombia'],\n",
" [22, 'Japan', 0, 'Greece', 0, 'Draw'],\n",
" [23, 'Uruguay', 2, 'England', 1, 'Uruguay'],\n",
" [24, 'Italy', 0, 'Costa Rica', 1, 'Costa Rica'],\n",
" [25, 'Switzerland', 2, 'France', 5, 'France'],\n",
" [26, 'Honduras', 1, 'Ecuador', 2, 'Ecuador'],\n",
" [27, 'Argentina', 1, 'Iran', 0, 'Argentina'],\n",
" [28, 'Nigeria', 1, 'Bosnia and Herzegovina', 0, 'Nigeria'],\n",
" [29, 'Germany', 2, 'Ghana', 2, 'Draw'],\n",
" [30, 'USA', 2, 'Portugal', 2, 'Draw'],\n",
" [31, 'Belgium', 1, 'Russia', 0, 'Belgium'],\n",
" [32, 'Korea Republic', 2, 'Algeria', 4, 'Algeria']]"
]
}
],
"prompt_number": 95
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import csv\n",
"from io import StringIO\n",
"\n",
"output = StringIO()\n",
"\n",
"writer = csv.writer(output)\n",
"writer.writerows([column_names])\n",
"writer.writerows(row_data)\n",
"contents = output.getvalue()\n",
"output.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 96
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(contents)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Match Number,Home Team,Home Team Goals,Away Team,Away Team Goals,Winner\r\n",
"1,Brazil,3,Croatia,1,Brazil\r\n",
"2,Mexico,1,Cameroon,0,Mexico\r\n",
"3,Spain,1,Netherlands,5,Netherlands\r\n",
"4,Chile,3,Australia,1,Chile\r\n",
"5,Colombia,3,Greece,0,Colombia\r\n",
"6,Ivory Coast,2,Japan,1,Ivory Coast\r\n",
"7,Uruguay,1,Costa Rica,3,Costa Rica\r\n",
"8,England,1,Italy,2,Italy\r\n",
"9,Switzerland,2,Ecuador,1,Switzerland\r\n",
"10,France,3,Honduras,0,France\r\n",
"11,Argentina,2,Bosnia and Herzegovina,1,Argentina\r\n",
"12,Iran,0,Nigeria,0,Draw\r\n",
"13,Germany,4,Portugal,0,Germany\r\n",
"14,Ghana,1,USA,2,USA\r\n",
"15,Belgium,2,Algeria,1,Belgium\r\n",
"16,Russia,1,Korea Republic,1,Draw\r\n",
"17,Brazil,0,Mexico,0,Draw\r\n",
"18,Cameroon,0,Croatia,4,Croatia\r\n",
"19,Spain,0,Chile,2,Chile\r\n",
"20,Australia,2,Netherlands,3,Netherlands\r\n",
"21,Colombia,2,Ivory Coast,1,Colombia\r\n",
"22,Japan,0,Greece,0,Draw\r\n",
"23,Uruguay,2,England,1,Uruguay\r\n",
"24,Italy,0,Costa Rica,1,Costa Rica\r\n",
"25,Switzerland,2,France,5,France\r\n",
"26,Honduras,1,Ecuador,2,Ecuador\r\n",
"27,Argentina,1,Iran,0,Argentina\r\n",
"28,Nigeria,1,Bosnia and Herzegovina,0,Nigeria\r\n",
"29,Germany,2,Ghana,2,Draw\r\n",
"30,USA,2,Portugal,2,Draw\r\n",
"31,Belgium,1,Russia,0,Belgium\r\n",
"32,Korea Republic,2,Algeria,4,Algeria\r\n",
"\n"
]
}
],
"prompt_number": 97
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from datetime import datetime\n",
"import pandas as pd\n",
"\n",
"df_completed = pd.read_csv(StringIO(contents))\n",
"df_completed"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Match Number</th>\n",
" <th>Home Team</th>\n",
" <th>Home Team Goals</th>\n",
" <th>Away Team</th>\n",
" <th>Away Team Goals</th>\n",
" <th>Winner</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> 3</td>\n",
" <td> Croatia</td>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> 1</td>\n",
" <td> Cameroon</td>\n",
" <td> 0</td>\n",
" <td> Mexico</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> 1</td>\n",
" <td> Netherlands</td>\n",
" <td> 5</td>\n",
" <td> Netherlands</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> 4</td>\n",
" <td> Chile</td>\n",
" <td> 3</td>\n",
" <td> Australia</td>\n",
" <td> 1</td>\n",
" <td> Chile</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> 5</td>\n",
" <td> Colombia</td>\n",
" <td> 3</td>\n",
" <td> Greece</td>\n",
" <td> 0</td>\n",
" <td> Colombia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 6</td>\n",
" <td> Ivory Coast</td>\n",
" <td> 2</td>\n",
" <td> Japan</td>\n",
" <td> 1</td>\n",
" <td> Ivory Coast</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> 7</td>\n",
" <td> Uruguay</td>\n",
" <td> 1</td>\n",
" <td> Costa Rica</td>\n",
" <td> 3</td>\n",
" <td> Costa Rica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> 8</td>\n",
" <td> England</td>\n",
" <td> 1</td>\n",
" <td> Italy</td>\n",
" <td> 2</td>\n",
" <td> Italy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> 9</td>\n",
" <td> Switzerland</td>\n",
" <td> 2</td>\n",
" <td> Ecuador</td>\n",
" <td> 1</td>\n",
" <td> Switzerland</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> 10</td>\n",
" <td> France</td>\n",
" <td> 3</td>\n",
" <td> Honduras</td>\n",
" <td> 0</td>\n",
" <td> France</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> 11</td>\n",
" <td> Argentina</td>\n",
" <td> 2</td>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> 1</td>\n",
" <td> Argentina</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> 12</td>\n",
" <td> Iran</td>\n",
" <td> 0</td>\n",
" <td> Nigeria</td>\n",
" <td> 0</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> 13</td>\n",
" <td> Germany</td>\n",
" <td> 4</td>\n",
" <td> Portugal</td>\n",
" <td> 0</td>\n",
" <td> Germany</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> 14</td>\n",
" <td> Ghana</td>\n",
" <td> 1</td>\n",
" <td> USA</td>\n",
" <td> 2</td>\n",
" <td> USA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> 15</td>\n",
" <td> Belgium</td>\n",
" <td> 2</td>\n",
" <td> Algeria</td>\n",
" <td> 1</td>\n",
" <td> Belgium</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> 16</td>\n",
" <td> Russia</td>\n",
" <td> 1</td>\n",
" <td> Korea Republic</td>\n",
" <td> 1</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> 17</td>\n",
" <td> Brazil</td>\n",
" <td> 0</td>\n",
" <td> Mexico</td>\n",
" <td> 0</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> 18</td>\n",
" <td> Cameroon</td>\n",
" <td> 0</td>\n",
" <td> Croatia</td>\n",
" <td> 4</td>\n",
" <td> Croatia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> 19</td>\n",
" <td> Spain</td>\n",
" <td> 0</td>\n",
" <td> Chile</td>\n",
" <td> 2</td>\n",
" <td> Chile</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> 20</td>\n",
" <td> Australia</td>\n",
" <td> 2</td>\n",
" <td> Netherlands</td>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> 21</td>\n",
" <td> Colombia</td>\n",
" <td> 2</td>\n",
" <td> Ivory Coast</td>\n",
" <td> 1</td>\n",
" <td> Colombia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> 22</td>\n",
" <td> Japan</td>\n",
" <td> 0</td>\n",
" <td> Greece</td>\n",
" <td> 0</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> 23</td>\n",
" <td> Uruguay</td>\n",
" <td> 2</td>\n",
" <td> England</td>\n",
" <td> 1</td>\n",
" <td> Uruguay</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> 24</td>\n",
" <td> Italy</td>\n",
" <td> 0</td>\n",
" <td> Costa Rica</td>\n",
" <td> 1</td>\n",
" <td> Costa Rica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> 25</td>\n",
" <td> Switzerland</td>\n",
" <td> 2</td>\n",
" <td> France</td>\n",
" <td> 5</td>\n",
" <td> France</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> 26</td>\n",
" <td> Honduras</td>\n",
" <td> 1</td>\n",
" <td> Ecuador</td>\n",
" <td> 2</td>\n",
" <td> Ecuador</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> 27</td>\n",
" <td> Argentina</td>\n",
" <td> 1</td>\n",
" <td> Iran</td>\n",
" <td> 0</td>\n",
" <td> Argentina</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> 28</td>\n",
" <td> Nigeria</td>\n",
" <td> 1</td>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> 0</td>\n",
" <td> Nigeria</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> 29</td>\n",
" <td> Germany</td>\n",
" <td> 2</td>\n",
" <td> Ghana</td>\n",
" <td> 2</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> 30</td>\n",
" <td> USA</td>\n",
" <td> 2</td>\n",
" <td> Portugal</td>\n",
" <td> 2</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> 31</td>\n",
" <td> Belgium</td>\n",
" <td> 1</td>\n",
" <td> Russia</td>\n",
" <td> 0</td>\n",
" <td> Belgium</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> 32</td>\n",
" <td> Korea Republic</td>\n",
" <td> 2</td>\n",
" <td> Algeria</td>\n",
" <td> 4</td>\n",
" <td> Algeria</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 98,
"text": [
" Match Number Home Team Home Team Goals Away Team \\\n",
"0 1 Brazil 3 Croatia \n",
"1 2 Mexico 1 Cameroon \n",
"2 3 Spain 1 Netherlands \n",
"3 4 Chile 3 Australia \n",
"4 5 Colombia 3 Greece \n",
"5 6 Ivory Coast 2 Japan \n",
"6 7 Uruguay 1 Costa Rica \n",
"7 8 England 1 Italy \n",
"8 9 Switzerland 2 Ecuador \n",
"9 10 France 3 Honduras \n",
"10 11 Argentina 2 Bosnia and Herzegovina \n",
"11 12 Iran 0 Nigeria \n",
"12 13 Germany 4 Portugal \n",
"13 14 Ghana 1 USA \n",
"14 15 Belgium 2 Algeria \n",
"15 16 Russia 1 Korea Republic \n",
"16 17 Brazil 0 Mexico \n",
"17 18 Cameroon 0 Croatia \n",
"18 19 Spain 0 Chile \n",
"19 20 Australia 2 Netherlands \n",
"20 21 Colombia 2 Ivory Coast \n",
"21 22 Japan 0 Greece \n",
"22 23 Uruguay 2 England \n",
"23 24 Italy 0 Costa Rica \n",
"24 25 Switzerland 2 France \n",
"25 26 Honduras 1 Ecuador \n",
"26 27 Argentina 1 Iran \n",
"27 28 Nigeria 1 Bosnia and Herzegovina \n",
"28 29 Germany 2 Ghana \n",
"29 30 USA 2 Portugal \n",
"30 31 Belgium 1 Russia \n",
"31 32 Korea Republic 2 Algeria \n",
"\n",
" Away Team Goals Winner \n",
"0 1 Brazil \n",
"1 0 Mexico \n",
"2 5 Netherlands \n",
"3 1 Chile \n",
"4 0 Colombia \n",
"5 1 Ivory Coast \n",
"6 3 Costa Rica \n",
"7 2 Italy \n",
"8 1 Switzerland \n",
"9 0 France \n",
"10 1 Argentina \n",
"11 0 Draw \n",
"12 0 Germany \n",
"13 2 USA \n",
"14 1 Belgium \n",
"15 1 Draw \n",
"16 0 Draw \n",
"17 4 Croatia \n",
"18 2 Chile \n",
"19 3 Netherlands \n",
"20 1 Colombia \n",
"21 0 Draw \n",
"22 1 Uruguay \n",
"23 1 Costa Rica \n",
"24 5 France \n",
"25 2 Ecuador \n",
"26 0 Argentina \n",
"27 0 Nigeria \n",
"28 2 Draw \n",
"29 2 Draw \n",
"30 0 Belgium \n",
"31 4 Algeria "
]
}
],
"prompt_number": 98
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Above we successfully converted a PrettyTable into a Pandas DataFrame!**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Just in case you were wondering why I didn't just use Pandas read_json method. It is because of the nested dictionaries in the json data that the dataframe didn't know what to do about them. A cell can contain zero-to-many values. So you'll see below, I have columns containing values enclosed in curly braces {}. I wanted to totally rely on in-memory data structure so that I didn't have to process files locally."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"\n",
"df = pd.read_json('http://worldcup.sfg.io/matches')\n",
"df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>away_team</th>\n",
" <th>away_team_events</th>\n",
" <th>away_team_tbd</th>\n",
" <th>datetime</th>\n",
" <th>home_team</th>\n",
" <th>home_team_events</th>\n",
" <th>home_team_tbd</th>\n",
" <th>location</th>\n",
" <th>match_number</th>\n",
" <th>status</th>\n",
" <th>winner</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> {'code': 'CRO', 'goals': 1, 'country': 'Croatia'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-12 20:00:00</td>\n",
" <td> {'code': 'BRA', 'goals': 3, 'country': 'Brazil'}</td>\n",
" <td> [{'type_of_event': 'goal-own', 'player': 'Marc...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 1</td>\n",
" <td> completed</td>\n",
" <td> Brazil</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> {'code': 'CMR', 'goals': 0, 'country': 'Camero...</td>\n",
" <td> [{'type_of_event': 'substitution-in halftime',...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-13 16:00:00</td>\n",
" <td> {'code': 'MEX', 'goals': 1, 'country': 'Mexico'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'H...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio das Dunas</td>\n",
" <td> 2</td>\n",
" <td> completed</td>\n",
" <td> Mexico</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> {'code': 'NED', 'goals': 5, 'country': 'Nether...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'D...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-13 19:00:00</td>\n",
" <td> {'code': 'ESP', 'goals': 1, 'country': 'Spain'}</td>\n",
" <td> [{'type_of_event': 'goal-penalty', 'player': '...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 3</td>\n",
" <td> completed</td>\n",
" <td> Netherlands</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> {'code': 'AUS', 'goals': 1, 'country': 'Austra...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Cahill',...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-13 22:00:00</td>\n",
" <td> {'code': 'CHI', 'goals': 3, 'country': 'Chile'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Alexis',...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pantanal</td>\n",
" <td> 4</td>\n",
" <td> completed</td>\n",
" <td> Chile</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> {'code': 'GRE', 'goals': 0, 'country': 'Greece'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'S...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-14 16:00:00</td>\n",
" <td> {'code': 'COL', 'goals': 3, 'country': 'Colomb...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'P. Armer...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 5</td>\n",
" <td> completed</td>\n",
" <td> Colombia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> {'code': 'JPN', 'goals': 1, 'country': 'Japan'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Honda', ...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-15 01:00:00</td>\n",
" <td> {'code': 'CIV', 'goals': 2, 'country': 'Ivory ...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'B...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pernambuco</td>\n",
" <td> 6</td>\n",
" <td> completed</td>\n",
" <td> Ivory Coast</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> {'code': 'CRC', 'goals': 3, 'country': 'Costa ...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Campbell...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-14 19:00:00</td>\n",
" <td> {'code': 'URU', 'goals': 1, 'country': 'Uruguay'}</td>\n",
" <td> [{'type_of_event': 'goal-penalty', 'player': '...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 7</td>\n",
" <td> completed</td>\n",
" <td> Costa Rica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> {'code': 'ITA', 'goals': 2, 'country': 'Italy'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Marchisi...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-14 22:00:00</td>\n",
" <td> {'code': 'ENG', 'goals': 1, 'country': 'England'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Sturridg...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Amazonia</td>\n",
" <td> 8</td>\n",
" <td> completed</td>\n",
" <td> Italy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> {'code': 'ECU', 'goals': 1, 'country': 'Ecuador'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'E. Valen...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-15 16:00:00</td>\n",
" <td> {'code': 'SUI', 'goals': 2, 'country': 'Switze...</td>\n",
" <td> [{'type_of_event': 'substitution-in halftime',...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 9</td>\n",
" <td> completed</td>\n",
" <td> Switzerland</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> {'code': 'HON', 'goals': 0, 'country': 'Hondur...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'W...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-15 19:00:00</td>\n",
" <td> {'code': 'FRA', 'goals': 3, 'country': 'France'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'E...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Beira-Rio</td>\n",
" <td> 10</td>\n",
" <td> completed</td>\n",
" <td> France</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> {'code': 'BIH', 'goals': 1, 'country': 'Bosnia...</td>\n",
" <td> [{'type_of_event': 'goal-own', 'player': 'Kola...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-15 22:00:00</td>\n",
" <td> {'code': 'ARG', 'goals': 2, 'country': 'Argent...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'R...</td>\n",
" <td> NaN</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 11</td>\n",
" <td> completed</td>\n",
" <td> Argentina</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> {'code': 'NGA', 'goals': 0, 'country': 'Nigeria'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-16 19:00:00</td>\n",
" <td> {'code': 'IRN', 'goals': 0, 'country': 'Iran'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td> Arena da Baixada</td>\n",
" <td> 12</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> {'code': 'POR', 'goals': 0, 'country': 'Portug...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'J...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-16 16:00:00</td>\n",
" <td> {'code': 'GER', 'goals': 4, 'country': 'Germany'}</td>\n",
" <td> [{'type_of_event': 'goal-penalty', 'player': '...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 13</td>\n",
" <td> completed</td>\n",
" <td> Germany</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> {'code': 'USA', 'goals': 2, 'country': 'USA'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Dempsey'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-16 22:00:00</td>\n",
" <td> {'code': 'GHA', 'goals': 1, 'country': 'Ghana'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'R...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio das Dunas</td>\n",
" <td> 14</td>\n",
" <td> completed</td>\n",
" <td> USA</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> {'code': 'ALG', 'goals': 1, 'country': 'Algeria'}</td>\n",
" <td> [{'type_of_event': 'goal-penalty', 'player': '...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-17 16:00:00</td>\n",
" <td> {'code': 'BEL', 'goals': 2, 'country': 'Belgium'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'V...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 15</td>\n",
" <td> completed</td>\n",
" <td> Belgium</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> {'code': 'KOR', 'goals': 1, 'country': 'Korea ...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'H...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-17 22:00:00</td>\n",
" <td> {'code': 'RUS', 'goals': 1, 'country': 'Russia'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'S...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pantanal</td>\n",
" <td> 16</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> {'code': 'MEX', 'goals': 0, 'country': 'Mexico'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'P...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-17 19:00:00</td>\n",
" <td> {'code': 'BRA', 'goals': 0, 'country': 'Brazil'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'R...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 17</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> {'code': 'CRO', 'goals': 4, 'country': 'Croatia'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Oli\u0107', '...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-18 22:00:00</td>\n",
" <td> {'code': 'CMR', 'goals': 0, 'country': 'Camero...</td>\n",
" <td> [{'type_of_event': 'red-card', 'player': 'Song...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Amazonia</td>\n",
" <td> 18</td>\n",
" <td> completed</td>\n",
" <td> Croatia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> {'code': 'CHI', 'goals': 2, 'country': 'Chile'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Vargas',...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-18 19:00:00</td>\n",
" <td> {'code': 'ESP', 'goals': 0, 'country': 'Spain'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'A...</td>\n",
" <td> NaN</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 19</td>\n",
" <td> completed</td>\n",
" <td> Chile</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> {'code': 'NED', 'goals': 3, 'country': 'Nether...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Robben',...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-18 16:00:00</td>\n",
" <td> {'code': 'AUS', 'goals': 2, 'country': 'Austra...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Cahill',...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Beira-Rio</td>\n",
" <td> 20</td>\n",
" <td> completed</td>\n",
" <td> Netherlands</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> {'code': 'CIV', 'goals': 1, 'country': 'Ivory ...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'Z...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-19 16:00:00</td>\n",
" <td> {'code': 'COL', 'goals': 2, 'country': 'Colomb...</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 21</td>\n",
" <td> completed</td>\n",
" <td> Colombia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> {'code': 'GRE', 'goals': 0, 'country': 'Greece'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'K...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-19 22:00:00</td>\n",
" <td> {'code': 'JPN', 'goals': 0, 'country': 'Japan'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'H...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio das Dunas</td>\n",
" <td> 22</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> {'code': 'ENG', 'goals': 1, 'country': 'England'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-19 19:00:00</td>\n",
" <td> {'code': 'URU', 'goals': 2, 'country': 'Uruguay'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'D...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 23</td>\n",
" <td> completed</td>\n",
" <td> Uruguay</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> {'code': 'CRC', 'goals': 1, 'country': 'Costa ...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Ruiz B.'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-20 16:00:00</td>\n",
" <td> {'code': 'ITA', 'goals': 0, 'country': 'Italy'}</td>\n",
" <td> [{'type_of_event': 'substitution-in halftime',...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pernambuco</td>\n",
" <td> 24</td>\n",
" <td> completed</td>\n",
" <td> Costa Rica</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> {'code': 'FRA', 'goals': 5, 'country': 'France'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Giroud',...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-20 19:00:00</td>\n",
" <td> {'code': 'SUI', 'goals': 2, 'country': 'Switze...</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 25</td>\n",
" <td> completed</td>\n",
" <td> France</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> {'code': 'ECU', 'goals': 2, 'country': 'Ecuador'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'E. Valen...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-20 22:00:00</td>\n",
" <td> {'code': 'HON', 'goals': 1, 'country': 'Hondur...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'B...</td>\n",
" <td> NaN</td>\n",
" <td> Arena da Baixada</td>\n",
" <td> 26</td>\n",
" <td> completed</td>\n",
" <td> Ecuador</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> {'code': 'IRN', 'goals': 0, 'country': 'Iran'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'J...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-21 16:00:00</td>\n",
" <td> {'code': 'ARG', 'goals': 1, 'country': 'Argent...</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 27</td>\n",
" <td> completed</td>\n",
" <td> Argentina</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> {'code': 'BIH', 'goals': 0, 'country': 'Bosnia...</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'M...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-21 22:00:00</td>\n",
" <td> {'code': 'NGA', 'goals': 1, 'country': 'Nigeria'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Odemwing...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pantanal</td>\n",
" <td> 28</td>\n",
" <td> completed</td>\n",
" <td> Nigeria</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> {'code': 'GHA', 'goals': 2, 'country': 'Ghana'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-21 19:00:00</td>\n",
" <td> {'code': 'GER', 'goals': 2, 'country': 'Germany'}</td>\n",
" <td> [{'type_of_event': 'substitution-in halftime',...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 29</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> {'code': 'POR', 'goals': 2, 'country': 'Portug...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Nani', '...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-22 22:00:00</td>\n",
" <td> {'code': 'USA', 'goals': 2, 'country': 'USA'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Jones', ...</td>\n",
" <td> NaN</td>\n",
" <td> Arena Amazonia</td>\n",
" <td> 30</td>\n",
" <td> completed</td>\n",
" <td> Draw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> {'code': 'RUS', 'goals': 0, 'country': 'Russia'}</td>\n",
" <td> [{'type_of_event': 'yellow-card', 'player': 'G...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-22 16:00:00</td>\n",
" <td> {'code': 'BEL', 'goals': 1, 'country': 'Belgium'}</td>\n",
" <td> [{'type_of_event': 'substitution-in', 'player'...</td>\n",
" <td> NaN</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 31</td>\n",
" <td> completed</td>\n",
" <td> Belgium</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> {'code': 'ALG', 'goals': 4, 'country': 'Algeria'}</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'Slimani'...</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-22 19:00:00</td>\n",
" <td> {'code': 'KOR', 'goals': 2, 'country': 'Korea ...</td>\n",
" <td> [{'type_of_event': 'goal', 'player': 'H M Son'...</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Beira-Rio</td>\n",
" <td> 32</td>\n",
" <td> completed</td>\n",
" <td> Algeria</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td> {'code': 'BRA', 'goals': 0, 'country': 'Brazil'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-23 20:00:00</td>\n",
" <td> {'code': 'CMR', 'goals': 0, 'country': 'Camero...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 33</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td> {'code': 'MEX', 'goals': 0, 'country': 'Mexico'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-23 20:00:00</td>\n",
" <td> {'code': 'CRO', 'goals': 0, 'country': 'Croatia'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pernambuco</td>\n",
" <td> 34</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td> {'code': 'ESP', 'goals': 0, 'country': 'Spain'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-23 16:00:00</td>\n",
" <td> {'code': 'AUS', 'goals': 0, 'country': 'Austra...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena da Baixada</td>\n",
" <td> 35</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td> {'code': 'CHI', 'goals': 0, 'country': 'Chile'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-23 16:00:00</td>\n",
" <td> {'code': 'NED', 'goals': 0, 'country': 'Nether...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 36</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td> {'code': 'COL', 'goals': 0, 'country': 'Colomb...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-24 20:00:00</td>\n",
" <td> {'code': 'JPN', 'goals': 0, 'country': 'Japan'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pantanal</td>\n",
" <td> 37</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td> {'code': 'CIV', 'goals': 0, 'country': 'Ivory ...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-24 20:00:00</td>\n",
" <td> {'code': 'GRE', 'goals': 0, 'country': 'Greece'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 38</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td> {'code': 'URU', 'goals': 0, 'country': 'Uruguay'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-24 16:00:00</td>\n",
" <td> {'code': 'ITA', 'goals': 0, 'country': 'Italy'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio das Dunas</td>\n",
" <td> 39</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td> {'code': 'ENG', 'goals': 0, 'country': 'England'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-24 16:00:00</td>\n",
" <td> {'code': 'CRC', 'goals': 0, 'country': 'Costa ...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 40</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td> {'code': 'SUI', 'goals': 0, 'country': 'Switze...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-25 20:00:00</td>\n",
" <td> {'code': 'HON', 'goals': 0, 'country': 'Hondur...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Amazonia</td>\n",
" <td> 41</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td> {'code': 'FRA', 'goals': 0, 'country': 'France'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-25 20:00:00</td>\n",
" <td> {'code': 'ECU', 'goals': 0, 'country': 'Ecuador'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 42</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td> {'code': 'ARG', 'goals': 0, 'country': 'Argent...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-25 16:00:00</td>\n",
" <td> {'code': 'NGA', 'goals': 0, 'country': 'Nigeria'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Beira-Rio</td>\n",
" <td> 43</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td> {'code': 'IRN', 'goals': 0, 'country': 'Iran'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-25 16:00:00</td>\n",
" <td> {'code': 'BIH', 'goals': 0, 'country': 'Bosnia...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 44</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td> {'code': 'GER', 'goals': 0, 'country': 'Germany'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-26 16:00:00</td>\n",
" <td> {'code': 'USA', 'goals': 0, 'country': 'USA'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Pernambuco</td>\n",
" <td> 45</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td> {'code': 'GHA', 'goals': 0, 'country': 'Ghana'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-26 16:00:00</td>\n",
" <td> {'code': 'POR', 'goals': 0, 'country': 'Portug...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 46</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td> {'code': 'BEL', 'goals': 0, 'country': 'Belgium'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-26 20:00:00</td>\n",
" <td> {'code': 'KOR', 'goals': 0, 'country': 'Korea ...</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 47</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td> {'code': 'RUS', 'goals': 0, 'country': 'Russia'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-26 20:00:00</td>\n",
" <td> {'code': 'ALG', 'goals': 0, 'country': 'Algeria'}</td>\n",
" <td> []</td>\n",
" <td> NaN</td>\n",
" <td> Arena da Baixada</td>\n",
" <td> 48</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> NaN</td>\n",
" <td>2014-06-28 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> NaN</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 49</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2D]</td>\n",
" <td>2014-06-28 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1C]</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 50</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2A]</td>\n",
" <td>2014-06-29 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1B]</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 51</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2C]</td>\n",
" <td>2014-06-29 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1D]</td>\n",
" <td> Arena Pernambuco</td>\n",
" <td> 52</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2F]</td>\n",
" <td>2014-06-30 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1E]</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 53</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2H]</td>\n",
" <td>2014-06-30 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1G]</td>\n",
" <td> Estadio Beira-Rio</td>\n",
" <td> 54</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2E]</td>\n",
" <td>2014-07-01 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1F]</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 55</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [2G]</td>\n",
" <td>2014-07-01 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [1H]</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 56</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W50]</td>\n",
" <td>2014-07-04 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W49]</td>\n",
" <td> Estadio Castelao</td>\n",
" <td> 57</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W54]</td>\n",
" <td>2014-07-04 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W53]</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 58</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W52]</td>\n",
" <td>2014-07-05 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W51]</td>\n",
" <td> Arena Fonte Nova</td>\n",
" <td> 59</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W56]</td>\n",
" <td>2014-07-05 16:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W55]</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 60</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W58]</td>\n",
" <td>2014-07-08 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W57]</td>\n",
" <td> Estadio Mineirao</td>\n",
" <td> 61</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W60]</td>\n",
" <td>2014-07-09 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W59]</td>\n",
" <td> Arena Corinthians</td>\n",
" <td> 62</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [L62]</td>\n",
" <td>2014-07-12 20:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [L61]</td>\n",
" <td> Estadio Nacional</td>\n",
" <td> 63</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td> [away_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W62]</td>\n",
" <td>2014-07-13 19:00:00</td>\n",
" <td> [home_team_tbd]</td>\n",
" <td> no events available for this match</td>\n",
" <td> [W61]</td>\n",
" <td> Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho</td>\n",
" <td> 64</td>\n",
" <td> future</td>\n",
" <td> None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 99,
"text": [
" away_team \\\n",
"0 {'code': 'CRO', 'goals': 1, 'country': 'Croatia'} \n",
"1 {'code': 'CMR', 'goals': 0, 'country': 'Camero... \n",
"2 {'code': 'NED', 'goals': 5, 'country': 'Nether... \n",
"3 {'code': 'AUS', 'goals': 1, 'country': 'Austra... \n",
"4 {'code': 'GRE', 'goals': 0, 'country': 'Greece'} \n",
"5 {'code': 'JPN', 'goals': 1, 'country': 'Japan'} \n",
"6 {'code': 'CRC', 'goals': 3, 'country': 'Costa ... \n",
"7 {'code': 'ITA', 'goals': 2, 'country': 'Italy'} \n",
"8 {'code': 'ECU', 'goals': 1, 'country': 'Ecuador'} \n",
"9 {'code': 'HON', 'goals': 0, 'country': 'Hondur... \n",
"10 {'code': 'BIH', 'goals': 1, 'country': 'Bosnia... \n",
"11 {'code': 'NGA', 'goals': 0, 'country': 'Nigeria'} \n",
"12 {'code': 'POR', 'goals': 0, 'country': 'Portug... \n",
"13 {'code': 'USA', 'goals': 2, 'country': 'USA'} \n",
"14 {'code': 'ALG', 'goals': 1, 'country': 'Algeria'} \n",
"15 {'code': 'KOR', 'goals': 1, 'country': 'Korea ... \n",
"16 {'code': 'MEX', 'goals': 0, 'country': 'Mexico'} \n",
"17 {'code': 'CRO', 'goals': 4, 'country': 'Croatia'} \n",
"18 {'code': 'CHI', 'goals': 2, 'country': 'Chile'} \n",
"19 {'code': 'NED', 'goals': 3, 'country': 'Nether... \n",
"20 {'code': 'CIV', 'goals': 1, 'country': 'Ivory ... \n",
"21 {'code': 'GRE', 'goals': 0, 'country': 'Greece'} \n",
"22 {'code': 'ENG', 'goals': 1, 'country': 'England'} \n",
"23 {'code': 'CRC', 'goals': 1, 'country': 'Costa ... \n",
"24 {'code': 'FRA', 'goals': 5, 'country': 'France'} \n",
"25 {'code': 'ECU', 'goals': 2, 'country': 'Ecuador'} \n",
"26 {'code': 'IRN', 'goals': 0, 'country': 'Iran'} \n",
"27 {'code': 'BIH', 'goals': 0, 'country': 'Bosnia... \n",
"28 {'code': 'GHA', 'goals': 2, 'country': 'Ghana'} \n",
"29 {'code': 'POR', 'goals': 2, 'country': 'Portug... \n",
"30 {'code': 'RUS', 'goals': 0, 'country': 'Russia'} \n",
"31 {'code': 'ALG', 'goals': 4, 'country': 'Algeria'} \n",
"32 {'code': 'BRA', 'goals': 0, 'country': 'Brazil'} \n",
"33 {'code': 'MEX', 'goals': 0, 'country': 'Mexico'} \n",
"34 {'code': 'ESP', 'goals': 0, 'country': 'Spain'} \n",
"35 {'code': 'CHI', 'goals': 0, 'country': 'Chile'} \n",
"36 {'code': 'COL', 'goals': 0, 'country': 'Colomb... \n",
"37 {'code': 'CIV', 'goals': 0, 'country': 'Ivory ... \n",
"38 {'code': 'URU', 'goals': 0, 'country': 'Uruguay'} \n",
"39 {'code': 'ENG', 'goals': 0, 'country': 'England'} \n",
"40 {'code': 'SUI', 'goals': 0, 'country': 'Switze... \n",
"41 {'code': 'FRA', 'goals': 0, 'country': 'France'} \n",
"42 {'code': 'ARG', 'goals': 0, 'country': 'Argent... \n",
"43 {'code': 'IRN', 'goals': 0, 'country': 'Iran'} \n",
"44 {'code': 'GER', 'goals': 0, 'country': 'Germany'} \n",
"45 {'code': 'GHA', 'goals': 0, 'country': 'Ghana'} \n",
"46 {'code': 'BEL', 'goals': 0, 'country': 'Belgium'} \n",
"47 {'code': 'RUS', 'goals': 0, 'country': 'Russia'} \n",
"48 [away_team_tbd] \n",
"49 [away_team_tbd] \n",
"50 [away_team_tbd] \n",
"51 [away_team_tbd] \n",
"52 [away_team_tbd] \n",
"53 [away_team_tbd] \n",
"54 [away_team_tbd] \n",
"55 [away_team_tbd] \n",
"56 [away_team_tbd] \n",
"57 [away_team_tbd] \n",
"58 [away_team_tbd] \n",
"59 [away_team_tbd] \n",
"60 [away_team_tbd] \n",
"61 [away_team_tbd] \n",
"62 [away_team_tbd] \n",
"63 [away_team_tbd] \n",
"\n",
" away_team_events away_team_tbd \\\n",
"0 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"1 [{'type_of_event': 'substitution-in halftime',... NaN \n",
"2 [{'type_of_event': 'yellow-card', 'player': 'D... NaN \n",
"3 [{'type_of_event': 'goal', 'player': 'Cahill',... NaN \n",
"4 [{'type_of_event': 'yellow-card', 'player': 'S... NaN \n",
"5 [{'type_of_event': 'goal', 'player': 'Honda', ... NaN \n",
"6 [{'type_of_event': 'goal', 'player': 'Campbell... NaN \n",
"7 [{'type_of_event': 'goal', 'player': 'Marchisi... NaN \n",
"8 [{'type_of_event': 'goal', 'player': 'E. Valen... NaN \n",
"9 [{'type_of_event': 'yellow-card', 'player': 'W... NaN \n",
"10 [{'type_of_event': 'goal-own', 'player': 'Kola... NaN \n",
"11 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"12 [{'type_of_event': 'yellow-card', 'player': 'J... NaN \n",
"13 [{'type_of_event': 'goal', 'player': 'Dempsey'... NaN \n",
"14 [{'type_of_event': 'goal-penalty', 'player': '... NaN \n",
"15 [{'type_of_event': 'yellow-card', 'player': 'H... NaN \n",
"16 [{'type_of_event': 'yellow-card', 'player': 'P... NaN \n",
"17 [{'type_of_event': 'goal', 'player': 'Oli\u0107', '... NaN \n",
"18 [{'type_of_event': 'goal', 'player': 'Vargas',... NaN \n",
"19 [{'type_of_event': 'goal', 'player': 'Robben',... NaN \n",
"20 [{'type_of_event': 'yellow-card', 'player': 'Z... NaN \n",
"21 [{'type_of_event': 'yellow-card', 'player': 'K... NaN \n",
"22 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"23 [{'type_of_event': 'goal', 'player': 'Ruiz B.'... NaN \n",
"24 [{'type_of_event': 'goal', 'player': 'Giroud',... NaN \n",
"25 [{'type_of_event': 'goal', 'player': 'E. Valen... NaN \n",
"26 [{'type_of_event': 'yellow-card', 'player': 'J... NaN \n",
"27 [{'type_of_event': 'yellow-card', 'player': 'M... NaN \n",
"28 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"29 [{'type_of_event': 'goal', 'player': 'Nani', '... NaN \n",
"30 [{'type_of_event': 'yellow-card', 'player': 'G... NaN \n",
"31 [{'type_of_event': 'goal', 'player': 'Slimani'... NaN \n",
"32 [] NaN \n",
"33 [] NaN \n",
"34 [] NaN \n",
"35 [] NaN \n",
"36 [] NaN \n",
"37 [] NaN \n",
"38 [] NaN \n",
"39 [] NaN \n",
"40 [] NaN \n",
"41 [] NaN \n",
"42 [] NaN \n",
"43 [] NaN \n",
"44 [] NaN \n",
"45 [] NaN \n",
"46 [] NaN \n",
"47 [] NaN \n",
"48 no events available for this match NaN \n",
"49 no events available for this match [2D] \n",
"50 no events available for this match [2A] \n",
"51 no events available for this match [2C] \n",
"52 no events available for this match [2F] \n",
"53 no events available for this match [2H] \n",
"54 no events available for this match [2E] \n",
"55 no events available for this match [2G] \n",
"56 no events available for this match [W50] \n",
"57 no events available for this match [W54] \n",
"58 no events available for this match [W52] \n",
"59 no events available for this match [W56] \n",
"60 no events available for this match [W58] \n",
"61 no events available for this match [W60] \n",
"62 no events available for this match [L62] \n",
"63 no events available for this match [W62] \n",
"\n",
" datetime home_team \\\n",
"0 2014-06-12 20:00:00 {'code': 'BRA', 'goals': 3, 'country': 'Brazil'} \n",
"1 2014-06-13 16:00:00 {'code': 'MEX', 'goals': 1, 'country': 'Mexico'} \n",
"2 2014-06-13 19:00:00 {'code': 'ESP', 'goals': 1, 'country': 'Spain'} \n",
"3 2014-06-13 22:00:00 {'code': 'CHI', 'goals': 3, 'country': 'Chile'} \n",
"4 2014-06-14 16:00:00 {'code': 'COL', 'goals': 3, 'country': 'Colomb... \n",
"5 2014-06-15 01:00:00 {'code': 'CIV', 'goals': 2, 'country': 'Ivory ... \n",
"6 2014-06-14 19:00:00 {'code': 'URU', 'goals': 1, 'country': 'Uruguay'} \n",
"7 2014-06-14 22:00:00 {'code': 'ENG', 'goals': 1, 'country': 'England'} \n",
"8 2014-06-15 16:00:00 {'code': 'SUI', 'goals': 2, 'country': 'Switze... \n",
"9 2014-06-15 19:00:00 {'code': 'FRA', 'goals': 3, 'country': 'France'} \n",
"10 2014-06-15 22:00:00 {'code': 'ARG', 'goals': 2, 'country': 'Argent... \n",
"11 2014-06-16 19:00:00 {'code': 'IRN', 'goals': 0, 'country': 'Iran'} \n",
"12 2014-06-16 16:00:00 {'code': 'GER', 'goals': 4, 'country': 'Germany'} \n",
"13 2014-06-16 22:00:00 {'code': 'GHA', 'goals': 1, 'country': 'Ghana'} \n",
"14 2014-06-17 16:00:00 {'code': 'BEL', 'goals': 2, 'country': 'Belgium'} \n",
"15 2014-06-17 22:00:00 {'code': 'RUS', 'goals': 1, 'country': 'Russia'} \n",
"16 2014-06-17 19:00:00 {'code': 'BRA', 'goals': 0, 'country': 'Brazil'} \n",
"17 2014-06-18 22:00:00 {'code': 'CMR', 'goals': 0, 'country': 'Camero... \n",
"18 2014-06-18 19:00:00 {'code': 'ESP', 'goals': 0, 'country': 'Spain'} \n",
"19 2014-06-18 16:00:00 {'code': 'AUS', 'goals': 2, 'country': 'Austra... \n",
"20 2014-06-19 16:00:00 {'code': 'COL', 'goals': 2, 'country': 'Colomb... \n",
"21 2014-06-19 22:00:00 {'code': 'JPN', 'goals': 0, 'country': 'Japan'} \n",
"22 2014-06-19 19:00:00 {'code': 'URU', 'goals': 2, 'country': 'Uruguay'} \n",
"23 2014-06-20 16:00:00 {'code': 'ITA', 'goals': 0, 'country': 'Italy'} \n",
"24 2014-06-20 19:00:00 {'code': 'SUI', 'goals': 2, 'country': 'Switze... \n",
"25 2014-06-20 22:00:00 {'code': 'HON', 'goals': 1, 'country': 'Hondur... \n",
"26 2014-06-21 16:00:00 {'code': 'ARG', 'goals': 1, 'country': 'Argent... \n",
"27 2014-06-21 22:00:00 {'code': 'NGA', 'goals': 1, 'country': 'Nigeria'} \n",
"28 2014-06-21 19:00:00 {'code': 'GER', 'goals': 2, 'country': 'Germany'} \n",
"29 2014-06-22 22:00:00 {'code': 'USA', 'goals': 2, 'country': 'USA'} \n",
"30 2014-06-22 16:00:00 {'code': 'BEL', 'goals': 1, 'country': 'Belgium'} \n",
"31 2014-06-22 19:00:00 {'code': 'KOR', 'goals': 2, 'country': 'Korea ... \n",
"32 2014-06-23 20:00:00 {'code': 'CMR', 'goals': 0, 'country': 'Camero... \n",
"33 2014-06-23 20:00:00 {'code': 'CRO', 'goals': 0, 'country': 'Croatia'} \n",
"34 2014-06-23 16:00:00 {'code': 'AUS', 'goals': 0, 'country': 'Austra... \n",
"35 2014-06-23 16:00:00 {'code': 'NED', 'goals': 0, 'country': 'Nether... \n",
"36 2014-06-24 20:00:00 {'code': 'JPN', 'goals': 0, 'country': 'Japan'} \n",
"37 2014-06-24 20:00:00 {'code': 'GRE', 'goals': 0, 'country': 'Greece'} \n",
"38 2014-06-24 16:00:00 {'code': 'ITA', 'goals': 0, 'country': 'Italy'} \n",
"39 2014-06-24 16:00:00 {'code': 'CRC', 'goals': 0, 'country': 'Costa ... \n",
"40 2014-06-25 20:00:00 {'code': 'HON', 'goals': 0, 'country': 'Hondur... \n",
"41 2014-06-25 20:00:00 {'code': 'ECU', 'goals': 0, 'country': 'Ecuador'} \n",
"42 2014-06-25 16:00:00 {'code': 'NGA', 'goals': 0, 'country': 'Nigeria'} \n",
"43 2014-06-25 16:00:00 {'code': 'BIH', 'goals': 0, 'country': 'Bosnia... \n",
"44 2014-06-26 16:00:00 {'code': 'USA', 'goals': 0, 'country': 'USA'} \n",
"45 2014-06-26 16:00:00 {'code': 'POR', 'goals': 0, 'country': 'Portug... \n",
"46 2014-06-26 20:00:00 {'code': 'KOR', 'goals': 0, 'country': 'Korea ... \n",
"47 2014-06-26 20:00:00 {'code': 'ALG', 'goals': 0, 'country': 'Algeria'} \n",
"48 2014-06-28 16:00:00 [home_team_tbd] \n",
"49 2014-06-28 20:00:00 [home_team_tbd] \n",
"50 2014-06-29 16:00:00 [home_team_tbd] \n",
"51 2014-06-29 20:00:00 [home_team_tbd] \n",
"52 2014-06-30 16:00:00 [home_team_tbd] \n",
"53 2014-06-30 20:00:00 [home_team_tbd] \n",
"54 2014-07-01 16:00:00 [home_team_tbd] \n",
"55 2014-07-01 20:00:00 [home_team_tbd] \n",
"56 2014-07-04 20:00:00 [home_team_tbd] \n",
"57 2014-07-04 16:00:00 [home_team_tbd] \n",
"58 2014-07-05 20:00:00 [home_team_tbd] \n",
"59 2014-07-05 16:00:00 [home_team_tbd] \n",
"60 2014-07-08 20:00:00 [home_team_tbd] \n",
"61 2014-07-09 20:00:00 [home_team_tbd] \n",
"62 2014-07-12 20:00:00 [home_team_tbd] \n",
"63 2014-07-13 19:00:00 [home_team_tbd] \n",
"\n",
" home_team_events home_team_tbd \\\n",
"0 [{'type_of_event': 'goal-own', 'player': 'Marc... NaN \n",
"1 [{'type_of_event': 'yellow-card', 'player': 'H... NaN \n",
"2 [{'type_of_event': 'goal-penalty', 'player': '... NaN \n",
"3 [{'type_of_event': 'goal', 'player': 'Alexis',... NaN \n",
"4 [{'type_of_event': 'goal', 'player': 'P. Armer... NaN \n",
"5 [{'type_of_event': 'yellow-card', 'player': 'B... NaN \n",
"6 [{'type_of_event': 'goal-penalty', 'player': '... NaN \n",
"7 [{'type_of_event': 'goal', 'player': 'Sturridg... NaN \n",
"8 [{'type_of_event': 'substitution-in halftime',... NaN \n",
"9 [{'type_of_event': 'yellow-card', 'player': 'E... NaN \n",
"10 [{'type_of_event': 'yellow-card', 'player': 'R... NaN \n",
"11 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"12 [{'type_of_event': 'goal-penalty', 'player': '... NaN \n",
"13 [{'type_of_event': 'yellow-card', 'player': 'R... NaN \n",
"14 [{'type_of_event': 'yellow-card', 'player': 'V... NaN \n",
"15 [{'type_of_event': 'yellow-card', 'player': 'S... NaN \n",
"16 [{'type_of_event': 'yellow-card', 'player': 'R... NaN \n",
"17 [{'type_of_event': 'red-card', 'player': 'Song... NaN \n",
"18 [{'type_of_event': 'yellow-card', 'player': 'A... NaN \n",
"19 [{'type_of_event': 'goal', 'player': 'Cahill',... NaN \n",
"20 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"21 [{'type_of_event': 'yellow-card', 'player': 'H... NaN \n",
"22 [{'type_of_event': 'yellow-card', 'player': 'D... NaN \n",
"23 [{'type_of_event': 'substitution-in halftime',... NaN \n",
"24 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"25 [{'type_of_event': 'yellow-card', 'player': 'B... NaN \n",
"26 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"27 [{'type_of_event': 'goal', 'player': 'Odemwing... NaN \n",
"28 [{'type_of_event': 'substitution-in halftime',... NaN \n",
"29 [{'type_of_event': 'goal', 'player': 'Jones', ... NaN \n",
"30 [{'type_of_event': 'substitution-in', 'player'... NaN \n",
"31 [{'type_of_event': 'goal', 'player': 'H M Son'... NaN \n",
"32 [] NaN \n",
"33 [] NaN \n",
"34 [] NaN \n",
"35 [] NaN \n",
"36 [] NaN \n",
"37 [] NaN \n",
"38 [] NaN \n",
"39 [] NaN \n",
"40 [] NaN \n",
"41 [] NaN \n",
"42 [] NaN \n",
"43 [] NaN \n",
"44 [] NaN \n",
"45 [] NaN \n",
"46 [] NaN \n",
"47 [] NaN \n",
"48 no events available for this match NaN \n",
"49 no events available for this match [1C] \n",
"50 no events available for this match [1B] \n",
"51 no events available for this match [1D] \n",
"52 no events available for this match [1E] \n",
"53 no events available for this match [1G] \n",
"54 no events available for this match [1F] \n",
"55 no events available for this match [1H] \n",
"56 no events available for this match [W49] \n",
"57 no events available for this match [W53] \n",
"58 no events available for this match [W51] \n",
"59 no events available for this match [W55] \n",
"60 no events available for this match [W57] \n",
"61 no events available for this match [W59] \n",
"62 no events available for this match [L61] \n",
"63 no events available for this match [W61] \n",
"\n",
" location match_number status \\\n",
"0 Arena Corinthians 1 completed \n",
"1 Estadio das Dunas 2 completed \n",
"2 Arena Fonte Nova 3 completed \n",
"3 Arena Pantanal 4 completed \n",
"4 Estadio Mineirao 5 completed \n",
"5 Arena Pernambuco 6 completed \n",
"6 Estadio Castelao 7 completed \n",
"7 Arena Amazonia 8 completed \n",
"8 Estadio Nacional 9 completed \n",
"9 Estadio Beira-Rio 10 completed \n",
"10 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 11 completed \n",
"11 Arena da Baixada 12 completed \n",
"12 Arena Fonte Nova 13 completed \n",
"13 Estadio das Dunas 14 completed \n",
"14 Estadio Mineirao 15 completed \n",
"15 Arena Pantanal 16 completed \n",
"16 Estadio Castelao 17 completed \n",
"17 Arena Amazonia 18 completed \n",
"18 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 19 completed \n",
"19 Estadio Beira-Rio 20 completed \n",
"20 Estadio Nacional 21 completed \n",
"21 Estadio das Dunas 22 completed \n",
"22 Arena Corinthians 23 completed \n",
"23 Arena Pernambuco 24 completed \n",
"24 Arena Fonte Nova 25 completed \n",
"25 Arena da Baixada 26 completed \n",
"26 Estadio Mineirao 27 completed \n",
"27 Arena Pantanal 28 completed \n",
"28 Estadio Castelao 29 completed \n",
"29 Arena Amazonia 30 completed \n",
"30 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 31 completed \n",
"31 Estadio Beira-Rio 32 completed \n",
"32 Estadio Nacional 33 future \n",
"33 Arena Pernambuco 34 future \n",
"34 Arena da Baixada 35 future \n",
"35 Arena Corinthians 36 future \n",
"36 Arena Pantanal 37 future \n",
"37 Estadio Castelao 38 future \n",
"38 Estadio das Dunas 39 future \n",
"39 Estadio Mineirao 40 future \n",
"40 Arena Amazonia 41 future \n",
"41 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 42 future \n",
"42 Estadio Beira-Rio 43 future \n",
"43 Arena Fonte Nova 44 future \n",
"44 Arena Pernambuco 45 future \n",
"45 Estadio Nacional 46 future \n",
"46 Arena Corinthians 47 future \n",
"47 Arena da Baixada 48 future \n",
"48 Estadio Mineirao 49 future \n",
"49 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 50 future \n",
"50 Estadio Castelao 51 future \n",
"51 Arena Pernambuco 52 future \n",
"52 Estadio Nacional 53 future \n",
"53 Estadio Beira-Rio 54 future \n",
"54 Arena Corinthians 55 future \n",
"55 Arena Fonte Nova 56 future \n",
"56 Estadio Castelao 57 future \n",
"57 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 58 future \n",
"58 Arena Fonte Nova 59 future \n",
"59 Estadio Nacional 60 future \n",
"60 Estadio Mineirao 61 future \n",
"61 Arena Corinthians 62 future \n",
"62 Estadio Nacional 63 future \n",
"63 Maracan\u00e3 - Est\u00e1dio Jornalista M\u00e1rio Filho 64 future \n",
"\n",
" winner \n",
"0 Brazil \n",
"1 Mexico \n",
"2 Netherlands \n",
"3 Chile \n",
"4 Colombia \n",
"5 Ivory Coast \n",
"6 Costa Rica \n",
"7 Italy \n",
"8 Switzerland \n",
"9 France \n",
"10 Argentina \n",
"11 Draw \n",
"12 Germany \n",
"13 USA \n",
"14 Belgium \n",
"15 Draw \n",
"16 Draw \n",
"17 Croatia \n",
"18 Chile \n",
"19 Netherlands \n",
"20 Colombia \n",
"21 Draw \n",
"22 Uruguay \n",
"23 Costa Rica \n",
"24 France \n",
"25 Ecuador \n",
"26 Argentina \n",
"27 Nigeria \n",
"28 Draw \n",
"29 Draw \n",
"30 Belgium \n",
"31 Algeria \n",
"32 None \n",
"33 None \n",
"34 None \n",
"35 None \n",
"36 None \n",
"37 None \n",
"38 None \n",
"39 None \n",
"40 None \n",
"41 None \n",
"42 None \n",
"43 None \n",
"44 None \n",
"45 None \n",
"46 None \n",
"47 None \n",
"48 None \n",
"49 None \n",
"50 None \n",
"51 None \n",
"52 None \n",
"53 None \n",
"54 None \n",
"55 None \n",
"56 None \n",
"57 None \n",
"58 None \n",
"59 None \n",
"60 None \n",
"61 None \n",
"62 None \n",
"63 None "
]
}
],
"prompt_number": 99
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='summary'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Getting FIFA 2014 Goal Summary Counts Using Python</h1></center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sections"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- [Top Goals Scored By Team-Player](#player)\n",
"- [Top Goals Scored By Team/Country](#top_country)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Just setting some print options**"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"pd.set_option('notebook_repr_html',True)\n",
"pd.set_option('max_columns',15)\n",
"pd.set_option('max_rows',100)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Getting all match events of completed matches"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"import csv\n",
"from io import StringIO\n",
"\n",
"json_data = requests.get('http://worldcup.sfg.io/matches')\n",
"matches = json_data.json()\n",
"\n",
"complete_events = PrettyTable([\"Match Number\", \"Team\", \"Player\", \"Time\", \"Type Of Event\"])\n",
"\n",
"for match in matches:\n",
" if match['status'] == 'completed':\n",
" home_team = match['home_team']['country']\n",
" away_team = match['away_team']['country']\n",
" match_number = match['match_number']\n",
" for home_event in match['home_team_events']:\n",
" player = home_event['player']\n",
" time = home_event['time']\n",
" event = home_event['type_of_event']\n",
" complete_events.add_row([match_number, home_team, player, time, event])\n",
" \n",
" for away_event in match['away_team_events']:\n",
" player = away_event['player']\n",
" time = away_event['time']\n",
" event = away_event['type_of_event']\n",
" complete_events.add_row([match_number, away_team, player, time, event])\n",
"\n",
"#print(complete_events)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"column_names = complete_events._get_field_names()\n",
"row_data = complete_events._rows\n",
"\n",
"output = StringIO()\n",
"\n",
"writer = csv.writer(output)\n",
"writer.writerows([column_names])\n",
"writer.writerows(row_data)\n",
"events = output.getvalue()\n",
"output.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Let's see what the match events data set looks like"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv(StringIO(events))\n",
"df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Match Number</th>\n",
" <th>Team</th>\n",
" <th>Player</th>\n",
" <th>Time</th>\n",
" <th>Type Of Event</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Marcelo</td>\n",
" <td> 11</td>\n",
" <td> goal-own</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Neymar Jr</td>\n",
" <td> 27</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Neymar Jr</td>\n",
" <td> 29</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Paulinho</td>\n",
" <td> 63</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Hernanes</td>\n",
" <td> 63</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Hulk</td>\n",
" <td> 68</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Bernard</td>\n",
" <td> 68</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Neymar Jr</td>\n",
" <td> 71</td>\n",
" <td> goal-penalty</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> L Gustavo</td>\n",
" <td> 88</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Neymar Jr</td>\n",
" <td> 88</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Ramires</td>\n",
" <td> 88</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11 </th>\n",
" <td> 1</td>\n",
" <td> Brazil</td>\n",
" <td> Oscar</td>\n",
" <td> 901</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12 </th>\n",
" <td> 1</td>\n",
" <td> Croatia</td>\n",
" <td> Brozovi\u0106</td>\n",
" <td> 61</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13 </th>\n",
" <td> 1</td>\n",
" <td> Croatia</td>\n",
" <td> Corluka</td>\n",
" <td> 66</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14 </th>\n",
" <td> 1</td>\n",
" <td> Croatia</td>\n",
" <td> Lovren</td>\n",
" <td> 69</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15 </th>\n",
" <td> 1</td>\n",
" <td> Croatia</td>\n",
" <td> Rebi\u0106</td>\n",
" <td> 78</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> H Moreno</td>\n",
" <td> 57</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> O Peralta</td>\n",
" <td> 61</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> M Fabian</td>\n",
" <td> 69</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> A Guardado</td>\n",
" <td> 69</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> J Hernandez</td>\n",
" <td> 74</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> O Peralta</td>\n",
" <td> 74</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> C Salcido</td>\n",
" <td> 901</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23 </th>\n",
" <td> 2</td>\n",
" <td> Mexico</td>\n",
" <td> H Herrera</td>\n",
" <td> 901</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24 </th>\n",
" <td> 2</td>\n",
" <td> Cameroon</td>\n",
" <td> Nounkeu</td>\n",
" <td> 46</td>\n",
" <td> substitution-in halftime</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25 </th>\n",
" <td> 2</td>\n",
" <td> Cameroon</td>\n",
" <td> Nounkeu</td>\n",
" <td> 77</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26 </th>\n",
" <td> 2</td>\n",
" <td> Cameroon</td>\n",
" <td> Webo</td>\n",
" <td> 79</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Alonso</td>\n",
" <td> 27</td>\n",
" <td> goal-penalty</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Alonso</td>\n",
" <td> 62</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Pedro</td>\n",
" <td> 62</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Diego Costa</td>\n",
" <td> 62</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Torres</td>\n",
" <td> 62</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> I. Casillas</td>\n",
" <td> 65</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> F\u00e1bregas</td>\n",
" <td> 78</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34 </th>\n",
" <td> 3</td>\n",
" <td> Spain</td>\n",
" <td> Silva</td>\n",
" <td> 78</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> De Guzman</td>\n",
" <td> 25</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> De Vrij</td>\n",
" <td> 41</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> V. Persie</td>\n",
" <td> 44</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> Robben</td>\n",
" <td> 53</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> Wijnaldum</td>\n",
" <td> 62</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> De Vrij</td>\n",
" <td> 65</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> V. Persie</td>\n",
" <td> 66</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> V. Persie</td>\n",
" <td> 72</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> Veltman</td>\n",
" <td> 77</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> Lens</td>\n",
" <td> 79</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45 </th>\n",
" <td> 3</td>\n",
" <td> Netherlands</td>\n",
" <td> Robben</td>\n",
" <td> 80</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46 </th>\n",
" <td> 4</td>\n",
" <td> Chile</td>\n",
" <td> Alexis</td>\n",
" <td> 12</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47 </th>\n",
" <td> 4</td>\n",
" <td> Chile</td>\n",
" <td> Valdivia</td>\n",
" <td> 14</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48 </th>\n",
" <td> 4</td>\n",
" <td> Chile</td>\n",
" <td> Vidal</td>\n",
" <td> 60</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49 </th>\n",
" <td> 4</td>\n",
" <td> Chile</td>\n",
" <td> Guti\u00e9rrez</td>\n",
" <td> 60</td>\n",
" <td> substitution-in</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>472</th>\n",
" <td> 33</td>\n",
" <td> Brazil</td>\n",
" <td> Fernandinho</td>\n",
" <td> 46</td>\n",
" <td> substitution-in halftime</td>\n",
" </tr>\n",
" <tr>\n",
" <th>473</th>\n",
" <td> 33</td>\n",
" <td> Brazil</td>\n",
" <td> Fred</td>\n",
" <td> 49</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>474</th>\n",
" <td> 33</td>\n",
" <td> Brazil</td>\n",
" <td> Ramires</td>\n",
" <td> 63</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>475</th>\n",
" <td> 33</td>\n",
" <td> Brazil</td>\n",
" <td> Willian</td>\n",
" <td> 71</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>476</th>\n",
" <td> 33</td>\n",
" <td> Brazil</td>\n",
" <td> Fernandinho</td>\n",
" <td> 84</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>477</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Rakiti\u0107</td>\n",
" <td> 9</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>478</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Kova\u010di\u0107</td>\n",
" <td> 58</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>479</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Vrsaljko</td>\n",
" <td> 58</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>480</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Oli\u0107</td>\n",
" <td> 69</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>481</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Rebi\u0107</td>\n",
" <td> 69</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>482</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Jelavi\u0107</td>\n",
" <td> 74</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>483</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Pranji\u0107</td>\n",
" <td> 74</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>484</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Peri\u0161i\u0107</td>\n",
" <td> 87</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>485</th>\n",
" <td> 34</td>\n",
" <td> Croatia</td>\n",
" <td> Rebi\u0107</td>\n",
" <td> 89</td>\n",
" <td> red-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>486</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> R Marquez</td>\n",
" <td> 39</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>487</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> J Hernandez</td>\n",
" <td> 62</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>488</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> J Vazquez</td>\n",
" <td> 66</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>489</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> R Marquez</td>\n",
" <td> 72</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>490</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> A Guardado</td>\n",
" <td> 75</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>491</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> C Pe\u00d1a</td>\n",
" <td> 79</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> J Hernandez</td>\n",
" <td> 82</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>493</th>\n",
" <td> 34</td>\n",
" <td> Mexico</td>\n",
" <td> M Fabian</td>\n",
" <td> 84</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>494</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Halloran</td>\n",
" <td> 46</td>\n",
" <td> substitution-in halftime</td>\n",
" </tr>\n",
" <tr>\n",
" <th>495</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Taggart</td>\n",
" <td> 46</td>\n",
" <td> substitution-out halftime</td>\n",
" </tr>\n",
" <tr>\n",
" <th>496</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Troisi</td>\n",
" <td> 61</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>497</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Oar</td>\n",
" <td> 61</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>498</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Bresciano</td>\n",
" <td> 72</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>499</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Bozanic</td>\n",
" <td> 72</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>500</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Spiranovic</td>\n",
" <td> 88</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>501</th>\n",
" <td> 35</td>\n",
" <td> Australia</td>\n",
" <td> Jedinak</td>\n",
" <td> 902</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>502</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> David Villa</td>\n",
" <td> 36</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>503</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> Mata</td>\n",
" <td> 56</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>504</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> Ramos</td>\n",
" <td> 62</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>505</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> F\u00c1bregas</td>\n",
" <td> 68</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>506</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> Torres</td>\n",
" <td> 69</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>507</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> Mata</td>\n",
" <td> 82</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>508</th>\n",
" <td> 35</td>\n",
" <td> Spain</td>\n",
" <td> Silva</td>\n",
" <td> 83</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>509</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Blind</td>\n",
" <td> 64</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>510</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Lens</td>\n",
" <td> 69</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>511</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Memphis</td>\n",
" <td> 69</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>512</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Sneijder</td>\n",
" <td> 75</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>513</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Fer</td>\n",
" <td> 75</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>514</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Fer</td>\n",
" <td> 77</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>515</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Kuyt</td>\n",
" <td> 89</td>\n",
" <td> substitution-out</td>\n",
" </tr>\n",
" <tr>\n",
" <th>516</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Kongolo</td>\n",
" <td> 89</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>517</th>\n",
" <td> 36</td>\n",
" <td> Netherlands</td>\n",
" <td> Memphis</td>\n",
" <td> 902</td>\n",
" <td> goal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>518</th>\n",
" <td> 36</td>\n",
" <td> Chile</td>\n",
" <td> Silva</td>\n",
" <td> 25</td>\n",
" <td> yellow-card</td>\n",
" </tr>\n",
" <tr>\n",
" <th>519</th>\n",
" <td> 36</td>\n",
" <td> Chile</td>\n",
" <td> Beausejour</td>\n",
" <td> 46</td>\n",
" <td> substitution-in halftime</td>\n",
" </tr>\n",
" <tr>\n",
" <th>520</th>\n",
" <td> 36</td>\n",
" <td> Chile</td>\n",
" <td> Valdivia</td>\n",
" <td> 70</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" <tr>\n",
" <th>521</th>\n",
" <td> 36</td>\n",
" <td> Chile</td>\n",
" <td> Pinilla</td>\n",
" <td> 81</td>\n",
" <td> substitution-in</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>522 rows \u00d7 5 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
" Match Number Team Player Time Type Of Event\n",
"0 1 Brazil Marcelo 11 goal-own\n",
"1 1 Brazil Neymar Jr 27 yellow-card\n",
"2 1 Brazil Neymar Jr 29 goal\n",
"3 1 Brazil Paulinho 63 substitution-out\n",
"4 1 Brazil Hernanes 63 substitution-in\n",
"5 1 Brazil Hulk 68 substitution-out\n",
"6 1 Brazil Bernard 68 substitution-in\n",
"7 1 Brazil Neymar Jr 71 goal-penalty\n",
"8 1 Brazil L Gustavo 88 yellow-card\n",
"9 1 Brazil Neymar Jr 88 substitution-out\n",
"10 1 Brazil Ramires 88 substitution-in\n",
"11 1 Brazil Oscar 901 goal\n",
"12 1 Croatia Brozovi\u0106 61 substitution-in\n",
"13 1 Croatia Corluka 66 yellow-card\n",
"14 1 Croatia Lovren 69 yellow-card\n",
"15 1 Croatia Rebi\u0106 78 substitution-in\n",
"16 2 Mexico H Moreno 57 yellow-card\n",
"17 2 Mexico O Peralta 61 goal\n",
"18 2 Mexico M Fabian 69 substitution-in\n",
"19 2 Mexico A Guardado 69 substitution-out\n",
"20 2 Mexico J Hernandez 74 substitution-in\n",
"21 2 Mexico O Peralta 74 substitution-out\n",
"22 2 Mexico C Salcido 901 substitution-in\n",
"23 2 Mexico H Herrera 901 substitution-out\n",
"24 2 Cameroon Nounkeu 46 substitution-in halftime\n",
"25 2 Cameroon Nounkeu 77 yellow-card\n",
"26 2 Cameroon Webo 79 substitution-in\n",
"27 3 Spain Alonso 27 goal-penalty\n",
"28 3 Spain Alonso 62 substitution-out\n",
"29 3 Spain Pedro 62 substitution-in\n",
"30 3 Spain Diego Costa 62 substitution-out\n",
"31 3 Spain Torres 62 substitution-in\n",
"32 3 Spain I. Casillas 65 yellow-card\n",
"33 3 Spain F\u00e1bregas 78 substitution-in\n",
"34 3 Spain Silva 78 substitution-out\n",
"35 3 Netherlands De Guzman 25 yellow-card\n",
"36 3 Netherlands De Vrij 41 yellow-card\n",
"37 3 Netherlands V. Persie 44 goal\n",
"38 3 Netherlands Robben 53 goal\n",
"39 3 Netherlands Wijnaldum 62 substitution-in\n",
"40 3 Netherlands De Vrij 65 goal\n",
"41 3 Netherlands V. Persie 66 yellow-card\n",
"42 3 Netherlands V. Persie 72 goal\n",
"43 3 Netherlands Veltman 77 substitution-in\n",
"44 3 Netherlands Lens 79 substitution-in\n",
"45 3 Netherlands Robben 80 goal\n",
"46 4 Chile Alexis 12 goal\n",
"47 4 Chile Valdivia 14 goal\n",
"48 4 Chile Vidal 60 substitution-out\n",
"49 4 Chile Guti\u00e9rrez 60 substitution-in\n",
".. ... ... ... ... ...\n",
"472 33 Brazil Fernandinho 46 substitution-in halftime\n",
"473 33 Brazil Fred 49 goal\n",
"474 33 Brazil Ramires 63 substitution-in\n",
"475 33 Brazil Willian 71 substitution-in\n",
"476 33 Brazil Fernandinho 84 goal\n",
"477 34 Croatia Rakiti\u0107 9 yellow-card\n",
"478 34 Croatia Kova\u010di\u0107 58 substitution-in\n",
"479 34 Croatia Vrsaljko 58 substitution-out\n",
"480 34 Croatia Oli\u0107 69 substitution-out\n",
"481 34 Croatia Rebi\u0107 69 substitution-in\n",
"482 34 Croatia Jelavi\u0107 74 substitution-in\n",
"483 34 Croatia Pranji\u0107 74 substitution-out\n",
"484 34 Croatia Peri\u0161i\u0107 87 goal\n",
"485 34 Croatia Rebi\u0107 89 red-card\n",
"486 34 Mexico R Marquez 39 yellow-card\n",
"487 34 Mexico J Hernandez 62 substitution-in\n",
"488 34 Mexico J Vazquez 66 yellow-card\n",
"489 34 Mexico R Marquez 72 goal\n",
"490 34 Mexico A Guardado 75 goal\n",
"491 34 Mexico C Pe\u00d1a 79 substitution-in\n",
"492 34 Mexico J Hernandez 82 goal\n",
"493 34 Mexico M Fabian 84 substitution-in\n",
"494 35 Australia Halloran 46 substitution-in halftime\n",
"495 35 Australia Taggart 46 substitution-out halftime\n",
"496 35 Australia Troisi 61 substitution-in\n",
"497 35 Australia Oar 61 substitution-out\n",
"498 35 Australia Bresciano 72 substitution-in\n",
"499 35 Australia Bozanic 72 substitution-out\n",
"500 35 Australia Spiranovic 88 yellow-card\n",
"501 35 Australia Jedinak 902 yellow-card\n",
"502 35 Spain David Villa 36 goal\n",
"503 35 Spain Mata 56 substitution-in\n",
"504 35 Spain Ramos 62 yellow-card\n",
"505 35 Spain F\u00c1bregas 68 substitution-in\n",
"506 35 Spain Torres 69 goal\n",
"507 35 Spain Mata 82 goal\n",
"508 35 Spain Silva 83 substitution-in\n",
"509 36 Netherlands Blind 64 yellow-card\n",
"510 36 Netherlands Lens 69 substitution-out\n",
"511 36 Netherlands Memphis 69 substitution-in\n",
"512 36 Netherlands Sneijder 75 substitution-out\n",
"513 36 Netherlands Fer 75 substitution-in\n",
"514 36 Netherlands Fer 77 goal\n",
"515 36 Netherlands Kuyt 89 substitution-out\n",
"516 36 Netherlands Kongolo 89 substitution-in\n",
"517 36 Netherlands Memphis 902 goal\n",
"518 36 Chile Silva 25 yellow-card\n",
"519 36 Chile Beausejour 46 substitution-in halftime\n",
"520 36 Chile Valdivia 70 substitution-in\n",
"521 36 Chile Pinilla 81 substitution-in\n",
"\n",
"[522 rows x 5 columns]"
]
}
],
"prompt_number": 13
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Limit the data set to contain just goals"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NOTE-there are different types of goals listed: **goal**, **goal-penalty**, and **goal-own** (\"own goal'). Unfortunately, the own goal is listed under the team that committed the own goal, not the team that benefitted from the own goal. So if I were to include own goal in my counts, it would be **INCORRECT!** So I will create a data set containing \"goal\" and \"goal-penalty\"."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"criteria1 = df['Type Of Event']=='goal'\n",
"criteria2 = df['Type Of Event']=='goal-penalty'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_goals = df[criteria1 | criteria2]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Top Goals Scored by Player"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that I have limited my data to include only goals, I can do goal counts. Let's see which players have the most goals:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"player = df_goals.groupby(['Player'])['Type Of Event'].count()\n",
"player.sort(ascending=False)\n",
"player"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"Player\n",
"Neymar Jr 4\n",
"E. Valencia 3\n",
"M\u00fcller 3\n",
"V. Persie 3\n",
"Robben 3\n",
"Benzema 3\n",
"Mand\u017duki\u0106 2\n",
"Messi 2\n",
"Memphis 2\n",
"Dempsey 2\n",
"Gervinho 2\n",
"Cahill 2\n",
"L. Suarez 2\n",
"James 2\n",
"A. Ayew 2\n",
"Feghouli 1\n",
"Giroud 1\n",
"G\u00f6tze 1\n",
"H M Son 1\n",
"Fred 1\n",
"Fernandinho 1\n",
"Fer 1\n",
"Halliche 1\n",
"Honda 1\n",
"Fellaini 1\n",
"Hummels 1\n",
"Xhaka 1\n",
"Dzemaili 1\n",
"E. Cavani 1\n",
"J C Koo 1\n",
"A. Gyan 1\n",
"Alexis 1\n",
"Alonso 1\n",
"B. Wilfried 1\n",
"Balotelli 1\n",
"Beausejour 1\n",
"Brahimi 1\n",
"Brooks 1\n",
"Campbell J. 1\n",
"Ch. Ar\u00c1nguiz 1\n",
"Costly 1\n",
"David Villa 1\n",
"De Vrij 1\n",
"Djabou 1\n",
"Duarte O. 1\n",
"Ibi\u0160evi\u0106 1\n",
"K H Lee 1\n",
"J Hernandez 1\n",
"Jedinak 1\n",
"Peri\u0161i\u0107 1\n",
"Quintero 1\n",
"R Marquez 1\n",
"Rooney 1\n",
"Ruiz B. 1\n",
"Seferovic 1\n",
"Sissoko 1\n",
"Slimani 1\n",
"Sturridge 1\n",
"Teo 1\n",
"Torres 1\n",
"Ure\u00d1a M. 1\n",
"Valbuena 1\n",
"Valdivia 1\n",
"Varela 1\n",
"Peri\u0160i\u0106 1\n",
"P. Armero 1\n",
"Oscar 1\n",
"Matip 1\n",
"Jones 1\n",
"Vargas 1\n",
"Kerzhakov 1\n",
"Klose 1\n",
"Marchisio 1\n",
"Mata 1\n",
"Matuidi 1\n",
"Origi 1\n",
"Mehmedi 1\n",
"Mertens 1\n",
"Nani 1\n",
"O Peralta 1\n",
"Odemwingie 1\n",
"Oli\u0106 1\n",
"A Guardado 1\n",
"Name: Type Of Event, Length: 83, dtype: int64"
]
}
],
"prompt_number": 16
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**But I realized, it would be nice to know which country the players are from, so I'll group the counts by team and then by player:**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='player'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Top Goals Scored by Player (with team name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[back to summary page](#summary)] [[top country](#top_country)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"grouped = df_goals.groupby(['Team', 'Player'])['Type Of Event'].count()\n",
"grouped.sort(ascending=False)\n",
"grouped"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 53,
"text": [
"Team Player \n",
"Brazil Neymar Jr 4\n",
"Netherlands V. Persie 3\n",
"Ecuador E. Valencia 3\n",
"France Benzema 3\n",
"Germany M\u00fcller 3\n",
"Netherlands Robben 3\n",
"Croatia Mand\u017duki\u0106 2\n",
"Netherlands Memphis 2\n",
"Colombia James 2\n",
"Ghana A. Ayew 2\n",
"Uruguay L. Suarez 2\n",
"Australia Cahill 2\n",
"Argentina Messi 2\n",
"Ivory Coast Gervinho 2\n",
"USA Dempsey 2\n",
"Costa Rica Campbell J. 1\n",
"Colombia Quintero 1\n",
" Teo 1\n",
"Costa Rica Ure\u00d1a M. 1\n",
" Duarte O. 1\n",
" Ruiz B. 1\n",
"Croatia Oli\u0106 1\n",
" Peri\u0160i\u0106 1\n",
" Peri\u0161i\u0107 1\n",
"England Rooney 1\n",
"Colombia P. Armero 1\n",
"Chile Alexis 1\n",
" Vargas 1\n",
" Valdivia 1\n",
"Algeria Djabou 1\n",
" Feghouli 1\n",
" Halliche 1\n",
" Slimani 1\n",
"Australia Jedinak 1\n",
"Belgium Fellaini 1\n",
" Mertens 1\n",
" Origi 1\n",
"Bosnia and Herzegovina Ibi\u0160evi\u0106 1\n",
"Brazil Fernandinho 1\n",
" Fred 1\n",
" Oscar 1\n",
"Cameroon Matip 1\n",
"Chile Beausejour 1\n",
" Ch. Ar\u00c1nguiz 1\n",
"England Sturridge 1\n",
"France Valbuena 1\n",
" Giroud 1\n",
"Mexico R Marquez 1\n",
"Netherlands Fer 1\n",
"Nigeria Odemwingie 1\n",
"Portugal Nani 1\n",
" Varela 1\n",
"Russia Kerzhakov 1\n",
"Spain Alonso 1\n",
" David Villa 1\n",
" Mata 1\n",
" Torres 1\n",
"Switzerland Dzemaili 1\n",
" Mehmedi 1\n",
" Seferovic 1\n",
" Xhaka 1\n",
"USA Brooks 1\n",
" Jones 1\n",
"Netherlands De Vrij 1\n",
"Mexico O Peralta 1\n",
"France Matuidi 1\n",
"Mexico J Hernandez 1\n",
"France Sissoko 1\n",
"Uruguay E. Cavani 1\n",
"Germany G\u00f6tze 1\n",
" Hummels 1\n",
" Klose 1\n",
"Ghana A. Gyan 1\n",
"Honduras Costly 1\n",
"Italy Balotelli 1\n",
" Marchisio 1\n",
"Ivory Coast B. Wilfried 1\n",
"Japan Honda 1\n",
"Korea Republic H M Son 1\n",
" J C Koo 1\n",
" K H Lee 1\n",
"Mexico A Guardado 1\n",
"Algeria Brahimi 1\n",
"Name: Type Of Event, Length: 83, dtype: int64"
]
}
],
"prompt_number": 53
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**This is better, but I would like them to be in a table format like a Pandas dataframe**"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"country = [row[0] for row in grouped.index]\n",
"player = [row[1] for row in grouped.index]\n",
"goals = [goal for goal in grouped.values]\n",
"\n",
"top_goals_player = pd.DataFrame({'Country':country,'Player':player,'Goals':goals})\n",
"top_goals_player.index = range(1,len(top_goals_player)+1)\n",
"top_goals_player[['Country','Player','Goals']]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Country</th>\n",
" <th>Player</th>\n",
" <th>Goals</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> Brazil</td>\n",
" <td> Neymar Jr</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> Netherlands</td>\n",
" <td> V. Persie</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> Ecuador</td>\n",
" <td> E. Valencia</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> France</td>\n",
" <td> Benzema</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> Germany</td>\n",
" <td> M\u00fcller</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> Netherlands</td>\n",
" <td> Robben</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> Croatia</td>\n",
" <td> Mand\u017duki\u0106</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> Netherlands</td>\n",
" <td> Memphis</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> Colombia</td>\n",
" <td> James</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> Ghana</td>\n",
" <td> A. Ayew</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> Uruguay</td>\n",
" <td> L. Suarez</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> Australia</td>\n",
" <td> Cahill</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> Argentina</td>\n",
" <td> Messi</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> Ivory Coast</td>\n",
" <td> Gervinho</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> USA</td>\n",
" <td> Dempsey</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> Costa Rica</td>\n",
" <td> Campbell J.</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> Colombia</td>\n",
" <td> Quintero</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> Colombia</td>\n",
" <td> Teo</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> Costa Rica</td>\n",
" <td> Ure\u00d1a M.</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> Costa Rica</td>\n",
" <td> Duarte O.</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> Costa Rica</td>\n",
" <td> Ruiz B.</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> Croatia</td>\n",
" <td> Oli\u0106</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> Croatia</td>\n",
" <td> Peri\u0160i\u0106</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> Croatia</td>\n",
" <td> Peri\u0161i\u0107</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> England</td>\n",
" <td> Rooney</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> Colombia</td>\n",
" <td> P. Armero</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> Chile</td>\n",
" <td> Alexis</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> Chile</td>\n",
" <td> Vargas</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> Chile</td>\n",
" <td> Valdivia</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> Algeria</td>\n",
" <td> Djabou</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> Algeria</td>\n",
" <td> Feghouli</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td> Algeria</td>\n",
" <td> Halliche</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td> Algeria</td>\n",
" <td> Slimani</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td> Australia</td>\n",
" <td> Jedinak</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td> Belgium</td>\n",
" <td> Fellaini</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td> Belgium</td>\n",
" <td> Mertens</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td> Belgium</td>\n",
" <td> Origi</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> Ibi\u0160evi\u0106</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td> Brazil</td>\n",
" <td> Fernandinho</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td> Brazil</td>\n",
" <td> Fred</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td> Brazil</td>\n",
" <td> Oscar</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td> Cameroon</td>\n",
" <td> Matip</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td> Chile</td>\n",
" <td> Beausejour</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td> Chile</td>\n",
" <td> Ch. Ar\u00c1nguiz</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td> England</td>\n",
" <td> Sturridge</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td> France</td>\n",
" <td> Valbuena</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td> France</td>\n",
" <td> Giroud</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td> Mexico</td>\n",
" <td> R Marquez</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td> Netherlands</td>\n",
" <td> Fer</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td> Nigeria</td>\n",
" <td> Odemwingie</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td> Portugal</td>\n",
" <td> Nani</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td> Portugal</td>\n",
" <td> Varela</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td> Russia</td>\n",
" <td> Kerzhakov</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td> Spain</td>\n",
" <td> Alonso</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td> Spain</td>\n",
" <td> David Villa</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td> Spain</td>\n",
" <td> Mata</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td> Spain</td>\n",
" <td> Torres</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td> Switzerland</td>\n",
" <td> Dzemaili</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td> Switzerland</td>\n",
" <td> Mehmedi</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td> Switzerland</td>\n",
" <td> Seferovic</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td> Switzerland</td>\n",
" <td> Xhaka</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td> USA</td>\n",
" <td> Brooks</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td> USA</td>\n",
" <td> Jones</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td> Netherlands</td>\n",
" <td> De Vrij</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td> Mexico</td>\n",
" <td> O Peralta</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>66</th>\n",
" <td> France</td>\n",
" <td> Matuidi</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td> Mexico</td>\n",
" <td> J Hernandez</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td> France</td>\n",
" <td> Sissoko</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td> Uruguay</td>\n",
" <td> E. Cavani</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td> Germany</td>\n",
" <td> G\u00f6tze</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td> Germany</td>\n",
" <td> Hummels</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td> Germany</td>\n",
" <td> Klose</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td> Ghana</td>\n",
" <td> A. Gyan</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td> Honduras</td>\n",
" <td> Costly</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td> Italy</td>\n",
" <td> Balotelli</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td> Italy</td>\n",
" <td> Marchisio</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td> Ivory Coast</td>\n",
" <td> B. Wilfried</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td> Japan</td>\n",
" <td> Honda</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td> Korea Republic</td>\n",
" <td> H M Son</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td> Korea Republic</td>\n",
" <td> J C Koo</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81</th>\n",
" <td> Korea Republic</td>\n",
" <td> K H Lee</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td> Mexico</td>\n",
" <td> A Guardado</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td> Algeria</td>\n",
" <td> Brahimi</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
" Country Player Goals\n",
"1 Brazil Neymar Jr 4\n",
"2 Netherlands V. Persie 3\n",
"3 Ecuador E. Valencia 3\n",
"4 France Benzema 3\n",
"5 Germany M\u00fcller 3\n",
"6 Netherlands Robben 3\n",
"7 Croatia Mand\u017duki\u0106 2\n",
"8 Netherlands Memphis 2\n",
"9 Colombia James 2\n",
"10 Ghana A. Ayew 2\n",
"11 Uruguay L. Suarez 2\n",
"12 Australia Cahill 2\n",
"13 Argentina Messi 2\n",
"14 Ivory Coast Gervinho 2\n",
"15 USA Dempsey 2\n",
"16 Costa Rica Campbell J. 1\n",
"17 Colombia Quintero 1\n",
"18 Colombia Teo 1\n",
"19 Costa Rica Ure\u00d1a M. 1\n",
"20 Costa Rica Duarte O. 1\n",
"21 Costa Rica Ruiz B. 1\n",
"22 Croatia Oli\u0106 1\n",
"23 Croatia Peri\u0160i\u0106 1\n",
"24 Croatia Peri\u0161i\u0107 1\n",
"25 England Rooney 1\n",
"26 Colombia P. Armero 1\n",
"27 Chile Alexis 1\n",
"28 Chile Vargas 1\n",
"29 Chile Valdivia 1\n",
"30 Algeria Djabou 1\n",
"31 Algeria Feghouli 1\n",
"32 Algeria Halliche 1\n",
"33 Algeria Slimani 1\n",
"34 Australia Jedinak 1\n",
"35 Belgium Fellaini 1\n",
"36 Belgium Mertens 1\n",
"37 Belgium Origi 1\n",
"38 Bosnia and Herzegovina Ibi\u0160evi\u0106 1\n",
"39 Brazil Fernandinho 1\n",
"40 Brazil Fred 1\n",
"41 Brazil Oscar 1\n",
"42 Cameroon Matip 1\n",
"43 Chile Beausejour 1\n",
"44 Chile Ch. Ar\u00c1nguiz 1\n",
"45 England Sturridge 1\n",
"46 France Valbuena 1\n",
"47 France Giroud 1\n",
"48 Mexico R Marquez 1\n",
"49 Netherlands Fer 1\n",
"50 Nigeria Odemwingie 1\n",
"51 Portugal Nani 1\n",
"52 Portugal Varela 1\n",
"53 Russia Kerzhakov 1\n",
"54 Spain Alonso 1\n",
"55 Spain David Villa 1\n",
"56 Spain Mata 1\n",
"57 Spain Torres 1\n",
"58 Switzerland Dzemaili 1\n",
"59 Switzerland Mehmedi 1\n",
"60 Switzerland Seferovic 1\n",
"61 Switzerland Xhaka 1\n",
"62 USA Brooks 1\n",
"63 USA Jones 1\n",
"64 Netherlands De Vrij 1\n",
"65 Mexico O Peralta 1\n",
"66 France Matuidi 1\n",
"67 Mexico J Hernandez 1\n",
"68 France Sissoko 1\n",
"69 Uruguay E. Cavani 1\n",
"70 Germany G\u00f6tze 1\n",
"71 Germany Hummels 1\n",
"72 Germany Klose 1\n",
"73 Ghana A. Gyan 1\n",
"74 Honduras Costly 1\n",
"75 Italy Balotelli 1\n",
"76 Italy Marchisio 1\n",
"77 Ivory Coast B. Wilfried 1\n",
"78 Japan Honda 1\n",
"79 Korea Republic H M Son 1\n",
"80 Korea Republic J C Koo 1\n",
"81 Korea Republic K H Lee 1\n",
"82 Mexico A Guardado 1\n",
"83 Algeria Brahimi 1"
]
}
],
"prompt_number": 48
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Much better now.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id='top_country'></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Top Goals Scored by Team/Country"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[back to summary page](#summary)] [[top player](#player)]"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from prettytable import PrettyTable\n",
"import requests\n",
"json_data = requests.get('http://worldcup.sfg.io/teams/results') # This URL gets a lot of traffic, so may get 503 or 504 error\n",
"teams_results = json_data.json()\n",
"\n",
"teams = PrettyTable([\"Country\", \"Group\", \"Goals For\", \"Goals Against\", \"Wins\", \"Losses\", \"Draws\", \"Goal Differential\", \"Points\"])\n",
"\n",
"for team in teams_results:\n",
" country = team['country']\n",
" group = team['group_letter']\n",
" goals_for = team['goals_for']\n",
" goals_against = team['goals_against']\n",
" wins = team['wins']\n",
" losses = team['losses']\n",
" draws = team['draws']\n",
" goal_differential = team['goal_differential']\n",
" points = team['points']\n",
" \n",
" teams.add_row([country, group, goals_for, goals_against, wins, losses, draws, goal_differential, points])\n",
"\n",
"#print(teams)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 56
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"column_names = teams._get_field_names()\n",
"row_data = teams._rows\n",
"\n",
"output = StringIO()\n",
"\n",
"writer = csv.writer(output)\n",
"writer.writerows([column_names])\n",
"writer.writerows(row_data)\n",
"team_standings = output.getvalue()\n",
"output.close()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv(StringIO(team_standings))\n",
"df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Country</th>\n",
" <th>Group</th>\n",
" <th>Goals For</th>\n",
" <th>Goals Against</th>\n",
" <th>Wins</th>\n",
" <th>Losses</th>\n",
" <th>Draws</th>\n",
" <th>Goal Differential</th>\n",
" <th>Points</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0 </th>\n",
" <td> Brazil</td>\n",
" <td> A</td>\n",
" <td> 7</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> Croatia</td>\n",
" <td> A</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> Mexico</td>\n",
" <td> A</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> Cameroon</td>\n",
" <td> A</td>\n",
" <td> 1</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-8</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> Spain</td>\n",
" <td> B</td>\n",
" <td> 4</td>\n",
" <td> 7</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-3</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> Netherlands</td>\n",
" <td> B</td>\n",
" <td> 10</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> Chile</td>\n",
" <td> B</td>\n",
" <td> 5</td>\n",
" <td> 3</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> Australia</td>\n",
" <td> B</td>\n",
" <td> 3</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-6</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> Colombia</td>\n",
" <td> C</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> Greece</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-3</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> Ivory Coast</td>\n",
" <td> C</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> Japan</td>\n",
" <td> C</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> Uruguay</td>\n",
" <td> D</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> Costa Rica</td>\n",
" <td> D</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> England</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> Italy</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> Switzerland</td>\n",
" <td> E</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> Ecuador</td>\n",
" <td> E</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> France</td>\n",
" <td> E</td>\n",
" <td> 8</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> Honduras</td>\n",
" <td> E</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-4</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> Argentina</td>\n",
" <td> F</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> Iran</td>\n",
" <td> F</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> Nigeria</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> Germany</td>\n",
" <td> G</td>\n",
" <td> 6</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> Portugal</td>\n",
" <td> G</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-4</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> Ghana</td>\n",
" <td> G</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> USA</td>\n",
" <td> G</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> Belgium</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> Algeria</td>\n",
" <td> H</td>\n",
" <td> 5</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> Russia</td>\n",
" <td> H</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> Korea Republic</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-2</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 58,
"text": [
" Country Group Goals For Goals Against Wins Losses \\\n",
"0 Brazil A 7 2 2 0 \n",
"1 Croatia A 6 6 1 2 \n",
"2 Mexico A 4 1 2 0 \n",
"3 Cameroon A 1 9 0 3 \n",
"4 Spain B 4 7 1 2 \n",
"5 Netherlands B 10 3 3 0 \n",
"6 Chile B 5 3 2 1 \n",
"7 Australia B 3 9 0 3 \n",
"8 Colombia C 5 1 2 0 \n",
"9 Greece C 0 3 0 1 \n",
"10 Ivory Coast C 3 3 1 1 \n",
"11 Japan C 1 2 0 1 \n",
"12 Uruguay D 3 4 1 1 \n",
"13 Costa Rica D 4 1 2 0 \n",
"14 England D 2 4 0 2 \n",
"15 Italy D 2 2 1 1 \n",
"16 Switzerland E 4 6 1 1 \n",
"17 Ecuador E 3 3 1 1 \n",
"18 France E 8 2 2 0 \n",
"19 Honduras E 1 5 0 2 \n",
"20 Argentina F 3 1 2 0 \n",
"21 Bosnia and Herzegovina F 1 3 0 2 \n",
"22 Iran F 0 1 0 1 \n",
"23 Nigeria F 1 0 1 0 \n",
"24 Germany G 6 2 1 0 \n",
"25 Portugal G 2 6 0 1 \n",
"26 Ghana G 3 4 0 1 \n",
"27 USA G 4 3 1 0 \n",
"28 Belgium H 3 1 2 0 \n",
"29 Algeria H 5 4 1 1 \n",
"30 Russia H 1 2 0 1 \n",
"31 Korea Republic H 3 5 0 1 \n",
"\n",
" Draws Goal Differential Points \n",
"0 1 5 7 \n",
"1 0 0 3 \n",
"2 1 3 7 \n",
"3 0 -8 0 \n",
"4 0 -3 3 \n",
"5 0 7 9 \n",
"6 0 2 6 \n",
"7 0 -6 0 \n",
"8 0 4 6 \n",
"9 1 -3 1 \n",
"10 0 0 3 \n",
"11 1 -1 1 \n",
"12 0 -1 3 \n",
"13 0 3 6 \n",
"14 0 -2 0 \n",
"15 0 0 3 \n",
"16 0 -2 3 \n",
"17 0 0 3 \n",
"18 0 6 6 \n",
"19 0 -4 0 \n",
"20 0 2 6 \n",
"21 0 -2 0 \n",
"22 1 -1 1 \n",
"23 1 1 4 \n",
"24 1 4 4 \n",
"25 1 -4 1 \n",
"26 1 -1 1 \n",
"27 1 1 4 \n",
"28 0 2 6 \n",
"29 0 1 3 \n",
"30 1 -1 1 \n",
"31 1 -2 1 "
]
}
],
"prompt_number": 58
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Not sure how it is sorted, so let's manually sort.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sorted by \"Goals For\" descending"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.sort(columns=['Goals For'], ascending=False, inplace=True)\n",
"df.index = range(1,len(df)+1)\n",
"df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Country</th>\n",
" <th>Group</th>\n",
" <th>Goals For</th>\n",
" <th>Goals Against</th>\n",
" <th>Wins</th>\n",
" <th>Losses</th>\n",
" <th>Draws</th>\n",
" <th>Goal Differential</th>\n",
" <th>Points</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> Netherlands</td>\n",
" <td> B</td>\n",
" <td> 10</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> France</td>\n",
" <td> E</td>\n",
" <td> 8</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> Brazil</td>\n",
" <td> A</td>\n",
" <td> 7</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> Germany</td>\n",
" <td> G</td>\n",
" <td> 6</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> Croatia</td>\n",
" <td> A</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> Algeria</td>\n",
" <td> H</td>\n",
" <td> 5</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> Chile</td>\n",
" <td> B</td>\n",
" <td> 5</td>\n",
" <td> 3</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> Colombia</td>\n",
" <td> C</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> Costa Rica</td>\n",
" <td> D</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> USA</td>\n",
" <td> G</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> Switzerland</td>\n",
" <td> E</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> Mexico</td>\n",
" <td> A</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> Spain</td>\n",
" <td> B</td>\n",
" <td> 4</td>\n",
" <td> 7</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-3</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> Korea Republic</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-2</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> Ghana</td>\n",
" <td> G</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> Ivory Coast</td>\n",
" <td> C</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> Ecuador</td>\n",
" <td> E</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> Australia</td>\n",
" <td> B</td>\n",
" <td> 3</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-6</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> Argentina</td>\n",
" <td> F</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> Uruguay</td>\n",
" <td> D</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> Belgium</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> England</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> Italy</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> Portugal</td>\n",
" <td> G</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-4</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> Russia</td>\n",
" <td> H</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> Cameroon</td>\n",
" <td> A</td>\n",
" <td> 1</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-8</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> Japan</td>\n",
" <td> C</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> Nigeria</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> Honduras</td>\n",
" <td> E</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-4</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> Iran</td>\n",
" <td> F</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td> Greece</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-3</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 59,
"text": [
" Country Group Goals For Goals Against Wins Losses \\\n",
"1 Netherlands B 10 3 3 0 \n",
"2 France E 8 2 2 0 \n",
"3 Brazil A 7 2 2 0 \n",
"4 Germany G 6 2 1 0 \n",
"5 Croatia A 6 6 1 2 \n",
"6 Algeria H 5 4 1 1 \n",
"7 Chile B 5 3 2 1 \n",
"8 Colombia C 5 1 2 0 \n",
"9 Costa Rica D 4 1 2 0 \n",
"10 USA G 4 3 1 0 \n",
"11 Switzerland E 4 6 1 1 \n",
"12 Mexico A 4 1 2 0 \n",
"13 Spain B 4 7 1 2 \n",
"14 Korea Republic H 3 5 0 1 \n",
"15 Ghana G 3 4 0 1 \n",
"16 Ivory Coast C 3 3 1 1 \n",
"17 Ecuador E 3 3 1 1 \n",
"18 Australia B 3 9 0 3 \n",
"19 Argentina F 3 1 2 0 \n",
"20 Uruguay D 3 4 1 1 \n",
"21 Belgium H 3 1 2 0 \n",
"22 England D 2 4 0 2 \n",
"23 Italy D 2 2 1 1 \n",
"24 Portugal G 2 6 0 1 \n",
"25 Russia H 1 2 0 1 \n",
"26 Cameroon A 1 9 0 3 \n",
"27 Japan C 1 2 0 1 \n",
"28 Nigeria F 1 0 1 0 \n",
"29 Honduras E 1 5 0 2 \n",
"30 Bosnia and Herzegovina F 1 3 0 2 \n",
"31 Iran F 0 1 0 1 \n",
"32 Greece C 0 3 0 1 \n",
"\n",
" Draws Goal Differential Points \n",
"1 0 7 9 \n",
"2 0 6 6 \n",
"3 1 5 7 \n",
"4 1 4 4 \n",
"5 0 0 3 \n",
"6 0 1 3 \n",
"7 0 2 6 \n",
"8 0 4 6 \n",
"9 0 3 6 \n",
"10 1 1 4 \n",
"11 0 -2 3 \n",
"12 1 3 7 \n",
"13 0 -3 3 \n",
"14 1 -2 1 \n",
"15 1 -1 1 \n",
"16 0 0 3 \n",
"17 0 0 3 \n",
"18 0 -6 0 \n",
"19 0 2 6 \n",
"20 0 -1 3 \n",
"21 0 2 6 \n",
"22 0 -2 0 \n",
"23 0 0 3 \n",
"24 1 -4 1 \n",
"25 1 -1 1 \n",
"26 0 -8 0 \n",
"27 1 -1 1 \n",
"28 1 1 4 \n",
"29 0 -4 0 \n",
"30 0 -2 0 \n",
"31 1 -1 1 \n",
"32 1 -3 1 "
]
}
],
"prompt_number": 59
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Team Standings Sorted by Group Ascending then by Points Descending"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.sort(columns=['Group','Points'], ascending=[True,False], inplace=True)\n",
"df.index = range(1,len(df)+1)\n",
"df"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Country</th>\n",
" <th>Group</th>\n",
" <th>Goals For</th>\n",
" <th>Goals Against</th>\n",
" <th>Wins</th>\n",
" <th>Losses</th>\n",
" <th>Draws</th>\n",
" <th>Goal Differential</th>\n",
" <th>Points</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> Brazil</td>\n",
" <td> A</td>\n",
" <td> 7</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> Mexico</td>\n",
" <td> A</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> Croatia</td>\n",
" <td> A</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> Cameroon</td>\n",
" <td> A</td>\n",
" <td> 1</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-8</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> Netherlands</td>\n",
" <td> B</td>\n",
" <td> 10</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 7</td>\n",
" <td> 9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6 </th>\n",
" <td> Chile</td>\n",
" <td> B</td>\n",
" <td> 5</td>\n",
" <td> 3</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> Spain</td>\n",
" <td> B</td>\n",
" <td> 4</td>\n",
" <td> 7</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-3</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> Australia</td>\n",
" <td> B</td>\n",
" <td> 3</td>\n",
" <td> 9</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td>-6</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> Colombia</td>\n",
" <td> C</td>\n",
" <td> 5</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> Ivory Coast</td>\n",
" <td> C</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> Japan</td>\n",
" <td> C</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td> Greece</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-3</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td> Costa Rica</td>\n",
" <td> D</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td> Uruguay</td>\n",
" <td> D</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td> Italy</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td> England</td>\n",
" <td> D</td>\n",
" <td> 2</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> France</td>\n",
" <td> E</td>\n",
" <td> 8</td>\n",
" <td> 2</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td> Switzerland</td>\n",
" <td> E</td>\n",
" <td> 4</td>\n",
" <td> 6</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> Ecuador</td>\n",
" <td> E</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td> Honduras</td>\n",
" <td> E</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-4</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td> Argentina</td>\n",
" <td> F</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td> Nigeria</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td> Iran</td>\n",
" <td> F</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td> Bosnia and Herzegovina</td>\n",
" <td> F</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td>-2</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td> Germany</td>\n",
" <td> G</td>\n",
" <td> 6</td>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td> USA</td>\n",
" <td> G</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td> Ghana</td>\n",
" <td> G</td>\n",
" <td> 3</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td> Portugal</td>\n",
" <td> G</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-4</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td> Belgium</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2</td>\n",
" <td> 6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td> Algeria</td>\n",
" <td> H</td>\n",
" <td> 5</td>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td> Korea Republic</td>\n",
" <td> H</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-2</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td> Russia</td>\n",
" <td> H</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td>-1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 60,
"text": [
" Country Group Goals For Goals Against Wins Losses \\\n",
"1 Brazil A 7 2 2 0 \n",
"2 Mexico A 4 1 2 0 \n",
"3 Croatia A 6 6 1 2 \n",
"4 Cameroon A 1 9 0 3 \n",
"5 Netherlands B 10 3 3 0 \n",
"6 Chile B 5 3 2 1 \n",
"7 Spain B 4 7 1 2 \n",
"8 Australia B 3 9 0 3 \n",
"9 Colombia C 5 1 2 0 \n",
"10 Ivory Coast C 3 3 1 1 \n",
"11 Japan C 1 2 0 1 \n",
"12 Greece C 0 3 0 1 \n",
"13 Costa Rica D 4 1 2 0 \n",
"14 Uruguay D 3 4 1 1 \n",
"15 Italy D 2 2 1 1 \n",
"16 England D 2 4 0 2 \n",
"17 France E 8 2 2 0 \n",
"18 Switzerland E 4 6 1 1 \n",
"19 Ecuador E 3 3 1 1 \n",
"20 Honduras E 1 5 0 2 \n",
"21 Argentina F 3 1 2 0 \n",
"22 Nigeria F 1 0 1 0 \n",
"23 Iran F 0 1 0 1 \n",
"24 Bosnia and Herzegovina F 1 3 0 2 \n",
"25 Germany G 6 2 1 0 \n",
"26 USA G 4 3 1 0 \n",
"27 Ghana G 3 4 0 1 \n",
"28 Portugal G 2 6 0 1 \n",
"29 Belgium H 3 1 2 0 \n",
"30 Algeria H 5 4 1 1 \n",
"31 Korea Republic H 3 5 0 1 \n",
"32 Russia H 1 2 0 1 \n",
"\n",
" Draws Goal Differential Points \n",
"1 1 5 7 \n",
"2 1 3 7 \n",
"3 0 0 3 \n",
"4 0 -8 0 \n",
"5 0 7 9 \n",
"6 0 2 6 \n",
"7 0 -3 3 \n",
"8 0 -6 0 \n",
"9 0 4 6 \n",
"10 0 0 3 \n",
"11 1 -1 1 \n",
"12 1 -3 1 \n",
"13 0 3 6 \n",
"14 0 -1 3 \n",
"15 0 0 3 \n",
"16 0 -2 0 \n",
"17 0 6 6 \n",
"18 0 -2 3 \n",
"19 0 0 3 \n",
"20 0 -4 0 \n",
"21 0 2 6 \n",
"22 1 1 4 \n",
"23 1 -1 1 \n",
"24 0 -2 0 \n",
"25 1 4 4 \n",
"26 1 1 4 \n",
"27 1 -1 1 \n",
"28 1 -4 1 \n",
"29 0 2 6 \n",
"30 0 1 3 \n",
"31 1 -2 1 \n",
"32 1 -1 1 "
]
}
],
"prompt_number": 60
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**We are done!**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[[back to top](#top)] [[back to summary page](#summary)]"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment