我有三列,我需要按如下所示查找值附近
A B Distance
point_a point_b 20
point_a point_c 30
point_a point_d 40
point_a point_e 25
point_g point_a 26
point_c point_d 30
point_c point_e 30
point_d point_e 40
我需要找到所有附近的点
例如,如果我想在28英里内找到point_a附近的所有点,将是point_b,e点和g点
例如,您可以使用简单的pandas
查询,不需要任何机器学习算法:
result = df.query("(A == 'point_a' | B == 'point_a') & Distance < 28")
或
result = df[((df['A'] == 'point_a') | (df['B'] == 'point_a')) & (df['Distance'] < 28)]
结果:
A B Distance
0 point_a point_b 20
3 point_a point_e 25
4 point_g point_a 26
获取一组最近的点:
result = result[['A', 'B']].stack().unique().tolist()
result = set(result)
result.remove('point_a')
结果:
{'point_e', 'point_g', 'point_b'}