【问题标题】:Failed to Convert Edge Data Network X边缘数据网络转换失败x
【发布时间】:2019-09-22 12:35:54
【问题描述】:

我有这个结构如下的 small-gephiready.tsv 文件:

Source  Target     Type
1         2     Undirected
1         3     Undirected
1         4     Undirected
1         5     Undirected
1         6     Undirected

我想在python环境下通过NetworkX打开它,代码:

G = nx.read_edgelist("small-gephiready.tsv", nodetype=int)

但是,它返回错误“无法将边缘数据 (['Type']) 转换为字典”。我以为Type datas是string,所以在nodetype=int后面加了data=('Type',str),返回str has no attribute decode。

是我写错了 read_edge 函数还是我必须在文件中签入一些东西?感谢您的帮助。

【问题讨论】:

    标签: string networking graph networkx readfile


    【解决方案1】:

    这是我的回答,显然如果你给一个文件的标题,你需要一些参数来读取它们。但是,我需要 pandas read_csv 函数并使用 from_pandas_edgelist 函数将其扔到 network_x。

    f = pd.read_csv("small-gephiready.tsv", sep='\t')
    G = nx.from_pandas_edgelist(f, source='FromNodeId', target='ToNodeId')
    

    【讨论】:

      【解决方案2】:

      我不太确定它是如何工作的,但下面的代码似乎为我提供了预期的结果:

      先删除标题,然后使用下面的代码

      nx.read_edgelist("small-gephiready.tsv", nodetype=int, data=(("Type", str),))
      

      它毫无问题地加载了节点和边。

      【讨论】:

        猜你喜欢
        • 2019-02-16
        • 2019-02-01
        • 2020-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-23
        • 1970-01-01
        相关资源
        最近更新 更多