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