我制作了一个嵌套字典,其中包含位置之间的距离以及所有其他距离。
例如:
{city1 :{city1 : 0, city2: 2, city3: 3, city4: 4}
city2 : {city1: 2, city2: 0, city3: 1, city4:2}
city3 : {…}}
我的代码确实提供了此功能,尽管它的工作效率极低。 我想知道为什么以及如何改进它,因为当我尝试更改它时,代码给出了一个错误,指出元组索引不能是字符串,列表或元组。
所以代码现在可以交付了,但是花费的时间太长了。
我正在寻找一种方法来改进它,并理解为什么它行得通,但是要花这么长时间。
数据是一个包含城市编号以及经纬度坐标的数据框。
def distances_dict(data):
all_distances = {}
for row in data.iterrows():
all_distances[row[1]['City Nr.']] = {}
for row2 in data.iterrows():
all_distances[row[1]['City Nr.']][row2[1]['City Nr.']]= \
haversine(row[1][['Lat','Long']],row2[1][['Lat','Long']])
return all_distances