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.

¿Cómo puedo detectar valores secuenciales en un arreglo de Numpy y procesarlo?

Tengo un array de NumPy que consiste en grupos de valores secuenciales y me gustaría encontrar el valor mediano (o el entero más cercano) de cada grupo. Después de eso, debo crear nuevas matrices restando y sumando algunos valores.

Ejemplo: data=[100,101,102,103,170,171,172,252,253,254,255,256,333,334,335]

Solicitud:

el valor mediano del primer grupo (el más cercano al mediano): 103,

el valor mediano del segundo grupo: 171,

el valor mediano del tercer grupo: 254,

el valor mediano del cuarto grupo: 334

Quiero restar y sumar el mismo valor de esos números, digamos 20, entonces:

final_array =[(83,123), (151,191), (234,274), (314, 354)]

No debería ser el valor mediano, sino un número en una sublista. ¿Cómo puedo hacerlo usando Python?

Gracias de antemano…

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar la función numpy.median() para detectar el valor medio de cada grupo. Luego, puedes utilizar un ciclo for para iterar a través de los grupos y crear un nuevo arreglo con los valores deseados.

    Por ejemplo:

    import numpy as np
    
    datos=[100,101,102,103,170,171,172,252,253,254,255,256,333,334,335]
    
    Crea una lista vacía para almacenar los nuevos valores
    
    nuevo_arreglo = []
    
    Itera a través de los grupos
    
    for i in range(0, len(datos), 4):
        # Calcula el valor medio de cada grupo
        mediana = np.median(datos[i:i+4])
        # Agrega los nuevos valores a la lista
        nuevo_arreglo.append((mediana-20, mediana+20))
    
    print(nuevo_arreglo) # [(83.0, 123.0), (151.0, 191.0), (234.0, 274.0), (314.0, 354.0)]
    

Comments are closed.