Shape
array_1 = np.arange(10) # como si fuera un range
array_1.shape -> (10L,)
array_1.reshape((5,2))
<
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
array_1.ndim -> 2
Broadcasting
array_1 + 1 # le suma uno a todos sus elementos.
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
array_2 = np.arange(10)
array_2 * array_2
array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81])
array_2 = array_2 ** 2 #Note that this is equivalent to array_2 * array_2
array_2 = array_2.reshape((5,2))
array([[ 0, 1],
[ 4, 9],
[16, 25],
[36, 49],
[64, 81]])
Initializing NumPy arrays and dtypes
np.zeros((5,2)) # inicializa con ceros
array([[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
np.ones((5,2), dtype = np.int) # inicializa con unos especificando que son enteros.
array([[1, 1],
[1, 1],
[1, 1],
[1, 1],
[1, 1]])
np.empty((5,2), dtype = np.float) # Aloca memoria de un tipo determinado
Indexing
Siendo,
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
array_1[0,0] -> 1
array_1[0, :] -> array([1, 2]) # La primera fila
array_1[:, 0] -> array([1, 3, 5, 7, 9]) # La primera columna
array_1[2:5, :] # de la segunda a la cuarta columna
array([[ 5, 6],
[ 7, 8],
[ 9, 10]])
array_1[2:5,0] # de la segunda a la cuarta fila
array([5, 7, 9])
Boolean Arrays
array_1 > 5 # devuelve el resultado de la condición de falso o verdadero
array([[False, False],
[False, False],
[False, True],
[ True, True],
[ True, True]], dtype=bool)
array_1[array_1 > 5] # Filatra sobre los resultados buleanos.
array([ 6, 7, 8, 9, 10])
Arithmetic Operations
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
array_1.sum()
55
array_1.sum(axis = 1) # suma por fila
array([ 3, 7, 11, 15, 19])
array_1.sum(axis = 0) # suma por columna
array([25, 30])
array_1.mean(axis = 0) # promedio por columna
array([ 5., 6.])
Funciones
h = np.round(np.random.normal(1.75, 0.2, 5000)) – genera un vector aleatorio con distribución normal, mu 1.75 y sigma 0.2
w = np.round(np.random.normal(60.32, 15, 5000)) – genera un vector aleatorio con distribucion normal, mu 60.32 y sigma 15
np_gente = np.column_stack((h, w)) – combina los dos vectores en una matriz.