1 / 27

Ayudantía Python

Ayudantía Python. Arreglos. Introducción: Arreglos . Las estructuras de datos (listas, tuplas, diccionarios, conjuntos) manipulan datos de manera muy flexible (combinar, anidar, organizando).

tansy
Download Presentation

Ayudantía Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ayudantía Python Arreglos

  2. Introducción: Arreglos • Las estructuras de datos (listas, tuplas, diccionarios, conjuntos) manipulan datos de manera muy flexible (combinar, anidar, organizando). • En muchas aplicaciones de Ingeniería, es mas importante la capacidad de hacer operaciones sobre grandes conjuntos de datos numéricos de manera eficiente. Ej: predicción del clima, análisis de indicadores financieros.. • Arreglo: estructura de datos que sirve para almacenar grandes secuencias de números

  3. Introducción: Arreglos • Similitudes con las listas: • Tienen un orden y se pueden acceder mediante su posición • Los elementos se pueden recorrer usando un for • Restricciones: • Todos los elementos del arreglo deben tener el mismo tipo • El tamaño del arreglo es fijo (en general, no crece dinámicamente como las listas) • Utilizados principalmente para almacenar datos numéricos Poseen muchas ventajas sobre las listas. Los arreglos son equivalentes de los vectores y las matrices de las matemáticas. Existe mucha teoría detrás de ellos y puede ser usada para el diseño de algoritmos para resolver varios problemas.

  4. Previo! • Primero!! El modulo que provee las estructuras de datos y funciones para trabajar con arreglos se llama NumPy • Comprobar si poseen el modulo numpy • Ejecutar en la consola (GUI, Pyscripter.. Lo q sea). • if: • http://sourceforge.net/projects/numpy/files/NumPy/1.6.0/ • Busquen su versión, descarguen, instalen y listo!!

  5. Crear Arreglos • Como se usara frecuentemente las funciones del modulo numpy, conviene importarlas todas: • array : tipo de datos de los arreglos. • Para crear un arreglo, se usa la función array pasando como parámetro una lista de valores que se desean agregar

  6. Crear Arreglos • Todos los elementos del arreglo tienen el mismo tipo. Para crear arreglos de números reales, se debe hacer que uno de ellos lo sea • Otra opción: arreglo.astype(tipo) : convierte los elementos del arreglo, al tipo que se pasa por parámetro

  7. Crear Arreglos • Existen distintas funciones especiales para crear arreglos: • zeros(n): Crea un arreglo de n ceros: • ones(n): crea un arreglo de n unos: • arrange(a,b,c): como el range, pero a, b y c pueden ser reales, el resultado es un arreglo (parte en a, hasta b-1, de c en c) • linspace(a,b,n): crea un arreglo de n valores equispaciados entre a y b

  8. Operaciones con arreglos • Los arreglos tienen una gran cantidad de operaciones. • Las operaciones aritméticas entre arreglos se aplican elemento a elemento • Sumar arreglos (elemento a elemento): • Multiplicar arreglos (elemento a elemento): • Restar arreglos (elemento a elemento):

  9. Operaciones con arreglos • Operaciones entre un valor simple y un arreglo funcionan aplicando la operación a todos los elementos del arreglo, usando el valor simple como operando todas las veces: • Multiplicar por 0.1 todos los elementos: • Restar 9.0 a todos los elementos • Si fuera con listas, se debería hacer un ciclo para hacer la operación elemento a elemento

  10. Operaciones con arreglos • Operaciones relacionales tambien se aplican elemento a elemento. Retornan un arreglo de valores booleanos. • Para reducir el arreglo de booleanos a un único valor: • any: retorna True si al menos uno de los elementos es verdadero • all: retorna True solo si todos son verdaderos

  11. Funciones sobre arreglos • NumPy posee varias funciones matemáticas que operan elemento a elemento • Valores van desde 0 al 1, como se comporta seno en el intervalo [0, pi/2] • Ventaja: Los arreglos aparecen perfectamente alineados! seno de 9 valores equispaciados entre 0 y pi/2, con una sola llamada a la función sin(arreglo)

  12. Arreglos aleatorios • El modulo NumPy tiene a su vez otros módulos que poseen funciones adicionales a los arreglos. • El modulo numpy.random posee funciones para crear números aleatorios. • La función random entrega un arreglo de números al azar entre 0 y 1.

  13. Obtener elementos del arreglo • Cada elemento del arreglo tiene un índice (como las listas). El primer elemento tiene índice 0. Ultimo también es -1 • Una sección del arreglo puede ser obtenida con el operador de rebanado arreglo[i:j]

  14. Obtener elementos del arreglo • Si el primer índice es omitido, el rebanado comienza desde el principio del arreglo: • Si el segundo índice es omitido, el rebanado termina al final del arreglo

  15. Obtener elementos del arreglo • Con un tercer índice se indica cuantos elementos se incluirán en el resultado:

  16. Obtener elementos del arreglo • Tip: Considerar que los índices no se refieren a los elementos, sino a los espacios entre los elementos

  17. Arreglos Bidimensionales • Los arreglos bidimensionales son tablas de valores en donde cada elemento de un arreglo bidimensional esta en una fila y en una columna. • En matematicas los arreglos bidimensionales son conocidos como matrices, y son bastante utilizados en problemas de ingenieria. • Cada elemento de un arreglo bidimensional se identifica mediante 2 indices: el de su fila y el de su columna

  18. Crear arreglos bidimensionales • Importar desde NumPy • Los arreglos bidimensionales se crean utilizando la función array, pasando como argumento una lista con las filas de la matriz: • Las filas deben tener el mismo largo o:

  19. Crear arreglos bidimensionales • arreglo.shape: retorna una tupla con los tamaños de cada dimension (fila, columna) • a.size: indica cuantos elementos tiene el arreglo (producto de los elementos de arreglo.shape) • len(arreglo): retorna la cantidad de filas (no el tamaño del arreglo) • zeros(filas, columnas) y • ones(filas, columnas): crean arreglos bidimensionales con 1 o 0 según correspondan, con la cantidad de filas y columnas pasadas como parámetro:

  20. Crear arreglos bidimensionales • Y asi.. De muchas formas mas:

  21. Operaciones con arreglos Bidimensionales • Las aplicaciones sobre matrices también son termino a termino • En una operación, ambas matrices deben tener la misma forma, o si no..

  22. Operaciones con arreglos bidimensionales • arreglo.reshape(filas, columnas): entrega un arreglo que tiene los mismos elementos pero de otra forma (filas x columnas = cantidad de elementos del arreglo)

  23. Obtener elementos de un arreglo bidimensional • Para obtener elementos desde el arreglo, se debe indicar el indice de la fila «i» con su columna «j», mediante a[i,j]

  24. Obtener elementos de un arreglo bidimensional • Se pueden obtener secciones rectangulares del arreglo con el operador de rebanado con los indices:

  25. Obtener elementos de un arreglo bidimensional • Para obtener una fila completa, se debe indicar el índice de la fla y poner «:» en las columnas:

  26. Obtener elementos de un arreglo bidimensional • El numero de dimensiones es igual a la cantidad de rebanados que ha en los índices

  27. FIN

More Related