Cómo enmascarar los datos específicos de la matriz en función del archivo de forma

Aquí está mi pregunta:los datos de matriz numpy en 2-d representan alguna propiedad de cada espacio de cuadrículael archivo de forma como la división administrativa del área de estudio (como una ciudad).Por ejemplo:

http://i4.tietuku.com/84ea2afa5841517a.png

Toda el área tiene una red de cuadrículas de 40x40, y quiero extraer los datos dentro del área púrpura. En otras palabras, quiero enmascarar los datos fuera del límite administrativo en np.nan.

Mi primer intento

Etiqueto el número de cuadrícula y selecciono los datos específicos de la matriz en np.nan.

http://i4.tietuku.com/523df4783bea00e2.png

 value[0,:] = np.nan
 value[1,:] = np.nan
       .
       . 
       .
       .

¿Alguien puede mostrarme un método más fácil para lograr el objetivo?

Añadir

Encontré una respuestaaquí que puede trazar los datos ráster en shapefile, pero los datos en sí no cambian.

Actualización -2016-01-16

Ya he resuelto este problema inspirado en algunas respuestas.
Alguien que esté interesado en este objetivo, revise estas dos publicaciones que he preguntado:
1)Punto de prueba con entrada / salida de un archivo de formas vectoriales
2)Cómo usar la ruta recortada establecida para el polígono Mapa base

El paso clave fue probar el punto dentro / fuera del archivo shape que ya he transformado en shapely.polygon.

Respuestas a la pregunta(2)

Su respuesta a la pregunta