Book Image

Python Data Analysis

By : Ivan Idris
Book Image

Python Data Analysis

By: Ivan Idris

Overview of this book

Table of Contents (22 chapters)
Python Data Analysis
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Key Concepts
Online Resources
Index

Social network analysis


Social network analysis studies social relations using network theory. Nodes represent participants in a network. Lines between nodes represent relationships. Formally, this is called a graph. Due to the constraints of this book, we will only have a quick look at a simple graph that comes with the popular NetworkX Python library. matplotlib will help with the visualization of the graph.

Install NetworkX with the following commands:

$ pip install networkx
$ pip freeze|grep networkx
networkx==1.9

The import convention for NetworkX is as follows:

import networkx as nx

NetworkX provides a number of sample graphs, which can be listed as follows:

print [s for s in dir(nx) if s.endswith('graph')]

Load the Davis Southern women graph and plot a histogram of the degree of connections:

G = nx.davis_southern_women_graph()
plt.figure(1)
plt.hist(nx.degree(G).values())

The resulting histogram is shown as follows:

Draw the graph with node labels as follows:

plt.figure(2)
pos = nx.spring_layout...