如何在两个corrdinates数组中找到相同的x,y坐标?

blz*_*blz 1 python numpy

给定两个包含x和y坐标的2D numpy数组,如何在另一个具有相同尺寸的数组中找到相同的对?

例如,我有这些数组:

array([[ 2,  1,  3,  4],
       [ 4,  3,  5, 10]])
Run Code Online (Sandbox Code Playgroud)

array([[ 0,  2,  3,  4],
       [ 3,  4, 11, 10]])
Run Code Online (Sandbox Code Playgroud)

我希望找到这些对(2, 4)并且(4, 10)将被检测为存在于两个阵列中.

首先十分感谢!

She*_*eng 7

试试这个:

>>> a2 = [[ 0,  2,  3,  4],
   [ 3,  4, 11, 10]]
>>> a1 = [[ 2,  1,  3,  4],
   [ 4,  3,  5, 10]]
>>> set(zip(*a1)) & set(zip(*a2))
{(4, 10), (2, 4)}
Run Code Online (Sandbox Code Playgroud)

您可以通过array.tolist()将数组转换为列表

对于任何2D阵列,例如,第一行表示X轴,第二行表示Y轴.因此zip(*a1)将导致所有坐标对.然后set()构造函数将过滤掉所有重复记录.最后,两个数组之间的&操作将计算出两个数组中的所有坐标对.

希望能帮助到你!