Social Network Analysis (SNA) has a wide applicability in many scientific fields and industries. This workshop is a gentle introduction to SNA using Python and NetworkX, a powerful and mature python library for the study of the structure, dynamics, and functions of complex networks. Participants in this workshop should have a basic understanding of Python, no previous knowledge of SNA is assumed.
This workshop will provide a hands on introduction to Social Network Analysis (SNA) without assuming any specific knowledge of graph theory or network analysis. We'll start with a brief introduction to the subject by highlighting the mathematical foundations of SNA. We'll then review the main data structures provided by NetworkX and learn how to use them to represent real world social networks. We'll also briefly cover how to plot simple networks using Matplotlib. We'll then focus on different levels and kinds of network analysis, and how to perform them using NetworkX. Finally, if time permits, we'll briefly review some network models both for the structure and for the dynamics of real world networks.
You can find a Jupyter notebook with all the materials for the workshop at: https://github.com/jtorrents/pydata_bcn_NetworkX. There are two notebooks in that repository, one has all solutions for the exercises and all the outputs for each cell. Please do not look at it if you plan to attend the workshop.
For this workshop attendees will need to install NetworkX (>=1.11), Matplotlib (>=1.5), numpy (>=1.10) and have a working Jupyter Notebook environment. Some examples will also use Pandas (>=0.17) and Seaborn (>=0.7), but these packages are not essential. Only basic Python knowledge is assumed.
Outline of the workshop: