
关于
NetworkX 是一个用于创建、操作和分析复杂网络与图结构的 Python 库。
name: networkx description: "NetworkX 是一个用于创建、操作和分析复杂网络和图的 Python 包。" license: 3-clause BSD license metadata: skill-author: K-Dense Inc. risk: unknown source: "https://github.com/networkx/networkx"
NetworkX
概述
NetworkX 是一个用于创建、操作和分析复杂网络和图的 Python 包。在处理网络或图数据结构时使用此技能,包括社交网络、生物网络、交通系统、引用网络、知识图谱或任何涉及实体间关系的系统。
何时使用此技能
当任务涉及以下内容时调用此技能:
- 创建图:从数据构建网络结构,添加带属性的节点和边
- 图分析:计算中心性度量、查找最短路径、检测社区、测量聚类
- 图算法:运行标准算法如 Dijkstra、PageRank、最小生成树、最大流
- 网络生成:创建合成网络(随机、无标度、小世界模型)用于测试或模拟
- 图 I/O:从各种格式读取或写入(边列表、GraphML、JSON、CSV、邻接矩阵)
- 可视化:使用 matplotlib 或交互式库绘制和自定义网络可视化
- 网络比较:检查同构、计算图指标、分析结构属性
核心功能
1. 图创建和操作
NetworkX 支持四种主要图类型:
- Graph:具有单边的无向图
- DiGraph:具有单向连接的有向图
- MultiGraph:允许节点间多条边的无向图
- MultiDiGraph:具有多条边的有向图
创建图:
import networkx as nx
# Create empty graph
G = nx.Graph()
# Add nodes (can be any hashable type)
G.add_node(1)
G.add_nodes_from([2, 3, 4])
G.add_node("protein_A", type='enzyme', weight=1.5)
# Add edges
G.add_edge(1, 2)
G.add_edges_from([(1, 3), (2, 4)])
G.add_edge(1, 4, weight=0.8, relation='interacts')
参考:详见 references/graph-basics.md 了解创建、修改、检查和管理图结构的全面指导,包括属性和子图操作。
2. 图算法
NetworkX 提供广泛的网络分析算法:
最短路径:
# Find shortest path
path = nx.shortest_path(G, source=1, target=5)
length = nx.shortest_path_length(G, source=1, target=5, weight='weight')
中心性度量:
# Degree centrality
degree_cent = nx.degree_centrality(G)
# Betweenness centrality
betweenness = nx.betweenness_centrality(G)
# PageRank
pagerank = nx.pagerank(G)
社区检测:
from networkx.algorithms import community
# Detect communities
communities = community.greedy_modularity_communities(G)
连通性:
# Check connectivity
is_connected = nx.is_connected(G)
# Find connected components
components = list(nx.connected_components(G))
参考:详见 references/algorithms.md 了解所有可用算法的详细文档,包括最短路径、中心性度量、聚类、社区检测、流、匹配、树算法和图遍历。
3. 图生成器
创建用于测试、模拟或建模的合成网络:
# Classic graphs
K5 = nx.complete_graph(5)
petersen = nx.petersen_graph()
# Random graphs
er = nx.erdos_renyi_graph(100, 0.15)
ba = nx.barabasi_albert_graph(100, 3)
ws = nx.watts_strogatz_graph(100, 4, 0.3)
兼容工具
Claude CodeCursor
标签
数据工程
