问题标签 [edge-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3393 浏览

python - 在python中将多列堆叠成一列

我有一个 100 行 x 7 列的熊猫数据框,如下所示:

在此处输入图像描述

source中的值连接到其他列中的值。例如,a连接到contact_1, contact_2... contact_5. 同理,b连接到contact_6, contact_7 .... and contact_10

我只想将这些列堆叠成两列(即源和目标),以帮助我使用边缘列表格式构建图形。

预期的输出数据格式为:

在此处输入图像描述

我试过df.stack()但没有得到想要的结果,我得到了以下结果:

在此处输入图像描述

有什么建议么?

0 投票
0 回答
32 浏览

r - How do I turn a string of words into an edgelist?

I am new to R and I am trying to create an edgelist using two variables. The first is a an ID number, the second is a short bio of words. I would like to separate the words, but keep them associated with the same ID number. Then I'd like to change the format to an edgelist, where each ID number is paired with each of the words that were used in the corresponding bio.

I don't know if I first need to split up each word, or if it's possible to just separate the words based on the spaces. I think I need help in both conceptualizing what I need to do, and potentially help doing it.

For example, the first five lines of the code for the two variables are below:

I would like to create an edgelist that looks like this:

. . . and so on.

I tried using some code I found online, but it's not running for me, and I'm not sure if my data is in the right format for this to work:

0 投票
2 回答
51 浏览

r - 如何创建没有重复的边缘列表 R

我有一个非常大的数据集,其中包含 3 列兴趣、id、house 和 people。每个 id 可以有多个房子,每个房子可以有多个人。我想使用@David Arenburg 在此处共享的内容创建边缘列表在 R 中创建带有其他变量的边缘列表

但是,我遇到的问题是给出的边缘是“a;b”和“b;a”。我只想拥有它们一次。由于 a 和 b 的大集合可以产生数千个 a;b, b;a 组合。

我只想拥有它们一次,因为我想计算人们共享房屋的次数。

给定数据集

@David Arenburg 的以下代码为我们提供了边缘列表

结果

正如你所看到的,在 V1 和 V2 之间,房子有两个 'd;e','e;d' 我想避免。因此,对于大量数据,这些组合可能在 1000 秒内

谢谢你的帮助

0 投票
1 回答
225 浏览

python - 如何阻止 Networkx 将边缘中的头尾节点(u,v)的顺序更改为(v,u)?

我有一个使用 networkx 创建的简单图表。

我想删除节点 0 和 1 之间的边并添加三个新节点(比如节点 10、11、12)。然后,必须在节点 0 和 10、10 和 11、11 和 2 之间创建边。

G.remove_edge(0,1)用来删除节点 0 和 1 之间的边缘。

有人可以建议可以使用哪个功能来添加 n新节点吗?

另外,如果n添加了新节点,这些节点会自动编号吗?

我打算在循环中执行此操作,删除两个节点之间已经存在的边并添加n新节点和连接这些节点的边。

编辑:我尝试了以下方法来添加n新的边缘

输出:

我不确定为什么按 (13,1)(head, tail) 顺序添加的边存储为 (1,13)。关于如何在添加新边的同时保留头尾节点的顺序有什么建议吗?

EDIT2:用 nx.OrderedGraph() 替换 nx.Graph() 也无济于事。

0 投票
2 回答
681 浏览

python - 如何阻止 Networkx 在无向图中将节点的顺序从 (u,v) 更改为 (v,u)?

这是对我之前的问题的跟进。

问题在于创建无向图时节点在边列表中的保存顺序。我有一个使用下面的代码创建的图表。创建一个简单的图,并在两个已经存在的节点之间添加新的节点和边。

使用无向图的输出是:

从输出中,我们可以观察到使用 G.add_edge(13,1) 创建的边显示为 (1,13)。我理解这是因为图表是无向的。

当使用有向图(G.OrderedDiGraph)时,输出为:

(13, 1) 与我预期的结果一样。

但是,我很想知道是否有一种特定的方式可以命名节点,以便避免 Networkx 将节点从 (u,v) (用户输入)重新排序到 (v,u)一个无向图。

编辑:我避免使用有向图,因为有这样的输入有向图会产生以下结果 在此处输入图像描述

在这个有向图中,节点 24 和 28 的入度和出度之和为 1。但是,我希望箭头从节点 24 指向 28,类似于交通网络中可能有不同路线的单向流从点 24 流向点 28 的流量。由 Networkx 的 diGraph 创建的方向并不代表我的真实系统。因此,我不想使用有向图。

0 投票
2 回答
65 浏览

r - 获取包含alter的alter的边缘列表

我需要一个包含三列的数据框:i、j(alter)和 k(j's alter)。我有一个邻接矩阵(下面的示例)。从那里我可以得到一个图形对象并提取边缘列表。如何操作数据以获得像下面的 WANT 数据框这样的输出?

有(矩阵和边缘列表):

想要(ijk 边缘列表):

ijk 边缘列表应该是所有可能的 ij 三元组,不包括自循环(例如:1 4 1)

0 投票
1 回答
628 浏览

python - 如何以所需格式将加权 networkx 图导出到边缘列表?

我正在尝试获取加权 networkx 图并将其转换为 edgelist .txt 文件,其中每一行采用三个以空格分隔的数字的形式,表示起始节点、结束节点和相应的权重。

这是我为一个简单的七节点加权无向图所做的尝试:

文本文件已创建,如下所示:

但是,我希望以上内容改为显示为

0 投票
1 回答
90 浏览

r - 将 data.frame 转换为边缘列表以在和弦图中使用

我想创建一个和弦图来展示基于关键字的不同项目之间的关系。所以我有看起来像这样的数据(其中 A、B、C 代表关键字):

为了创建和弦图,我需要将数据转换为邻接矩阵或边列表。

我曾尝试在原始数据集上使用 igraph,但它需要一个邻接矩阵,我无法弄清楚如何转换数据。

邻接矩阵会是这样的:

边缘列表看起来像这样:

数据有 60 个关键词。你会建议什么解决这个问题?谢谢你。

0 投票
0 回答
139 浏览

python - 从文件中读取特定图表

我必须使用现有的 .txt 文件阅读并创建带有 networkx 的图形。

txt 文件开头为:

我使用这个 python 代码

我收到此错误消息:TypeError: Failed to convert nodes %,asym to type 。

使用 delimiter=',' 我的图有 0 个节点和 0 个边,并绘制一个空白页。问题出在哪里?

0 投票
1 回答
85 浏览

python - NLTK 话语树到边缘列表

我有以下字符串:

我可以将其转换为 NLTK 树,如下所示:

该树在此链接中进行了说明。

我想要的是这棵树的边缘列表。类似于以下内容:

其中后面的数字NS-elaboration是树的高度。