Introducción a NumPy – Lección 1

Compartir esta publicación

Compartir en facebook
Compartir en linkedin
Compartir en twitter
Compartir en email

Introducción

NumPy es una biblioteca de terceros para la computación numérica, optimizada para trabajar con arrays unidimensionales y multidimensionales. Su tipo principal es el tipo de matriz llamado ndarray. Esta biblioteca contiene muchas rutinas para el análisis estadístico.

Crear, obtener información, seleccionar y utilizar funciones

El conjunto de datos de 2009 ‘Wine Quality Dataset‘ realizado por Cortez et al. disponible en UCI Machine Learning, es un conocido conjunto de datos que contiene información sobre la calidad del vino. 

 Antes de empezar, vamos a visualizar la cabeza un pequeño conjunto de datos de ejemplo 

t ozBeiHHe7CXrn7kqTQb7yhWmbBp3i3dPEEAx4uyG5DLf4TZWrK8ww83eOtvVjZffZkoRBFAHgNvsvRaB46G0vxTtZbe29TC 5gCKlMX 9Zk7w3Oc0nWOLbYi7HMYPGdHfRHsVg=s0

Creando

En Numpy se pueden crear arrays de diferentes maneras, vamos a ver ejemplos de las más comunes y las que pueden ser más útiles para el procesamiento de datos.

Matriz unidimensional de la lista:

Import numpy as np
list = [1, 2, 3]
uni_numpy_array = np.array(list)

array([1, 2, 3])

Matriz multidimensional de la lista:

list = [[1, 2, 3], [4, 5, 6]]
multi_numpy_array = np.array(list)

array([[1, 2, 3],
       [4, 5, 6]])

Matriz multidimensional todos los valores son ceros:

zeros_array = np.zeros((3, 4))

array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])

Matriz multidimensional todos los valores son aleatorios:

random_array = np.random.rand(3, 4)

array([[0.98195491, 0.34964712, 0.13426036, 0.55065786],
       [0.4180283 , 0.36018953, 0.44374156, 0.4366695 ],
       [0.69893273, 0.01089244, 0.4297768 , 0.6985924 ]])

Obteniendo información

Hay varias funciones que nos pueden ayudar a extraer información de los datos. Vamos a explicar una por una con ejemplos de su funcionamiento y su utilidad.

Obtener las dimensiones del array:

Para ello vamos a utilizar la función `shape()` que devuelve el número de filas y el número de columnas (filas, columnas).

wines_df.shape

(1599, 12)

Obtener tipo de datos:

NumPy tiene varios tipos de datos diferentes, que en su mayoría se corresponden con los tipos de datos de Python, como float y str. Puedes encontrar una lista completa de los tipos de datos más importantes de NumPy aquí:

1. float – numeric floating point data.

2. int – integer data.

3. string – character data.

4. object – Python objects.

En este caso utilizaremos el atributo `dtype` que devuelve el tipo de datos del array.

wines_df.dtype

dtype('float64')

Selección

Utiliza la sintaxis np.array[i,j] para recuperar un elemento en el índice de fila i y el índice de columna j de la matriz.

Para recuperar múltiples elementos, utilice la sintaxis np.array[(valores_fila), (valores_columna)] donde valores_fila y valores_columna son una tupla del mismo tamaño.

Ahora vamos a mostrar diferentes ejemplos de cómo seleccionar elementos dentro de un array:

Consigue la primera fila:

first_row = wines_df[:1]

array([[ 7.4   ,  0.7   ,  0.    ,  1.9   ,  0.076 , 11.    , 34.    ,
         0.9978,  3.51  ,  0.56  ,  9.4   ,  5.    ]])

Selecciona el segundo elemento de la tercera fila:

second_third = wines_df[2, 1:2]

array([0.76])

Selecciona los tres primeros elementos de la cuarta columna:

first_three_items = wines_df[:3, 3]

array([1.9, 2.6, 2.3])

Selecciona toda la cuarta columna:

fourth_column = wines_df[:, 3]

array([1.9, 2.6, 2.3, ..., 2.3, 2. , 3.6])

Funciones de utilidad

Numpy es una librería que tiene infinidad de funciones de operaciones matemáticas, así que vamos a intentar resumir en varios ejemplos las funciones que como Data Scientist vamos a utilizar con más probabilidad.

Resume toda la undécima columna:

twelveth_column_sum = wines_df[:, 11].sum()

9012.0

Suma todas las columnas:

all_columns_sum = wines_df.sum(axis=0)

array([13303.1    ,   843.985  ,   433.29   ,  4059.55   ,   139.859  ,
       25384.     , 74302.     ,  1593.79794,  5294.47   ,  1052.38   ,
       16666.35   ,  9012.     ])

Media de la primera fila:

first_row_mean = wines_df[:1].mean()

6.211983333333333

Devuelve un array bool donde el valor de la posición de la 11ª columna es True si el valor era menor que 5 y False en otro caso:

bool_array = wines_df[:,11] > 5

array([False, False, False, ...,  True, False,  True])

Obtén la matriz de trasposición de la matriz de vinos:

traspose = np.transpose(wines_df)
traspose.shape

(12, 1599)

Obtén el conjunto de vinos de array aplanada:

flatten = wines_df.ravel()
flatten.shape

(19188,)

Convierte la 12ª fila de vinos en una matriz bidimensional con 3 filas y 4 columnas:

wines_df[1:2].reshape((3,4))

array([[ 7.8   ,  0.88  ,  0.    ,  2.6   ],
       [ 0.098 , 25.    , 67.    ,  0.9968],
       [ 3.2   ,  0.68  ,  9.8   ,  5.    ]])

Entrenando tus habilidades

Si quieres llevar tus habilidades más allá en Ciencia de Datos, hemos creado un curso que puedes descargar gratis aquí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

Acerca de Apiumhub

Apiumhub reúne a una comunidad de desarrolladores y arquitectos de software para ayudarte a transformar tu idea en un producto potente y escalable. Nuestro Tech Hub se especializa en Arquitectura de Software, Desarrollo Web & Desarrollo de Aplicaciones Móviles. Aquí compartimos con usted consejos de la industria & mejores prácticas, basadas en nuestra experiencia.

Posts populares
Obtén nuestro Libro: Software Architecture Metrics

Global Software Architecture Summit '22

Reserva tu plaza!

Reserva

¿Tienes un proyecto desafiante?

Podemos trabajar juntos

Secured By miniOrange