从数据中创建边缘列表[关闭]

问题描述 投票:-1回答:2

我有一个巨大的数据,这张图片显示了我的数据样本:

我想制作边缘清单。如果column1=column2=column3=column4=column6的行值相同,则第5列的行值之间存在关系(边),结果应如下图所示:

有没有办法做到这一点? postgresQL或Python或R可以帮我吗?

python postgresql graph
2个回答
0
投票

如果我理解正确,你想要一个自我加入:

select t1.col5 as vertex_1, t2.col5 as vertex_2
from t t1 join
     t t2
     on t1.col1 = t2.col1 and t1.col2 = t2.col2 and t1.col3 = t2.col3 and
        t1.col4 = t2.col4 and t1.col6 = t2.col6 and
        t1.col5 <> t2.col5;

我不知道你是否想要无向或有向的边缘。如果是无向的,则将最后一个条件更改为:t1.col5 < t2.col5


0
投票

您想要的是结果列表中的唯一元素。查看SQL关键字“unique”/“distinct”,它们可能用于生成唯一的行。

© www.soinside.com 2019 - 2024. All rights reserved.