0% encontró este documento útil (0 votos)
99 vistas75 páginas

Clase 4 - Introducción A La Programación Con Python II

Este documento presenta una introducción a la programación con Python. Explica conceptos clave como estructuras de control (for, while, if), funciones, argumentos y retorno, y tipos de datos. El objetivo es que los estudiantes comprendan las nociones básicas de la programación estructurada en Python como una herramienta para resolver problemas de manera ordenada y lógica.
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)
99 vistas75 páginas

Clase 4 - Introducción A La Programación Con Python II

Este documento presenta una introducción a la programación con Python. Explica conceptos clave como estructuras de control (for, while, if), funciones, argumentos y retorno, y tipos de datos. El objetivo es que los estudiantes comprendan las nociones básicas de la programación estructurada en Python como una herramienta para resolver problemas de manera ordenada y lógica.
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/ 75

Clase 04.

DATA SCIENCE

INTRODUCCIÓN A LA
PROGRAMACIÓN CON
PYTHON II
Temario

03 04 05

Introducción a la
Introducción a la Programación con
programación con programación con arrays: introducción a
Python (Parte II) Python (Parte II) NumPy

✓ Estructura de ✓
✓ Programa control
✓ Miniconda ✓ Funciones
✓ Nociones ✓ Datos
básicas
✓ IPython

✓ Instalación
Objetivos de la clase

Conocer las distintas formas de desarrollo con


Python

Comprender las nociones básicas de la


programación estructurada.
MAPA DE CONCEPTOS

Basics: Variables,
asignación,
operaciones

Estructuras

Nociones básicas
de Programación

Funciones

Tipos de datos
Test de conocimiento
Por encuestas de Zoom:

1. Queremos definir una variable para almacenar el valor 25.762, ¿


A qué tipo de dato pertenece ?
2. Su empresa quiere guardar en variables el nombre de los
clientes y el nombre de la ciudad del cliente. ¿ Cuál sería el tipo
de variables para almacenar estos valores ?
3. Queremos saber los tipos de variables que mi compañero ha
declarado, sueldo = 1000, Mes = 10 , nombre = ‘Juan’ , ¿ Qué
método puedo utilizar ?
¿Repasamos?
Introducción a la
programación Python
✓ Definición de Programa (Lenguaje compilado vs
interpretado)
✓ Introducción a Python
✓ Nociones básicas: variable asignación, expresiones
✓ Objetos y punteros
✓ Operadores
○ Operadores aritméticos.
○ Operadores de asignaciones
○ Operadores de comparación
○ Operadores de identidad y pertenencia
¡Vamos a Kahoot!
Estructuras de control
Estructuras de control:
FOR, WHILE, IF
¿Qué son y para qué sirven?
✓ Las estructuras de control sirven para ✓ Las estructuras de control más comunes
dar claridad y orden al código. son:

✓ Si hay que hacer operaciones 👉 For


repetitivas, estas estructuras nos 👉 While
ayudan a organizarlas.
👉 If

👉 Switch (Otros lenguajes e.g C)


Estructuras de ciclos
Estructuras de selección
para ejecuciones
para generación de
repetitivas
condiciones
Estructura condicional
FOR
Estructura FOR
✓ Repite un comando una cantidad fija de veces

for i in range(1,10):
print(i) # muestra los números del 1 al 9

for i in [1,4,6,2]:
print(i) # muestra los números de la lista
Estructura condicional
WHILE
Estructura WHILE
✓ Repite una secuencia de comandos “mientras” una condición se cumpla. Cuando la
condición no se cumple más, termina la repetición.

i = 1
while i < 10: # el código luego de los dos puntos se ejecuta
print(i) # mientras i es menor a 10.
i += 1 # cuando i llega a 10 termina la ejecución
Estructura condicional
IF
Estructura condicional (IF)
✓ Si se cumple una condición, se ejecuta una secuencia de comandos. En otro caso,
se ejecuta otra.
✓ Pueden manejarse más de dos opciones.

