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

venta de casas san isidro labrador villanueva

Venta de Casas en San Isidro Labrador

Bienvenidos a nuestra agencia inmobiliaria especializada en la venta de casas en la exclusiva zona de …

Leave a Reply

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