lunes, 6 de mayo de 2019

Numpy en Python

Numpy in python.md

Hi! A terminar lo que empecé. Hace algunos años empecé este tutorial y vaya que ahora tenemos python 3.7.3. Por varias circunstancias lo deje inconcluso, sin que cada cierto tiempo tenga el deseo de terminarlo. Y hoy, por fin estas leyendo la entrada 1/3 :) . Como parte de esta primera entrada, estaremos viendo que es numpy, como instalarlo, algunos ejemplos y porque es muy importante (¡Spoiler Alert! : Ciencia de Datos!).

¿Qué es Numpy?

Resumiendo lo que podemos encontrar en el sitio oficial de Numpy , wikipedia, blogs, etc. Numpy es el paquete más básico pero poderoso para la computación científica y la manipulación de datos en Python. Nos permite trabajar con matrices y matrices multidimensionales.

La mayoría de las otras bibliotecas que se usan en el análisis de datos con Python, como scikit-learn , SciPy y Pandas usan algunas de las características de NumPy :o

Como empezar

Para comenzar a utilizar en nuestros proyectos numpy es necesario importar, así como aquellos tiempos en los que estábamos aprendiendo a utilizar la librería random.
La forma más simple de importar
import numpy
La forma más usada, y la que utilizaremos en los ejercicios
import numpy as np
Las dos sentencias hacen lo mismo, la diferencia es que la última se le añade un “alias” para escribir menos. Por ejemplo, si usamos la primera opción tendrás que escribir numpy como prefijo a todas las propiedades
a=numpy.array([i for i in range(6)]
Verdad que es mucho mejor así:
a=np.array([i for i in range(6)]

Sintaxis Básicas

Para entender el poder de esta librería, nos vamos a valer de nuestras aliadas Listas, que te había explicado que eran como cajitas que contenían información, bueno pues los arreglos (vectores) son listas de una o más dimensiones donde sus elementos son del mismo tipo (usualmente numérico). Si bien, en la entrada de listas usamos listas dentro de listas, en realidad eso era un arreglo de dos dimensiones. Y los arreglos de dos dimensiones lo llamamos Matrices

Arreglo de una dimensión
a=np.array([10,20,30])
Arreglo de dos dimensiones (matrices)
b=np.array([[10,20,30],[40,50,60]])
Como en las matemáticas, una matriz debe tener el mismo número de columnas.
Como los arreglos son listas, es lógico que comienzan a contarse desde el índice 0
a[0]=10
b[0][0]=10

Como instalar

Para comenzar a utilizar esta interesante librería tenemos varios caminos, en esta ocasión te mostraré dos formas:

Pycharm

Para instalar desde nuestro IDE, basta con ejecutar los siguientes pasos:
Al dar click en (+) se abrirá una ventana donde podemos instalar librerías, es allí donde seleccionaremos numpy



Cuando acabe la instalación Pycharm nos mostrará el siguiente mensaje, la librería se está instalando…

Consola (Pip - install numpy)

Si quieres echarle mano a la consola negra, esta opción es para ti. Los pasos son igual de sencillos.
  1. Abrimos la consola cmd (símbolo del sistema)
  2. Digitamos pip install numpy e inmeditamante nos cargará una barra de instalación
Y para el lector del futuro, actualizamos la versión con tan solo:
python -m pip install --upgrade pip

¡A practicar!

1.- crear una matriz 3x3 con con números aleatorios
a = np.arange(0, 9).reshape(3, 3) 
2.- arreglo con números aleatorios del 1 al 9 de dos en dos
x = np.arange(1, 10, 2)
3.- suma del arreglo x
suma = np.sum(x) 
4.- matriz identidad de 3x3
y = np.identity(3)
5.- matriz a la potencia 3
z =  3**x 
6.- convierto dos array en una matriz 2x2
f = np.array([[1, 2, 3], [2, 3, 4]]) 
7.- Ejercicios pythondiario

Recomendaciones

Numpy es una librería inmesa, se ha utilizado juntamente con Scipy en proyectos muy importantes de Maching Learning. Por ello, dejo a los expertos que planteen estos 100 ejercicios, con estadística y todo.

2 comentarios :
Write comentarios
  1. Espero llenarte preguntas y mucho mas.........

    ResponderEliminar
    Respuestas
    1. Buen tutorial que ayuda a todos quienes ejecutamos algunos procesos de programación.

      Eliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .