Python: 计算数组中点之间的距离
Python: Calculating the distance between points in an array
我想计算数组中数据点之间的距离。
示例
A1 = array([[ 54. , 15. , 1. ],
[ 55. , 13.66311896, 1. ],
[ 56. , 10.16311896, 1.95491503],
[ 57. , 5.83688104, 4.45491503], # shape 6rows x 3 col
[ 58. , 2.33688104, 7.54508497],
[ 59. , 1. , 10.04508497],
[ 60. , 1. , 11. ],
现在,我想计算第 1 列和第 2 列中的点之间的距离。所有距离都应该从第 0 行开始计算,即,(x1,y1 = 15,1) 但 x2,y2 是可变的从元素第 1 行更改为第 6 行。我想将这个距离保存为 'list'。请在 python
中帮助我解决这个问题
毕达哥拉斯定理指出 sqrt(a^2+b^2)=c
其中 c
是到达点 a
和 b
的正交线尖端之间的距离。
import math
from math import sqrt
dist_list=[]
for i in A1[1:]:
dist=sqrt(pow(A1[0][1]-i[1],2)+pow(A1[0][2]-i[2],2))
dist_list.append(dist)
如果您不想导入 math
:
for i in A1[1:]:
dist=pow(pow(A1[0][1]-i[1],2)+pow(A1[0][2]-i[2],2),0.5)
dist_list2.append(dist)
我想计算数组中数据点之间的距离。
示例
A1 = array([[ 54. , 15. , 1. ],
[ 55. , 13.66311896, 1. ],
[ 56. , 10.16311896, 1.95491503],
[ 57. , 5.83688104, 4.45491503], # shape 6rows x 3 col
[ 58. , 2.33688104, 7.54508497],
[ 59. , 1. , 10.04508497],
[ 60. , 1. , 11. ],
现在,我想计算第 1 列和第 2 列中的点之间的距离。所有距离都应该从第 0 行开始计算,即,(x1,y1 = 15,1) 但 x2,y2 是可变的从元素第 1 行更改为第 6 行。我想将这个距离保存为 'list'。请在 python
中帮助我解决这个问题毕达哥拉斯定理指出 sqrt(a^2+b^2)=c
其中 c
是到达点 a
和 b
的正交线尖端之间的距离。
import math
from math import sqrt
dist_list=[]
for i in A1[1:]:
dist=sqrt(pow(A1[0][1]-i[1],2)+pow(A1[0][2]-i[2],2))
dist_list.append(dist)
如果您不想导入 math
:
for i in A1[1:]:
dist=pow(pow(A1[0][1]-i[1],2)+pow(A1[0][2]-i[2],2),0.5)
dist_list2.append(dist)