Python 从带有颜色的数据帧开始的网络

Python 从带有颜色的数据帧开始的网络,python,pandas,networkx,Python,Pandas,Networkx,我需要使用以下数据创建一个网络 String List1 string1 [string3, string2, string20, string4] string2 [string100, string1, string4] string3 [string1, string80, string2] string4 [string13, string28, string12, string16] string5 [strin

我需要使用以下数据创建一个网络

String        List1                           
string1 [string3, string2, string20, string4]   
string2 [string100, string1, string4]
string3 [string1, string80, string2]
string4 [string13, string28, string12, string16]
string5 [string3, string8, string12, string6]
string6 []  
带有间接链接,显示变量/节点之间的链接。 例如,string1与string3、string2、string30、string4链接。String2与string100、string1和string4链接,依此类推

我已尝试使用Networkx

import itertools.combinations as comb

edges = set()
for col in df:
    for _, data in df.groupby(col):
        edges.update(comb(data.index, 2))

G = nx.Graph()
G.add_nodes_from(df.index)
G.add_edges_from(edges)

但是它并没有达到我期望的输出效果。

实际上,您应该使用
df.explode
networkx
有一个功能,您可以将分解后的df直接送入:

G = nx.from_pandas_edgelist(df.explode('List1'), source='String', target='List1')

也就是说,构建数据帧的方式(即列表作为单元格条目)会带来很多麻烦,因此最好避免使用。

确实,您应该使用
df.explode
networkx
有一个功能,您可以将分解后的df直接送入:

G = nx.from_pandas_edgelist(df.explode('List1'), source='String', target='List1')

这就是说,构建数据帧的方式(即列表作为单元格条目)会带来很多麻烦,因此最好避免这种情况。

您希望输出结果如何?Hi-warped。我想创建一个图,其中节点是我的字符串(它只是一个标签)和它们之间的链接(如果有关系的话)(如项目符号列表中)。颜色将是链接颜色,但它是次要的。我无法用我在postOk中编写的代码创建图形,df是什么样子的?我尝试用一种简单的方式重写我正在尝试做的事情。我想我应该分解数据集来创建网络。现在,我的数据集看起来像在帖子中。谢谢你的帮助,你希望得到什么样的输出。我想创建一个图,其中节点是我的字符串(它只是一个标签)和它们之间的链接(如果有关系的话)(如项目符号列表中)。颜色将是链接颜色,但它是次要的。我无法用我在postOk中编写的代码创建图形,df是什么样子的?我尝试用一种简单的方式重写我正在尝试做的事情。我想我应该分解数据集来创建网络。现在,我的数据集看起来像在帖子中。谢谢你的帮助