python - 我的图表是否太大而无法实际使用?
问题描述
我在 networkx 中有一个有向图,有 ~8M 节点 ~30M 边。我的目标是删除这些节点的一个子集(~1M)并在剩余的图上执行计算,根据关系向节点和边添加属性。
然而,似乎即使执行删除节点的第一步也是不可能的。我尝试过的:
目标:删除所有不是节点“a”的后代的节点。
nodesToKeep = nx.descendants(G, 'a')
挂墙时间:40 秒
nodesToDrop = [n for n in G if n not in set(nodesToKeep )]
挂壁时间:不清楚,>24h
然后我会使用删除节点G.remove_nodes_from(nodesToDrop)
问题在于,即使是列表理解 nodesToDrop 的运行时间本身也非常高。我在约 24 小时后终止了该过程。
将 networkx 用于这种大小的图通常是不现实的吗?还是我应该采取其他方法?
非常感谢任何可能引导我走向正确方向的回应。
解决方案
推荐阅读
- node.js - 查找查询显示所有课程列表和相关信息,但在使用 findById(id) 时,无法找到课程
- swift - 我为 Charts 安装了 pod 文件,现在在使用 Range 时出现错误
- python - 尝试将一列中的数据从字符串转换为整数
- dialogflow-es - 如何为小地方指定实体名称?
- android - 我需要删除导航栏而不是隐藏它
- javascript - 批量上传到 AWS S3 JS 开发工具包
- node.js - 通过collectionGroup按名称查询
- php - 将数据共享到 Laravel 中没有路由的标头
- python - 按特定维度和元素对 3D 数组进行排序
- bash - Bash 有条件的奇怪行为