熊猫数据框使用两个浮点列返回错误的排序

时间:2018-08-27 14:12:03

标签: python pandas sorting

我正在处理一些地理数据。给定一点,我试图映射到一个对象。因此,对于每个连接,我都会生成两个距离,两个距离都是浮动的。要找到最接近的数据,我想按两个距离对数据框进行排序,然后选择第一行。

不幸的是,当我进行排序(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

0 个答案:

没有答案