¿Qué es NumPy?

NumPy (abreviatura de Numerical Python) es un potente Biblioteca para realizar operaciones matemáticas en grandes campos de datos. Ella está en Python y se basa en la biblioteca numérica de Python, lo que facilita su integración con otras bibliotecas y herramientas de Python. NumPy se utiliza ampliamente en la comunidad científica y de ciencia de datos y se considera un Herramienta fundamental para muchas aplicaciones de uso intensivo de datos.

Una de las principales características de NumPy es la función Capacidad para trabajar con matrices de datos. Un array es una estructura de datos que almacena una colección de elementos del mismo tipo en un bloque contiguo de memoria. Las matrices de NumPy son similares a las listas de Python, pero son mucho más eficientes para ciertos tipos de operaciones, como los cálculos matemáticos.

NumPy se utiliza a menudo para realizar operaciones matemáticas en grandes matrices de datos. También se suele utilizar para otras tareas como remodelar, aplanar y anexar matrices.

Ejemplos de uso de NumPy

Creación de una matriz NumPy

Un array NumPy puede crearse a partir de una lista Python usando la función numpy.array(). Por ejemplo, un array de 10 valores espaciados uniformemente entre 0 y 1 se genera usando la función numpy.linspace().

importar numpy como np
a = np.linspace(0, 1, 10)
print(a)

Transformación de una matriz

La forma de una matriz NumPy se puede cambiar con la función reshape(). Por ejemplo, una matriz 1D con 10 elementos puede convertirse en una matriz 2D con 5 filas y 2 columnas.

importar numpy como np
a = np.arange(10)
print(a)
b = a.reshape(5, 2)
imprimir(b)

Realizar operaciones matemáticas con matrices

Se pueden realizar operaciones matemáticas con matrices, como sumas, restas, multiplicaciones y divisiones, utilizando los operadores matemáticos estándar. Por ejemplo, se pueden sumar dos matrices y calcular la suma de todos los elementos de una matriz.

importar numpy como np
a = np.array([1, 2, 3, 4, 5])
b = np.array([5, 4, 3, 2, 1])
c = a + b
print(c)
print(c.suma())

Elecciones aleatorias

En NumPy, la función numpy.random.choice() se puede utilizar para seleccionar aleatoriamente elementos de una matriz o de un objeto dado de tipo matriz 1-D.

He aquí un ejemplo para seleccionar aleatoriamente tres elementos de una matriz:

importar numpy como np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
b = np.random.choice(a, size=3, replace=False)
print(b)

El código anterior selecciona aleatoriamente 3 elementos de la matriz "a" sin reemplazarlos y los asigna a la variable "b".

También se puede especificar la probabilidad para la selección de cada elemento con el parámetro p. Por ejemplo, si se van a seleccionar aleatoriamente tres elementos de la matriz "a", pero el elemento con el valor 5 debe tener una mayor probabilidad de ser seleccionado, se puede utilizar el siguiente código:

importar numpy como np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
p = [0.1, 0.1, 0.1, 0.1, 0.3, 0.1, 0.1, 0.1, 0.1, 0.1]
b = np.random.choice(a, tamaño=3, p=p)
print(b)

En este ejemplo, el elemento con el valor 5 tiene una probabilidad de 30% de ser seleccionado, mientras que todos los demás elementos tienen una probabilidad de 10%.

Otra función útil para la selección aleatoria es numpy.random.shuffle, que baraja el array a lo largo del primer eje de un array multidimensional. Esta función cambia la entrada en su lugar y devuelve None.

importar numpy como np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
np.random.shuffle(a)
print(a)

NumPy frente a Python

NumPy es más rápido que las listas de Pythonporque utiliza una disposición de almacenamiento de matrices más eficiente que permite un acceso más rápido a los elementos. Además, NumPy ofrece un Amplia gama de funciones matemáticas integradasque están optimizados para su uso con matrices.

NumPy frente a Pandas

En comparación con los pandas NumPy una biblioteca de nivel inferiorque se centra en proporcionar operaciones de matriz eficientes. Pandas se basa en NumPy y ofrece funciones adicionales para trabajar con datos tabulares, como marcos de datos y series. Mientras que NumPy es útil para realizar operaciones matemáticas en grandes matrices de datos, Pandas es adecuado para tareas de manipulación y análisis de datos.

NumPy no es tan fácil de aprender como PandasEl uso de Pandas es más sencillo que el de NumPy, ya que Pandas proporciona una interfaz de alto nivel para trabajar con datos tabulares que es más fácil de usar que las operaciones con matrices de NumPy. Sin embargo, NumPy es una herramienta fundamental para muchas aplicaciones de uso intensivo de datos y se utiliza ampliamente en la comunidad científica y de ciencia de datos.

En términos de rendimiento NumPy más rápido que Pandascuando se trata de realizar operaciones con arrays. Sin embargo, Pandas ofrece características adicionales para trabajar con datos tabulares que pueden hacerlo más lento para ciertos tipos de operaciones.