Filtrado de matrices en NumPy

El filtrado de matrices en NumPy es una operación esencial para seleccionar y manipular elementos específicos en una matriz. Aquí tienes una lección detallada sobre cómo realizar el filtrado de matrices en NumPy:


Creando una Matriz de Filtros en NumPy

Asegúrate de que NumPy esté instalado y comienza importando la biblioteca.

Ejemplo

    import numpy as np
  

Después crea una Matriz NumPy:

Ejemplo

    import numpy as np

matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matriz[matriz > 5])
  

Acceso y Filtros Básicos de matrices en NumPy

Acceso por Índices : Para acceder a elementos específicos de la matriz, utiliza índices. Por ejemplo, para obtener el elemento en la primera fila y segunda columna:

Ejemplo

    import numpy as np

matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

elemento = matriz[0, 1]  # Valor: 2
print(elemento)
elemento = matriz[0, 1]  # Valor: 2
print(elemento)
  

Filtrado por Condición : Puedes filtrar elementos basados en una condición. Por ejemplo, para obtener todos los elementos mayores que 5:

Ejemplo

    import numpy as np

matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

filtro = matriz > 5
resultados = matriz[filtro]  # Rfiltro = matriz > 5
resultados = matriz[filtro]  # Resultado: array([6, 7, 8, 9])
print(resultados)
  

Crear Filtros Directamente desde la Matriz

Filtro de Índice: Puedes usar un arreglo de índices para seleccionar elementos específicos de la matriz. Por ejemplo, para seleccionar la primera y la última fila:

Ejemplo

    indices = np.array([0, -1])
filas_seleccionadas = matriz[indices, :]  # Resultado: array([[1, 2, 3], [7, 8, 9]])
print(filas_seleccionadas)
  

Filtrado por Valor: Puedes filtrar elementos directamente usando valores en lugar de índices. Por ejemplo, para seleccionar elementos 2 y 5:

Ejemplo

    valores = np.array([2, 5])
elementos_seleccionados = matriz['[:, matriz[1, :] == valores[:, np.newaxis]]']
# Resultado: array([[2],
#                   [5]])
print(elementos_seleccionados)
  

Filtros de Múltiples Condiciones

Filtrado con Múltiples Condiciones: Puedes combinar condiciones utilizando operadores lógicos ( AND y OR ) y paréntesis. Por ejemplo, para seleccionar elementos mayores que 2 y menores que 8:

Ejemplo

    resultados = matriz[filtro]  # Resultado: array([3, 4, 5, 6, 7])
print(resultados)
  

Filtrado con np.where() : np.where() es útil para crear filtros basados en condiciones. Por ejemplo, para obtener elementos mayores o iguales a 5 y reemplazar los menores que 5 con 0:

Ejemplo

    import numpy as np

matriz = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

import numpy as np

# Filtrar valores mayores o iguaimport numpy as np

# Filtrar valores mayores o iguales a 5
filtro = np.where(matriz >= 5, matriz, 0)
print(filtro)
  

Filtrado con np.select() : np.select() te permite aplicar múltiples condiciones y asignar valores diferentes a cada condición. Por ejemplo, para asignar 1 a elementos mayores o iguales a 5 y 0 a los demás:

Ejemplo

    import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[m[:, 1] > 4])
  

El filtrado de matrices es esencial en la manipulación de datos con NumPy y es una habilidad fundamental en la programación científica y de datos en Python. Experimenta con diferentes ejemplos y condiciones para desarrollar una comprensión sólida de cómo funcionan los filtros de matrices en NumPy.

Practica Filtrado de matrices en NumPy en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Acceso por Índices

Acceso por Índices : Para acceder a elementos específicos de la matriz, utiliza índices. Por ejemplo, para obtener el elemento en la primera fila y segunda columna.

Ejemplo

    import numpy as np
arr = np.array([3, 8, 1, 9, 4])
print(arr[arr >= 4])
  
Abrir en editor

Ejercicio: Filtrado por Condición

Filtrado por Condición : Puedes filtrar elementos basados en una condición. Por ejemplo, para obtener todos los elementos mayores que 5.

Ejemplo

    import numpy as np
m = np.array([[1, 2], [3, 4], [5, 6]])
print(m[m % 2 == 0])
  
Abrir en editor

Ejercicio: Filtro de Índice

Filtro de Índice: Puedes usar un arreglo de índices para seleccionar elementos específicos de la matriz. Por ejemplo, para seleccionar la primera y la última fila.

Ejemplo

    import numpy as np
m = np.arange(1, 10).reshape(3, 3)
print(m[(m > 3) & (m < 8)])
  
Abrir en editor

Ejercicio: Filtrado por Valor

Filtrado por Valor: Puedes filtrar elementos directamente usando valores en lugar de índices. Por ejemplo, para seleccionar elementos 2 y 5.

Ejemplo

    import numpy as np
m = np.array([[10, 20, 30], [40, 50, 60]])
print(np.where(m > 25))
  
Abrir en editor

Ejercicio: Filtrado con Múltiples Condiciones

Filtrado con Múltiples Condiciones: Puedes combinar condiciones utilizando operadores lógicos ( AND y OR ) y paréntesis. Por ejemplo, para s.

Ejemplo

    import numpy as np
m = np.array([5, -2, 0, 7, -1])
print(m[m < 0])
  
Abrir en editor

Ejercicio: Filtrado con

Filtrado con np.where() : np.where() es útil para crear filtros basados en condiciones. Por ejemplo, para obtener elementos mayores o iguale.

Ejemplo

    import numpy as np
m = np.linspace(0, 1, 6)
print(m[m >= 0.5])
  
Abrir en editor

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.