我有一个汽车ID列表和一个x,y坐标列表。 我想计算每个坐标之间的距离。
问题是,现在尝试了几周之后,距离矩阵才有限制,我正在处理文件的Gigas,其结果是数百万行和列的矩阵。 可以使用稀疏来提高效率吗?
list_coordinates = []
for line in coordinates.readlines():
list_coordinates.append(line.strip().split(','))
list_coordinates_int = [list(map(float, x)) for x in list_coordinates]
list_car_id = []
for line in car_ids.readlines():
list_car_id.append(line.strip().split(' '))
df = pd.DataFrame(list_coordinates_int, columns=['xcord', 'ycord'], index=list_car_id)
df2=pd.DataFrame(distance_matrix(df.values, df.values), index=df.index, columns=df.index)
list_coordinates : [['875.88', '588.26'], ['751.49', '656.55']]
list_coordinates_int : [[875.88, 588.26], [751.49, 656.55]]
list_car_id : [['car.0', 'car2.0', 'car.0', 'car2.0', 'car.0']]
生成的 df2 如下:
car.0 car2.0 car.4
car.0 0.000000 141.902770 0.702140
car2.0 141.902770 0.000000 141.205831
car.4 141.902770 0.702140 0.000000
有没有办法我可以使用稀疏或距离矩阵以外的任何其他方法来获得相同的df2?