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.
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])
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)])
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))
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.
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.
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.