x = 1
if x < 10: # Pregunto si x es menor a 10
print(x, "es menor a 10") # Si es así muestro mensaje
elif x > 10: # Si no es así, pregunto si x es
mayor
print(x, "es mayor a 10") # a 10 y si es así muestro mensaje
else: # Si nada de lo anterior se
print(x, "es 10") # cumple, ejecuto esto
Estructura condicional (IF)

Diagrama de flujo condicionales Estructura if-elif-else Python


¿ Cómo calcular el factorial de un
número ?

5! = 5 x 4 x 3 x 2 x 1

10! = 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1

100! = 1 x 2 x 3 … x 99 x 100
Actividad colaborativa
PROBANDO ESTRUCTURAS EN PYTHON
Deberán resolver en grupo dos problemas
reales, utilizando las estructuras aprendidas de
programación en Python en una notebook.

Duración: 15 minutos
ACTIVIDAD COLABORATIVA

Acuerdos
Presencia Apertura al aprendizaje
✓ Participar y “estar” en la clase, que tu ✓ Siempre, pero siempre puedes seguir
alrededor no te distraiga aprendiendo. Compartir el
conocimiento es válido, la construcción
colaborativa es la propuesta.
Escucha activa
✓ Escuchar más allá de lo que la persona
está expresando directamente Todas las voces
✓ Escuchar a todos, todos podemos
reflexionar. Dejar el espacio para que
todos podamos participar.
ACTIVIDAD COLABORATIVA

Optimizando el stock para


