У меня есть список идентификаторов автомобилей и список координат x, y. Я хочу вычислить расстояние между каждой из координат.
Проблема в том, что после нескольких недель попыток матрица расстояний имеет пределы, и я имею дело с гигабайтами файлов с получающейся матрицей миллионов строки столбцы. Можно ли это сделать, используя sparse, чтобы сделать его более эффективным?
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, использующий разреженный или любой другой метод, кроме матрицы расстояний?