Notas sobre Numpy

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.

About AVB

Check Also

Santo en Puente de Charles en Praga

Puente de Charles, Praga. Estatua de Santo con la Cruz Apuntando hacia la Iglesia  

Leave a Reply

Your email address will not be published. Required fields are marked *