如何在networkx中使用检测社区

问题描述

我有一个有 5 列的数据库

f_id s_id 日期 title score
12345 506678 24-05-2005 title 0.987

我已经建立了网络连接,并像这样连接网络:

 path = 'data.csv'
 df = pd.read_csv(path) 

G = nx.from_pandas_edgelist(df,source='f_id,target='s_id',edge_attr=['weight','date'],create_using=nx.DiGraph())

所以现在我想检测直接图的社区,我知道 louvian 无法实现到直接网络的任何检测,所以不是偏好。

TypeError: Bad graph type,use only non directed graph

那么如何检测社区并给每个社区一个颜色。

定义社区后,我想将标题和分数传递给节点以测试哪个社区的分数最低。

请提供任何提示

解决方法

我回答了您关于 Louvain 的其他问题,但同时也发现了这一点:

graphology-communities-louvain

作者说它将适用于有向图。我根本没有做过这方面的工作,但它可能是一个有趣的起点。