I-l*_*hon 6 python math numpy dataframe python-3.x
我有两条线。即(x1,y1)和(x2,y2)。我需要计算点之间的距离。请参阅下面的代码片段
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
x1= np.array([525468.80914272, 525468.70536016])
y1= np.array([175517.80433391, 175517.75493122])
x2= np.array([525468.81174, 525468.71252])
y2= np.array([175517.796305, 175517.74884 ])
Run Code Online (Sandbox Code Playgroud)
这是情节的代码:
fig= go.Figure()
fig.add_trace(go.Scatter(x=x1, y=y1, name="point1"))
fig.add_trace(go.Scatter(x=x2, y=y2, name="point2"))
Run Code Online (Sandbox Code Playgroud)
看这里的图
黑线是我要计算的距离
我的期望是: (0.008438554274975979, 0.0085878435595034274819)
这里的距离只是 l2 或欧几里德范数。您可以使用 numpy 来实现此目的。
import numpy as np
distance_1 = np.linalg.norm(np.array([x1[0]-x2[0],y1[0]-y2[0]]))
distance_2 = np.linalg.norm(np.array([x1[1]-x2[1],y1[1]-y2[1]]))
print(distance_1,distance_2)
Run Code Online (Sandbox Code Playgroud)
输出:
0.008438557910490769 0.009400333483144686
Run Code Online (Sandbox Code Playgroud)
np.linalg.norm 使用的默认范数是欧几里德范数。(黑线代表的距离)
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |