Complex Network Analysis in Python

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.

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.
Content
Introduction
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”

Author 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.

Link: Complex Network Analysis in Python