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)

Preface

Network science is becoming an increasingly valuable skill for both researchers and data scientists. Tools originally developed by sociologists and other researchers working with pen and paper have seen a resurgence as online platforms and social networks create huge datasets and advances in computer hardware make it feasible to analyze those data sets.

NetworkX is a free, open source Python package for network science. Python has become a popular choice for data scientists, with packages such as NumPy and pandas, making NetworkX a natural choice for augmenting data analysis with network-based techniques. Because NetworkX is written entirely in Python, it is easy to install across many different platforms. Other packages written in lower-level languages can sometimes provide better performance on very large networks, but can be difficult to install on some systems, and might not run at all on others. NetworkX is a great tool for learning network science and writing code that you can share with anyone.

Because NetworkX is free software, distributed under the Modified BSD License, anyone is free to use it, to look at the code, and to make improvements. As a result, NetworkX has a large and ever-growing set of features. And if it's missing something, you can always add it yourself rather than waiting for someone else to do it.