【问题标题】:Find the shortest paths between connected nodes (csv files)查找连接节点之间的最短路径(csv 文件)
【发布时间】:2020-07-05 10:45:55
【问题描述】:

我正在尝试找到 2 个县之间最长的最短路径。我得到了 2 个 .txt 文件,一个包含所有节点(县 ID、人口、经纬度和县内通勤者),另一个包含链接(源县、目的地县、距离、通勤者数量)。

01001 43671 32.523283 -86.577176 7871
01003 140415 30.592781 -87.748260 45208
01005 29038 31.856515 -85.331312 8370
01007 20826 33.040054 -87.123243 3199
01009 51024 33.978461 -86.554768 8966
01011 11714 32.098285 -85.704915 2237
01013 21399 31.735884 -86.662232 5708
01015 112249 33.741989 -85.817544 39856
01017 36583 32.891233 -85.288745 9281
01019 23988 34.184158 -85.621930 4645
01021 39593 32.852554 -86.689982 8115
01023 15922 32.027681 -88.257855 3472
01025 27867 31.688155 -87.834164 7705
...
01001 01001 0 7871
01001 01007 76.8615966430995 7
01001 01013 87.9182871130127 37
01001 01015 152.858742124667 5
01001 01021 38.1039665382023 350
01001 01031 140.051395101308 8
01001 01037 57.6726084645634 12
01001 01047 48.517875245493 585
01001 01051 38.9559472915165 741
01001 01053 169.524277177911 5
01001 01059 245.323879285783 7
01001 01065 102.775324022097 2
01001 01073 114.124721221283 142
...
01003 48439 932.019063970525 9
01003 53033 3478.13978129133 11
01003 54081 997.783781484149 10
01005 01005 0.000134258785931453 8370
01005 01011 44.3219329413987 72
01005 01021 168.973302699063 7
...

包含节点的第一个文件名为“THE_NODES.txt”,第二个文件名为“THE_LINKS.txt”。 我将如何使用 python 代码找到两个县之间的最长最短路径?我假设我从制作网络图开始,并且由于第二个文件具有连接,因此使用“THE_LINKS.txt”作为边缘(我不知道权重是否是距离?)?另外,我认为这些文件只能作为 csv 读取(如果我错了,请纠正我),所以我不能(或不知道如何)使用 networkx 来解决这个问题。

【问题讨论】:

    标签: python-3.x csv jupyter-notebook networkx edges


    【解决方案1】:

    您可以使用带有|分隔符的read_table函数来读取.txt文件

    node = pd.read_table('node.txt', sep='|', header=None)
    links = pd.read_table('links.txt', sep='|', header=None)
    

    然后你需要找到国家的位置(请参考这个链接:How to select rows from a DataFrame based on column values?)。然后你必须计算国家之间的距离。

    到目前为止,您尝试了什么?也包括在内。

    【讨论】:

    • 国家的位置在第一个文件中,距离在第二个文件中。我的问题是,如何使用这些数据找到最短路径长度?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多