【问题标题】:How do I convert a large edgelist csv to an adjacency matrix如何将大型边缘列表 csv 转换为邻接矩阵
【发布时间】:2019-12-19 08:46:04
【问题描述】:

我有一个大的edge list 2M 节点,我正在尝试将其转换为邻接矩阵。我之前用于将边缘列表更改为邻接矩阵的代码在此数据集上不起作用,因为它太大了。我可以使用其他链接或方法吗?

【问题讨论】:

  • 什么太大了? edge_list 还是生成的邻接矩阵?
  • 在不了解您以前的代码以及它出现故障的地方的情况下,很难提出建议。因此,查看您的一些代码会有所帮助。我最好的猜测是问题在于邻接矩阵太大。在这种情况下,请尝试使用稀疏矩阵(在底层数据结构中,它几乎被视为边缘列表)
  • 边缘列表@hpaulj

标签: python pandas numpy networkx


【解决方案1】:

尝试使用稀疏矩阵。

使用nx.to_scipy_sparse_matrix,您可以将图转换为稀疏邻接矩阵。

【讨论】:

  • 我已经把它变成了一个稀疏矩阵。有没有办法从稀疏转换为邻接?
  • 您可以尝试调用to_dense,但可能会遇到内存不足的错误。
  • 是的,这就是解决方案!太感谢了。在把它变成密集之后,我只是把它变成了一个熊猫数据框来美学@Sparky05
  • 是的,但这假设您能够创建一个 networkx 图,它比 scipy 稀疏矩阵消耗更多的内存...
猜你喜欢
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
相关资源
最近更新 更多