0% encontró este documento útil (0 votos)
179 vistas41 páginas

Clase - Librería Numpy

La librería NumPy permite trabajar de forma eficiente con arrays multidimensionales en Python. NumPy define un objeto array que permite representar colecciones de datos numéricos y funciones para su manipulación. Algunas funciones importantes son crear arrays, realizar operaciones entre ellos, algebra lineal y extraer estadísticas.

Cargado por

Andrea Sinche
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
179 vistas41 páginas

Clase - Librería Numpy

La librería NumPy permite trabajar de forma eficiente con arrays multidimensionales en Python. NumPy define un objeto array que permite representar colecciones de datos numéricos y funciones para su manipulación. Algunas funciones importantes son crear arrays, realizar operaciones entre ellos, algebra lineal y extraer estadísticas.

Cargado por

Andrea Sinche
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

LIBRERÍA NUMPY

Lenguaje de programación ii
Numpy es una librería de Python especializada en el cálculo
numérico y el análisis de datos, especialmente para un gran
volumen de datos.
Incorpora una nueva clase de objetos llamados arrays que
permite representar colecciones de datos de un mismo tipo en
varias dimensiones, y funciones muy eficientes para su
manipulación.

LA LIBRERÍA Dado que numpy es una librería externa, es necesario


importarla antes de poder usar los objetos y funciones que
NUMPY posee.
Para importar la librería usar la siguiente sentencia
ARREGLOS NUMPY
En Numpy un arreglo es:
• Una colección de elementos que son todos del mismo tipo,
• Que tienen una o más dimensiones
• Que son indexados por una tupla de enteros no negativos.
• A diferencia de las listas que pueden almacenar elementos de diferente tipos,
los arreglos solo almacenan elementos del mismo tipo, generalmente numéricos
(float, int).
LA CLASE DE OBJETOS ARRAY
Un array es una estructura de datos de un mismo tipo organizada en forma de tabla o
cuadrícula de distintas dimensiones.
Las dimensiones de un array también se conocen como ejes.
CREACIÓN DE ARRAYS
Para crear un array se utiliza la siguiente función de NumPy
np.array(lista) : Crea un array a partir de la lista o tupla lista y devuelve una referencia a
él. El número de dimensiones del array dependerá de las listas o tuplas anidadas en lista:
Para una lista de valores se crea un array de una dimensión,
también conocido como vector.

Para una lista de listas de valores se crea un array de dos


dimensiones, también conocido como matriz.

Para una lista de listas de listas de valores se crea un array de


tres dimensiones, también conocido como cubo.

Y así sucesivamente. No hay límite en el número de dimensiones


del array más allá de la memoria disponible en el sistema.

Los elementos de la lista o tupla deben ser del mismo tipo.


¿POR QUÉ UTILIZAR ARREGLOS? YSUS
DIMENSIONES
Los arreglos pueden realizar operaciones con datos numéricos mucho más rápido, y en
general son más eficientes que las listas
Las dimensiones en el arreglo son llamados ejes (axis).
El número de dimensiones es el rango (rank) del arreglo.
Una de las funciones para crear arraglos es array

Practica1.py
ARREGLO 1 DIMENSIÓN

