Assuming there is necessarily a match, you can use:
np.isclose(abs(B-A[:, None]), 0).all(2).argmax(1)
Output:
array([3, 0, 2, 0, 1, 0])
How it works
This computes element-wise the absolute difference between A and B, then converts to boolean to identify the values close to 0. If all are True we identify the index with argmax
as True > False
intermediates
abs(B-A[:, None])
array([[[240., 240.],
[240., 480.],
[240., 720.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 240.],
[ 0., 480.],
[240., 240.]],
[[ 0., 480.],
[ 0., 240.],
[ 0., 0.],
[240., 720.]],
[[ 0., 0.],
[ 0., 240.],
[ 0., 480.],
[240., 240.]],
[[ 0., 240.],
[ 0., 0.],
[ 0., 240.],
[240., 480.]],
[[ 0., 0.],
[ 0., 240.],
[ 0., 480.],
[240., 240.]]])
np.isclose(abs(B-A[:, None]), 0)
array([[[False, False],
[False, False],
[False, False],
[ True, True]],
[[ True, True],
[ True, False],
[ True, False],
[False, False]],
[[ True, False],
[ True, False],
[ True, True],
[False, False]],
[[ True, True],
[ True, False],
[ True, False],
[False, False]],
[[ True, False],
[ True, True],
[ True, False],
[False, False]],
[[ True, True],
[ True, False],
[ True, False],
[False, False]]])
np.isclose(abs(B-A[:, None]), 0).all(2)
array([[False, False, False, True],
[ True, False, False, False],
[False, False, True, False],
[ True, False, False, False],
[False, True, False, False],
[ True, False, False, False]])