python - 如何设置networkx的“read_edgelist”设置默认自定义权重?
问题描述
我正在使用 networkx 从文件中读取边缘。我的数据喜欢:
1 2
1 3
2 4
从上述数据中读取时如何设置自定义重量?我想要我的数据喜欢:
1 2 1.0
1 3 1.0
2 4 1.0
或者权重可以是原始数据中没有权重可以选择的其他值。
解决方案
您可以在将文件读入嵌套列表时构建加权边列表,然后将加权边输入到图中add_weighted_edges_from
:
weight = 1
edges = [[*map(int,line.split()), weight] for line in open("file.txt")]
G = nx.Graph()
G.add_weighted_edges_from(edges)
G.edges(data=True)
# EdgeDataView([(1, 2, {'weight': 1}), (1, 3, {'weight': 1}), (2, 4, {'weight': 1})])
推荐阅读
- angular - 角度 2+ canDeactivate async:false
- mongodb - 如何从 mongodb/pymongo 获取不同的键
- python - 如何使用 SquareSpace 登录 Python 程序
- javascript - Firestore (web) 添加简单集合
- wso2 - 如何为 wso2 身份服务器权利创建策略
- apache - 使用 Apache 列出目录内容
- c - 发送带有 XML 内容的 POST http 请求
- javascript - 电子无法收到通知
- wordpress - 如何在wordpress帖子中显示html结果视图
- angular - ngrx 实体应该存储在功能级别还是应用级别?