Matrices de Clasificación en NumPy
NumPy es una biblioteca de Python que proporciona soporte para trabajar con matrices y operaciones matriciales. En la clasificación de matrices en NumPy , una de las tareas comunes es ordenar los elementos de una matriz en un orden específico. A continuación, aprenderemos cómo hacerlo.
Ordenar Matrices en NumPy
Ordenar una Matriz 1-D
: Para ordenar una matriz 1-D en NumPy, puedes utilizar la función
np.sort()
. Aquí hay un ejemplo:
Ejemplo
# Ordenar la matriz de forma descendente
desc_sorted_arr = np.sort(arr)[::-1]
print("Matriz ordenada de forma descendente:", desc_sorted_arr)
En este ejemplo, hemos creado una matriz 1-D llamada
arr
y luego la hemos ordenado tanto de forma ascendente como descendente utilizando
np.sort()
.
Ordenar una Matriz 2-D en NumPy
Para ordenar una matriz 2-D en NumPy, puedes utilizar la función
np.sort()
junto con el argumento
axis
. Aquí hay un ejemplo:
Ejemplo
print(sorted_matrix_cols)
En este ejemplo, hemos creado una matriz 2-D llamada
matrix
y luego la hemos ordenado tanto por filas como por columnas utilizando
np.sort()
y especificando el eje a lo largo del cual deseamos ordenar.
Es importante destacar que
np.sort()
devuelve una nueva matriz ordenada sin modificar la matriz original.
Búsqueda de Índices de Elementos Ordenados en NumPy
Para buscar los índices de elementos ordenados en una matriz, puedes utilizar la función
np.argsort()
. Esta función devuelve los índices que ordenarían la matriz en orden ascendente. Aquí tienes un ejemplo:
Ejemplo
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr)
print(arr * 2)
En este ejemplo,
sorted_indices
contendrá los índices que ordenarían la matriz
arr
de forma ascendente. Puedes usar estos índices para acceder a los elementos de la matriz en el orden ordenado.
Clasificación Basada en Columnas Específicas
Si tienes una matriz 2-D y deseas ordenarla basada en una columna específica, puedes utilizar la función
np.argsort()
para obtener los índices de esa columna y luego aplicar esos índices para ordenar la matriz completa. Aquí tienes un ejemplo:
Ejemplo
import numpy as np
arr = np.array([3, 1, 4, 2])
desc_sorted_arr = np.sort(arr)[::-1]
print("Matriz ordenada de forma descendente:", desc_sorted_arr)
En este ejemplo, hemos seleccionado la segunda columna (índice 1) como la columna por la cual deseamos ordenar la matriz
matrix
. Luego, hemos utilizado
np.argsort()
para obtener los índices que ordenarían esa columna y, finalmente, hemos aplicado esos índices para ordenar la matriz completa.
Practica Matrices de Clasificación 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: Ordenar una Matriz 1-D
Ordenar una Matriz 1-D : Para ordenar una matriz 1-D en NumPy, puedes utilizar la función np.sort() . Aquí hay un ejemplo.
Ejemplo
import numpy as np
arr = np.array([3, 1, 4, 2])
desc_sorted_arr = np.sort(arr)[::-1]
print("Matriz ordenada de forma descendente:", desc_sorted_arr)
Ejercicio: Usar print()
Para ordenar una matriz 2-D en NumPy, puedes utilizar la función np.sort() junto con el argumento axis . Aquí hay un ejemplo.
Ejemplo
# Ordenar la matriz de forma descendente
desc_sorted_arr = np.sort(arr)[::-1]
print("Matriz ordenada de forma descendente:", desc_sorted_arr)
Ejercicio: Usar print() (2)
Para buscar los índices de elementos ordenados en una matriz, puedes utilizar la función np.argsort() . Esta función devuelve los índices que ordenarían la matr.
Ejercicio: Crear un array NumPy
Si tienes una matriz 2-D y deseas ordenarla basada en una columna específica, puedes utilizar la función np.argsort() para obtener los índices de esa columna y.