Python 通过数组中的每一行创建距离矩阵?
灵感来源于,我试图在Python中查找足球比赛中的情况,在这种情况下,通过在团队的每一帧上绘制距离矩阵,然后使用算法查找相似性,球员与队友的位置相似。我已经划分了主客场球队,并将主队的(x,y)位置存储在数组Python 通过数组中的每一行创建距离矩阵?,python,numpy,matrix,distance,Python,Numpy,Matrix,Distance,灵感来源于,我试图在Python中查找足球比赛中的情况,在这种情况下,通过在团队的每一帧上绘制距离矩阵,然后使用算法查找相似性,球员与队友的位置相似。我已经划分了主客场球队,并将主队的(x,y)位置存储在数组locs\u home\u arr中。以下是阵列中三个主场球员(x,y)位置的示例: [[ 955 -2079] [ 955 -2079] [ 955 -2079] ... [ 947 2880] [ 948 2878] [ 947 2878]]
locs\u home\u arr
中。以下是阵列中三个主场球员(x,y)位置的示例:
[[ 955 -2079]
[ 955 -2079]
[ 955 -2079]
...
[ 947 2880]
[ 948 2878]
[ 947 2878]]
[[ 1792 -1019]
[ 1790 -1018]
[ 1789 -1018]
...
[ -349 2108]
[ -346 2106]
[ -344 2103]]
[[ 929 2400]
[ 928 2398]
[ 926 2394]
...
[ 234 -1294]
[ 239 -1298]
[ 242 -1301]]
第一帧的行,locs\u home\u single\u frame=locs\u home\u arr[:,0]
,是每个玩家(x,y)位置的2D数组(零是替代项-这可能会得到优化):
总共有141173帧,每个球员的(x,y)位置,我试图通过使用SciPy的距离矩阵将每个帧转换为距离矩阵,以找到与队友的欧几里德距离。在第一帧上使用函数的示例:
distmatrix = spatial.distance.cdist(locs_home_arr[:, 0], locs_home_arr[:,0], 'euclidean')
前3名玩家的示例如下:
[[ 0. 1350.61800669 4479.07546264 3387.98775086 4201.3045593
2435.82634849 1483.62057144 1485.1077402 3296.02184459 2083.49922006
2826.88609604 2287.85183087 2287.85183087 2287.85183087 2287.85183087
2287.85183087]
[1350.61800669 0. 3526.23453559 2209.63571658 2991.70469799
1133.10061336 1263.55253156 1785.97648361 2713.68697532 1204.75142664
2107.34809654 2061.46185994 2061.46185994 2061.46185994 2061.46185994
2061.46185994]
[4479.07546264 3526.23453559 0. 1517.6152345 4385.6927617
2605.02303253 3061.27636779 3459.83612329 1536.0016276 2413.50616324
1702.76774693 2573.52695731 2573.52695731 2573.52695731 2573.52695731
2573.52695731]
我的问题是:我如何通过球员(x,y)位置的每一帧,并以最好的方式为每一帧创建一个距离矩阵?我尝试了不同的for循环,但没有成功。请展示一个包含少量播放器和帧的MCVE。您期望的确切输出是什么?这里显示的内容似乎不完整。。。你试过什么环?他们为什么不工作?
[[ 0. 1350.61800669 4479.07546264 3387.98775086 4201.3045593
2435.82634849 1483.62057144 1485.1077402 3296.02184459 2083.49922006
2826.88609604 2287.85183087 2287.85183087 2287.85183087 2287.85183087
2287.85183087]
[1350.61800669 0. 3526.23453559 2209.63571658 2991.70469799
1133.10061336 1263.55253156 1785.97648361 2713.68697532 1204.75142664
2107.34809654 2061.46185994 2061.46185994 2061.46185994 2061.46185994
2061.46185994]
[4479.07546264 3526.23453559 0. 1517.6152345 4385.6927617
2605.02303253 3061.27636779 3459.83612329 1536.0016276 2413.50616324
1702.76774693 2573.52695731 2573.52695731 2573.52695731 2573.52695731
2573.52695731]