Book Image

Network Science with Python and NetworkX Quick Start Guide

By : Edward L. Platt
Book Image

Network Science with Python and NetworkX Quick Start Guide

By: Edward L. Platt

Overview of this book

NetworkX is a leading free and open source package used for network science with the Python programming language. NetworkX can track properties of individuals and relationships, find communities, analyze resilience, detect key network locations, and perform a wide range of important tasks. With the recent release of version 2, NetworkX has been updated to be more powerful and easy to use. If you’re a data scientist, engineer, or computational social scientist, this book will guide you in using the Python programming language to gain insights into real-world networks. Starting with the fundamentals, you’ll be introduced to the core concepts of network science, along with examples that use real-world data and Python code. This book will introduce you to theoretical concepts such as scale-free and small-world networks, centrality measures, and agent-based modeling. You’ll also be able to look for scale-free networks in real data and visualize a network using circular, directed, and shell layouts. By the end of this book, you’ll be able to choose appropriate network representations, use NetworkX to build and characterize networks, and uncover insights while working with real-world systems.
Table of Contents (15 chapters)

What this book covers

Chapter 1, What is a Network?, gives an overview of the history of network science and social network analysis, as well as introducing common types of networks and walking you through writing your first program with NetworkX.

Chapter 2, Working with Networks in NetworkX, describes simple, directed, and weighted networks, and how to work with them in NetworkX.

Chapter 3, From Data to Networks, describes functions for loading network data and for creating networks from scratch.

Chapter 4, Affiliation Networks, focuses on networks with two types of nodes (such as groups and group members) and shows how to work with these networks in NetworkX, as well as how to convert them to co-affiliation networks with just a single type of node.

Chapter 5, The Small Scale—Nodes and Centrality, shows how to use NetworkX to analyze network structure by looking at the properties of individual nodes and their connections.

Chapter 6, The Big Picture—Describing Networks, introduces several measures used to classify the structure of entire networks, and shows how these measures can differentiate between different types of real-world networks.

Chapter 7, In-Between—Communities, discusses medium-scale network structure, including community detection, clique detection, and k-cores.

Chapter 8, Social Networks and Going Viral, focuses on the special considerations that arise when network science is applied to social networks, as well as how the properties of social networks influence the spread of contagions such as disease or innovation.

Chapter 9, Simulation and Analysis, introduces several models used to generate networks based on underlying assumptions, as well as how to use agent-based models to simulate the evolution of a networked system.

Chapter 10, Networks in Space and Time, covers special considerations for network data associated with geographic locations and data that changes over time.

Chapter 11, Visualization, describes several visualization functions provided by NetworkX, as well as how to use them to visualize network information effectively.

Chapter 12, Conclusion, summarizes the lessons learned throughout this book, and provides resources for pursuing more advanced topics in network science.