Volver a muestrear una matriz numpy

Es fácil volver a muestrear una matriz como

 a = numpy.array([1,2,3,4,5,6,7,8,9,10])

con un enterofactor de remuestreo. Por ejemplo, con un factor 2:

b = a[::2]    # [1 3 5 7 9]

Pero con un factor de muestreo no entero, no funciona tan fácilmente:

c = a[::1.5]    # [1 2 3 4 5 6 7 8 9 10]  => not what is needed...

Debe ser (con interpolación lineal):

[1 2.5 4 5.5 7 8.5 10]

o (tomando el vecino más cercano en la matriz)

[1 3 4 6 7 9 10]

¿Cómo volver a muestrear una matriz numpy con un factor de remuestreo no entero?

Ejemplo de aplicación: muestreo de señal de audio / repitching

Respuestas a la pregunta(4)

Su respuesta a la pregunta