small medium large xlarge

Complex Network Analysis in Python: Recognize → Construct → Visualize → Analyze → Interpret


Cover image for Complex Network Analysis in Python

Complex Network Analysis in Python

Recognize → Construct → Visualize → Analyze → Interpret


Construct, analyze, and visualize networks with networkx, a Python language module. Network analysis is a powerful tool you can apply to a multitude of datasets and situations. Discover how to work with all kinds of networks, including social, product, temporal, spatial, and semantic networks. Convert almost any real-world data into a complex network—such as recommendations on co-using cosmetic products, muddy hedge fund connections, and online friendships. Analyze and visualize the network, and make business decisions based on your analysis. If you’re a curious Python programmer, a data scientist, or a CNA specialist interested in mechanizing mundane tasks, you’ll increase your productivity exponentially.

Printed in full color.

Customer Reviews

This book is an excellent read for anyone who wants to learn the fundamentals of complex network analysis with a focus on application. The case studies cover a variety of topics and help readers link concepts to applications, providing readers with a clear, well-structured, hands-on experience that deepens their understanding of the concepts without requiring Python programming experience.

- Kate Li, PhD

Associate Professor, Sawyer Business School, Suffolk University

As a social scientist interested in network analysis but having limited knowledge of Python, I found the book very useful. The author explains technical problems in a way that is easy to understand for non–computer scientists. It is a great introduction for those interested in network analysis seeking to apply the method in their research.

- Weiqi Zhang

Associate Professor of Government, Suffolk University

Complex Network Analysis in Python is a thorough introduction to the tools and techniques needed for complex network analysis. Real-world case studies demonstrate how one can easily use powerful Python packages to analyze large networks and derive meaningful analytic insights.

- Mike Lin

Senior Software Engineer, Fugue, Inc.

Having a deep understanding of complex network analysis is hard; however, this book will help you learn the basics to start mastering the skills you need to analyze complex networks, not only at a conceptual level, but also at a practical level, by putting the theory into action using the Python programming language.

- Jose Arturo Mora

Head of Information Technology and Innovation, BNN Mexico

Complex networks have diverse applications in various fields, including health care, social networks, and machine learning. I found this book to be an excellent and comprehensive resource guide for researchers, students, and professionals interested in applying complex networks.

- Rajesh Kumar Pandey

Graduate Student, IIT Hyderabad

See All Reviews

Choose Your Format(s)

  • $37.95 In Stock

    Save $11.95 on the combo pack.

  • $29.95 In Stock
  • $19.95 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

You will need a Python 3.x installation with the following additional modules: Pandas (>=0.18), NumPy (>=1.10), matplotlib (>=1.5), networkx (>=1.11), python-louvain (>=0.5), NetworKit (>=3.6), and generalizesimilarity. We recommend using the Anaconda distribution that comes with all these modules, except for python-louvain, NetworKit, and generalizedsimilarity, and works on all major modern operating systems.

Contents & Extracts

  • 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 Egocentric 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.

Upcoming Author Events