文章目录
概要
在复杂网络建模中,使用真实的网络数据集是理解和分析现实世界网络结构的关键。接下来将介绍如何使用 Python 中的工具库(如 NetworkX、Pandas 和 Matplotlib)来读取、操作和分析真实的网络数据集。我们将以一个具体的例子来展示整个过程,包括数据集的获取、加载、可视化和基本分析。
1.获取真实网络数据集的常用网址
1.1 Network Repository.
提示:此数据集网站数据集是.zip格式,解压后的数据是.mtx格式
链接: https://networkrepository.com/index.php
- 将下载下来的数据集解压缩
import zipfile
f = zipfile.ZipFile("./data/inf-USAir97",'r') # 压缩文件位置
for file in f.namelist():
f.extract(file,"./data") # 解压位置
f.close()
- 然后找到解压后的数据用记事本(或其他方式)打开,把前几行的非连边数据用%号注释掉
# 读取 .mtx 文件
matrix = mmread('./data/inf-USAir97.mtx')
# 转换为 NetworkX 图对象
G = nx.Graph(matrix)
# 输出节点数量和边数量
num_nodes = G.number_of_nodes()
num_edges = G.number_of_edges()
print(f"Number of nodes: {
num_nodes}")
print(f"Number of edges: {
num_edges}")
#Number of nodes: 332
#Number of edges: 2126
1.2 Stanford Large Network Dataset Collection
提示:此数据集网站数据集是.txt.gz格式
链接: https://snap.stanford.edu/data/
- 读取数据
facebook = pd.read_csv(
"./data/facebook_combined.txt.gz",
compression="gzip",
sep=" ",
names=["source", "target"],
)
- 输出网络节点和连边