Home » Uncategorized

Complex Network Analysis in Python

The Pragmatic Programmers just published my book Complex Network Analysis in Python. Recognize → Construct → Visualize → Analyze → Interpret

The book covers both elements of complex network analysis (CNA), including social network analysis, and the use of networkx for CNA. It covers not only social networks, but also product, semantic, event, interaction, and other types of networks. The book has five complete case studies based on real-world data (including the “Panama papers”) and numerous code examples.

Complex Network Analysis in Python

The book is available as an electronic beta from the publisher website (or you can pre-order the paper version on Amazon).

This book is currently in beta, so the contents and extracts will change as the book is developed.



The Art of Seeing Networks

  • Know Thy Networks
  • Enter Complex Network Analysis
  • Draw Your First Network with Paper and Pencil

Elementary Networks and Tools

Surveying the Tools of the Craft

  • Do Not Weave Your Own Networks
  • Glance at iGraph
  • Appreciate the Power of graph-tool
  • Accept NetworkX
  • Keep in Mind NetworKit
  • Compare the Toolkits

Introducing NetworkX

  • Construct a Simple Network with NetworkX
  • Add Attributes
  • Visualize a Network with Matplotlib
  • Share and Preserve Networks

Introducing Gephi

  • Worth 1,000 Words
  • Import and Modify a Simple Network with Gephi
  • Explore the Network excerpt
  • Sketch the Network
  • Prepare a Presentation-Quality Image
  • Combine Gephi and Networkx

Case Study: Constructing a Network of Wikipedia Pages

  • Get the Data, Build the Network
  • Eliminate Duplicates
  • Truncate the Network
  • Explore the Network

Networks Based on Explicit Relationships

Understanding Social Networks

  • Understand Ego- and Sociocentric Networks excerpt
  • Recognize Communication Networks
  • Appreciate Synthetic Networks
  • Distinguish Strong and Weak Ties

Mastering Advanced Network Construction

  • Create Networks from Adjacency and Incidence Matrices
  • Work with Edge Lists and Node Dictionaries
  • Generate Synthetic Networks
  • Slice Weighted Networks

Measuring Networks

  • Start with Global Measures
  • Explore Neighborhoods
  • Think in Terms of Paths
  • Choose the Right Centralities
  • Estimate Network Uniformity through Assortativity

Case Study: Panama Papers

  • Create a Network of Entities and Officers
  • Draw the Network
  • Analyze the Network
  • Build a “Panama’’ Network with Pandas

Networks Based on Co-Occurrences

Constructing Semantic and Product Networks

  • Semantic Networks
  • Product Networks

Unearthing the Network Structure

  • Locate Isolates
  • Split Networks into Connected Components
  • Separate Cores, Shells, Coronas, and Crusts
  • Extract Cliques
  • Recognize Clique Communities
  • Outline Modularity-Based Communities
  • Perform Blockmodeling
  • Name Extracted Blocks

Case Study: Performing Cultural Domain Analysis

  • Get the Terms
  • Build the Term Network
  • Slice the Network
  • Extract and Name Term Communities
  • Interpret the Results

Case Study: Going from Products to Projects

  • Read Data
  • Analyze the Networks
  • Name the Components

Unleashing Similarity

Similarity-Based Networks

  • Understand Similarity
  • Choose the Right Distance

Harnessing Bipartite Networks

  • Work with Bipartite Networks Directly
  • Project Bipartite Networks
  • Compute Generalized Similarity

Case Study: Building a Network of Trauma Types

  • Embark on Psychological Trauma
  • Read the Data, Build a Bipartite Network
  • Build Four Weighted Networks
  • Plot and Compare the Networks

When Order Makes a Difference

Directed Networks

  • Discover Asymmetric Relationships
  • Explore Directed Networks
  • Apply Topological Sort to Directed Acyclic Graphs
  • Master “toposort”

Dmitry Zinoviev has graduate degrees in physics and computer science with a PhD from Stony Brook University. His research interests include computer simulation and modeling, network science, network analysis, and digital humanities. He has been teaching at Suffolk University in Boston, MA since 2001. He is the author of Data Science Essentials in Python.