Sé cómo obtener un puntero de ctypes al principio de una matriz numpy:
a = np.arange(10000, dtype=np.double) p = a.ctypes.data_as(POINTER(c_double)) p.contents c_double(0.0)
sin embargo, necesito pasar el puntero, digamos, al elemento 100, sin copiar la matriz . Debe haber una manera fácil de hacerlo pero no se puede encontrar.
Cualquier sugerencia apreciada.
Cortar una matriz numpy crea una vista, no una copia:
>>> a = numpy.arange(10000, dtype=numpy.double) >>> p = a[100:].ctypes.data_as(ctypes.POINTER(ctypes.c_double)) >>> p.contents c_double(100.0) >>> a[100] = 55 >>> p.contents c_double(55.0)