Día 3: Reshaping y Operaciones Diagonales

Bienvenida
Hoy es el tercer día de nuestro curso intensivo de NumPy, y vamos a explorar dos temas muy útiles: reshaping y operaciones diagonales . Aprenderás cómo cambiar la forma de tus arrays, aplanar matrices y trabajar con diagonales. Estas herramientas son esenciales para manipular datos de manera eficiente. ¡Comencemos!
Reshaping de Arrays
El reshaping permite cambiar la forma de un array sin modificar sus datos. Esto es útil cuando necesitas reorganizar tus datos para análisis o visualización.
arr = np.array([1, 2, 3, 4, 5, 6])
# Cambiar su forma a una matriz 2x3
arr_reshaped = arr.reshape(2, 3)
print("Array redimensionado:\n", arr_reshaped)
# Cambiar su forma a una matriz 3x2
arr_reshaped = arr.reshape(3, 2)
print("Array redimensionado:\n", arr_reshaped)
Aplanar Matrices
Aplanar una matriz significa convertirla en un array 1D. Esto es útil cuando necesitas simplificar la estructura de tus datos.
matriz = np.array([[1, 2], [3, 4]])
matriz_aplanada = matriz.flatten()
print(matriz_aplanada) # Output: [1 2 3 4]
Operaciones Diagonales
Las diagonales son elementos clave en muchas aplicaciones matemáticas. Con NumPy, puedes extraer la diagonal de una matriz o crear una matriz diagonal.
Extraer la diagonal de una matriz
matriz = np.array([[1, 2], [3, 4]])
diagonal = np.diag(matriz)
print(diagonal) # Output: [1 4]
Calcular la traza (suma de la diagonal)
matriz = np.array([[1, 2], [3, 4]])
traza = np.trace(matriz)
print(traza) # Output: 5
Preguntas del Día 3
Prueba tus conocimientos sobre NumPy
¿Qué función se utiliza para cambiar la forma de un array en NumPy?
¿Qué devuelve la función np.diag() cuando se aplica a una matriz cuadrada?
Ejercicios
- Convierte un array 1D en una matriz 2x2 y luego aplánala nuevamente.
- Calcula la traza de una matriz y extrae su diagonal.
- Crea una matriz diagonal de 3x3 y extrae su diagonal.
Ahora sabes cómo redimensionar arrays, aplanar matrices y trabajar con diagonales. Mañana nos adentraremos en estadísticas básicas con NumPy. ¡Sigue practicando y no dudes en compartir tus avances! Hasta mañana. 😊