У меня есть кадр данных pandas, и я пытаюсь вычислить все евклидовы расстояния с фиксированным значением и найти кратчайшее расстояние.
Мой фрейм данных "валюта":
Stype h line ... y y2 bc
45 currency 38 13 ... 1344 1382 (1731.0, 1363.0)
46 currency 38 13 ... 1343 1381 (2015.0, 1362.0)
47 currency 39 13 ... 1342 1381 (2267.5, 1361.5)
60 currency 39 15 ... 2718 2757 (488.0, 2737.5)
61 currency 39 15 ... 2717 2756 (813.5, 2736.5)
62 currency 39 15 ... 2718 2757 (1332.5, 2737.5)
63 currency 40 15 ... 2716 2756 (1821.5, 2736.0)
64 currency 39 15 ... 2715 2754 (2286.5, 2734.5)
68 currency 39 17 ... 2874 2913 (2287.5, 2893.5)
162 currency 30 22 ... 3311 3341 (1104.5, 3326.0)
пример значения в моем списке [l ['bc']]
[(2126.5, 2657.0)]
Мой код:
for l in label_dic:
print('bc:', [l['bc']])
print(cdist([l['bc']], currency.bc.values, 'euclidean'))
Моя проблема:
ValueError: XB must be a 2-dimensional array.
Я проверил свою функцию:
print(cdist([l['bc']], [l['bc']], 'euclidean'))
Result: [[0.]]
Можете ли вы объяснить мне, как это исправить?
Спасибо