【问题标题】:Create networkx graph from pandas df with column entries as tuples of neighbours从pandas df创建networkx图,列条目作为邻居元组
【发布时间】:2021-08-21 17:59:25
【问题描述】:

我有一个 Pandas 数据框,每个条目的第一列都有一个节点的名称,第二列是该节点的邻居的元组。我怎样才能直接从这个数据框构造一个networkx图。

import networkx as nx
import pandas as pd
data = [[1,(2,4)],[2, (1,3)], [3, (1,2,3)], [4, (1)]]
exdf = pd.DataFrame(data, columns = ["A","B"])
G = nx.from_pandas_edgelist(exdf, "A", "B")
        

最后一行代码构建了一个图,其边连接“A”和“B”列的每个条目。但是,如果列条目是节点列表或元组而不是单个节点,这似乎不起作用。有没有简单的解决方法?

【问题讨论】:

    标签: python pandas graph networkx


    【解决方案1】:

    您传递给 networkx 的还不是边缘列表。你可以explodeB创建一个:

    exdf = exdf.explode('B')
    

    【讨论】:

      猜你喜欢
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 2014-02-08
      • 1970-01-01
      相关资源
      最近更新 更多