Pandas dataframe возвращает неправильную сортировку с использованием двух столбцов с плавающей точкой - PullRequest
0 голосов
/ 27 августа 2018

Я играю с некоторыми геоданными. Учитывая точку, я пытаюсь сопоставить объекту. Поэтому для каждого соединения я генерирую два расстояния, оба с плавающей точкой. Чтобы найти ближайший объект, я хочу отсортировать данные по обоим расстояниям и выбрать верхний ряд.

К сожалению, когда я запускаю сортировку (df.sort_values(by=['direct distance', 'pt_to_candidate']), я получаю следующий неправильный результат

enter image description here

Я бы ожидал двух верхних рядов, но перевернулся. Если я запускаю сортировку в любом столбце соло, я получаю ожидаемые результаты. Если я переверну порядок сортировки (['pt_to_candidate', 'direct distance']), я получу правильное значение, хотя и не то, что я обязательно хочу для своей функции.

Оба столбца имеют тип float64.

Почему этот вид возвращается странным образом?

Для полноты я должен заявить, что у меня есть больше столбцов и строк. Из основного кадра данных я сначала фильтрую, а затем сортирую. Кроме того, я не могу воссоздать, вручную вводя данные в новый фрейм данных, поэтому я подозреваю, что проблема с длиной плавающей запятой.

Редактировать Добавление value_counts на «прямом расстоянии»

4.246947    7
3.147303    2
2.875081    1
2.875081    1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...