# 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