{ "metadata": { "name": "", "signature": "sha256:4ccfffcf1f095cf86392274228bb9c079dd6a911759620805e148b8371f97c8d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Las gr\u00e1ficas pueden proporcionar mucha informaci\u00f3n de un s\u00f3lo vistazo, pero no siempre son el mejor m\u00e9todo de representaci\u00f3n. A veces es necesario dar un paso m\u00e1s; y ese es precisamente el caso que vamos a tratar en \u00e9ste art\u00edculo.\n", "\n", "Representar valores sobre un mapa geogr\u00e1fico nos permite ubicar la informaci\u00f3n sobre el terreno. Lo datos a representar pueden ser desde contornos de temperatura hasta vectores de velocidad del viento pasando por la identificaci\u00f3n de puntos geogr\u00e1ficos. Para facilitarnos todo ese trabajo \u2014en Python\u2014 disponemos de una serie de librer\u00edas. [PyNGL](http://www.pyngl.ucar.edu/), [CDAT](http://www-pcmdi.llnl.gov/software/cdat/support/vcs/vcs.html) o [Basemap](http://matplotlib.org/basemap/index.html) son librer\u00edas que nacieron para satisfacer las necesidades de ciertos colectivos de cient\u00edficos, como meteor\u00f3logos u ocean\u00f3grafos.\n", "\n", "En \u00e9ste notebook vamos a utilizar:\n", "\n", "+ [Basemap Matplotlib toolkit](http://matplotlib.org/basemap/index.html) 1.0.7, para representar informaci\u00f3n 2D sobre mapas\n", "+ [Pandas](http://pandas.pydata.org) 0.14.1, para cargar los datos\n", "+ [Requests](http://docs.python-requests.org/en/latest/) 2.4.1, para consultar la web\n", "\n", "## Datos\n", "\n", "Lo primero es tener claro qu\u00e9 es lo que vamos a representar. Eso nos permitir\u00e1 definir el tipo de representaci\u00f3n a utilizar, as\u00ed como las caracter\u00edsticas del mapa \u2014su proyecci\u00f3n y l\u00edmites geogr\u00e1ficos.\n", "\n", "### Circuitos de Formula 1\n", "\n", "La Formula 1 \u2014categor\u00eda reina del automovil\u00edsmo\u2014 comenz\u00f3 sus andanzas en el a\u00f1o 1950, con una primera prueba en Silverstone. Desde entonces, y aunque su foco de actividad se encuentra principalmente en Europa, ha ido expandi\u00e9ndose para celebrar Grandes Premios por todo el mundo.\n", "\n", "En Wikipedia podemos encontrar una simple [tabla](http://en.wikipedia.org/wiki/List_of_Formula_One_circuits#Circuits) con una lista de todos los circuitos que alguna vez han albergado un Gran Premio. La copiamos y generamos un fichero CSV o XLS en Excel o en un editor de texto como [Notepad++](http://notepad-plus-plus.org)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "data = pd.DataFrame.from_csv('F1-circuits.csv', header=0, sep=';', index_col=None, parse_dates=False, encoding='latin-1')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "data.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", " | Circuit | \n", "Type | \n", "Direction | \n", "Location | \n", "Current Length | \n", "Grands Prix | \n", "Season(s) | \n", "Grands Prix held | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "Adelaide Street Circuit | \n", "Street | \n", "Clockwise | \n", "Adelaide, Australia | \n", "3.780 km (2.349 mi) | \n", "Australian Grand Prix | \n", "1985-1995 | \n", "11 | \n", "
1 | \n", "Ain-Diab Circuit | \n", "Road | \n", "Clockwise | \n", "Casablanca, Morocco | \n", "7.618 km (4.734 mi) | \n", "Moroccan Grand Prix | \n", "1958 | \n", "1 | \n", "
2 | \n", "Aintree | \n", "Road | \n", "Clockwise | \n", "Liverpool, United Kingdom | \n", "4.828 km (3.000 mi) | \n", "British Grand Prix | \n", "1955, 1957, 1959, 1961-1962 | \n", "5 | \n", "
3 | \n", "Albert Park | \n", "Street | \n", "Clockwise | \n", "Melbourne, Australia | \n", "5.303 km (3.295 mi) | \n", "Australian Grand Prix | \n", "1996-2014 | \n", "19 | \n", "
4 | \n", "AVUS | \n", "Street | \n", "Anti-clockwise | \n", "Berlin, Germany | \n", "8.300 km (5.157 mi) | \n", "German Grand Prix | \n", "1959 | \n", "1 | \n", "