una PYME
Consigna: Se tiene una lista con Valores= ✔ Sugerencia: Crear otra lista
[200, 225, 232, 221, 243, 256, 255] que Dias=['Lunes','Martes','Miercoles','Jueves','
representan los precios de una acción de la Viernes','Sabado','Domingo']
compañía X la semana pasada (cada dato para hacer la iteración y utilice un ciclo
representa el promedio diario) con la siguiente estructura
Escribir el código para calcular los días de la for x,y in zip(Dias,Valores): hacer uso
semana donde hubo un retroceso respecto al
día anterior en el valor de la acción de la de la función np.diff y de condicionales
compañía X.

NOTA: usaremos los breakouts rooms. El tutor/a tendrá el rol de facilitador/a.


probando estructuras en python
for - if - while
Dias=
Ejercicio 1: ['Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo']

Solución Valores= [200, 225, 232, 221, 243, 256, 255]


import numpy as np
Dif= np.diff(Valores, n=1)

for x,y in zip(Dias[1:],Dif):


if (x!= 'Lunes') & (y<0):
print(x,y)
Funciones, argumentos
y retorno
Funciones
Funciones
✓ Para trabajar profesionalmente en programación, el
código que se usa en forma repetitiva se organiza en
funciones.
✓ Puede hacerse una analogía con una función
matemática y = f(x): la función f recibe un argumento x,
ejecuta una serie de comandos y devuelve un valor y.
Argumentos y retorno
Argumentos y
retorno
Las funciones tienen al menos 3 elementos:

👉 El nombre de la función
👉 Cero o más argumentos (variables de entrada)
👉 Un valor de retorno (salida de la función)
Sintaxis de una
función
print(x) # función nativa de Python que muestra el valor de x
print(x,y) # print puede mostrar los valores de más de una variable

def suma(x,y): # aquí definimos una función propia con argumentos x e y


z = x + y # la función suma los valores x e y, y asigna resultado a z
return z # el valor de retorno es z

res = suma(2,3) # aplicamos la función definida a los números 2 y 3


# y guardamos el resultado en res
print (res) # mostramos el resultado: 2 + 3 = 5
Ejemplo
def suma(x,y): # Aquí definimos una función “suma”.
z = x + y # Esto es lo que pide el ejercicio
return z

res = suma(2,3) # Aquí probamos la función suma con dos números concretos
# Esta es la prueba para verificar que el código funciona
print (res)
Ejemplo en vivo
¿Cómo el uso de funciones permite resolver
un problema real?
Ejemplo aplicado de
funciones
Un inversor financiero está interesado También sabe que la probabilidad de
en invertir en la compañía. Se propone obtener ganancias (aproximadamente
comprar durante cada día de la 15% en cada inversión) es de 0.56 y la
semana 20 acciones. probabilidad de perder el 18% es 0.44
(Solo hay esas dos opciones).
Ejemplo aplicado de
funciones
✓ ¿Cuál sería el valor esperado al final El precio de la acción cada día entre
de la semana para el inversor? Lunes-Domingo es: Valores= [200, 225,
✓ Crear una función llamada 232, 221, 243, 256, 255]
retorno_semanal que calcule el
valor esperado con la cantidad de Pueden utilizar la siguiente fórmula:
acciones compradas cada día,
probabilidad de ganancia y no
ganancia
¿Preguntas?

Break
¡10 minutos y volvemos!
Tipos de datos
Tipos de datos en
Python
Tipo de dato
✓ Define qué tipos de operaciones se puede hacer
con él. Por ejemplo, un número se puede sumar, REEMPLAZAR
pero un texto no. POR IMAGEN
✓ Python define dos grandes grupos de tipos de
datos: simples y estructurados.
✓ Podemos saber el tipo de un dato x con la función
type(x)

Fuente: Mixtrategy.com
Datos Simples
✓ Los tipos de datos simples están formados por un solo objeto de un solo tipo

Tipo Ejemplo Definición


int x=1 Enteros

float x = 1.0 Punto flotante (decimales)

complex x = 1 + 2j Complejos (parte real e imaginaria)

bool x = True Booleanos o lógicos: verdadero / falso

str x = 'abc' Texto

NoneType x = None Tipo especial para indicar valores nulos


Datos Estructurados
✓ Los tipos de datos estructurados están formados por más de un objeto.
✓ El más utilizado es list, pero no es la única forma de trabajar con este tipo de
datos.

Tipo Ejemplo Definición

list [1, 2, 3] Lista ordenada

tuple (1, 2, 3) Lista ordenada inmutable

dict {'a':1, 'b':2, 'c':3} Diccionario: conjunto de pares clave:valor

set {1, 2, 3} Conjunto, a la manera de un conjunto matemático


Mutabilidad
Mutabilidad
✓ La estructura list es mutable porque ✓ La estructura dict, por su parte,
permite que sus elementos sufran es mutable en sus valores. Sin
modificaciones una vez definida. embargo, es inmutable en sus
✓ Por otro lado, las estructuras claves.
inmutables como las tuplas (tuple)
no admiten esta reasignación de
elementos en tiempo de ejecución
del programa.
IPython, trabajo con
Notebooks
Creando un jupyter
notebook
IPython y notebooks
La clase pasada hablamos un poco sobre Esto imprimirá cierta información
los notebooks. Veamos un poco más a sobre el notebook server en su
detalle el tema🚀 terminal, incluida la URL de la
Para iniciar el cuaderno jupyter, se debe aplicación web (de forma
escribir el siguiente comando en la predeterminada, http: // localhost:
terminal: 8888) y luego abrirá su navegador
web predeterminado a esta URL.
jupyter notebook
IPython y notebooks
Una vez que se abre, verán un panel,
que mostrará una lista de archivos y
subdirectorios en el directorio donde
se inició el servidor de la libreta.

La mayoría de las veces, desearía


iniciar un servidor de notebooks en el
directorio de nivel más alto que
contenga cuadernos. A menudo, este
será su directorio de inicio.
IPython y
notebooks
Para crear un nuevo cuaderno, haga
clic en el botón nuevo (New) en la
esquina superior derecha. Haga clic
en él para abrir una lista desplegable
y luego, si hace clic en Python3, se
abrirá un nuevo cuaderno.
IPython y
notebooks
Celdas en jupyter
notebook
Celdas
Las celdas pueden considerarse
como el cuerpo del Jupyter.

Existen tres tipos de celdas:

1. Código
2. Markdown
3. Raw NBConverter
1. Código
Es donde se escribe el código y,
cuando se ejecuta, el código
mostrará la salida debajo de la celda.
En este ejemplo se crea un código
simple de la serie Fibonacci.
2. Markdown
Markdown es un lenguaje de marcado
popular que es el superconjunto del
HTML. Jupyter Notebook también
admite rebajas. El tipo de celda se
puede cambiar.
2. Markdown
El encabezado se puede
agregar anteponiendo
cualquier línea con un '#'
único o múltiple seguido
de un espacio.
2. Markdown
Se puede agregar Orden
de Jerarquía usando el
signo '*'.
2. Markdown
Permite añadir Ecuaciones en formato Latex y tablas
3. Raw NBConverter
Se proporcionan celdas sin procesar
para escribir la salida directamente.
Esta celda no es evaluada por el
cuaderno de Jupyter. Después de
pasar por nbconvert, las celdas sin
formato llegan a la carpeta de destino
sin ninguna modificación.
Kernel
Kernel
Un kernel se ejecuta detrás de cada
notebook. Siempre que se ejecuta una
celda, el código dentro de la celda se
ejecuta dentro del kernel y la salida se
devuelve a la celda para que se muestre.

Entonces, si se importa un módulo en


una celda, ese módulo estará disponible
para todo el documento, por ejemplo:
Kernel
3. Reiniciar y ejecutar todo: Esto hará
Jupyter Notebook ofrece varias opciones
lo mismo que “Reiniciar y borrar
para kernels. Esto puede ser útil si se
el output”, pero también
desea restablecer cosas. Las opciones son:
ejecutará todas las celdas en el
1. Reiniciar: Esto reiniciará los núcleos, orden de arriba hacia abajo.
es decir, borrará todas las variables
4. Interrumpir: Esta opción
que se definieron, borrará los
interrumpirá la ejecución del
módulos que se importaron, etc.
kernel. Puede ser útil en el caso
2. Reiniciar y borrar el output: Hará lo
de que los programas continúen
mismo que “Reiniciar”, pero también
para su ejecución o si el kernel
borrará toda la salida que se mostró
se atasca en algún cálculo.
debajo de la celda.
Untitled.ipynb
Cuando se crea el cuaderno, Jupyter
Notebook nombra el cuaderno como
Untitled.ipynb de forma
predeterminada.

Para cambiar el nombre del cuaderno,


simplemente haga clic en la palabra
Untitled.ipynb. Esto abrirá un cuadro
de diálogo titulado “Cambiar nombre
del cuaderno”. Ingrese el nombre
válido para su cuaderno en la barra de
texto, luego haga clic en Aceptar.
Instalación de Jupyter
notebooks, uso de
Google Colab
Jupyter Notebooks
Jupyter Notebook es una aplicación Se ejecuta desde la aplicación web cliente que
cliente-servidor lanzada en 2015 por funciona en cualquier navegador estándar.
la organización sin ánimo de lucro El requisito previo es instalar y ejecutar en el
Proyecto Jupyter. Permite crear y sistema el servidor Jupyter Notebook por medio
compartir documentos web en de Anaconda (ver Instalacion Anaconda).
formato JSON.
Los documentos creados en Jupyter pueden
Tiene celdas que permiten almacenar exportarse, entre otros formatos, a HTML, PDF,
código, texto (en formato Markdown), Markdown o Python (-py o .ipynb) y también
fórmulas matemáticas y ecuaciones, o pueden compartirse con otros usuarios por
también contenido multimedia (Rich correo electrónico, utilizando Dropbox o GitHub
Media).
Google Colab
Para utilizarlo basta con acceder a
nuestra cuenta de Google y, o bien
entrar directamente al enlace de
Google Colab.

Otra opción es acceder a Google


Drive, pulsar el botón de «Nuevo» y
desplegar el menú de «Más», luego
seleccionar «Colaboratory» y crear un
nuevo cuaderno (notebook).
Google Colab
La máquina en un inicio cuenta con 12 GB
Cuando creamos un nuevo cuaderno, este
de RAM y 50 GB de almacenamiento en
es «estático», es decir, vemos su contenido,
disco disponibles para el uso.
pero no estamos conectados a ningún
entorno de ejecución.

Nuestro cuaderno se conecta a una VM de


Google Compute Engine (la infraestructura
de máquinas virtuales de Google en la
nube) cuando ejecutamos una celda o
pulsamos sobre el botón de «Conectar».
Actividad colaborativa
CÁLCULO DE ESTADISTICA DESCRIPTIVA BASICA
Aplicando conceptos de programación
estructurada para obtener resúmenes
numéricos

Duración: 20 minutos
ACTIVIDAD COLABORATIVA

Acuerdos
Presencia Apertura al aprendizaje
✓ Participar y “estar” en la clase, que tu ✓ Siempre, pero siempre puedes seguir
alrededor no te distraiga aprendiendo. Compartir el
conocimiento es válido, la construcción
colaborativa es la propuesta.
Escucha activa
✓ Escuchar más allá de lo que la persona
está expresando directamente Todas las voces
✓ Escuchar a todos, todos podemos
reflexionar. Dejar el espacio para que
todos podamos participar.
ACTIVIDAD COLABORATIVA

Optimizando el stock para


una PYME
Consigna: Utilizaremos la información de la 👉 Crear una función que itere sobre cada
Clase 2 asociada con las acciones de diversas columna de las acciones e identifique valor
compañías para resolver las siguientes maximo y minimo
consignas: Hint: Pueden usar las funciones .mean(), .std(),
👉 Por medio de un ciclo (For o While) .var(), .min(), .max() de Pandas
obtener el promedio, desviación estándar y
varianza de cada una de las acciones en cada Se recomienda trabajar en grupos de 2 o 3
columna estudiantes.

NOTA: usaremos los breakouts rooms. El tutor/a tendrá el rol de facilitador/a.


¿Preguntas?
¿Quieres saber más?
Te dejamos material
ampliado de la clase
MATERIAL AMPLIADO

Recursos multimedia

✓ Guia de instalación Anaconda

Disponible en nuestro repositorio.


CLASE N°4

Glosario If: estructura de selección que permite extraer


condiciones de interés
Estructura de control: nos permiten hacer Funciones: estructuras de programación con nombre
operaciones repetitivas y nos dan orden y claridad en propio que reciben argumentos y arrojan un resultado
el código, se dividen en selección y cíclicas, mientras
que las más comunes son (for, while, if) Tipos de datos: estructuras básicas que permiten
realizar operaciones (e.g. números, bool, diccionarios,
Estructuras de selección: son aquellas que nos tuplas, listas, strings)
permiten generar condiciones para una operación
Mutabilidad: cualquier objeto que sea susceptible de
Estructuras cíclicas: nos permiten realizar modificar sus valores luego de ser creado
operaciones repetitivas para una operación
Tipos de celdad Jupyter notebook: pueden ser de
For: estructura cíclica que repite varias veces una tres tipos: 1) código 2) Markdown (para texto y
tarea (hacer hasta) opciones HTML) y 3) RawNBConverter (sin procesar
que no tienen efecto en el código)
While: estructura de control cíclica que permite hacer
hasta que se cumpla una condición de pare (hacer
mientras)
Muchas gracias.
Resumen
de la clase hoy
✓ Nociones básicas: Estructuras de Control, Operadores
y Funciones.
✓ Tipos de datos
✓ Ipython trabajo con notebooks
✓ Instalación de Jupyter notebooks, uso de Google
Colab
✓ El Ambiente de la Industria 4.0
✓ Transformación Digital
✓ Ciclo de vida de un proyecto de ciencia de datos
✓ Valor y retorno de la Ciencia de Datos

También podría gustarte