Network Science, Game of Thrones and Python
06-05, 09:20–12:50 (UTC), Pydata

Have you ever wondered about how those data scientists at Facebook and LinkedIn make friend recommendations? In this tutorial we'll work with networks using Python, and we will look at various real world applications of network science.


This tutorial will introduce the basics of network theory and working with graphs/networks using python and the NetworkX package. This will be a hands on tutorial and will require writing a lot of code snippets. The participants should be comfortable with basic python (loops, dictionaries, lists) and some(minimal) experience with working inside a jupyter notebook.

The tutorial will follow the give outline:

Part 1: Introduction (30 min)

  • Networks of all kinds: biological, transportation.
  • Representation of networks, NetworkX data structures
  • Basic quick-and-dirty visualizations

Part 2: Hubs and Paths (40 min)

  • Finding important nodes; applications
  • Pathfinding algorithms and their applications
  • Hands-on: implementing path-finding algorithms
  • Visualize degree and betweenness centrality distributions.

Part 3: Game of Thrones network (1 hour)

  • Construct the Game of Thrones co-character network
  • Analyze the network to find important characters and communities in the network.

Part 4: US Airport Network (1 hour)

  • Construct the US Airport Network using data from the last 25 years
  • Analyze the temporal evolution of importance of airports in the network
  • Optimizing the network

Part 5: Advanced Network Science Concepts (20 mins)

  • Quick introduction to machine learning on networks
  • Parallel ideas between linear algebra and consensus in networks

By the end of the tutorial everyone should be comfortable with hacking on the NetworkX API, modelling data as networks and analysis on networks using python.

The tutorial and the datasets are available on GitHub at: https://github.com/mriduls/pydata-networkx

Mridul is a PhD student at UCLouvain, Belgium working with networks and data. He is a supporter of the open science/source movement and has been involved with Google Summer of Code and NumFOCUS. He has given multiple tutorials at PyCon, PyData, and SciPy to share his love of Python and network science.