You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从cdlib输出的NodeClustering对象中提取社区聚类数据

cdlib NodeClustering对象社区聚类结果提取方法

你调用社区检测算法返回的NodeClustering对象提供了多个公开API可以直接提取所需结果,不建议直接访问内部data属性,推荐使用以下稳定接口:

  • 获取所有社区的节点集合
    调用coms.communities属性,返回值为嵌套列表,每个子列表对应一个社区包含的所有节点ID。
  • 获取节点到社区的映射关系
    调用coms.to_node_community_map()方法,返回值为字典,键为节点ID,值为该节点所属的社区索引列表(重叠社区检测算法下单个节点可能属于多个社区,非重叠算法如Louvain返回的列表长度为1)。
  • 转换为DataFrame格式
    调用coms.to_df()方法,直接返回包含node(节点ID)和community(所属社区索引)两列的Pandas DataFrame,适合后续数据处理。

完整使用示例:

from cdlib import algorithms
import networkx as nx

# 构造测试图
G = nx.karate_club_graph()
# 执行Louvain社区检测
coms = algorithms.louvain(G)

# 示例1:打印所有社区
print("所有社区节点列表:")
for idx, comm in enumerate(coms.communities):
    print(f"社区{idx}:{comm}")

# 示例2:查询单个节点所属社区
target_node = 0
node_comm = coms.to_node_community_map()[target_node][0]
print(f"\n节点{target_node}所属社区索引:{node_comm}")

# 示例3:导出为DataFrame
df = coms.to_df()
print("\nDataFrame格式结果前5行:")
print(df.head())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:45:05