{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "import pandas as pd\n", "import networkx as nx\n", "import os\n", "import numpy as np\n", "import warnings\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from nxviz import CircosPlot\n", "warnings.filterwarnings('ignore')\n", "\n", "%matplotlib inline\n", "%config InlineBackend.figure_format = 'retina'" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Tables to Networks, Networks to Tables\n", "\n", "Networks can be represented in a tabular form in two ways: As an adjacency list with edge attributes stored as columnar values, and as a node list with node attributes stored as columnar values.\n", "\n", "Storing the network data as a single massive adjacency table, with node attributes repeated on each row, can get unwieldy, especially if the graph is large, or grows to be so. One way to get around this is to store two files: one with node data and node attributes, and one with edge data and edge attributes. \n", "\n", "The Divvy bike sharing dataset is one such example of a network data set that has been stored as such." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Loading Node Lists and Adjacency Lists\n", "\n", "Let's use the Divvy bike sharing data set as a starting point. The Divvy data set is comprised of the following data:\n", "\n", "- Stations and metadata (like a node list with attributes saved)\n", "- Trips and metadata (like an edge list with attributes saved)\n", "\n", "The `README.txt` file in the Divvy directory should help orient you around the data." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "import zipfile\n", "# This block of code checks to make sure that a particular directory is present.\n", "if \"divvy_2013\" not in os.listdir('datasets/'):\n", " print('Unzipping the divvy_2013.zip file in the datasets folder.')\n", " with zipfile.ZipFile(\"datasets/divvy_2013.zip\",\"r\") as zip_ref:\n", " zip_ref.extractall('datasets')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "stations = pd.read_csv('datasets/divvy_2013/Divvy_Stations_2013.csv', parse_dates=['online date'], encoding='utf-8')\n", "stations.head(10)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "trips = pd.read_csv('datasets/divvy_2013/Divvy_Trips_2013.csv', \n", " parse_dates=['starttime', 'stoptime'])\n", "trips.head(10)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "At this point, we have our `stations` and `trips` data loaded into memory. \n", "\n", "How we construct the graph depends on the kind of questions we want to answer, which makes the definition of the \"unit of consideration\" (or the entities for which we are trying to model their relationships) is extremely important. \n", "\n", "Let's try to answer the question: \"What are the most popular trip paths?\" In this case, the bike station is a reasonable \"unit of consideration\", so we will use the bike stations as the nodes. \n", "\n", "To start, let's initialize an directed graph `G`." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "G = nx.DiGraph()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Then, let's iterate over the `stations` DataFrame, and add in the node attributes." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for d in stations.to_dict('records'): # each row is a dictionary\n", " node_id = d.pop('id')\n", " G.add_node(node_id, attr_dict=d) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In order to answer the question of \"which stations are important\", we need to specify things a bit more. Perhaps a measure such as **betweenness centrality** or **degree centrality** may be appropriate here.\n", "\n", "The naive way would be to iterate over all the rows. Go ahead and try it at your own risk - it may take a long time :-). Alternatively, I would suggest doing a `pandas` `groupby`." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# # Run the following code at your own risk :)\n", "# for r, d in trips.iterrows():\n", "# start = d['from_station_id']\n", "# end = d['to_station_id']\n", "# if (start, end) not in G.edges():\n", "# G.add_edge(start, end, count=1)\n", "# else:\n", "# G.edge[start][end]['count'] += 1" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "counts = trips.groupby(['from_station_id', 'to_station_id'])['trip_id'].count().reset_index()\n", "for d in counts.to_dict('records'):\n", " G.add_edge(d['from_station_id'], d['to_station_id'], count=d['trip_id'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise\n", "\n", "Flex your memory muscles: can you make a scatter plot of the distribution of the number edges that have a certain number of trips? (3 min.)\n", "\n", "The x-value is the number of trips taken between two stations, and the y-vale is be the number of edges that have that number of trips." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "from collections import Counter\n", "# Count the number of edges that have x trips recorded on them.\n", "trip_count_distr = ______________________________\n", "\n", "# Then plot the distribution of these\n", "plt.scatter(_______________, _______________, alpha=0.1)\n", "plt.yscale('log')\n", "plt.xlabel('num. of trips')\n", "plt.ylabel('num. of edges')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Exercise\n", "\n", "Create a new graph, and filter out the edges such that only those with more than 100 trips taken (i.e. `count >= 100`) are left. (3 min.)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# Filter the edges to just those with more than 100 trips.\n", "G_filtered = G.copy()\n", "for u, v, d in G.edges(data=True):\n", " # Fill in your code here.\n", " \n", "len(G_filtered.edges())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let's now try drawing the graph." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Exercise\n", "\n", "Use `nx.draw_kamada_kawai(my_graph)` to draw the filtered graph to screen. This uses a force-directed layout. (1 min.)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# Fill in your code here.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, let's visualize this as a GIS person might see it, taking advantage of the latitude and longitude data." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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smDBApKSkmjfvj09evRgypQphIWF+fS9iYiIiFRERnP1l0/GmOVt27Ztu3z5cn83pVyaMmUKffr0KbLcqFGjePLJJ4tdf1paGhdeeCHr168H4IknnuCVV15h8eLF9OrVi6SkJADCwsIYN24c999/f7HvISIiIuJv7dq1Y8WKFSuste28rUtDoaTiSU7mspAQanswM1OHDh1KdIvg4GDGjx9PQEAATZs25ZlnngHg4osvJjExkeHDhxMYGMipU6cYMGAAf/nLX9i2bVuJ7iUiIiJSGSiwkIolPh6io2l0yy0kGkPvQopeddVVdOzYscS3uvzyy1m5ciU///wzVatWzXXu+eefJykpiUsuuQSADRs2EBMTw8CBA8nMzCzxPUVEREQqKgUWUnEkJ0O/fnDqFAAhGRlMBGoWUPzZZ5/1+patWrWiQYMGbs/VrVuXX375hRkzZhAZGYm1lnfffZfatWszZ84cr+8tIiIiUpEosJCKIyEhO6jIEg7EuCnaqVMnOnXqVCbN6tGjBwcPHqR///4YYzh06BDXX389nTp14vDhw2XSBhERERF/U2AhFUdMDOSZgSkzNJQEN0VLkrDtjaCgID766CM2btzIueeeC8CPP/5I3bp1efnll8u0LSIiIiL+oMBCKo6oKJg48c/gIiyMNY8/ziE3RTds2FCWLcvWvHlzNm/ezNixYwkNDSUtLY2nn36aJk2asGrVKr+0SURERKQsKLCQiuX22yExEZYswe7axV/nz3db7NVXX+XEiRNl3Lg//e1vf+PAgQNcd911AOzYsYMLL7yQ3r17c/r0ab+1S0RERKS0KLCQiicqCuLimLtiBb/++qvbIvv27ePdd9/1/l7JybB0qbMvpoiICObMmcOiRYuoW7cuAF988QU1a9bk008/9b5tIiIiIuWIAgupkKy1jBgxotAyXvdauKa2pX17Zx8fX6JqLr/8cnbv3s0TTzxBYGAgJ0+e5O6776ZNmzbs2rWr5O0TERERKUcUWEiF9PPPP/O///2v0DL79+/no48+KtkN8kxty6lTzusS9FwABAQE8Morr7Bjxw7atXMWtly9ejVNmjTh8ccf19oXIiIiUuEpsJAKKSQkJN+ide7KREVFlewGbqa25dQp57gXGjZsyLJly5gyZQpVq1YlMzOTt956i3r16jG/gHwRERERkYpAgYVUSHFxcRw5coTU1FROnz7Nv/71LwDuv/9+MjIyyMzMJDU1lbvuuqtkN3AztS1hYc5xb7hyNm7v0oXDhw9z5513YozhwIEDdO7cmS5dunD06FHv7iEiIiLiBwospMIKDAwkJCSE4OBggoKCADDGEBAQgDHGu8rdTG3Lxx87x0sqT85G0PTpfPrpp6xZs4ZmzZoBMHfuXOrUqcPbb7/tXftFREREypgCC6kUvA4k3MkxtS2JidC7d8nrKiRno0WLFmzdupXXX3+d4OBgTp8+zZAhQ4iJiWH9+vW+eCciIiIipU6BhVQq1lrfVuia2tarngrwKGdj6NCh2UOiALZu3UrLli259957SU9P9+7+IiIiIqVMgYVUClk9Fj4PLHzFw5yNyMhI5s2bx9y5c6lVqxbWWj755BNq1qzJtGnTyrDBIiIiIsWjwEIqhXIfWBQzZ+Pqq69m3759PPbYYwQEBHD8+HFuu+024uLi2LNnT9m1W0RERMRDCiykUij3gQUUO2cjICCA0aNHs23bNlq2bAnAsmXLOOuss3j66afLosUiIiIiHlNgIZVChQgsoEQ5G40bN2bNmjV8/PHHhIeHk5GRwcsvv0z9+vWLXCRQREREpKwosJBKoUSzQrnWlCjpatpl7d577+Xw4cPccsstAOzdu5fLL7+cG264gZMnT/q5dSIiInKmU2AhlUpCQgKHDx8uumCeNSWIjy/9xvlASEgI06ZNY/ny5TRq1AiAb775hqioKN59910/t05ERETOZAospFLI6rH46aefuOmmmwqfnrWQNSUqirZt27Jjxw5eeOEFgoKCSE1NZeDAgcTGxrJlyxZ/N09ERETOQAospFI4duxY9n8vWrSIF198seDCHqwpUVEMGzYse0gUwG+//Ubz5s0ZMGAAmZmZfm6diIiInEkUWEilMHv27Fyvn3/+eRYtWuS+sIdrSlQUUVFRLFq0iNmzZ1OjRg2stXz44YdERUXx9ddf+7t5IiIicoZQYCEVXmJiInPnzqUmcBFQE8jMzOSuu+4i2d3wpmKuKVFRXH/99Rw8eJCHHnoIYwxHjhzhxhtv5LLLLuPAgQP+bp6IiIhUcgospMIbOXIkvdLTSQSWAolAb2Dnzp088MAD7qegLeaaEhVFQEAA48ePZ8uWLcTGxgLw888/06BBA55//nk/t05EREQqMwUWUqFt3bqV6R98wEQg3HUsHJiI03Px5Zdf8sEHH7i/uARrSlQUMTExbNy4kffee4+wsDDS09N59tlnOeuss1i2bJm/myciIiKVkAILqdCee+45mmRkZAcVWcKBrIyJQYMGkZSUVMYtKx8efPBBDh48SPfu3QFn2FhcXBw9e/bkVN4EdhEREREvKLCQCuuXX37hk08+IQFIyXMuBcia4yk8PJy0tLSybVw5UqVKFf7zn/9kD4kCmDFjBlFRUUyYMMHPrRMREZHKQoGFVFgvvfQSAIeAfvwZXJwOCGBmz57867PPWLVqFUlJSTRp0sRPrSw/Lr30UpKSknj66acJDAwkJSWF++67j5YtW/LHH3/4u3kiIiJSwQX5uwEiJfXmm28SFhZGly5duPTSSwmoXRt27SIkJoY7KmHehK+8+OKLDBo0iJtuuonFixezbt06zj77bAYOHMjo0aMJCND3DSIiIlJ8xu2MOWXdCGNCgQFAX+BsIAzYCfwAvGGt/SNP+e1AUV9BP2OtfaEYbYgAhgC34gzPt8AO4H/AI9batDzlw4F/Ane42nIUWAA8a63d6Ol9C2nP8rZt27Zdvny5t1VVSLt372b37t0kJyfn2w4cOMDq1as5ePAgs2fPpmXLlv5uboU1ffp0+vfvn73AYFRUFFOmTKFLly5+bpmIiIiUhXbt2rFixYoV1tp23tbl9x4LY0wQMA+4DNgEfA6kAnHAo8C9xpgO1toNOS57G6jhrjrgKSAYmFOMNjTFCWLOARYB77rqaooTaDwOpOUoH+oqfxmwDBgNNAJuA24wxnS21i729P6S26effsrdd9/tUdk5c+ZUvMAiOdlZ5Tsmxu8zUt1yyy306NGDAQMGMGnSJJKTk7n22mvp1KkTM2bMoEYNd//MRERERPLze2AB9MR5QJ8HXGutzcw6YYwZATwD/B24L+u4tfZtdxUZY7riBBUrrbUezalpjAkGvsLpdehhrZ2V53wgkJnnssddbZ4G3J7VZmNMPDAD+MgY0zLnexHPRUZGelSuefPm/P3vfy/l1vhYfDz06wenTjkL802c6Kyp4UdBQUFMnDiRJ598kptuuonff/+dhQsXUrduXUaOHMkTTzzh1/aJiIhIxVAeBlOf7drPdvMgPtO1r+NhXQ+69u8V4/73AG2A0XmDCgBrbYbNMV7MGGOAh10vn8jZZmvtTJwejwuATsVog+TQvXt3OnfuXGiZkJAQZsyYUbHyAZKT/wwqwNn36+ccLwfOP/98tmzZwttvv01ISAhpaWk8+eSTNG3alDVr1vi7eSIiIlLOlYensvWufTdjTN72dHft5xZViTGmHnAjcBz4rBj3v9O1n2iMaWqM+asx5iljzF3GmFpuyscAjYHN1tptbs5nDcEq/MlYCmSMYcyYMYUGDcOHD89eWbrCSEj4M6jIcuqUc7wcGTRoEAcPHqRr164A/PHHH7Ru3Zo+ffpw+vRpP7dOREREyqvyEFjMBr4EugBrjTGjjTGvGWP+CwwDxgLjPKjnPpxhUJ9ba48V4/5xwCmgG7AFeAd4CZgM/GGMuS9P+eau/eYC6tvi2p/nyc2NMcvdbUAFe2r2nV27djFy5EgyM92PJGvZsmXFHJ4TE+MMf8opLMw5Xs5ERETw7bffsmDBAurUcToMp0yZQlRUFJ9//rmfWyciIiLlkd8DC9cwo1uB53Ae2h/Dyam4CvgR+Mxam1FYHa7hSQNcL9/39N6uJOxInIDkNeAtnFyLWjiBigX+bYzJ2ftQ3bU/UkC1WceV9eqhzMxMtm3bxpgxYxgyZAixsbFMmTKF0NBQqlatmqtsQEAAH374ISEhIX5qrReiopyciqzgIiwMPv7Y7wnchenUqRN79uzh73//OwEBAZw4cYI777yTCy+8kMTERH83T0RERMoRnyRvezj9a06fWmvvdl0bBkzC6TF4BCev4iROcvQY4EdjzG2u/IWCXIOTq7HC06Rtl8Ac++nW2pxfg09wTUE7BngS+K+HdRrX3qN5fAua2svVa9HWw3tWCJmZmWzfvp3169ezYcMGNmzYwM7Vq0nbtIn1qakcylG2V69evPHGGyxcuJB+/fplHx88eDBxcXFl3nafuf126NKl3MwK5YmAgABee+01Bg8ezI033sjKlStZtWoVjRs3ZsiQIbz66qsVK9dFRERESoWvZoVKwBlO5KmkHP/9T5xpWgdZa3MmXc8xxtwKrMKZzrWwwCIradvj3goAa+1JY8xpIARnZqi8vsIJLNrnOJbVI1E9f3HA6QHJWU6AAQMG8Nlnn5GSkpJ9rDfOOLhwnFWz+wFzqlVj+vTp2esoNG7cmPHjx/Prr7/SrFkznn/++bJvvK9FRVWIgCKv6OhoVqxYweeff84DDzzAiRMneOONN5g0aRLTpk3jiiuu8HcTRURExI988jWjtfZqa21sMbacPQNZCdrz3dS7GkgGmhSQSI0xpi7Qg+InbWf5zbU/7OZc1pfo4W7KF5RDca5rX1AOxhlp4cKFuYKKmsBE/vxgw12vf1+yJNfibAEBAUyYMIGbbrqJKVOm5BsaJWWvT58+JCcnc8cddwCwf/9+OnXqRNeuXTl+/LifWyciIiL+Uh7GL4S69vmmlM2RAwFQ0HQ0/SlZ0naWea59Czfnso5tz3EsAWdF7vOMMc3cXNPNtfd06NQZ4f3338dJhXHEkDtaw/W67rH8P8LY2FhmzpxJ+/bt850T/wgJCeHzzz9n9erVNGnijIL8/vvvqVWrFmPGjHF7jbWWhQsXZq/yLSIiIpVLeQgsFrn2T7sCiZyewxmutdRd0JAnabvQtSuMMQ2MMbHGmLxDmN4D0oEhxpizcpQPA150vZySddyVbD7e9fLVnFPkGmN6AB2BDcDCwtpzprnqqqt46qmnsl8n4Ax/ysmW0xmSpGCtWrVi+/btvPLKKwQHB3P69GkGDRrEOeecw8aNG3OVfffdd7nyyivp2bMnOZaGERERkUqiPAQWLwK7gKuBTcaYd40xbxpjFuPkX6QAgwq4tjNwDk7S9vIi7vMysBFnpe9s1tpNOMnZ9YDVxpgPjTFjgNWuNi0GXslT15vAzzizWS02xowyxnyGsxL3SeA+rbqd33PPPccll1wCOGPM+vFncJEeFIQp5zMkScGeeOIJ9u3bx5VXXglAQkICf/nLX+jbty/p6ens3r07O7CcN28en31WklGLIiIiUp75PbCw1ibizH70Bk4CeH/gb0B9nGH3ba21vxRweYmStt204U2cXI/VOMHCg0AG8AxwlbU2JU/5VJyZqJ7HmVZ2CM46HDOAOGvtYm/aU1kFBwfz2WefERnpjG6bCkQDN9SpQ/off0Dv3n5tn3inRo0azJ8/n++++46oqCistUyaNImoqChuu+02jh49ml328ccf59ChQ4XUJiIiIhWN0ZCE8skYs7xt27Ztly8vqiOm4pkyZQp9+vTJfj1+/HgeeughP7ZIfC0zM5NBgwbxzjvvFLjQ4UMPPcT48ePdnhMREZGy0a5dO1asWLGioCUQisPvPRZy5rnjjjvo378/AGeffTb33Zd3cXOp6AICAhg7diwbNmwocDHD9957j19+KagzUkRERCoaX61jIVIsY8eOpUmTJnTv3p3g4GB/N0dKyWeffcbp0wVN6Ob0Wixfvly/AyIiIpWAeizEL6pWrcqzzz5Lu3Ze97pJObV582ZGjRpVaJm1a9fy2muvlVGLREREpDQpsBCRUjFr1qxCeyuy/N///R+TJ08ugxaJiIhIadJQKBEpFffffz/GGHbu3MnevXuzt3379nHgwIFcZe+55x4WLVrEyy+/TJSmHBYREamQNCtUOVWZZ4USSU9PZ//+/WzevJlx48YxY8YM0tPTqVOnDm+88QZ33313rpXaRUREpHRoVigRqdCCgoJo0KABnTp14osvvmD16tVcccUV7N+/n3vvvZfOnTuzadMmfzdTREREikGBhUhRkpNh6VJnfybU5wcXXHABCxYsYOLEidSuXZsFCxbQqlUrhg8fTkpKStEViIiIiN8psBApTHw8REdD+/bOPj6+ctfnxyDFGEPfvn3ZtGkTAwYMIC0tjZEjR9KiRQu+++67Mm+PiIiIFI8CC5GCJCdDv35w6pTz+tQp53VJH7rLe32+DlJKqFatWnzwwQf89NNPtGjRgq1bt3Lddddx++23k5SU5Jc2VWqVoMdLRETKBwUWIgVJSPjzoT3LqVPO8cpWn6+DFB+47LLLWLFiBa+++ipVqlRh6tSpxMbGMnbsWDIyMvzWrkolPh7rCiatH4NJERGpHBRYiBQkJgbCwnIfCwtzjle2+nwd9PhIcHAw//jHP9iwYQM33ngjx44d47HHHuPiiy9m2bJlfm1bhecKJo3r525OnSK1Tx+G9u/P+++/z7JlyziV93dCRESkEAosRAoSFQUTJ/758B4WBh9/7ByvbPX5OujxsSZNmjBr1ixmzJhBo0aNWL58Oe3bt+fRRx/l6PbtGspTDKmpqWzatIlDy5blCyZDreXHiRN56KGHiIuLIyIiglatWtG3b1/efvttFi5cyJEjR/zUchERKe+0jkU5pXUsypHkZOeb+5iYkgcBFaG++Pg/h0NlBSm9e3vfPh87fvw4I0aM4K233uKWjAwmAuFARkgI9qOPCLrrLj+3sHy74447iI+PpyaQiPPZZUkBooGMyEjq1KnDtm3byMzMzFdHTEwMF154Ya6tfv36ZfMGRETEp3y5joUCi3JKgYX4ha+DnlK0ftEizunUidAcf8NSgMubNqXtNddw8cUX065dO1q0aEFwcLD/GlrOPPDAA/z73/8GoDdkB2YpQF/gC1e54OBgnnzySa699lrWrVvHypUrWblyJWvXriU1NTVfvQ0aNMgXbDRr1kwLHYqIlHMKLM4ACixEirB0qTODVR5xQM7si5CQEFq3bk27du1o164dF110EX/5y1+KFWzs2LGDH374ge+//56ffvqJe+65h1GjRnn/Hvxg8eLFXHLJJdmvawIxQAJwyHXMGEPW/xtiY2N5//336dixIwBpaWls3LgxO9BYuXIlq1at4ujRo/nuVb169XzBRmxsLEFBQT55L9u3bycwMJBGjRr5pD4RkTORAoszgAILkSIkJzvT4ubIE0gBmgR3EDpVAAAgAElEQVQGsr+IWaNCQ0Np1aoVF110UXbAkTPYOHbsGAsWLMgOJn777bdc119zzTX88MMPPn9LZcFaS+vWrVm7dq3b81lBRZ06dYiIiGDbtm0APPjgg4waNYqaNWvmuyYzM5OtW7fmCjZWrFjBvn378pUNCwujZcuWtG3bNjvYaNmyJeHh4fnKFubUqVM0bNiQlJQU/vWvf3HfffcV63oREXEosDgDKLAQ8UCOvBAbGsrT0dGM2rqVsLAwunfvzurVq9myZUt28SpVqhASEsLhw4fzVRUaGkrdunVJTk7m5MmTFPa38YknnuCVV14pjXdUJsaNG8ejjz7q9txTTz3FokWL+Omnn2jevDk33ngjo0ePJi0tjXr16jF69Gh69+5d5BAnay27d+/OF2xs3749X9nAwEBiY2NzBRtt2rShRo0aBda/bNky4uLisl/379+fcePGUaVKFc8+BBERARRYnBEUWIh4KEdeSEp4OA8//DCTJk0CnIfkm2++malTpzJlyhQSExOzL2vSpEn2sJzffvuN33//3eNbxsfH07scJrZ76vDhwzRo0CDfdLIxMTGsW7eOlJQUrrjiCtatW8fFF1/M2LFjGTJkCP/73/8AuP7663nnnXdo0qRJse996NAhVq1alSvg2Lhxo9sk8WbNmnHhhRfmCjgaNGgAwAcffMCDDz6Yq3yrVq2YNm0a5557brHbJSJyplJgcQZQYCFSMtZaxowZw9ChQ8nIyOD666/n008/JTIykkWLFvH5558zbdo0Dh48mH1NXFwcN998MydOnOCtt94iJSWl0HuEhoZyzjnnEBcXR7du3ejevXuF+6a8b9++2QFYlm+//ZauXbsCkJSURIcOHfjjjz/o2rUrM2bMYNKkSTzxxBMcOXKEKlWq8MILL/DYY495nTNx8uRJ1q5dmyvYWLNmjdsk8Xr16nHhhReyd+9eVq5cme98ZGQkEyZMoFevXl61SUTkTOHLwAJrrbZyuAHL27Zta0WkZObNm2dr1aplAXvuuefaDRs2ZJ87ffq0nT17tr377rttRESEBbzeqlatalu0aGH79+9vp06dak+ePOnHd1+0n376KVf7b7vttnxlfvvtN1unTh0L2D59+tiMjAyblJRke/funX1d27Zt7fLly/Nde/r0aTt06FA7YcKEErXv9OnTds2aNfbjjz+2gwcPtp06dbKRkZEe/zwGDRpkT58+XaJ7F+T333+3//nPf+yJEydsZmamT+sWEfGXtm3bWmC59cHzq3osyin1WIh4b9u2bfTs2ZPVq1dTrVo1PvnkE3r06JGrzMmTJ5k9ezYjRoxg/fr1RdZZpUoVRowYwfz581m7di27d+8mPT3dbdmqVavSrFkz4uLiuP766+nevTtheRci9BNrLfXr12ffvn0EBwezbds2oqOj85Vbvnw5V155JcePH+fRRx9l9OjRGGOYPXs2AwcOZMeOHQDUrFmTHj16EBMTQ8OGDfnpp5+YMGECgYGBLF++nNatW/ukzdu2bWPp0qXcfffdBX7uWerXr09iYiIBAcVbC3bLli38/PPP7Nmzh927d7N7926WLVvG1q1bs8tUr16dq6++miZNmtC4cePsfevWrX0265WISFlQj8UZsKEeCxGfOH78uL399tuzv8keMWKEzcjIcFv22WefLfKb8A4dOuS7buvWrfbVV1+13bp1s2eddZYNCgoq8PqIiAjbsmVLe99999lp06bZlJSU0v4ICvTII49YwD700EOFlps7d64NCQmxgB05cmT28WPHjtnHHnvMox6Es846y7799ts+aff69es9umdAQECxey0yMjJsjRo1Stxz1adPH5+8RxGRsuLLHgu/P0BrU2AhUtoyMzPtK6+8Yo0xFrA333yzPXr0aK4yy5cvt7fffrt98skni3x4PO+88+yrr75qU1NTC7xnSYKN+++/v8yDjd27d3tUburUqdmf3/vvv5/r3M033+zRQ/eNN97okzZPnjy5wHvUq1fP9u3b13744Yd2z549xao3Pj7eXnXVVfbKK6/MVWdNsBe59kW9x6FDh/rkPYqIlBUFFmfA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LzCoANi9e3euNTTcSU5OZtmyZSxdupQlS5awdOlSr4MKgIyMDI4fP15kubxDkPrh9B6UtrIMZs4++2wFFSJSYanHopxSj0UlVE56B8pjm9LT02nevDlbt24tsMxFF13EkiVLir2YWnl5j0XZtWsXx48fJzY21qPy1lqmTp3Kww8/zOHDh2nevDnR0dHMnz8/O9k5IiKCHj16cODAAb777rsi6+zfvz8fffQR4AxdWrlyZXYAsWTJEn7//feSv0E3QkJCqF69OpGRkYSFhWGt5cSJExw8eDBfoFFU0nRp8UcwM2TIEF5//XUCAjRaWURKnxbIOwM2tI5F5TRlyp/rMoSFWRsf7+8WlW2bDh50Frdzsw7F+PHjc60VcFGetQG+//77kt2zlBbZ87XGjRtbwF5yySX2448/tidPniyw7G+//WbbtGmTa92EevXqWWutTUpKsm+//bZt3759kesx5P2MIyIibN++fW3z5s1tQECA2+uMMV6tA1HS7SJ3P0PX8dK6p6drVpTGZoyxnTt3ts8884wdM2aMzcjIKKtfRRE5w2iBvDNgU2BRiRXycO03ZdGmvAHMlCm5TqekpNj69eu7XdX4qquuspmZmSW7byktsudrtWvXzvVgGRUVZR9//HG7efPm7DLHjx+3AwYMcPtwHxkZma/O33//3Y4cOdKee+65ucoWtnJ0ed388ZDvj2CmoG3x4sVl+esoImcQLZB3BtBQKKlUPByONHbECAY891y+4S7rvv2WuK5dS37/Ul5kzxdiY2MLnP3o6quvpnnz5nz88cecOHHCbZnAwED69OlDUlISBw4c4NChQxw7doyUlBROnz6d9YWF34YU+UJR07z6Wnn6rEJCQnjvvffo169fGd9ZRCq7SjfdrDEm1BjziDFmiTHmgDHmuDFmozFmjDGmiZvy240xtohteDHbEGGMGW6MWe26/zFjzHpjzPvGmOAc5YKNMT2NMR8aY9YZY44aY04aY9YaY543xlTzxWciUqkUliSew32dOuV6iAPnoS7O21yI2293gpglS5x9aQcVycmwdKmzL0RqaipJSUmsXLmy0PH08+bN45133ikwqAAnAXry5Mn897//Zc2aNezcuZPDhw+TmppKzi+QYsDtZxzjwdvKEhISQq1atTjvvPOoU6dOMa7MLyjI8zlEiprm1dcO4eRUpLheZwUz/gjA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r6ZBgwZJzr8LEa0nzbuQRkR9iWivoyOp1WrKzMzk2lUnorMC9/cKDqZYtZpev35NL1++pIyMDMnxzIVCoSAbGxuytbUlOzs7cnBwIEdHR3JyciJnZ2dycXGhAgUKkJubG7m7u5Onpyd5enpSwYIFydvbm3x9falQoULk5+dHBQoU4Prt378/rV+/3qw52draUrly5SgkJISqVKlCISEhVLlyZcH3myFvolq1anT+/PnzAKpZ3Jk12AkTZrFgYGDIXSQkJGDUqFGc64quODg4oH79+vjpp59MTjGpC63P/Pfff2+VOf/www/vzCJhrpgTtyElcl21OnXqZLBfa9as4U7fdX3af/vtNwS4uBiclKcrFCheoIDoGEIZn16+fMlrU7ZsWXzzzTec61rLli3NfofWrVtndH/FYljk1DuREj8/P6jVas7V6dixY9y8Dh8+bNazu3fvHs6ePctzzxKzWNQKCsLu3bu5gPzs7GycP38e9evX57klKhQKVKhQATNnzkRkZCS++uorjBkzRvB7/S5EoVDAxsZGVrB8mTJlsGTJEsyePRsRERFo0aIFSpYsKXpviRIl0KFDB8ycORN7zM8cNQAAIABJREFU9uxBfHz824QF7zClNoNxfHCuUETkQETDiOgMET0nojdEdIOIlhNRcYH292V8YaaaOAdXIppKRJdyxn9NRNeIaBUR2Rm5N5iIUnLGjbHSnjBiwcCQz3Hv3j0MGjQIfn5+Bn/jnJ2d0axZMxw4cMBq42mLp/3www9W6e/q1ato2rQpl9pTm67W3PoBuSXWygplSiC4rrtOamoqPv30U971ffv28fby2vr1PGVWK2JuWzY2Nnj+/LnmZh0lLjs7W7B9MVdXfGxvD08iREZGmvW8z58/b7CvprgNBbi4mP0cypQpAwCYOHEiiAgjRozg5nX69GmTnru7uzsvE9KjR4/g7e0t+px1yWjfvn0NiNmrV68wcOBAg3iG8uXL89zP7ty5wwWkC0mFChVw5coVHDlyBJs3b8Y333yDr776Cp9//jn69u2L9u3bo0mTJqhZsybKly+PkiVLonDhwvD09ISLiwscHBxkkwhzRKFQwM7OTjIQ3MnJCSN8fZGuVGreiZyq8AzvFx8UsSAiWyI6mfPS3SCib4gokoiO53z2kojK6d0zioi+EpAZRJSZc191E+YQSER/59z3OxEt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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 250, "width": 395 } }, "output_type": "display_data" } ], "source": [ "locs = {n: np.array([d['latitude'], d['longitude']]) for n, d in G_filtered.nodes(data=True)}\n", "# for n, d in G_filtered.nodes(data=True):\n", "# print(n, d.keys())\n", "nx.draw_networkx_nodes(G_filtered, pos=locs, node_size=3)\n", "nx.draw_networkx_edges(G_filtered, pos=locs)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Exercise\n", "\n", "Try visualizing the graph using a CircosPlot. Order the nodes by their connectivity in the **original** graph, but plot only the **filtered** graph edges. (3 min.)\n", "\n", "You may have to first annotate the connectivity of each node, as given by the number of neighbors that any node is connected to." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "for n in G_filtered.nodes():\n", " ____________\n", "\n", "c = CircosPlot(__________)\n", "__________\n", "plt.savefig('images/divvy.png', dpi=300)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "In this visual, nodes are sorted from highest connectivity to lowest connectivity in the **unfiltered** graph.\n", "\n", "Edges represent only trips that were taken >100 times between those two nodes.\n", "\n", "Some things should be quite evident here. There are lots of trips between the highly connected nodes and other nodes, but there are local \"high traffic\" connections between stations of low connectivity as well (nodes in the top-right quadrant)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Saving NetworkX Graph Files\n", "\n", "NetworkX's API offers many formats for storing graphs to disk. If you intend to work exclusively with NetworkX, then pickling the file to disk is probably the easiest way.\n", "\n", "To write to disk: \n", "\n", " nx.write_gpickle(G, handle)\n", "\n", "To load from disk:\n", " \n", " G = nx.read_gpickle(handle)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "nx.write_gpickle(G, 'datasets/divvy_2013/divvy_graph.pkl')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "G = nx.read_gpickle('datasets/divvy_2013/divvy_graph.pkl')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "nams", "language": "python", "name": "nams" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 2 }