Introducción a NumPy – Lección 1

Compartir esta publicación

Share on facebook
Share on linkedin
Share on twitter
Share on 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í.

Conversion Post ES

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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
PDF gratuito Software Interview Series

¿Tienes un proyecto desafiante?

Podemos trabajar juntos