Curso
Los arreglos son estructuras de datos fundamentales en muchos lenguajes de programación, que proporcionan una forma de almacenar colecciones de elementos del mismo tipo en un bloque contiguo de memoria, lo que significa que todos los elementos se almacenan secuencialmente sin espacios. Esta estructura permite un acceso y una manipulación eficientes de los elementos almacenados.
A diferencia de lenguajes como C o Java, Python no tiene un tipo de datos de arreglo integrado en el sentido tradicional. En su lugar, Python ofrece varias alternativas que funcionan como arreglos, cada una de ellas adecuada para diferentes necesidades y escenarios de programación.
La biblioteca estándar de Python incluye una arreglo que permite la creación de arreglos compactos y restringidos por tipo, similares a los de los lenguajes más estáticos.
Sin embargo, para el cálculo numérico y científico, el biblioteca NumPy y su ndarray (arreglo n-dimensional) se han convertido en el estándar de referencia en Python. Los arreglos NumPy proporcionan una amplia funcionalidad que va mucho más allá de la estructura básica de arreglos que ofrece la biblioteca estándar de Python.
Perfeccionamiento en IA para principiantes
Conceptos básicos de un arreglo
NumPy es el paquete fundamental para el cálculo numérico en Python, que ofrece un potente arreglo y un conjunto de funciones para trabajar de manera eficiente con estos arreglos. Las ventajas de Numpy son:
• Multidimensional: Admite más que solo arreglos unidimensionales.
• Operaciones potentes: Incluye una amplia biblioteca de funciones matemáticas y estadísticas.
• Vectorización: Permite realizar operaciones en arreglos completos sin necesidad de bucles explícitos, lo que mejora el rendimiento.
• Integración: Funciona a la perfección con otras bibliotecas científicas como SciPy, Pandas y Matplotlib.
Empecemos a crear un arreglo utilizando Numpy. Primero importas NumPy y luego utilizas la función array() para crear un arreglo. La función array() toma una lista como entrada.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(my_array)
# Expected output: [0 1 2 3 4]
El tipo de my_array es un numpy.ndarray.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(type(my_array))
# Expected output: <class 'numpy.ndarray'>
Ejemplos de arreglos
Ejemplo de creación de un arreglo
En el siguiente ejemplo, convertirás una lista en un arreglo utilizando la función array() de NumPy. Crearás una lista a_list compuesta por números enteros. A continuación, utiliza la función array() para convertirlo en un arreglo.
import numpy as np
a_list = [1, 2, 3, 4]
print(a_list)
# Expected output: [1, 2, 3, 4]
import numpy as np
a_list = [1, 2, 3, 4]
an_array = np.array(a_list)
print(an_array)
# Expected output: [1 2 3 4]
Ejemplo de una operación con arreglos
En el siguiente ejemplo, sumas dos arreglos numpy. El resultado es una suma elemento por elemento de ambos arreglos.
import numpy as np
array_A = np.array([1, 2, 3])
array_B = np.array([4, 5, 6])
print(array_A + array_B)
# Expected output: [5 7 9]
Ejemplo de indexación de arreglos
Puedes seleccionar un elemento específico del índice de un arreglo utilizando la notación de indexación.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[3])
# Expected output: Apr
También puedes dividir un rango de elementos utilizando la notación de división especificando un rango de índices.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[2:5])
# Expected output: ['March', 'Apr', 'May']
Ejemplo interactivo de una lista a un arreglo
En el siguiente ejemplo, importarás numpy utilizando el alias np. Crea los arreglos prices_array y earnings_array a partir de las listas prices y earnings, respectivamente. Por último, imprime ambos arreglos.
import numpy as np
# Lists
prices = [170.12, 93.29, 55.28, 145.30, 171.81, 59.50, 100.50]
earnings = [9.2, 5.31, 2.41, 5.91, 15.42, 2.51, 6.79]
# NumPy arrays
prices_array = np.array(prices)
earnings_array = np.array(earnings)
# Print the arrays
print(prices_array)
print(earnings_array)
# Expected output:
# [170.12 93.29 55.28 145.3 171.81 59.5 100.5 ]
# [ 9.2 5.31 2.41 5.91 15.42 2.51 6.79]
Para obtener más información sobre los arreglos NumPy en Python, consulta este vídeo de nuestro curso Introducción a Python para finanzas.
Este contenido está tomado del curso Introducción a Python para finanzas de DataCamp, impartido por Adina Howe.
Echa un vistazo a nuestro tutorial sobre arreglos Numpy en Python.
Preguntas frecuentes
¿Cuáles son las principales diferencias entre el arreglo módulo de Python y las matrices NumPy?
Las principales diferencias radican en las capacidades y los casos de uso. El módulo arreglo de Python proporciona funcionalidades básicas para crear arreglos compactos y restringidos por tipo, similares a los de lenguajes como C. Por otro lado, los arreglos NumPy ofrecen características avanzadas, como compatibilidad con arreglos multidimensionales, una amplia biblioteca de funciones matemáticas y optimizaciones de rendimiento mediante vectorización. NumPy suele ser la opción preferida para cálculos numéricos y científicos.
¿Puedes utilizar el módulo arreglo de Python para tipos de datos de cadena u objeto?
No, el módulo de arreglo está diseñado para contener solo tipos de datos básicos como enteros, flotantes y similares. No admite cadenas ni objetos. Para colecciones de este tipo, son más adecuadas las listas de Python u otras estructuras de datos como tuplas o diccionarios.
¿Por qué utilizar arreglos NumPy en lugar de listas Python para datos numéricos?
Los arreglos NumPy están optimizados específicamente para cálculos numéricos. Ofrecen capacidades de almacenamiento y procesamiento eficientes que superan a las listas de Python, especialmente para conjuntos de datos de gran tamaño. Funciones como la vectorización permiten realizar operaciones en arreglos completos sin bucles explícitos, lo que mejora considerablemente el rendimiento y la legibilidad del código.