Skip to content

Instantly share code, notes, and snippets.

@msund
Forked from darribas/guardian_gaza.ipynb
Created December 13, 2013 09:19
Show Gist options
  • Save msund/7941813 to your computer and use it in GitHub Desktop.
Save msund/7941813 to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": "Gaza-Israel crisis 2012"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# A IPython Notebook to analyze the Gaza-Israel 2012 crisis\n",
"\n",
"The Guardian is tracking and mapping live ([link](http://www.guardian.co.uk/news/datablog/interactive/2012/nov/19/gaza-israel-verified-incidents-mapped)) the recent incidents in Gaza and Israel. As part of their data-journalism spirit, they are sharing the data as a Google Fusion Table available for access.\n",
"\n",
"This notebook is an attempt to show, on the one hand, how the toolkit from the Python stack can be used for a real world data hack and, on the other, to offer deeper analysis beyond mapping of the events, both exploiting the spatial as well as the temporal dimension of the data.\n",
"\n",
"+ The source document (`.ipynb` file) is stored on Github as a gist [here](https://gist.github.com/4121857), which means you can fork it and use it as a start for you own data-hack.\n",
"+ A viewable version is available [here](http://nbviewer.ipython.org/4121857/), via the IPython Notebook Viewer.\n",
"\n",
"## Collaborate on the notebook!!!\n",
"\n",
"In its initial version (Nov. 20th), the notebook only contains code to stream the data from the Google Fusion Table into a [`pandas`](http://pandas.pydata.org) DataFrame (which means you get the data ready to hack!). Step in and collaborate in making it a good example of how Python can help analyze real world data. Add a new view, quick visualization, summary statistic of fancy model that helps understand the data better!\n",
"\n",
"To contribute, just fork the gist as you would with any git repository.\n",
"\n",
"*Happy hacking!*"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import datetime\n",
"import urllib2, urllib\n",
"import pandas as pd\n",
"from StringIO import StringIO"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 91
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Trick from http://stackoverflow.com/questions/7800213/can-i-use-pythons-csv-reader-with-google-fusion-tables\n",
"\n",
"request_url = 'https://www.google.com/fusiontables/api/query' \n",
"query = 'SELECT * FROM 1KlX4PFF81wlx_TJ4zGudN_NoV_gq_GwrxuVau_M'\n",
"\n",
"url = \"%s?%s\" % (request_url, urllib.urlencode({'sql': query}))\n",
"serv_req = urllib2.Request(url=url)\n",
"serv_resp = urllib2.urlopen(serv_req)\n",
"table = serv_resp.read()\n",
"print '\\nLast pull of data from the Google FusionTable: ', datetime.datetime.now()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Last pull of data from the Google FusionTable: 2012-11-20 23:15:46.881851\n"
]
}
],
"prompt_number": 92
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def parse_loc(loc, ret_lon=True):\n",
" try:\n",
" lon, lat = loc.split(',')\n",
" lon, lat = lon.strip(' '), lat.strip(' ')\n",
" lon, lat = map(float, [lon, lat])\n",
" if ret_lon:\n",
" return lon\n",
" else:\n",
" return lat\n",
" except:\n",
" return None"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 93
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"db = pd.read_csv(StringIO(table))\n",
"db['lon'] = db['Location (approximate)'].apply(lambda x: parse_loc(x))\n",
"db['lat'] = db['Location (approximate)'].apply(lambda x: parse_loc(x, ret_lon=False))\n",
"db['Date'] = db['Date'].apply(pd.to_datetime)\n",
"db"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 94,
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 97 entries, 0 to 96\n",
"Data columns:\n",
"Date 97 non-null values\n",
"Day 97 non-null values\n",
"Name of place 96 non-null values\n",
"Location (approximate) 94 non-null values\n",
"Details 97 non-null values\n",
"Source url 97 non-null values\n",
"Image url 13 non-null values\n",
"Icon 1 97 non-null values\n",
"lon 92 non-null values\n",
"lat 92 non-null values\n",
"dtypes: datetime64[ns](1), float64(2), object(7)"
]
}
],
"prompt_number": 94
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Very basic descriptive analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"+ Volume of incidents by day"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"t = db['Date']\n",
"t = t.reindex(t)\n",
"by_day = t.groupby(lambda x: x.day).size()\n",
"by_day.plot(kind='bar')\n",
"title('Number of events by day')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 95,
"text": [
"<matplotlib.text.Text at 0x49b4b10>"
]
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAWwAAAELCAYAAAD9brxbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtU1HX+P/DnePmuFSCgQioQWnJMwWC3tDRzzDTKNJPy\nluY1t7bO0dWt9KxZbK5Z1vozc09mGlarZZ2jddzSMn2rXbxUkPe1LVETLxWioqUuvH5/TE1O4HwG\nPsO835/PPB/ncHJmmPk8eQ3zAp4zkEdEBEREZLx6ugMQEVFouLCJiByCC5uIyCG4sImIHIILm4jI\nIbiwiYgcggubamXEiBF49NFHtR1/5MiRSExMxLXXXqstQzilp6fjww8/rJPbrlevHr755ps6uW2K\nLC5sl0hPT0dycjJOnz7tP++ll15C9+7d6+R4Ho8HHo+nTm7byoYNG7B69WqUlJRg48aNWjJUJz09\nHWvWrKnVdXXOk5yDC9tFKisrMXv27IgdL1y/c1VZWVmj99+3bx/S09PRqFGjsBw/XDweT9hmQlQd\nLmyX8Hg8+Mtf/oJnnnkGx48fr3J5cXEx6tWrF7AcvV4vFixYAAAoKChAly5dMGHCBCQkJOCKK67A\nJ598gpdffhlpaWlITk7GK6+8EnCb33//PXr16oW4uDh4vV7s37/ff9nu3bvRs2dPNGnSBG3btsWb\nb77pv2zEiBG4//77ceuttyImJgZKqSp5S0pK0LdvXzRp0gRt2rTBSy+9BABYsGAB7r33Xnz66aeI\njY1Ffn5+tfNYuHAh2rVrh8TEROTm5vqz3X///XjooYcC3vf222/HrFmz/MfNy8tDUlISWrdujTlz\n5vjf7/HHH8eAAQMwfPhwxMXFITMzE59//jkAYNiwYdi/fz/69OmD2NhYPPPMMzhz5gyGDh2Kpk2b\nIiEhAR07dsTRo0erzQsAmzdvRvv27ZGYmIhRo0bhzJkzAIDMzEysWLHC/37nzp1D06ZN8eWXX1Z7\nOzNnzkSLFi2QkpKChQsXBlz273//Gzk5OWjcuDHS0tIC5te7d288//zzAe/foUMHvP322xfMTBEm\n5Arp6emyevVq6d+/v0yZMkVERObPny9er1dERPbu3Ssej0cqKir81/F6vbJgwQIREXn55ZelQYMG\nUlBQIJWVlTJlyhRp2bKlPPjgg3L27Fl5//33JTY2Vk6dOiUiIsOHD5fY2FjZsGGDnDlzRsaNGyfX\nX3+9iIiUl5dLSkqKFBQUSEVFhRQWFkrTpk1l586d/us2btxYPvnkExER+emnn6p8PF27dpUHHnhA\nzpw5I0VFRdKsWTNZs2aNiIgUFBT4j1Wd5cuXyxVXXCG7d++WiooKmTZtmnTu3FlERNavXy+pqan+\n9y0tLZWLLrpIDh06JBUVFfL73/9ennjiCTl37px888030rp1a1m1apWIiDz22GPSqFEjee+996Sy\nslImT54s1157bcB98OGHH/pPv/DCC9KnTx/58ccfpbKyUr744gs5ceJEtZkvu+wyycrKkm+//VZK\nS0ulS5cu/vvx6aefloEDBwZ8fB06dKj2dt577z1JTk6WHTt2yKlTp2Tw4MHi8Xjk66+/FhERpZRs\n375dRES2bt0qycnJsnz5chERWbp0qXTq1Ml/W0VFRdKkSRM5d+7cBWdNkcWF7RK/LIvt27dL48aN\n5bvvvqvxwm7Tpo3/sq1bt4rH45GjR4/6z2vSpIl8+eWXIuJbuoMHD/ZfVl5eLvXr15cDBw7I66+/\nLl27dg3IN3bsWMnPz/dfd/jw4Rf8WPbv3y/169eX8vJy/3mTJ0+WESNG+LMGW9i5ubn+j0tEpKKi\nQi6++GLZv3+/VFZWSlpamqxfv15ERF588UXp0aOHiIhs3LhR0tLSAm5r+vTpMnLkSBHxLeyePXv6\nL9uxY4dcdNFF/tO/XdgLFy6Uzp07y9atWy+Y9fzrzps3z3/63Xfflcsvv1xERA4ePCgxMTFy8uRJ\nERHJy8uTmTNnVns7I0eOlMmTJ/tP79mzJ2Bh/9a4cePkz3/+s4iI/Pjjj5KQkCD//e9/RURk4sSJ\n8sADD1hmp8hhJeIy7du3x2233YYZM2bU+Ems5ORk/78vuugiAECzZs0CzisvLwfgq2BSUlL8l11y\nySVITExESUkJ9u3bh02bNiEhIcH/tnjxYhw5csR/3dTU1AvmKCkpQWJiIi655BL/eWlpaTh48GBI\nH8e+ffswbtw4/7GbNGkCADh48CA8Hg8GDRqEJUuWAAAWL16Mu+++23+9kpKSgNxPPvlkQI1x/owu\nvvhi/PTTTxfs4IcNG4abb74ZgwYNQsuWLfHII4/gf//73wVznz+TtLQ0lJSUAABatGiBLl264K23\n3kJZWRlWrlzpz/xbhw4dqnI759u0aRO6d++OpKQkxMfHY968efjhhx8AAI0aNcKAAQPw6quvQkTw\n+uuvY9iwYRfMS5HHhe1C+fn5mD9/fsCC+2X5nf8qksOHD9f6GCKCAwcO+E+Xl5ejtLQULVu2RFpa\nGrp164Zjx475306ePIm5c+eGdNstWrRAaWmp/4sDAOzfvz/gC0QwaWlpePHFFwOOf+rUKf9LAAcP\nHoy33noL+/btw+bNm5GXl+e/XqtWrQKud+LECX9/bPUF8LeXN2jQAFOnTsWOHTvwySefYMWKFVWe\nBzjf+c8B7N+/Hy1atPCfHj58OF577TW8+eab6Ny5M5o3b17tbTRv3rzK7ZxvyJAh6NevH7799luU\nlZXhvvvuC/iCM3z4cPzrX//C6tWrcfHFF6NTp05BP2aKLC5sF7r88ssxcODAgFeMNGvWDC1btsSr\nr76KiooKLFy4EF9//bWt47z77rv4+OOPcfbsWTz66KO47rrr0LJlS/Tu3Rt79uzBa6+9hnPnzuHc\nuXPYsmULdu/eDcD61SWpqano3LkzJk+ejDNnzmDr1q1YuHAhhg4dGlKu++67D9OnT8fOnTsBAMeP\nHw940jM7OxtNmzbFmDFjkJubi7i4OABAx44dERsbi6effho//vgjKioqsH37dnz22Wch5U5OTg6Y\nqVIK27ZtQ0VFBWJjY9GwYUPUr1+/2uuKCObOnYuDBw+itLQUf//73zFo0CD/5XfccQe++OILPPfc\nc7jnnnsumGHAgAEoKCjArl27cPr06SpPypaXlyMhIQH/93//h82bN2Px4sUBX2iuu+46/xPYwY5D\nenBhu9TUqVNx+vTpgAfj/PnzMXPmTDRt2hQ7d+5Ely5d/JdV9zrgYN9Rejwe3H333cjPz0eTJk1Q\nWFiI1157DQAQGxuL999/H6+//jpatmyJ5s2bY/LkyTh79uwFj/VbS5YsQXFxMVq0aIH+/fvjb3/7\nG2688caQrt+vXz888sgjGDRoEBo3boysrCysWrUq4H2GDBmCNWvWYMiQIf7z6tWrhxUrVqCoqAit\nW7dGs2bNMHbsWJw4cSKkGU2ePBnTpk1DQkICnn32WRw+fBh33XUXGjdujHbt2sHr9V6wYvhlnr16\n9cLll1+ONm3aYMqUKf7LGzVqhP79+6O4uBj9+/e/4Meem5uL8ePH48Ybb0RGRgZ69OgRkPGf//wn\npk6diri4ODzxxBMYOHBgldu45557sG3btpC/QFLkeMTq2wYiMsITTzyBr776KmitEg6vvvoq5s+f\nj/Xr19fpcajmgn6HfeDAAXTv3h3t27dHZmYmnnvuOQC+16OmpKQgJycHOTk5WLlyZUTCEkWr0tJS\nLFy4EGPHjq3T45w+fRpz586t8+NQ7QRd2A0bNsSsWbOwY8cObNy4EXPnzsWuXbvg8XgwYcIEFBYW\norCwELm5uZHKSxR15s+fj7S0NNxyyy24/vrr6+w4q1atQlJSEpo3bx5QFZE5alSJ9OvXDw8++CA+\n/vhjxMTEYOLEidXfKP8mAhFRrQRbySE/6VhcXIzCwkL/S6PmzJmDq666CqNHj0ZZWVm1B63rt8ce\neywix3FrPmaMjnxOyGh6vkhltBLSwi4vL8edd96J2bNnIyYmBvfffz/27t2LoqIiNG/e/ILfaRMR\nUfhYLuxz584hLy8PQ4cORb9+/QAASUlJ/pc4jRkzBps3b67zoNUpLi7WctxQmZ4PYMZwMD0fYH5G\n0/MBZmQMurBFBKNHj0a7du0wfvx4//mHDh3y/3vZsmXIysqqu4RBZGdnazluqEzPBzBjOJieDzA/\no+n5ADMyBn3S8aOPPsINN9yADh06+J9InD59OpYsWYKioiJ4PB60atUK8+bNC/gbC/y7wERENWe1\nO+vkF2e4sImIas5qdzr6V9Or+8P3JjE9H8CM4WB6PsD8jKbnA8zI6OiFTUQUTViJuEBcXCJOnjwW\n8ePGxibgxInSiB+3LnCGZAJ22FHA94Swjnm7537mDMkE7LA1Mj2fj9IdwJL5c1S6A1gyfYam5wPM\nyOjohU1EFE1YibgAf5y3jzMkE7i6EiEiiiaOXtgmdErBmJ7PR+kOYMn8OSrdASyZPkPT8wFmZHT0\nwiYiiibssF2A/at9nCGZwGp3NohgFiJyMV2/fAREzy8gOboSMaFTCsb0fD5KdwBL5s9R6Q5gKRIz\n9C1rqeXbWhvXlYh8oTDh89DRC5uIKJqww3YB9q/2cYb26Zsh4JY58nXYREQu4eiFbUKnFIzp+XyU\n7gCWzJ+j0h3AEmdonwkzdPTCJiKKJuywXYD9q32coX3ssO1jh01E5BKOXtgmdErBmJ7PR+kOYMn8\nOSrdASxxhvaZMENHL2wiomjCDtsF2L/axxnaxw7bPnbYREQu4eiFbUKnFIzp+XyU7gCWzJ+j0h3A\nEmdonwkzdPTCJiKKJuywXYD9q32coX3ssO1jh01E5BKOXtgmdErBmJ7PR+kOYMn8OSrdASxxhvaZ\nMENHL2wiomjCDtsF2L/axxnaxw7bPnbYREQu4eiFbUKnFIzp+XyU7gCWzJ+j0h3AEmdonwkzdPTC\nJiKKJuywXYD9q32coX3ssO2z1WEfOHAA3bt3R/v27ZGZmYnnnnsOAFBaWoqePXsiIyMDvXr1QllZ\nWXhTExFRFUEXdsOGDTFr1izs2LEDGzduxNy5c7Fr1y7MmDEDPXv2xJ49e9CjRw/MmDEjUnkDmNAp\nBWN6Ph+lO4Al8+eodAewxBnaZ8IMgy7sSy+9FNnZ2QCAmJgYXHnllTh48CDeeecdDB8+HAAwfPhw\nLF++vO6TEhFFuQahvmNxcTEKCwvRqVMnHDlyBMnJyQCA5ORkHDlypMr7jxgxAunp6QCA+Ph4ZGdn\nw+v1Avj1KxVPh+e0jwLgPe/fCPG0t4bvf/5phCV/KB+fUqrO53neR/Tzf70hnv7lvFDfP/B0pD5f\n/EmNm194r6/78ViT00opFBQUAIB/XwYT0pOO5eXl6NatGx599FH069cPCQkJOHbsmP/yxMRElJaW\n/nqjfNIxoviEmX2coX180tE+2784c+7cOeTl5WHYsGHo168fAN931YcPHwYAHDp0CElJSWGKWzMm\ndErBmJ7PR+kOYMn8OSrdASxxhvaZMMOgC1tEMHr0aLRr1w7jx4/3n9+3b18sWrQIALBo0SL/Iici\noroTtBL56KOPcMMNN6BDhw4//7gDPPnkk+jYsSMGDBiA/fv3Iz09HUuXLkV8fPyvN8pKJKL447x9\nnKF9rETss9qd/MUZF+CysY8ztI8L2z5X//EnEzqlYEzP56N0B7Bk/hyV7gCWOEP7TJihoxc2EVE0\nYSXiAvxx3j7O0D5WIva5uhIhIoomjl7YJnRKwZiez0fpDmDJ/Dkq3QEscYb2mTBDRy9sIqJowg7b\nBdi/2scZ2scO2z522ERELuHohW1CpxSM6fl8lO4Alsyfo9IdwBJnaJ8JM3T0wiYiiibssF2A/at9\nnKF97LDtY4dNROQSjl7YJnRKwZiez0fpDmDJ/Dkq3QEscYb2mTBDRy9sIqJowg7bBdi/2scZ2scO\n2z522ERELuHohW1CpxSM6fl8lO4Alsyfo9IdwBJnaJ8JM3T0wiYiiibssF2A/at9nKF97LDtY4dN\nROQSjl7YJnRKwZiez0fpDmDJ/Dkq3QEscYb2mTBDRy9sIqJowg7bBdi/2scZ2scO2z522ERELuHo\nhW1CpxSM6fl8lO4Alsyfo9IdwBJnaJ8JM3T0wiYiiibssF2A/at9nKF97LDtY4dNROQSjl7YJnRK\nwZiez0fpDmDJ/Dkq3QEscYb2mTBDRy9sIqJowg7bBdi/2scZ2scO2z522ERELuHohW1CpxSM6fl8\nlO4Alsyfo9IdwBJnaJ8JM3T0wiYiiibssF2A/at9nKF97LDtY4dNROQSQRf2qFGjkJycjKysLP95\njz/+OFJSUpCTk4OcnBysXLmyzkNeiAmdUjCm5/NRugNYMn+OSncAS5yhfSbMMOjCHjlyZJWF7PF4\nMGHCBBQWFqKwsBC5ubl1GpCIiHwsO+zi4mL06dMH27ZtAwDk5+cjJiYGEydOvPCNssOOKPav9nGG\n9rHDts9qdzaozY3OmTMHr7zyCq6++mo8++yziI+Pr/I+I0aMQHp6OgAgPj4e2dnZ8Hq9AH790YKn\nw3PaRwHwnvdvROA0apXX1NPnfUQ//9cbkdOmfPxOnZ+TPx+VUigoKAAA/74MSizs3btXMjMz/aeP\nHDkilZWVUllZKX/9619l1KhRVa4Tws2Gxdq1ayNynNqKVD4AAkgt39bauK577mfO0D59M4zMHCM1\nw2Bq/CqRpKQkeDweeDwejBkzBps3b67pTRARUS3UuMM+dOgQmjdvDgCYNWsWtmzZgsWLFwfeKDvs\niGL/ah9naB87bPtsddiDBw/GunXr8P333yM1NRX5+flQSqGoqAgejwetWrXCvHnzwh6aiIiqcvRv\nOiqlfvPEm1kilc/edzYKvz55U+Mju+Z+5gzt0zdDIBJzjNQMg30c/E1HIiKHcPR32OTD/tU+ztA+\ndtj28TtsIiKXcPTCrvqCfbOYns9H6Q5gyfw5Kt0BLHGG9pkwQ0cvbCKiaMIO2wXYv9rHGdrHDts+\ndthERC7h6IVtQqcUjOn5fJTuAJbMn6PSHcASZ2ifCTN09MImIoom7LBdgP2rfZyhfeyw7WOHTUTk\nEo5e2CZ0SsGYns9H6Q5gyfw5Kt0BLHGG9pkwQ0cvbCKiaMIO2wXYv9rHGdrHDts+dthERC7h6IVt\nQqcUjOn5fJTuAJbMn6PSHcASZ2ifCTN09MImIoom7LBdgP2rfZyhfeyw7WOHTUTkEo5e2CZ0SsGY\nns9H6Q5gyfw5Kt0BLHGG9pkwQ0cvbCKiaMIO2wXYv9rHGdrHDts+dthERC7h6IVtQqcUjOn5fJTu\nAJbMn6PSHcASZ2ifCTN09MImIoom7LBdgP2rfZyhfeyw7WOHTUTkEo5e2CZ0SsGYns9H6Q5gyfw5\nKt0BLHGG9pkwQ0cvbCKiaMIO2wXYv9rnhBnGxSXi5MljdZynqtjYBJw4UWr5fuyw7bPanVzYLuCE\nZWM6J8zQ9Ixc2Pa5+klHEzqlYEzP56N0B7Bk/hyV7gAhULoDWFC6A1gy4fPQ0QubiCiasBJxAdN/\nVHYCJ8zQ9IysROxzdSVCRBRNHL2wTeiUgjE9n4/SHcCS+XNUugOEQOkOYEHpDmDJhM/DoAt71KhR\nSE5ORlZWlv+80tJS9OzZExkZGejVqxfKysrqPCQREVl02Bs2bEBMTAzuuecebNu2DQDw8MMPo2nT\npnj44Yfx1FNP4dixY5gxY0bgjbLDjijTu00ncMIMTc/IDts+q93ZINiVu3btiuLi4oDz3nnnHaxb\ntw4AMHz4cHi93ioLGwBGjBiB9PR0AEB8fDyys7Ph9XoB/PqjBU+H57SPAuA979+IwGnUKq+pp8/7\niH7+rzcip03P90sGc/MFHt+Uz6dQTiulUFBQAAD+fRmUWNi7d69kZmb6T8fHx/v/XVlZGXD6FyHc\nbFisXbs2IseprUjlAyCA1PJtrY3ruud+dsIMTc+oL19kPhcj9XkYjK0nHT0ez88/BhERUV2zfB12\ncXEx+vTp4++w27ZtC6UULr30Uhw6dAjdu3fH7t27A2+UHXZEmd5tOoETZmh6RnbY9oX9ddh9+/bF\nokWLAACLFi1Cv379ap+OiIhCFnRhDx48GJ07d8Z//vMfpKam4uWXX8akSZPwwQcfICMjA2vWrMGk\nSZMilbUKE14XGYzp+XyU7gCWzJ+j0h0gBEp3AAtKdwBLJnweBn2VyJIlS6o9f/Xq1XUShoiILox/\nS8QFTO82ncAJMzQ9Izts+/i3RIiIXMLRC9uETikY0/P5KN0BLJk/R6U7QAiU7gAWlO4Alkz4PHT0\nwiYiiibssF3A9G7TCZwwQ9MzssO2jx02EZFLOHphm9ApBWN6Ph+lO4Al8+eodAcIgdIdwILSHcCS\nCZ+Hjl7YRETRhB22C5jebTqBE2ZoekZ22PaxwyYicglHL2wTOqVgTM/no3QHsGT+HJXuACFQugNY\nULoDWDLh8zDo3xIhCoe4uEScPHlMy7FjYxNw4kSplmMThRs7bBdgtxn06IZnZIcdHu7YOeywiYhc\nwtEL24ROKRjT8/ko3QFCoHQHsKB0BwiB0h3AgtIdwJIJj2dHL2wiomjCDtsF2G0GPbrhGdlhh4c7\ndg47bCIil3D0wjahUwrG9Hw+SneAECjdASwo3QFCoHQHsKB0B7BkwuPZ0QubiCiasMN2AXabQY9u\neEZ22OHhjp3DDpuIyCUcvbBN6JSCMT2fj9IdIARKdwALSneAECjdASwo3QEsmfB4dvTCJiKKJuyw\nXYDdZtCjG56RHXZ4uGPnsMMmInIJRy9sEzqlYEzP56N0BwiB0h3AgtIdIARKdwALSncASyY8nh29\nsImIogk7bBdgtxn06IZnZIcdHu7YOeywiYhcwtEL24ROKRjT8/ko3QFCoHQHsKB0BwiB0h3AgtId\nwJIJj2dHL2wiomjCDtsF2G0GPbrhGdlhh4c7dg47bCIil3D0wjahUwrG9Hw+SneAECjdASwo3QFC\noHQHsKB0B7BkwuO5QW2vmJ6ejri4ONSvXx8NGzbE5s2bw5mLiIh+o9YddqtWrfD5558jMTGx6o2y\nw44odptBj254RnbY4eGOnVOnHbYbBkRE5BS1rkQ8Hg9uuukm1K9fH3/84x9x7733Blw+YsQIpKen\nAwDi4+ORnZ0Nr9cL4NcuyOv1Ii4uESdPHqttjFq76KIYnD59skqecJ7+5by6uv1fTvsoAN7z/o0Q\nT/+atebXRwTyAcD/A5Bd6+vX5P5yZz4FoAjA+Fpe35fB3HyBx3fS41kphYKCAgDw78ugpJZKSkpE\nROTo0aNy1VVXyfr16/2X1eRmAQggtXxba+O6tf7QQ7Z27do6P4aI+TO0l88JGSPzeWh6Rn35ajbH\n2orE49nq4wjL67Dz8/MRExODiRMnAqhZh216L+cEps/QCd2m6TMEzM/ohPvZdHXSYZ8+fRonT/rq\nhFOnTuH9999HVlZW7RISEVFIarWwjxw5gq5duyI7OxudOnXCbbfdhl69eoU7WwiUhmOGzoTXbVpT\nugOEQOkOYEHpDhACpTuABaU7gCUTHs+1etKxVatWKCoqCncWIiIKQvvfEjG9l3MC02fohG7T9BkC\n5md0wv1sOv4tESIil3D4wla6AwRlQudlTekOEAKlO4AFpTtACJTuABaU7gCWTHg8O3xhExFFD3bY\nLmD6DJ3QbZo+Q8D8jE64n03HDpuIyCUcvrCV7gBBmdB5WVO6A4RA6Q5gQekOEAKlO4AFpTuAJRMe\nzw5f2ERE0YMdtguYPkMndJumzxAwP6MT7mfTscMmInIJhy9spTtAUCZ0XtaU7gAhULoDWFC6A4RA\n6Q5gQekOYMmEx7PDFzYRUfRgh+0Cps/QCd2m6TMEzM/ohPvZdOywiYhcwuELW+kOEJQJnZc1pTtA\nCJTuABaU7gAhULoDWFC6A1gy4fHs8IVNRBQ92GG7gOkzdEK3afoMAfMzOuF+Nh07bCIil3D4wla6\nAwRlQudlTekOEAKlO4AFpTtACJTuABaU7gCWTHg8O3xhExFFD3bYLmD6DJ3QbZo+Q8D8jE64n03H\nDpuIyCUcvrCV7gBBmdB5WVO6A4RA6Q5gQekOEAKlO4AFpTuAJRMezw5f2ERE0YMdtguYPkMndJum\nzxAwP6MT7mfTscMmInIJhy9spTtAUCZ0XtaU7gAhULoDWFC6A4RA6Q5gQekOYMmEx7PDFzYRUfRg\nh+0Cps/QCd2m6TMEzM/ohPvZdOywiYhcwuELW9X5EeLiEuHxeLS8xcUl1vnH54Tu0PyMSneAECjd\nASyoiBxF1+M5XI9lhy/sunfy5DH4fsyrzdtaG9eVn49NROGi6/EcrscyO2yr93JAL8cZBj264Rn5\nWAkP0zOGno8dNhGRCzh8YSvdASwo3QFCoHQHCIHSHcCC0h0gBEp3AAtKd4AQKN0BnL6wi3QHsGB6\nPoAZw8H0fID5GU3PB5iQsdYLe+XKlWjbti3atGmDp556KpyZaqBM03FDZXo+gBnDwfR8gPkZTc8H\nmJCxVgu7oqICDz74IFauXImdO3diyZIl2LVrV7izERHReWq1sDdv3owrrrgC6enpaNiwIQYNGoS3\n33473NlCUKzhmDVRrDtACIp1BwhBse4AFop1BwhBse4AFop1BwhBse4AaFCbKx08eBCpqan+0ykp\nKdi0aVPA+/hePhOqmrzvby2q9TVDz6gnH2B+xsjkA8zPGIl8gPkZ+Vi54FFrdD9Xr1YL2+rAbvid\nfiIi09SqEmnZsiUOHDjgP33gwAGkpKSELRQREVVVq4V99dVX46uvvkJxcTHOnj2LN954A3379g13\nNiIiOk+tKpEGDRrg+eefx80334yKigqMHj0aV155ZbizERHReerkb4kQEVH4Ofw3Hc139OhR3REc\n74cfftAdgaJMWVkZJk2ahLZt2yIhIQGJiYlo27YtJk2ahLIyfb9A44qFfcstt+iOAAAoLS0NePvh\nhx/QsWNH/2ndVq5c6f93WVkZRo8ejaysLAwZMgRHjhzRmOxXjzzyCL777jsAwGeffYbWrVujU6dO\nSEtLM+JdKypyAAAE0UlEQVT/qQcAOTk5mDZtGr7++mvdUaq1ZcsWdO/eHUOHDsWBAwfQs2dPNG7c\nGNdccw0KCwt1xwMAnDx5ElOnTkX79u0RFxeHpk2bolOnTigoKNAdDQAwYMAAJCQkQCnlf/yuXbsW\n8fHxGDBggLZcjqlEvvjii2rPFxH07t0bhw8fjnCiqurVq4fLLrss4Lxvv/0WKSkp8Hg8+OabbzQl\n88nJyfE/YEePHo3mzZtjzJgxWLZsGdatW4fly5drzQcAmZmZ2L59OwDA6/Vi5syZuOaaa7Bnzx4M\nHjwYn3/+ueaEQKtWrZCXl4elS5ciOTkZQ4YMwcCBA9GiRQvd0QAA11xzDf72t7+hrKwMDz30EGbN\nmoU777wTa9aswZQpU/Dpp5/qjoi+ffvijjvuwE033YQ333wT5eXlGDRoEKZNm4aUlBRMnz5da76M\njAzs2bOnxpfVOXGIevXqidfrrfatUaNGuuOJiMgzzzwjN998s3z55Zf+89LT0zUmCpSdne3/d4cO\nHaSysjLgtAnatm0rZ8+eFRGRTp06BVyWmZmpI1IVv8yxsrJS1q1bJ/fdd58kJyeL1+uVefPmaU4X\neD+npqYGXHbVVVdFOk61srKyAk7/4Q9/EBGRiooKycjI0BEpwE033SRPPfWUHD582H/eoUOHZMaM\nGdKjRw9tuWr1KhEd2rZti3nz5iEjI6PKZef/1qVOEydOxIABAzBhwgSkpKQgPz9fd6QA3333Hf7x\nj39ARHD8+PGAy8SQH7T+9Kc/4dZbb8XkyZORm5uLcePGoX///lizZg2ys7N1xwvg8Xhwww034IYb\nbsCcOXOwevVqvPHGGxg7dqzWXA0bNsSqVatw/PhxiAiWLVuGO+64A+vWrcPvfvc7rdl+cckll2DD\nhg3o2rUr3n77bTRp0gSA76dUE7zxxhuYMWMGunXr5q8Lk5OT0bdvXyxdulRfMG1fKmpo6dKlsmvX\nrmovW7ZsWYTTWFu+fLl07NhRkpKSdEfxe+yxx+Txxx/3vx05ckREREpKSmTYsGGa0/1qzZo1ctdd\nd0l2drZkZmZKbm6uvPDCC/7vvHUbOHCg7ghBbdq0Sbp16yaDBg2S4uJi6dGjh8TGxkpOTo5s2bJF\ndzwRESkqKpKrr75aGjduLJ07d5bdu3eLiMjRo0dl9uzZmtP57Ny5Uz744AM5ceJEwPnvvfeepkQi\njlnYwSxYsEB3hGqdOnVKtm7dKiIiCxcu1JwmOFNneD7TZyhifkbT84mY8bk4e/ZsycjIkNtvv13S\n0tICvik8v3KKNMc86RhMampqwK/Km8j0jKbnA5gxHEzPB5iRMTMzExs3bkRMTAyKi4uRl5eHYcOG\nYfz48QFP3keaYzrsrKysC15mykvSgmU04fXYnGF4mJ7R6fezCRlFBDExMQCA9PR0rFu3Dnl5edi3\nb5/W53scs7CPHj2KlStXIiEhocplnTt31pCoKtMzmp4PYMZwMD0fYH7GpKQkFBUV+Z/ojomJwYoV\nKzB69Ghs3bpVWy7HLOzevXujvLwcOTk5VS7r1q2bhkRVmZ7R9HwAM4aD6fkA8zO+8soraNiwYcB5\nDRs2xKJFi7S+CsgVHTYRUTQw40WPRERkiQubiMghuLCJiByCC5uIyCG4sImIHOL/A9M0y+Qw4uwp\nAAAAAElFTkSuQmCC\n"
}
],
"prompt_number": 95
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"+ Location of events coloured by day"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"f = figure(figsize=(10, 6))\n",
"ax = f.add_subplot(111)\n",
"x, y = db['lon'], db['lat']\n",
"s = scatter(x, y, marker='.', color='k')\n",
"for d, day in db.set_index('Date').groupby(lambda x: x.day):\n",
" x, y = day['lon'], day['lat']\n",
" c = cm.Set1(d/30.)\n",
" s = scatter(x, y, marker='^', color=c, label=str(d), s=20)\n",
"ax.get_yaxis().set_visible(False)\n",
"ax.get_xaxis().set_visible(False)\n",
"legend(loc=2)\n",
"title('Spatial distribution of events by day')\n",
"ax.set_axis_bgcolor(\"0.2\") "
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\nfv16du3axbXXXlshsI0fP55//OMf/Pe//yU5OZk+ffoc8jOLxAsFHolr33//PY888kgk1Kxbt445\nc+ZwyimnRLbZunUrjz32GOXl5cydO5cVK1YwbNgwysrKKCsro2nTpjgcDt5++23eeeedyH5ZWVns\n2LGDoqKiKo9dXFxMQkICmZmZlJSUcNddd1VYf6jgM2rUKB577DE2bNjAzp07+b//+79qt507dy7r\n168HoHHjxliWFemSZGVlRU4/1JQxhr/85S9s2LCBwsJCHnjgAUaPHg2EJ0AvX76cr776Cp/PR0FB\nQYV9s7KyDhm2xowZw/3338/27dvZvn0706ZNq1WH4LjjjqNfv37ceeed+P1+vv76a5555hkuu+yy\nGu1/7bXX8tvf/jYyiXz37t3MnTs3sv6EE06gadOmXHXVVZxzzjmkp6cDcPLJJ5OWlsZDDz2E1+sl\nGAyybNmyyG0ODhdmD/5+LFy4kG+++YZgMEhaWhputxun01nlvof6vgCMGDGCL774gscee4zLL7+8\n2hpGjRrFrFmz+O677ygtLa10Squ4uJiMjAw8Hg+fffYZL7zwQoWgdsopp2BZFrfccsshjyMSbxR4\nJK6lpaXx6aef0qdPH1JTUznllFPo0aMHDz/8cGSbPn368OOPP9KsWTOmTJnCv/71LzIyMkhLS+Ox\nxx5j1KhRZGZmMmfOnMiVRxA+VTZmzBjatm1LZmYmmzZtqnCvlMsvv5y8vDxycnLo1q1b5AfFPoe6\nr8rVV1/NkCFD6NmzJ/n5+Vx44YXVbrt48WL69u0buTLqscceo3Xr1kD4qqHx48eTkZHByy+/XO0x\nD65r7NixnH322bRr144OHTpwzz33ANCxY0emTp3KmWeeSadOnRg4cGCFfa+88kq+/fZbMjIyGDly\nZKXj3HPPPeTn59OjRw969OhBfn5+ZOyD6zicOXPmsHr1arKzsxk5ciTTpk3j9NNPj4xzqLEuuOAC\nbr/9dkaPHk2jRo3o3r078+fPr7DNpZdeyoIFC7j00ksjyxwOB/PmzWPp0qW0bduWZs2aMWnSpEjo\nreq4B76/8847uf/++8nIyODhhx9m8+bNXHzxxTRq1Ijjjz+eU089tdoAeKjvC4RPN40cOZLVq1dX\n+Xe/zznnnMPkyZM5/fTT6dixI2eccUaFGv/6178ydepU0tPTmT59OpdcckmlMS6//HK++eabGgdM\n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\nNEzq8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI\n7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjt\nKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p\n8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7Snw\niIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCI\niIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7SnwiIiIiO0p8IiI\niIjtKfCIiIiI7SnwiIiIiO0p8IiIiIjtKfCIiIiI7VnGGFPlCsuq71pEREREaq2aSAOAqzY7iYiI\niMQTndISERER21PgEREREdtT4BERERHbU+ARERER21PgEREREdtT4BERERHb+/88uds0EYivlwAA\nAABJRU5ErkJggg==\n"
}
],
"prompt_number": 139
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment