如何解决如何从 NetworkX
我想做的是在 NetworkX 中构建一个图,其中每个节点都是一个火车站。构建我所做的节点:
G = nx.Graph()
G.add_nodes_from(trains['Stopping place'].unique())
它(至少看起来像)它正在工作。
现在,因为对于每一行我都有按顺序停止,我像这样构建我的路径:
stops_by_line = ((belgium_trains.sort_values(['Train number','Actual arrival datetime']).groupby('Train number'))['Stopping place'].apply(list).to_dict())
paths = ([tuple(val) for val in stops_by_line.values()])
变量如下所示:
[('HERGENRATH','CHENEE','ANGLEUR','LIEGE-GUILLEMINS','ANS','LEUVEN','HERENT','VELTEM','ERPS-KWERPS','KORTENBERG','NOSSEGEM','ZAVENTEM','DIEGEM','HAREN-ZUID','SCHAARBEEK','BRUSSEL-NOORD','BRUSSEL-CONGRES','BRUSSEL-CENTRAAL','BRUSSEL-KAPELLEKERK','BRUSSEL-ZUID'),(...other ordered tuples of stops),...)]
现在我的问题是,由于所有这些元素也是节点名称,我如何依次使用这些元组构建边(例如,在 BRUSSEL-NOORD 和 BRUSSEL-CONGRES 之间添加一条边,然后从 BRUSSEL-CONGRES 到 BRUSSEL -CENTRAAL 等等)?
解决方法
您可以简单地在循环中使用 add_path
方法:
for path in paths:
nx.add_path(G,path)
Sidemark,如果你添加了一条边(比如上面的例子),那么 networkx
也会直接将相应的节点添加到图中。所以可能(如果所有站点都被某列火车覆盖)您之前不需要手动添加节点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。