
Welcome to my network analytics in Python course! Since this is going to be a course on Python, you will need to have a running environment to work in. Here, I am using Anaconda - a detailed set-up guide, in case you are new to this, which is on my YouTube under the title Milan's Data Stories #012 - Setting up a Python Environment Pt 2. Also, to make sure you can have the same setup, I uploaded the detailed logs about my environment and packages.
In this video, we get started with NetworkX - the most popular network analytics library in Python. As a first step, we will create and query our first network.
In this video we will learn how to quickly create custom visuals of a NetworkX graph using Matplotlib.
In this lecture, we are going to overview how to categorize networks based on the properties of directedness and weightedness. We will also learn how to create graphs of each kind, how to query their core features, such as edge weights, and how to visualize them, highlighting their particular properties.
In this lecture, we overview three different ways to create graphs from data: i) using data stored in a Python list, ii) parsing and transforming a CSV spreadsheet, iii) and reading existing graph data.
Welcome to Section 2!
Networks encode topological information. In order to place them across the plane, for instance, on a 2D screen, we need to apply so-called layout algorithms, which, based on various logic, compute the exact set of coordinates each node should be placed on. In this video, we will overview how to compute and use such layouts in Python using NetworkX.
Network centralities are one of the most essential metrics when it comes to network analytics - they quantify the importance of network nodes from various perspectives. In this video, we are going to learn how to compute such centralities and measure node importance.
Summarizing a few of the previous NetworkX and Python commands and adding a few new ones, in this video we learn how to conduct a statistical characterization of an input graph.
In this lecture, we are going to briefly overview and practice what network communities are and use NetworkX to extract such communities from a test network. Then, we visualize the network, highlighting the different communities.
In this brief lecture, we are going to overview all the possible ways we learn to customize graph visuals using networks and matplotlib, including various node and edge characteristics.
Welcome top Section 3!
In this section, we will explore how to create synthetic networks using NetworksX. The ability to create such networks, following famous network models, will help to generate various reference networks when analzing real networks.
Note: In NetworkX 3.6+, replace random_tree() with random_labeled_tree().
In this lecture we are going to re-visit the Witcher network already covered in my Network Visualization introductory course. Here, we start from the raw .gexf data file storing this social graph, connecting every significant Witcher character based on their shared storylines and interactions. In this lecture, using this graph, we will conduct a series of analytical and exploration steps and learn how to do more elaborate visualizations in networkx, putting the learning outcomes of the previous chapter to a more advanced level. While doing so, we will also cover further, more advanced concepts of network analytics.
When reporting various measured values, such as network diameter, of a real graph, the question often arises - compared to how we should interpret those values. This question is the easiest to answer by comparing our network to randomized null-model graphs. Hence, in this lecture, we will analyze three real-life networks (all introduced in the previous course: The Witcher Social Graph, a network connecting Python packages, and the network of Wikipedia-famous personnel of the Manhattan Project). Namely, we will analyze these networks and their randomized counterparts in a small data pipeline.
This video is for those of you who are already using Gephi to visualize networks. In this lecture, we are going to revisit how to export node and edge tables from Gephi. Then, we will learn how to read and use them in Python, including how to create new node and edge attribute columns. Then, we learn how to channel these back into Gephi to use for further graph visual customizations.
Congratulations on finishing this course, and thank you for being here!
Course Description
Welcome to the world of network analytics and visualization in Python, where data connections turn into valuable insights! This course is your practical guide to understanding and applying graph analytics and visualization techniques using Python. Whether you're a data scientist eager to enhance your expertise or a tech-savvy learner looking for hands-on experience, this course takes you from the fundamentals to network analytics applications with step-by-step guidance.
What You’ll Learn
The foundations of network analytics, including graph creation and visualization in Python.
Key network concepts like centrality, modularity, and network statistics.
Step-by-step techniques for building and analyzing graphs using Python (mainly NetworkX)
Hands-on exercises with networks, including synthetic and real networks and their comparative analytics.
How to combine Python with Gephi for advanced visualization and exploration.
Why Take This Course?
Network analytics is a powerful skill with applications in data science, social sciences, urban planning, biology, and beyond. This course balances theory with practical, hands-on skills to help you:
Analyze and understand complex systems using network-based approaches.
Master Python’s network science ecosystem, including NetworkX and visualization tools.
Gain a competitive edge by expanding your analytical skills into network-based data science.
Who Is This Course For?
This course is designed for:
Data scientists and engineers who want to apply network analytics in Python.
Software developers looking to incorporate graph-based solutions into their applications.
Researchers and analysts exploring network-based insights in social, biological, or business domains.
Python users with an introductory-level understanding of the language, eager to expand their skills.
What Makes This Course Unique?
Step-by-step learning: From simple graph creation to advanced analytics.
Hands-on: Real-world examples, including synthetic networks and comparative analysis.
Focus on both theory and practice: Recapping conceptual foundation combined with practical proficiency.
A world-class instructor: Recognized for cutting-edge network visualizations featured in The New York Times, GQ, and Miami Art Week.
Join us and unlock the power of network analytics in Python! By the end of this course, you'll be equipped with the tools, knowledge, and confidence to tackle real-world network data like a pro.