我有两个不同尺寸的二维数组。
第一个数组有3行7列。 第二个数组有60行7列。
array_1 =
[[0., 0., 0., 0., 1., 1., 1.],
[1., 0., 1., 0., 0., 1., 0.],
[1., 1., 1., 0., 1., 0., 0.]]
array_3 =
[[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 1., 1.],
[0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 1., 0., 1., 1.],
[0., 0., 0., 1., 1., 0., 0.],
[0., 0., 0., 1., 1., 1., 1.],
[0., 0., 1., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 1., 1.],
[0., 0., 1., 0., 1., 0., 0.],
[0., 0., 1., 0., 1., 1., 1.],
[0., 0., 1., 1., 0., 0., 0.],
[0., 0., 1., 1., 0., 1., 1.],
[0., 0., 1., 1., 1., 0., 0.],
[0., 0., 1., 1., 1., 1., 1.],
[0., 1., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 1., 0.],
[0., 1., 0., 0., 1., 0., 1.],
[0., 1., 0., 0., 1., 1., 1.],
[0., 1., 0., 1., 0., 0., 0.],
[0., 1., 0., 1., 0., 1., 0.],
[0., 1., 0., 1., 1., 0., 1.],
[0., 1., 0., 1., 1., 1., 1.],
[0., 1., 1., 0., 0., 0., 0.],
[0., 1., 1., 0., 0., 1., 0.],
[0., 1., 1., 0., 1., 0., 1.],
[0., 1., 1., 0., 1., 1., 1.],
[0., 1., 1., 1., 0., 1., 0.],
[0., 1., 1., 1., 1., 0., 1.],
[0., 1., 1., 1., 1., 1., 1.],
[1., 0., 0., 0., 0., 0., 0.],
[1., 0., 0., 0., 0., 1., 0.],
[1., 0., 0., 0., 1., 1., 0.],
[1., 0., 0., 1., 0., 0., 1.],
[1., 0., 0., 1., 0., 1., 1.],
[1., 0., 0., 1., 1., 0., 1.],
[1., 0., 0., 1., 1., 1., 1.],
[1., 0., 1., 0., 0., 0., 0.],
[1., 0., 1., 0., 0., 1., 0.],
[1., 0., 1., 0., 1., 0., 0.],
[1., 0., 1., 0., 1., 1., 0.],
[1., 0., 1., 1., 0., 0., 1.],
[1., 0., 1., 1., 0., 1., 1.],
[1., 0., 1., 1., 1., 0., 1.],
[1., 0., 1., 1., 1., 1., 1.],
[1., 1., 0., 0., 0., 0., 0.],
[1., 1., 0., 0., 0., 1., 0.],
[1., 1., 0., 0., 1., 0., 0.],
[1., 1., 0., 0., 1., 1., 0.],
[1., 1., 0., 1., 0., 1., 0.],
[1., 1., 0., 1., 1., 0., 0.],
[1., 1., 0., 1., 1., 1., 0.],
[1., 1., 1., 0., 0., 0., 1.],
[1., 1., 1., 0., 0., 1., 1.],
[1., 1., 1., 0., 1., 0., 1.],
[1., 1., 1., 0., 1., 1., 1.],
[1., 1., 1., 1., 0., 0., 1.],
[1., 1., 1., 1., 0., 1., 1.],
[1., 1., 1., 1., 1., 0., 1.],
[1., 1., 1., 1., 1., 1., 1.]]
目前我有一个这样的函数:
def compare(arr_1, arr_2):
return arr_1 == arr_2.all(axis=1)
这个函数目前只会返回False
值。
我想要这个函数的功能是比较array_1
中的行和array_2
中的行,从而确定array_1
中的任何行是否与array_2
中的任何行匹配。
理想情况下,可以使用布尔数组来表示结果,例如:[True, False, True]
简单地说,这表示array_1
中的第0行与array_2
的某一行匹配,array_1
中的第1行与array_2
的任何一行都不匹配,依此类推...
[(array_3 == array_1[i]).all(1).any() for i in range(len(array_1))]
- splash58