es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“Ampliación de la muestra de Numpy np.array / aumentar el tamaño de np.array agregando el valor medio de elementos consecutivos.”

Tengo una np.array que necesito duplicar/triplicar/cuadruplicar su tamaño. Quiero hacerlo agregando 1/2/3 elementos entre cada 2 elementos consecutivos.

por ejemplo:

np.array([1,2,3,4,5])

debería ser

np.array([1,1.5,2,2.5,3,3.5,4,4.5,5,5.5])

No hay problema en hacer eso usando Python. Pero necesito la forma más rápida posible, preferiblemente usando Numpy/Scipy.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puedes usar np.repeat y np.interp para lograr esto.

    Primero, utiliza np.repeat para repetir cada elemento del arreglo dos veces:
    python
    arr = np.array([1,2,3,4,5])
    arr_doubled = np.repeat(arr, 2)

    Luego, utiliza np.interp para interpolar los valores entre los elementos:
    python
    arr_doubled_interp = np.interp(np.arange(arr_doubled.size), np.arange(0, arr_doubled.size, 2), arr_doubled[::2])

    El resultado será:
    python
    array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5])

Comments are closed.