Introducción
En este desafío, practicarás el uso del módulo NumPy en Python. Implementarás varias funciones comunes para manipular arreglos de NumPy, abarcando operaciones matemáticas y de arreglos fundamentales. Los archivos necesarios ya han sido creados para ti en el explorador de archivos a la izquierda.
Multiplicación Elemento a Elemento
Tu primera tarea consiste en crear una función que multiplique dos arreglos de NumPy elemento a elemento. Esto significa que cada elemento del primer arreglo se multiplica por el elemento correspondiente en el segundo arreglo.
Tareas pendientes
- Completa la función
multiply_arraysen el archivomultiply_arrays.py.
Requisitos
- La función debe llamarse
multiply_arrays. - Debe aceptar dos arreglos de NumPy,
ayb, como entrada. - Debe devolver un nuevo arreglo de NumPy que sea el resultado de la multiplicación elemento a elemento de
ayb. - Los arreglos de entrada tendrán la misma forma (shape).
Ejemplo
Después de implementar la función, ejecuta el script para ver el resultado:
python3 multiply_arrays.py
Salida:
Input a: [1 2 3]
Input b: [4 5 6]
Element-wise multiplication result: [4 10 18]
Expected: [4 10 18]
Multiplicación de Matrices
A continuación, implementarás la multiplicación de matrices. A diferencia de la multiplicación elemento a elemento, la multiplicación de matrices sigue reglas específicas del álgebra lineal y requiere que las dimensiones internas de las dos matrices sean compatibles.
Tareas pendientes
- Completa la función
matrix_multiplyen el archivomatrix_multiply.py.
Requisitos
- La función debe llamarse
matrix_multiply. - Debe aceptar dos arreglos de NumPy,
ayb, como entrada. - Debe devolver un nuevo arreglo de NumPy que sea el resultado del producto matricial de
ayb. - Los arreglos de entrada tendrán formas compatibles para la multiplicación de matrices.
Ejemplo
Después de implementar la función, ejecuta el script para ver el resultado:
python3 matrix_multiply.py
Salida:
Input matrix a:
[[1 2]
[3 4]]
Input matrix b:
[[5 6]
[7 8]]
Matrix multiplication result:
[[19 22]
[43 50]]
Expected:
[[19 22]
[43 50]]
Transposición de un Arreglo
En este paso, escribirás una función para transponer un arreglo de NumPy. Transponer un arreglo intercambia sus filas por sus columnas.
Tareas pendientes
- Completa la función
transpose_arrayen el archivotranspose_array.py.
Requisitos
- La función debe llamarse
transpose_array. - Debe aceptar un único arreglo de NumPy,
a, como entrada. - Debe devolver la versión transpuesta del arreglo de entrada.
Ejemplo
Después de implementar la función, ejecuta el script para ver el resultado:
python3 transpose_array.py
Salida:
Original array:
[[1 2 3]
[4 5 6]]
Transposed array:
[[1 4]
[2 5]
[3 6]]
Expected:
[[1 4]
[2 5]
[3 6]]
Redimensionamiento de un Arreglo
Ahora, crearás una función para cambiar la forma (reshape) de un arreglo de NumPy. El redimensionamiento cambia las dimensiones de un arreglo sin alterar sus datos. El número total de elementos debe permanecer constante.
Tareas pendientes
- Completa la función
reshape_arrayen el archivoreshape_array.py.
Requisitos
- La función debe llamarse
reshape_array. - Debe aceptar un arreglo de NumPy
ay una tuplashapecomo entrada. - Debe devolver un nuevo arreglo con los datos de
apero con las nuevas dimensiones especificadas porshape.
Ejemplo
Después de implementar la función, ejecuta el script para ver el resultado:
python3 reshape_array.py
Salida:
Original array: [1 2 3 4 5 6]
New shape: (2, 3)
Reshaped array:
[[1 2 3]
[4 5 6]]
Expected:
[[1 2 3]
[4 5 6]]
Cálculo de la Distancia Euclidiana
La distancia euclidiana es una forma común de medir la distancia en línea recta entre dos puntos. Tu tarea es implementar una función que calcule esta distancia entre dos arreglos unidimensionales de NumPy.
La fórmula para la distancia euclidiana entre dos vectores a y b es:
$$ d(a, b) = \sqrt{\sum_{i=1}^{n}(a_i - b_i)^2} $$
Tareas pendientes
- Completa la función
euclidean_distanceen el archivoeuclidean_distance.py.
Requisitos
- La función debe llamarse
euclidean_distance. - Debe aceptar dos arreglos unidimensionales de NumPy,
ayb, de la misma longitud. - Debe devolver un único número de punto flotante que represente la distancia euclidiana entre ellos.
Ejemplo
Después de implementar la función, ejecuta el script para ver el resultado:
python3 euclidean_distance.py
Salida:
Point a: [1 2 3]
Point b: [4 5 6]
Euclidean distance: 5.196152422706632
Expected: 5.196152422706632
Resumen
En este desafío, has practicado operaciones fundamentales de NumPy. Implementaste funciones para la multiplicación elemento a elemento, multiplicación de matrices, transposición de arreglos, redimensionamiento y cálculo de la distancia euclidiana. Estas habilidades son esenciales para el análisis de datos, el aprendizaje automático (machine learning) y la computación científica en Python.



