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.

Eliminación de una fila que contiene un flotante negativo en un arreglo de numpy.

Tengo un arreglo numpy que consta de 3 columnas y hay un valor en una columna que tiene un valor negativo. Necesito eliminar toda la fila que contiene este valor, ya que corresponde a un resultado anómalo.

El arreglo numpy se ve algo así:

[[98.4, 0.236, 0.0925]
[95.2, -0.162, 0.0625]
[92.3, 0.112, 0.0526]]

¿Cómo puedo eliminar toda la fila que contiene el valor negativo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar toda la fila que contiene valores negativos en una matriz de numpy, puede utilizar las funciones numpy.where y numpy.delete como se muestra a continuación:

    import numpy as np
    
    # crear la matriz de numpy
    mi_matriz = np.array([[98.4, 0.236, 0.0925], [95.2, -0.162, 0.0625], [92.3, 0.112, 0.0526]])
    
    # encontrar el índice de la fila que contiene el valor negativo
    indice = np.where(mi_matriz < 0)[0][0]
    
    # eliminar la fila que contiene el valor negativo
    nueva_matriz = np.delete(mi_matriz, indice, axis=0)
    
    print(nueva_matriz)
    

    La salida será:

    [[98.4   0.236  0.0925]
     [92.3   0.112  0.0526]]
    

    En este caso, se utilizó la función numpy.where para encontrar el índice de la fila que contiene el valor negativo (en este caso, fila 1) y la función numpy.delete se utilizó para eliminar esa fila de la matriz original. La matriz resultante (nueva_matriz) solo contiene las filas que no tienen valores negativos en ellas.

Comments are closed.