ARREGLO 2 DIMENSIONES
OTRAS FUNCIONES ÚTILES QUE PERMITEN GENERAR
ARRAYS SON:
np.empty(dimensiones): Crea y devuelve un array vacío con las dimensiones
especificadas en la tupla dimensiones.
np.zeros(dimensiones): Crea y devuelve un array con las dimensiones especificadas en
la tupla dimensiones cuyos elementos son todos ceros.
np.ones(dimensiones): Crea y devuelve un array con las dimensiones especificadas en
la tupla dimensiones cuyos elementos son todos unos.
np.full(dimensiones, valor): Crea y devuelve un array con las dimensiones
especificadas en la tupla dimensiones cuyos elementos son todos valor.
np.arange(inicio, fin, salto): Crea y devuelve un array de una dimensión cuyos
elementos son la secuencia desde inicio hasta fin tomando valores cada salto.
np.linspace(inicio, fin, n): Crea y devuelve un array de una dimensión cuyos elementos
son la secuencia de n valores equidistantes desde inicio hasta fin.
np.random.random(dimensiones): Crea y devuelve un array con las dimensiones
especificadas en la tupla dimensiones cuyos elementos son aleatorios.
FUNCIONES
El randn() función, que es parte de NumPy random módulo, se puede utilizar
para generar matrices de números que se muestrean de una distribución
normal estándar. La distribución normal estándar es una distribución gaussiana
con media cero y varianza unitaria.
np.random.rand() devuelve una matriz de muestra de números de un
distribución uniforme en el intervalo [0,1).
También puede crear una matriz de números enteros aleatorios utilizando el
randint() función que forma parte del módulo aleatorio de NumPy.
np.random.randint(low, high, size) devuelve una matriz de enteros. La forma
de la matriz se deduce de la size argumento y los enteros toman valores en el
intervalo [low,high).
EJEMPLOS:
EJEMPLOS:
EJEMPLOS:
EJEMPLOS:
EJEMPLOS:
EJEMPLOS:
CREACIÓN DE ARREGLOS CON VALORES
ALEATORIOS

Practica2.py
FUNCIÓN RESHAPE
RESHAPE
COPY
TOLIST
CAST
FILTRADO DE ELEMENTOS DE
UN ARRAY
Una característica muy útil de los arrays es que es muy fácil
obtener otro array con los elementos que cumplen una condición.
a[condicion] : Devuelve una lista con los elementos del array a
que cumplen la condición condicion.
OPERACIONES MATEMÁTICAS CON ARRAYS
Existen dos formas de realizar operaciones matemáticas con
arrays: a nivel de elemento y a nivel de array.
Las operaciones a nivel de elemento operan los elementos que
ocupan la misma posición en dos arrays.
 Se necesitan, por tanto, dos arrays con las mismas dimensiones y el resultado es
una array de la misma dimensión.
Los operadores mamemáticos +, -, *, /, %, ** se utilizan para la
realizar suma, resta, producto, cociente, resto y potencia a nivel de
elemento.
OPERACIONES ARITMÉTICAS ENTRE ARREGLOS Y
ESCALARES
ÁLGEBRA MATRICIAL
Numpy incorpora funciones para realizar las principales operaciones
algebraicas con vectores y matrices. La mayoría de los métodos algebraicos
se agrupan en el submódulo linalg.
ÁLGEBRA MATRICIAL
Producto escalar de dos vectores: Para realizar el producto escalar de dos vectores
se utiliza el operador @ o el siguiente método:
 u.dot(v): Devuelve el producto escalar de los vectores u y v.

Módulo de un vector: Para calcular el módulo de un vector se utiliza el siguiente


método:
 norm(v): Devuelve el módulo del vector v.

Producto de dos matrices: Para realizar el producto matricial se utiliza el mismo


operador @ y método que para el producto escalar de vectores:
 a.dot(b) : Devuelve el producto matricial de las matrices a y b siempre y cuando sus dimensiones sean
compatibles.

Matriz traspuesta: Para trasponer una matriz se utiliza el método


 a.T : Devuelve la matriz traspuesta de la matriz a.
ÁLGEBRA MATRICIAL
Traza de una matriz: La traza de una matriz cuadrada se calcula con el siguiente
método:
 a.trace() : Devuelve la traza (suma de la diagonal principal) de la matriz cuadrada a.

Determinante de una matriz: El determinante de una matriz cuadrada se calcula con


la siguiente función:
 det(a) : Devuelve el determinante de la matriz cuadrada a.

Matriz inversa: La inversa de una matriz se calcula con la siguiente función:


 inv(a) : Devuelve la matriz inversa de la matriz cuadrada a.

