Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Avanzada
Numpy
• La biblioteca NumPy (Python Numérico) aparece el
año 2006, y es la implementación de array preferida
en Python. Ofrece un tipo array llamado ndarray.
• Las operaciones con arrays están por encima de los 2
órdenes de magnitud más rápidas que con las listas.
• Una fortaleza de NumPy es la programación orientada
a arrays, la cual usa el estilo de programación
funcional con iteración interna.
Importando la biblioteca
import numpy as np
Con Unos:
array_unos = np.ones(3)
array_unos
array([1., 1., 1.])
Inicialización
• numpy.empty( forma , dtype )
Devuelve una nueva matriz de formas y tipos dados,
sin inicializar entradas.
np.random.randint(1, 7, 5)
array([5, 2, 6, 4, 2])
El método numpy.where
• numpy.where(condicion)
import numpy as np
vec = np.array([1,3,5,7,11])
vec_indices = np.where(vec < 6)
print(vec_indices)
numpy.where con un argumento
• numpy.where(condicion)
import numpy as np
vec = np.array([1,3,5,7,11])
vec_items = vec[np.where(vec < 6)]
print(vec_items)
numpy.where con tres argumentos
numpy.where(condicion,opcionA,opcionB)
import numpy as np
vec = np.array([1,2,3,4,5,6,7,8,9])
nuevo_vec = np.where(vec<5, vec*10, 0)
print(nuevo_vec)
numpy.where con operadores lógicos
• operadores: | (o lógico) & (y lógico)
import numpy as np
vec = np.array([1,2,3,4,5,6,7,8,9])
ind1 = np.where((vec < 3) | (vec > 5))
vectorx = vec[ind1]
print(vectorx)
ind2 = np.where((vec > 3) & (vec < 6))
vectory = vec[ind2]
print(vectory)
Ordenar un array
Devuelve una copia ordenada de un array.
• numpy.sort(array)
# Ordenar un vector de modo ascendente:
a = np.array([5, 3, 1, 4, 2])
np.sort(a)
print(a)
np.amax(array)
Calcula el máximo en un array Numpy a lo largo de un eje.
np.sum(array)
Calcula la suma de elementos de un array Numpy. Solo
valores numéricos.
np.average(array)
Calcula el promedio ponderado de un array Numpy.
Atributos Básicos
Número de ejes del array
array1.ndim
1
Forma de un array:
array1.shape
(3,)
Atributos Básicos
Tamaño de un array
array1.size
3
array1.itemsize
8
array1.data
<memory at 0x7f6fa4667288>
matriz1.data
<memory at 0x7f6fb8067630>
matriz1_32.data
<memory at 0x7f6fb8067b40>
linspace controla el inicio y el fin (que estará incluido). Tiene como entrada del tercer argumento la
cantidad de puntos que habrá entre el inicio y el fin. El incremento será consecuencia de eso.
Ejemplo de uso de arange
a = np.arange(5)
a
array([0, 1, 2, 3, 4])
print(suma) # [ 0 11 22 33 44]
print(resta) # [ 0 9 18 27 36]
print(potencia) # [ 0 1 4 9 16]
print(division) # [10. 10. 10. 10.]
print(producto) # [ 0 10 40 90 160]
concatenar arreglos
numpy.concatenate( (a1 , a2 , ...) )
Une una secuencia de arrays a lo largo de un eje
existente.
>>> x = np.arange(10)
>>> np.roll(x, 2)
array([8, 9, 0, 1, 2, 3, 4, 5, 6, 7])
>>> np.roll(x, -2)
array([2, 3, 4, 5, 6, 7, 8, 9, 0, 1])
A Practicar!!