3
我有一個數據幀,其中包含Lines,PointID,X和Y座標;每行包括一組與X點,Y座標:屬於列表的連續點(x,y元組)之間的迭代歐幾里得距離計算
LINE Point ID X coordinate Y Coordinate
A 1 1 2
A 2 2 2
A 3 3 2
B 1 11 3
B 2 12 3
B 3 13 3
嘗試將線內計算連續的點之間的歐幾里得距離,以獲得作爲結果如下:
LINE Point ID X coordinate Y Coordinate Euclidean Dist.
A 1 1 2
A 2 2 2 1 (dist between Point ID's 1 and 2 for line A)
A 3 3 2 1 (dist between Point ID's 2 and 3 for line A)
B 1 11 3
B 2 12 3 1 (dist between Point ID's 1 and 2 for line B)
B 3 13 3 1 (dist between Point ID's 2 and 3 for line B)
我學嘗試是創建一個數據幀,使用GROUPBY組到線「LINE」 ,然後通過使用SciPy的計算的線內的連續點之間的歐氏距離:
predist = df.groupby(['LINE']).apply(lambda x: x)
dist = pdist(predist[['X', 'Y']], 'euclidean')
我肯定做錯了事,因爲我得到的結果是線條的第一個點與線條中每個連續點之間的累積距離,而不是接收由連續點創建的每個單獨線段之間的距離(元組的座標)。