34  Operaciones básicas con arrays

¡Hola a todes! En esta sesión, veremos las operaciones básicas en NumPy. Aprenderemos cómo crear arreglos multidimensionales utilizando funciones como np.zeros, np.ones, np.eye y np.identity, esenciales para la manipulación de datos en NumPy.

Comenzaremos explorando cómo crear arreglos multidimensionales utilizando diversas funciones proporcionadas por NumPy. Luego, nos sumergiremos en las operaciones fundamentales como suma, resta, multiplicación y división en NumPy, destacando la flexibilidad de realizar estas operaciones elemento a elemento. Aprenderas las herramientas esenciales para crear y manipular arrays multidimensionales, realizar operaciones matemáticas con precisión y rapidez, y aprovechar las ventajas de las operaciones para optimizar tu código.

Al final de esta sesión, tendrás las habilidades fundamentales para realizar un análisis de datos efectivo en NumPy, llevando tus capacidades de programación al siguiente nivel. ¡Empecemos!

import numpy as np
np.zeros((3,3))
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
np.ones((5,5))
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])
np.eye(5)
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
np.identity(5)
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
np.full((3,3),-10)
array([[-10, -10, -10],
       [-10, -10, -10],
       [-10, -10, -10]])
np.random.rand(3,3)
array([[0.20019819, 0.26774823, 0.5968878 ],
       [0.3274227 , 0.09136412, 0.51176598],
       [0.71619371, 0.37696918, 0.55026843]])
np.random.randint(0,10,(10,10))
array([[2, 6, 1, 7, 3, 4, 1, 1, 9, 9],
       [0, 2, 1, 2, 0, 5, 7, 0, 9, 2],
       [0, 2, 3, 0, 9, 4, 1, 7, 5, 2],
       [9, 8, 6, 9, 5, 2, 4, 2, 2, 8],
       [2, 0, 4, 2, 3, 4, 5, 4, 5, 8],
       [3, 3, 2, 7, 9, 1, 9, 0, 2, 2],
       [8, 6, 4, 5, 5, 0, 1, 7, 8, 6],
       [0, 1, 3, 8, 0, 9, 1, 8, 5, 3],
       [7, 5, 8, 8, 0, 5, 0, 5, 0, 6],
       [9, 3, 8, 3, 9, 3, 5, 0, 0, 9]])

35 Suma

unos = np.ones((3,3))
unos
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
azar = np.random.randint(0,3,(3,3))
azar
array([[1, 1, 1],
       [1, 0, 1],
       [2, 0, 0]])
unos.shape
(3, 3)
azar.shape
(3, 3)
unos + azar
array([[2., 2., 2.],
       [2., 1., 2.],
       [3., 1., 1.]])
unos * azar
array([[1., 1., 1.],
       [1., 0., 1.],
       [2., 0., 0.]])
unos/azar
/var/folders/5r/jn_g7h3n0pv3v9fbjgr05h8w0000gn/T/ipykernel_50648/2903940513.py:1: RuntimeWarning: divide by zero encountered in divide
  unos/azar
array([[1. , 1. , 1. ],
       [1. , inf, 1. ],
       [0.5, inf, inf]])
unos += 2
unos
array([[3., 3., 3.],
       [3., 3., 3.],
       [3., 3., 3.]])
azar *= azar
azar
array([[1, 1, 1],
       [1, 0, 1],
       [4, 0, 0]])
a = np.array([1,2,3])
b = np.array([4,4,4])
print(np.dot(a,b), 4+8+12)
24 24