Я играю с некоторыми геоданными. Учитывая точку, я пытаюсь сопоставить объекту. Поэтому для каждого соединения я генерирую два расстояния, оба с плавающей точкой. Чтобы найти ближайший объект, я хочу отсортировать данные по обоим расстояниям и выбрать верхний ряд.
К сожалению, когда я запускаю сортировку (df.sort_values(by=['direct distance', 'pt_to_candidate']
), я получаю следующий неправильный результат
![enter image description here](https://i.stack.imgur.com/idC8L.png)
Я бы ожидал двух верхних рядов, но перевернулся. Если я запускаю сортировку в любом столбце соло, я получаю ожидаемые результаты. Если я переверну порядок сортировки (['pt_to_candidate', 'direct distance']
), я получу правильное значение, хотя и не то, что я обязательно хочу для своей функции.
Оба столбца имеют тип float64.
Почему этот вид возвращается странным образом?
Для полноты я должен заявить, что у меня есть больше столбцов и строк. Из основного кадра данных я сначала фильтрую, а затем сортирую. Кроме того, я не могу воссоздать, вручную вводя данные в новый фрейм данных, поэтому я подозреваю, что проблема с длиной плавающей запятой.
Редактировать
Добавление value_counts на «прямом расстоянии»
4.246947 7
3.147303 2
2.875081 1
2.875081 1