S6-Trabajo de Investigación - Python
S6-Trabajo de Investigación - Python
S6-Trabajo de Investigación - Python
2024
Introducción
La programación en Python ofrece una variedad de herramientas para trabajar con arreglos
unidimensionales y multidimensionales, lo que permite manejar conjuntos de datos estructurados de
manera eficiente. Los vectores o arreglos unidimensionales son listas de elementos del mismo tipo
que se acceden mediante índices. Por otro lado, la representación de datos más compleja, con
múltiples niveles de profundidad, se puede lograr mediante arreglos multidimensionales, como
matrices o tensores.
En este contexto, es fundamental comprender las ventajas y recomendaciones de trabajar con arreglos
unidimensionales y multidimensionales, así como practicar el manejo de índices, operaciones y
funciones específicas de las librerías especializadas. Esto permitirá maximizar las capacidades de
Python en el procesamiento de datos estructurados y mejorar la eficiencia en el desarrollo de
aplicaciones que requieren un uso intensivo de arreglos.
Desarrollo
¿Qué son los arreglos y matrices en Python?
Los arreglos son listas de elementos del mismo tipo en una o más dimensiones. Los operadores y
funciones de la librería NumPy son los principales recursos utilizados para su manejo.
Una matriz o arreglo de dos dimensiones en la notación del lenguaje Python es una lista de elementos
con igual longitud y del mismo tipo (numérico). Estos objetos, al igual que los vectores (arreglos
unidimensionales), son cruciales en aplicaciones matemáticas y de ingeniería.
¿Cómo se declaran?
Para declarar arreglos y matrices en Python, se usa la librería NumPy que es una librería que apoya
aplicaciones en álgebra lineal, estadística y otros campos de las matemáticas e ingeniería.
Cadena de texto:
import numpy as np
mat_3d_str = np.array([[['a', 'b'], ['c', 'd']], [['e', 'f'], ['g', 'h']]])
print(mat_3d_str)
NumerPy ofrece características útiles para trabajar con matrices multidimensionales en Python.
Un arreglo unidimensional, también conocido como vector, es una estructura de datos que contiene
elementos dispuestos en una sola dimensión, como una lista de elementos en una fila o columna. Los
elementos se almacenan de forma lineal uno después del otro y se utiliza un solo índice para acceder
a ellos.
Un arreglo multidimensional, por otro lado, es una estructura de datos que contiene elementos
dispuestos en dos o más dimensiones, como una tabla con filas y columnas o un cubo con
profundidad. Los elementos están organizados en filas, columnas y posiblemente en más
dimensiones, y se puede acceder a ellos utilizando múltiples índices para determinar su posición en
cada dimensión.
Debido a su capacidad para organizar datos de manera estructurada y eficiente, los arreglos
unidimensionales y multidimensionales son esenciales para la programación.
Primero, los arreglos unidimensionales permiten almacenar una secuencia de elementos en una sola
dimensión, lo que facilita el acceso a los datos con un único índice. Esto es útil para almacenar listas
de elementos simples, como números, cadenas de texto o cualquier otro tipo de información.
Sin embargo, la representación de estructuras de datos más complejas que requieren múltiples
dimensiones requiere arreglos multidimensionales. Por ejemplo, una matriz bidimensional organiza
los datos en filas y columnas, como una tabla, mientras que un arreglo tridimensional puede
representar los datos en un espacio tridimensional, como en imágenes volumétricas o datos de
sensores.
Los arreglos son importantes porque facilitan el acceso a los datos. Los índices facilitan la
manipulación y procesamiento de grandes conjuntos de datos al almacenar datos en arreglos, lo que
permite un acceso rápido y sencillo a los datos. Además, los arreglos son esenciales para realizar
operaciones matemáticas y algoritmos eficientes porque permiten aplicar operaciones a múltiples
elementos simultáneamente.
Aplicaciones prácticas
Ciencia de Datos: Los arreglos NumPy son ampliamente utilizados en el análisis y procesamiento
de datos. Permiten realizar operaciones vectorizadas de manera eficiente en grandes conjuntos de
datos numéricos.
Ejemplo: Supongamos que tenemos un conjunto de datos con las edades de una
población y queremos calcular la edad promedio.
Gráficos Computacionales: Las bibliotecas como Matplotlib utilizan arreglos NumPy para
representar y manipular datos en gráficos y visualizaciones.
Procesamiento de Imágenes: Las imágenes digitales se representan como matrices de píxeles, donde
cada elemento contiene información sobre el color o intensidad de un píxel específico.
Esta matriz contiene cuatro elementos, organizados en dos filas y dos columnas. La primera fila
contiene los elementos 1 y 2, mientras que la segunda fila contiene los elementos 3 y 4.
Una vez que tengamos una matriz en Python, podemos realizar una serie de operaciones en ella. Por
ejemplo, podemos utilizar la sintaxis de la matriz para acceder a elementos individuales. Para acceder
al elemento en la fila 0, columna 1 de la matriz anterior, podemos escribir:
print(matrix[0][1]) # salida: 2
También podemos recorrer una matriz utilizando un bucle for. Si queremos imprimir todos los
elementos de la matriz anterior, podemos hacerlo de la siguiente manera:
print(element)
Esta operación imprimirá los elementos 1, 2, 3 y 4 en la consola. Además de estas operaciones básicas,
también es posible realizar operaciones específicas de las matrices en Python. Por ejemplo, podemos
sumar dos matrices juntas utilizando el operador +. Si tenemos dos matrices almacenadas en las
variables matrix_1 y matrix_2, podemos sumarlas juntas de la siguiente manera:
for i in range(len(matrix_1)):
for j in range(len(matrix_1[0])):
Esta operación nos devuelve una nueva matriz que contiene la suma de los elementos
correspondientes de las dos matrices originales.
Suma de Números
La suma de números enteros o de punto flotante se realiza utilizando el operador (+):
Suma de Listas
Para listas, el operador (+) también se utiliza para concatenar:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
resultado = list1 + list2 # Resultado: [1, 2, 3, 4, 5, 6]
Resta de Números
La resta de números enteros o de punto flotante se realiza utilizando el operador (–) de la siguiente manera:
# Resta de enteros
a = 10
b=3
resultado = a - b # Resultado: 7
# Resta de flotantes
x = 5.5
y = 2.5
resultado = x - y # Resultado: 3.0
Multiplicación de Números
La multiplicación de números enteros o de punto flotante se realiza utilizando el operador (*):
# Multiplicación de enteros
a=5
b=3
resultado = a * b # Resultado: 15
# Multiplicación de flotantes
x = 2.5
y = 4.0
resultado = x * y # Resultado: 10.0
str1 = "Hola"
resultado = str1 * 3 # Resultado: "HolaHolaHola"
# Transponer la matriz
matriz_transpuesta = matriz.T
Matriz transpuesta:
[[1 4]
[2 5]
[3 6]]
Uso de numpy.transpose
También puedes usar la función numpy.transpose para transponer una matriz:
matriz_transpuesta = np.transpose(matriz)
print("Matriz transpuesta usando np.transpose:")
print(matriz_transpuesta)
Ambos métodos (.T y np.transpose) son equivalentes y proporcionan la misma salida.
Estos ejemplos demuestran cómo transponer matrices en Python utilizando numpy, lo cual es útil en
diversas aplicaciones matemáticas y científicas.
• Funciones Adicionales
• Inversa de una Matriz
Para calcular la inversa de una matriz, usa np.linalg.inv:
inversa = np.linalg.inv(mat1)
# Resultado: array([[-2. , 1. ], [ 1.5, -0.5]])
determinante = np.linalg.det(mat1)
# Resultado: -2.0000000000000004
Entre las múltiples bibliotecas de Python, NumPy es una de las más utilizadas. Esto se debe a que
muchas técnicas de Data Science requieren cuadros y matrices de gran tamaño y cálculos complejos
para extraer información valiosa de los datos. NumPy simplifica este proceso con funciones
matemáticas diversas y variadas. Además, NumPy también proporciona funciones que permiten a los
desarrolladores realizar funciones matemáticas y estadísticas básicas o avanzadas en arrays y
matrices multidimensionales con pocas líneas de código.
Conclusiones y recomendaciones
Los arreglos unidimensionales y multidimensionales son herramientas esenciales en programación
para trabajar con conjuntos de datos de manera estructurada y eficiente porque facilitan el acceso y
la representación de estructuras de datos.
Para aprovechar al máximo el potencial de los arreglos unidimensionales y multidimensionales, es
recomendable practicar el manejo de índices y realizar operaciones comunes como sumar, restar,
multiplicar y dividir elementos. Esto ayuda a familiarizarse con la sintaxis y las operaciones
disponibles para manipular los arreglos de manera eficiente y efectiva.
Además, practicar el uso de funciones y métodos específicos de las librerías especializadas en
arreglos, como NumPy en Python, puede aumentar la productividad y facilitar el trabajo con datos
estructurados, Python nos brindan una herramienta poderosa y versátil para el manejo y
procesamiento de datos, lo que nos ayuda a abordar una amplia gama de tareas y aplicaciones
prácticas en diversos campos, desde la ciencia de datos hasta el procesamiento de imágenes, pasando
por la visualización y el cálculo numérico
Referencias
Arreglos multidimensionales - MATLAB & Simulink. (2023). MathWorks. Retrieved May 17, 2024, from
https://la.mathworks.com/help/matlab/math/multidimensional-arrays.html
Gonzalez, R. C., & Woods, R. E. (2018). Digital image processing (4th ed.). Pearson.
Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., ... & Oliphant, T. E.
(2020). Array programming with NumPy. Nature, 585(7825), 357-362.
Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90-95.
imagen python. (n.d.). Retrieved May 17, 2024, from
https://www.google.com/url?sa=i&url=https%3A%2F%2Fworldvectorlogo.com%2Fes%2Flogo%2Fpy
thon-
3&psig=AOvVaw2oIFrAXYxnIYSaGXZFa9Id&ust=1716049663324000&source=images&cd=vfe&opi
=89978449&ved=0CBQQjhxqFwoTCPDUkfmNlYYDFQAAAAAdAAAAABAE
Introducción ARREGLOS ARREGLOS ARREGLOS. Introducción Definición de arreglos. Tipos de arreglos.
Arreglos unidimensionales Y bidimensionales. - PDF Free Download. (2022). DocPlayer. Retrieved
May 17, 2024, from https://docplayer.es/68608834-Introduccion-arreglos-arreglos-arreglos-
introduccion-definicion-de-arreglos-tipos-de-arreglos-arreglos-unidimensionales-y-
bidimensionales.html
McKinney, W. (2012). Python para análisis de datos: negociación de datos con Pandas, NumPy e IPython .
"O'Reilly Media, Inc.".
Oliphant, TE (2006). Guía de numpy (Vol. 1, p. 85). Estados Unidos: Editorial Trelgol.
Python. (n.d.). Online Python - IDE, Editor, Compiler, Interpreter. https://www.online-python.com/
PYTHON PROGRAMACION. (2014, July 12). fcnm - espol. Retrieved May 17, 2024, from
https://www.fcnm.espol.edu.ec/sites/fcnm.espol.edu.ec/files/PYTHON_PROGRAMACION_V3_0.pdf
Tipos integrados — documentación de Python - 3.12.3. (2023). Python Docs. Retrieved May 17, 2024, from
https://docs.python.org/es/3/library/stdtypes.html
Van Rossum, G. (junio de 2007). Lenguaje de programación Python. En la conferencia técnica anual de
USENIX (Vol. 41, No. 1, págs. 1-36).