Compruebe si los valores de un conjunto están en una matriz numpy en python

Quiero verificar si un NumPyArray tiene valores en él que están en un conjunto, y si es así, establezca esa área en una matriz = 1. Si no establece un keepRaster = 2.

numpyArray = #some imported array
repeatSet= ([3, 5, 6, 8])

confusedRaster = numpyArray[numpy.where(numpyArray in repeatSet)]= 1

Rendimientos:

<type 'exceptions.TypeError'>: unhashable type: 'numpy.ndarray'

¿Hay una manera de recorrerlo?

 for numpyArray
      if numpyArray in repeatSet
           confusedRaster = 1
      else
           keepRaster = 2

Para aclarar y pedir un poco más de ayuda:

Lo que estoy tratando de conseguir, y lo que estoy haciendo actualmente, es poner una entrada ráster en una matriz. Necesito leer valores en la matriz 2-d y crear otra matriz basada en esos valores. Si el valor de la matriz está en un conjunto, entonces el valor será 1. Si no está en un conjunto, el valor se derivará de otra entrada, pero diré 77 por ahora. Esto es lo que estoy usando actualmente. Mi entrada de prueba tiene aproximadamente 1500 filas y 3500 columnas. Siempre se congela alrededor de la fila 350.

for rowd in range(0, width):
    for cold in range (0, height):
        if numpyarray.item(rowd,cold) in repeatSet:
            confusedArray[rowd][cold] = 1
        else:
            if numpyarray.item(rowd,cold) == 0:
                confusedArray[rowd][cold] = 0
            else:
                confusedArray[rowd][cold] = 2

Respuestas a la pregunta(2)

Su respuesta a la pregunta