miércoles, 14 de agosto de 2019

Python: Librería numpy

La librería numpy nos permite generar y realizar operaciones con números de forma rápida y simple.

Vamos a verlo con unos ejemplos:

## NUMPY - GENERACIÓN DE NÚMEROS ##

# Importamos la librería:
import numpy as np

# Generamos un array de 4 números de valor 0:
np.zeros(4)

# Generamos un array de 4 números de valor 1:
np.ones(4)

# Generamos un array de 5 números de valor 0 - 4:
np.arange(5)

# Generamos un array de números que empieza en el 2, termina en el 20, y va saltando números de 3 en 3:
np.arange(2, 20, 3)

# Transformamos una lista de números en un array:
lista = [1, 2, 3, 4, 5]
array = np.array(lista)

# Transformamos dos listas en un array bidimensional:
lista1 = [1, 2, 3, 4, 5]
lista2 = [6, 7, 8, 9, 10]
listaDoble = (lista1, lista2)
arrayDoble = np.array(listaDoble)

# Multiplicamos por 2 todos los valores de un array:
array = np.array([1, 2, 3, 4, 5])
array = array * 2

# Obtenemos los números de las posiciones del 0 al 3 de un array:
array = np.arange(20)
array[0:3]

# Copiamos el array:
arrayCopia = array.copy()

# Asignamos a las posiciones del 0 al 3 del array el valor 20:
arrayCopia[0:3] = 20

# Creamos un array de 15 números y lo convertimos en uno bidimensional de 3 filas y 5 columnas:
array = np.arange(15).reshape((3, 5))

# Cambiamos las filas por columnas en el array bidimensional:
arrayTraspuesto = array.T

# Guardamos en memoria y cargamos un array:
array = np.arange(20)
np.save('arrayGuardado', array)
np.load('arrayGuardado.npy')

# Guardamos en memoria y cargamos varios arrays en una misma variable:
array1 = np.arange(10)
array2 = np.arange(20)
np.savez('arrays', x = array1, y = array2)
arraysRecuperados = np.load('arrays.npz')

# Guardamos en un fichero .txt y cargamos un array, delimitado por comas:
array = np.arange(20)
np.savetxt('miFichero.txt', array, delimiter = ',')
np.loadtxt('miFichero.txt', delimiter = ',')

# Aplicamos la raíz cuadrada sobre todos los valores de un array:
array = np.arange(20)
np.sqrt(array)

# Sumamos los valores de dos arrays:
array1 = np.arange(10)
array2 = np.arange(10, 20)
np.add(array1, array2)

# Obtenemos el valor máximo entre el contenido de dos arrays:
array1 = np.arange(10)
array2 = np.arange(10, 20)
np.maximum(array1, array2)

# Para generar números aleatorios de distribución uniforme:
https://electroboveda.blogspot.com/2019/07/data-science-generacion-de-numeros.html#more

# Para generar datasets con números aleatorios de distribución normal:
https://electroboveda.blogspot.com/2019/07/data-science-generacion-de-dummy.html#more

Y eso es todo.

No hay comentarios:

Publicar un comentario