NetworkX 是一个用于创建、操作和研究复杂网络的结构、动态和功能的 Python 软件包。它提供了丰富的图形结构和算法,适用于网络科学、社交网络分析、生物信息学等领域。
图(Graph) 是由节点(Node)和边(Edge)组成的数据结构。节点表示实体,边表示实体之间的关系。图可以是无向的(Undirected)或有向的(Directed)。
标签(Label) 在 NetworkX 中,标签通常用于标识节点或边的属性。例如,节点可以有一个标签表示其类型(如“用户”或“商品”),边可以有一个标签表示其权重(如“距离”或“相似度”)。
import networkx as nx
# 创建一个无向图
G = nx.Graph()
# 添加节点
G.add_node(1)
G.add_node(2)
# 添加边
G.add_edge(1, 2)
# 打印图的信息
print(G.nodes())
print(G.edges())
import networkx as nx
# 创建一个无向图
G = nx.Graph()
# 添加节点并设置标签
G.add_node(1, label='User')
G.add_node(2, label='Product')
# 添加边并设置标签
G.add_edge(1, 2, weight=0.8)
# 打印节点和边的标签
for node in G.nodes(data=True):
print(node)
for edge in G.edges(data=True):
print(edge)
import networkx as nx
# 创建一个无向图
G = nx.Graph()
# 添加节点和边
G.add_edges_from([(1, 2), (2, 3), (3, 4), (4, 1)])
# 计算每个节点的度数
degree_sequence = [d for n, d in G.degree()]
print(degree_sequence)
通过以上内容,您可以了解 NetworkX 图和标签的基础概念、优势、类型、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云