Python 通过数组中的每一行创建距离矩阵?

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]]

灵感来源于,我试图在Python中查找足球比赛中的情况,在这种情况下,通过在团队的每一帧上绘制距离矩阵,然后使用算法查找相似性,球员与队友的位置相似。我已经划分了主客场球队,并将主队的(x,y)位置存储在数组
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]