Python Tutorial : Types of graphs
Key Takeaways
Explains types of graphs in Python using the NetworkX library
Full Transcript
great work we're now going to go a little bit deeper into the network X API and introduce a few more concepts that you can use in network analysis Network X allows us to model different types of graphs for example there are social graphs like Facebook which are undirected graphs undirected graphs are named as such because they are comprised of edges that don't have any inherent directionality associated with them with Facebook for example when one user befriends another the two are automatically connected with an edge this is most commonly drawn as aligned with no arrows between two circles if we explore this in the ipython terminal you can instantiate an empty graph in network X using a next graph and ask for its type undirected graphs have the type graph on the other hand Twitter's social graph is a directed Network this is because of the nature of how users interact with one another for example one user may follow another user but that other user may not follow back as such there's an inherent directionality associated with the graph if we explore this in the ipython terminal you can instantiate an empty directed graph in Network X using an XD graph if you query for its type it will return a digraph object we can also have graphs in which there are multiple edges permitted between the nodes for example we may want to model trips between bike sharing stations each trip may be one edge between the pair of stations if we explore this in the ipython terminal we can likewise instantiate a multi graph using a next multitrader graph object sometimes for practical reasons maybe two memory intensive to model multiple edges per pair of nodes and so one may choose to collapse the edges into a single edge that contains a metadata summary of the original for example we may want to collapse these three edges into a single one and give them a weight metadata with the value three indicating that it was originally three edges between the pair of nodes let's go through one final concept the idea of self loops self loops can be used in certain scenarios such as in bike sharing data where trip begins at a station and ends at the same station one of the exercises you will encounter will leverage what you've learned so far about the network X API to find edges that are self loops in a graph alright let's move on to the exercises now
Original Description
Want to learn more? Take the full course at https://learn.datacamp.com/courses/network-analysis-in-python-part-1 at your own pace. More than a video, you'll learn hands-on coding & quickly apply skills to your daily work.
---
Great work! We are now going to go a little bit deeper into the NetworkX API and introduce a few more concepts that you can use in network analysis.
NetworkX allows us to model different types of graphs. For example, there are social graphs like Facebook, which are undirected graphs. Undirected graphs are named as such because they are comprised of edges that don't have any inherent directionality associated with them. With Facebook, for example, when one user befriends another, the two are automatically connected with an edge. This is commonly drawn as a line with no arrows between two circles.
If we explore this in the IPython terminal, you can instantiate an empty graph in NetworkX using nx.Graph() and ask for its type. Undirected graphs have the type Graph.
On the other hand, Twitter’s social graph is a directed network. This is because of the nature of how users interact with one another. For example, one user may follow another, but that other user may not follow back. As such, there is an inherent directionality associated with the graph.
If we explore this in the IPython terminal, you can instantiate an empty directed graph in NetworkX using nx.DiGraph(). If you query for its type, it will return a DiGraph object.
We can also have graphs in which there are multiple edges permitted between the nodes. For example, we may want to model trips between bike sharing stations. Each trip may be one edge between the pair of stations.
If we explore this in the IPython terminal, we can likewise instantiate a MultiGraph using nx.MultiGraph(). If we check for its type, it will be of the MultiGraph class. Likewise for the MultiDiGraph object.
Sometimes, for practical reasons, it may be too memory-intensive to model multiple edges per pair of
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from DataCamp · DataCamp · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SQL Server Tutorial: Date manipulation
DataCamp
R Tutorial: Intermediate Interactive Data Visualization with plotly in R
DataCamp
R Tutorial: Adding aesthetics to represent a variable
DataCamp
R Tutorial: Moving Beyond Simple Interactivity
DataCamp
Python Tutorial: Why use ML for marketing? Strategies and use cases
DataCamp
Python Tutorial: Preparation for modeling
DataCamp
Python Tutorial: Machine Learning modeling steps
DataCamp
R Tutorial: The prior model
DataCamp
R Tutorial: Data & the likelihood
DataCamp
R Tutorial: The posterior model
DataCamp
R Tutorial: An Introduction to plotly
DataCamp
R Tutorial: Plotting a single variable
DataCamp
R Tutorial: Bivariate graphics
DataCamp
Python Tutorial: Customer Segmentation in Python
DataCamp
Python Tutorial: Time cohorts
DataCamp
Python Tutorial: Calculate cohort metrics
DataCamp
Python Tutorial: Cohort analysis visualization
DataCamp
R Tutorial: Building Dashboards with flexdashboard
DataCamp
R Tutorial: Anatomy of a flexdashboard
DataCamp
R Tutorial: Layout basics
DataCamp
R Tutorial: Advanced layouts
DataCamp
Python Tutorial: Time Series Analysis in Python
DataCamp
Python Tutorial: Correlation of Two Time Series
DataCamp
Python Tutorial: Simple Linear Regressions
DataCamp
Python Tutorial: Autocorrelation
DataCamp
R Tutorial: The gapminder dataset
DataCamp
R Tutorial: The filter verb
DataCamp
R Tutorial: The arrange verb
DataCamp
R Tutorial: The mutate verb
DataCamp
R Tutorial: What is cluster analysis?
DataCamp
R Tutorial: Distance between two observations
DataCamp
R Tutorial: The importance of scale
DataCamp
R Tutorial: Measuring distance for categorical data
DataCamp
Python Tutorial: Plotting multiple graphs
DataCamp
Python Tutorial: Customizing axes
DataCamp
Python Tutorial: Legends, annotations, & styles
DataCamp
Python Tutorial: Introduction to iterators
DataCamp
Python Tutorial: Playing with iterators
DataCamp
Python Tutorial: Using iterators to load large files into memory
DataCamp
SQL Tutorial: Introduction to Relational Databases in SQL
DataCamp
SQL Tutorial: Tables: At the core of every database
DataCamp
SQL Tutorial: Update your database as the structure changes
DataCamp
Python Tutorial: Classification-Tree Learning
DataCamp
Python Tutorial: Decision-Tree for Classification
DataCamp
Python Tutorial: Decision-Tree for Regression
DataCamp
Python Tutorial: Census Subject Tables
DataCamp
Python Tutorial: Census Geography
DataCamp
Python Tutorial: Using the Census API
DataCamp
R Tutorial: A/B Testing in R
DataCamp
R Tutorial: Baseline Conversion Rates
DataCamp
R Tutorial: Designing an Experiment - Power Analysis
DataCamp
R Tutorial: Introduction to qualitative data
DataCamp
R Tutorial: Understanding your qualitative variables
DataCamp
R Tutorial: Making Better Plots
DataCamp
SQL Tutorial: OLTP and OLAP
DataCamp
SQL Tutorial: Storing data
DataCamp
SQL Tutorial: Database design
DataCamp
Python Tutorial: Introduction to spaCy
DataCamp
Python Tutorial: Statistical Models
DataCamp
Python Tutorial: Rule-based Matching
DataCamp
🎓
Tutor Explanation
DeepCamp AI