我有一个numpy数组
[[ 5.80084178e-05 1.20779787e-02 -2.65970238e-02]
[ -1.36810406e-02 6.85722519e-02 -2.60280724e-01]
[ 4.21996519e-01 -1.43644036e-01 2.12904690e-01]
[ 3.03098198e-02 1.50170659e-02 -1.09683402e-01]
[ -1.50776089e-03 7.22369575e-03 -3.71181228e-02]
[ -3.04448275e-01 -3.66987035e-01 1.44618682e-01]
[ -1.46744916e-01 3.47112167e-01 3.09550267e-01]
[ 1.16567762e-03 1.72858807e-02 -9.39297514e-02]
[ 1.25896836e-04 1.61310167e-02 -6.00253128e-02]
[ 1.65062798e-02 1.96933143e-02 -4.26540031e-02]
[ -3.78020965e-03 7.51770012e-03 -3.67852984e-02]]
Run Code Online (Sandbox Code Playgroud)
我想从这些中选择任意两个随机行,所以输出将是 -
[[ -1.36810406e-02 6.85722519e-02 -2.60280724e-01]
[ 1.16567762e-03 1.72858807e-02 -9.39297514e-02]]
Run Code Online (Sandbox Code Playgroud) 我有3D阵列
A = [[x1 y1 z1]
[x2 y2 z2]
[x3 y3 z3]]
Run Code Online (Sandbox Code Playgroud)
我必须找到每个点之间的欧几里德距离,这样我才能得到只有3个距离的输出(row0,row1),(row1,row2)和(row0,row2).
我有一些代码
dist = scipy.spatial.distance.cdist(A,A, 'euclidean')
Run Code Online (Sandbox Code Playgroud)
但它会以矩阵形式给出距离
dist= [[0 a b]
[a 0 c]
[b c 0]]
Run Code Online (Sandbox Code Playgroud)
我想要结果[a b c].