You need to enable JavaScript to run this app. 如何在NetworkX二分图中分别统计两类节点度之和及提取对应节点
优惠活动
大模型
产品
解决方案
定价
更多

如何在NetworkX二分图中分别统计两类节点度之和及提取对应节点

解决方案

1. 单独提取演员、电影两类节点

你在构建图时已经给节点附加了bipartite属性标记分类,直接过滤节点属性即可获取对应类的唯一节点,不需要依赖提前定义的变量:

# 获取所有演员节点(bipartite属性为0)
actor_nodes = [n for n, attr in graded_graph.nodes(data=True) if attr['bipartite'] == 0]
# 获取所有电影节点(bipartite属性为1)
movie_nodes = [n for n, attr in graded_graph.nodes(data=True) if attr['bipartite'] == 1]

打印验证即可得到和你之前定义的l、r完全一致的节点集合。

2. 分开统计两类节点的度总和

graded_graph.degree()支持传入指定节点列表作为参数,只会返回目标节点的度数据,直接求和即可:

# 统计演员节点度总和
total_actor_degree = sum(degree for node, degree in graded_graph.degree(actor_nodes))
# 统计电影节点度总和
total_movie_degree = sum(degree for node, degree in graded_graph.degree(movie_nodes))

print(f"演员节点度总和:{total_actor_degree}")
print(f"电影节点度总和:{total_movie_degree}")

你给出的示例图运行后输出结果为:

演员节点度总和:6
电影节点度总和:6

符合二分图边数等于两侧度总和的特性。


内容的提问来源于stack exchange,提问作者BKH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:51:00