I have a reference point p_ref
stored in a numpy array with a shape of (1024,), something like:
print(p_ref)
>>> array([ p1, p2, p3, ..., p_n])
I also have a numpy array A_points
with a shape of (1024,5000) containing 5000 points, each having 1024 dimensions like p_ref
. My problem: I would like to sort the points in A_points
by their (eucledian) distance to p_ref
!
How can I do this? I read about scipy.spatial.distance.cdist
and scipy.spatial.KDTree
, but they both weren't doing exactly what I wanted and when I tried to combine them I made a mess. Thanks!
For reference and consistency let's assume:
p_ref = np.array([0,1,2,3])
A_points = np.reshape(np.array([10,3,2,13,4,5,16,3,8,19,4,11]), (4,3))
Expected output:
array([[ 3, 2, 10],
[ 4, 5, 13],
[ 3, 8, 16],
[ 4, 11, 19]])