我有一个pandas DF,其中每列表示一个节点,两列表示一个边,如下所示:
import pandas as pd
df = pd.DataFrame({'node1': ['2', '4','17', '17', '205', '208'],
'node2': ['4', '13', '25', '38', '208', '300']})
所有节点都是无向的,即您可以从一个节点到另一个节点undirected_graph
我想将它们分成所有相连的组(Connectivity),如下所示:
^{pr2}$例如,前两行之所以被分组,是因为可以从节点2到节点13(到4)。在
我找到的最接近的问题是: pandas - reshape dataframe to edge list according to column values但据我所知,这是一个不同的问题。在
在这方面的任何帮助都会很好,谢谢。在
如果由于某种原因不能使用外部库,则可以实现以下算法:
输出
^{pr2}$使用
networkx
connected_components
相关问题 更多 >
编程相关推荐