When you call mypolygon == point, numpy performs element wise comparison maintaining dimensions of the coordinates:
np.where() returns array with indices by dimension, where the values in point occur in mypolygon (at same columns). It is "3-dimensionnal" because it found 3 occurences:
mypolygon (1st column): at [2, 0]mypolygon (2nd column): at [0, 1], [8, 1]for what you are trying to achieve, you could use:
print(np.all(mypolygon == point, axis=1))
np.all(..., axis=1) checks if all coordinates matches along each rowTrue indexes will get you the n-th row values that matches point