Autovalores de una matriz: vos autovalores de una matriz cuadrada se calculan con
la siguiente función:
 eigvals(a) : Devuelve los autovalores de la matriz cuadrada a.
ÁLGEBRA MATRICIAL
Autovectores de una matriz: Los autovectores de una matriz cuadrada se calculan
con la siguiente función:
 eig(a) : Devuelve los autovalores y los autovectores asociados de la matriz cuadrada a.

Solución de un sistema de ecuaciones: Para resolver un sistema de ecuaciones


lineales se utiliza la función siguiente:
 solve(a, b) : Devuelve la solución del sistema de ecuaciones lineales con los coeficientes de la matriz a
y los términos independientes de la matriz b.
HALLAR EL ÍNDICE DE LOS
ELEMENTOS MÁXIMO Y MÍNIMO
A veces, es posible que necesite encontrar el índice de los elementos máximo y
mínimo. Para ello, puede llamar al argmax() y del argmin() métodos en el objeto de
matriz.
Aquí, el elemento máximo 73 ocurre en el índice 2.
int_arr1 = np.random.randint(1,100,7)
print(int_arr1)
# [20 57 73 32 57 38 25]
int_arr1.argmax()
Y el elemento mínimo 20 ocurre en el índice 0.
int_arr1.argmin()
CONCATENACIÓN VERTICAL USANDO VSTACK
Puede concatenar arreglos verticalmente usando el vstack() función.
Aquí hay un ejemplo. arr1 es una matriz de unos con dos filas y tres columnas y arr2
es una matriz de ceros dos filas y tres columnas.
np.vstack((arr1,arr2))
Como el apilamiento ocurre verticalmente, las dos matrices deben tener la mismo
número de columnas.
CONCATENACIÓN HORIZONTAL USANDO HSTACK
Puede concatenar arreglos NumPy horizontalmente usando el hstack() función, como
se muestra a continuación.
arr1 = np.ones((3,3))
arr2 = np.zeros((3,2))
np.hstack((arr1,arr2))
Debido a que el apilamiento ocurre horizontalmente, las matrices de entrada
deben tener la mismo número de filas. Aquí, ambos arr1 y arr2 tener tres filas.
USANDO CONCATENAR
También puede usar matrices NumPy concatenadas a lo largo de un eje específico
usando el concatenate() función. Establecer el opcional axis argumento al eje que le
gustaría concatenar a lo largo; el tu préstamo estudiantil el valor del eje es cero.
Aquí un ejemplo:
arr1 = np.ones((2,3))
arr2 = np.zeros((2,3))
Cuando no especificamos el eje para concatenar, las matrices se concatenan a lo
largo del eje 0. En la matriz resultante, la segunda matriz arr2 se agrega (como
filas) debajo de la primera matriz.
np.concatenate((arr1,arr2))
Cuando especificamos axis = 1, obtenemos el siguiente resultado. arr2 se concatena
(como columnas) al lado de la primera matriz, arr1.
np.concatenate((arr1,arr2),axis=1)
Al igual que con la hstack() y vstack() funciones, las dimensiones de las matrices
a lo largo del eje de concatenación debe coincidir.
NP.WHERE(CONDICIÓN)

Para encontrar el índice en el que se produce el máximo, puede utilizar el NumPy donde()
función. np.where(condition) devuelve una matriz de todos los índices donde el condition is
True.
Tendrá que tocar la matriz y acceder al elemento en el primer índice. Para encontrar
dónde ocurre el valor máximo, establecemos el condition a array_1==10; recuerda que
10 es el valor máximo en array_1.
EJERCICIO
ÍNDICES EN LOS ARREGLOS
CAMBIAR VALORES EN LOS ARREGLOS
CAMBIAR VALORES EN LOS ARREGLOS
INDEXACIÓN BOOLEANA: ARREGLOS BOOLEANOS
OTRAS FUNCIONES

También podría gustarte