【发布时间】:2021-10-15 04:13:58
【问题描述】:
我有几千条道路,每条道路都由一到几条路段组成。对于每个段,都有一个开始和结束节点。如何对它们进行排序,以便获得道路的起点和终点?一条道路数据的样本如图所示。
在知道了道路的起始节点和结束节点之后,我想将这些信息应用到道路的每个路段以创建下表。
import pandas as pd
data = [['Road_id','Segment_id','Start_node','End_node'], [1,8285,4740,4741], [1,8509,4741,5144], [1,8437, 5016,5017], [1,8447, 5031, 5016], [1, 8520, 5144,5168], [1,9104,5168,4785],[1,8550,5017,4740]]
df = pd.DataFrame(data[1:], columns = data[0])
【问题讨论】:
-
这称为“拓扑排序”。您实际上制作了一个节点图,并查找没有前任或后继者的节点。 Pandas 不会帮助您完成这项任务;您不妨将数据保存在 Python 列表中。