python中将edgelist导入igraph的格式

Posted

技术标签:

【中文标题】python中将edgelist导入igraph的格式【英文标题】:Format for importing edgelist into igraph in python 【发布时间】:2013-01-23 02:25:30 【问题描述】:

igraph 接受的用于导入 python 的 edgelist 格式是什么?包含我的加权边缘的文本文件应该是什么样的?

我之前使用过 igraph 和 R,但在我需要使用的机器上没有安装有效的 R ——所以我被困在 python 中。

我有一个类似这样的 egelist.txt:

123123, 321321, 1
222222, 333333, 2
123123, 333333, 3
222222, 321321, 4

...值采用(源、目标、权重)形式。

如何在 python 中导入它?还是我应该重新格式化我的输入?

我正在尝试

import igraph

g = igraph.Graph.Read_Edgelist()

我不知道如何设置如何告诉导入语句我的列的期望顺序是什么,以及我对文档的理解 (http://hal.elte.hu/~nepusz/development/igraph /tutorial/tutorial.html) 是假设我有 321,321 个节点在运行,而不是将“321321”作为节点的标记 ID。

【问题讨论】:

看起来如果您的文件是制表符分隔而不是逗号分隔,它将是 Ncol file,使用 Graph.Read_Ncol() 读取。 【参考方案1】:

删除文件中的所有逗号(即仅使用空格作为分隔符),然后使用Graph.Read_Ncol。这应该可以解决问题。文件中的数字 ID 将分配给 name 顶点属性,边权重将存储在 weight 边属性中。

【讨论】:

以上是关于python中将edgelist导入igraph的格式的主要内容,如果未能解决你的问题,请参考以下文章

我可以为igraph中的根/终端顶点之间的edgelist属性创建单独的数据框吗? (R)

修复 r igraph 中节点的位置?

networkx/igraph (Python) 上的指定边长

使用 Python 通过 igraph 分析 shapefile

使用Python-iGraph绘制好友关系图

在 Python 的 igraph 中删除多条边