擅长:python、mysql、java
<p>我不确定你到底需要什么,所以我在下面列出了2个选项。你知道吗</p>
<p><强>1。不按源ID分组</strong></p>
<p>这是获得2个最小距离的一种方法:</p>
<pre><code>df.nsmallest(2, columns=['Distance'])
# Index SourceID ComparedID Distance
# 1 572 106 11 0.0000
# 3 574 107 84 0.0028
</code></pre>
<p>要仅返回comparedId列表,请执行以下操作:</p>
<pre><code>df.nsmallest(2, columns=['Distance'])['ComparedID'].tolist()
# [11, 84]
</code></pre>
<p><强>2。按源ID分组</strong></p>
<p>这里的想法是按距离排序,然后按SourceID删除重复项:</p>
<pre><code>df.sort_values('Distance').drop_duplicates('SourceID')
</code></pre>
<p>结果:</p>
<pre><code> Index SourceID ComparedID Distance
1 572 106 11 0.0000
3 574 107 84 0.0028
</code></pre>