Business
Intelligence and
Analytics
Minería de Datos: Taller
Introductorio a Python
POR: Ing. Luis Martínez, MSc
25 DE MAYO, 2021
Programación
Programación
La programación es el acto de ingresar instrucciones para que la
computadora las realice. Estas instrucciones pueden agrupar algunos
números, modificar texto, buscar información en archivos o
comunicarse con otras computadoras a través de Internet.
Todos los programas usan instrucciones básicas como bloques de
construcción.
Programación
Instrucciones en español
“Haz esto, luego haz esto”
“Si esta condición es verdadera, haz esta acción; si no, haz esta
acción.
“Haz esta acción exactamente 27 veces”
“Sigue haciendo esto hasta que la condición sea verdadera”
Programación
Ejemplo de instrucción en Python
➊ passwordFile = open('SecretPasswordFile.txt')
➋ secretPassword = passwordFile.read()
➌ print('Enter your password.')
typedPassword = input()
➍ if typedPassword == secretPassword:
➎ print('Access granted')
➏ if typedPassword == '12345':
➐ print('That password is one that an idiot puts on their luggage.')
else:
➑ print('Access denied')
Programación
Encontrar ayuda (ejemplo)
>>> '42' + 3
➊ Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
'42' + 3
➋ TypeError: Can't convert 'int' object to str implicitly
>>>
Programación
Encontrar ayuda (ejemplo)
Breve Introducción a Python
• Creado a principios de los 90 por Guido van Rossum
• Nombre procede del programa de la BBC “Monty Python’s
Flying Circus”
• Código abierto
• “Poderoso” lenguaje de programación “fácil” de aprender
• Lenguaje interpretado
– Programación orientada a objetos
– Programación imperativa
– Programación funcional
• Indentación
• Amplia biblioteca estándar
• Modo de trabajos: interactivo o fichero
Intérprete
• Modo Interactivo
– Arrancar un intérprete: python, python3
– Escribir una expresión en el intérprete
– Evaluar la expresión
Indentación
Indentación
passwordFile = open('SecretPasswordFile.txt')
secretPassword = passwordFile.read()
print('Enter your password.')
typedPassword = input()
if typedPassword == secretPassword:
print('Access granted')
if typedPassword == '12345':
print('That password is...’)
else:
print('Access denied')
Python
Indentación
passwordFile = open('SecretPasswordFile.txt')
secretPassword = passwordFile.read()
print('Enter your password.')
typedPassword = input()
if typedPassword == secretPassword:
print('Access granted')
if typedPassword == '12345':
print('That password is...’)
else:
print('Access denied')
Google Colab
Google Colab
un ambiente de desarrollo en Python que corre en el
navegador usando Google Cloud.
Jupyter Notebook
fue creado para poder mostrar de manera más sencilla el
trabajo de programación. Permite combinar código,
comentarios, multimedia, textos y visualizaciones en un
documento interactivo llamado “cuaderno (notebook)”.
Variable
• Una variable…
Referencia a un lugar en memoria donde se puede guardar,
modificar y acceder a información.
>>> spam = 40 >>> spam = 'Hello'
>>> spam >>> spam
40 'Hello'
>>> spam = spam + 2 >>> spam = 'Goodbye'
>>> spam >>> spam
42 'Goodbye'
Variable
Nombrar variables
Un buen nombre describe lo que contiene. Si nos mudamos y a
todas las cajas le ponemos “Cosas” sería difícil encontrar
cualquier cosa.
Python tiene algunas restricciones al nombrar variables. Tres
reglas:
1. Solo puede ser una palabra sin espacios
2. Puede usar letras, números y el guión bajo ( _ )
3. No puede empezar con un número
Nombre de variable es sensible a mayúsculas.
Variable
Nombrar variables
Nombre de variables Nombre inválidos
válidos
balance_actual balance-actual (guión no está permitido)
balanceActual balance actual (espacios no permitidos)
cuenta4 4cuenta (no puede empezar con números)
_42 42 (no puede empezar con números)
SUMA_TOTAL $UM_TOTAL (caracteres especiales como el $ no
están permitidos)
holla 'hola’ (caracteres especiales como ‘ no están
permitidos)
Variable
Ejemplo
>>> height = 1.79
>>> weight = 68.7
>>> 68.7 / 1.79 ** 2
>>> height
21.4413
1.79
>>> weight / height ** 2
Calcular BMI
21.4413
>>> bmi = weight / height ** 2
>>> bmi
¿?
Tipo de estructuras
• Simples: números enteros, real, booleano, cadena de texto…
• Complejos: agregaciones de variables. Estructuras de datos.
– Listas
– Tuplas
– Diccionarios (key, value)
Tipos de datos Ejemplos
Enteros / Integers -2,-1,0,1,2,3,4,5
Decimal / Floating point -1.25,-1.0,-0.5,0.0,1.0
Cadenas / Strings ‘a’, ‘aa’, ‘Hola!’, ‘2 carros’
Tipos
Ejemplo
>>> type(bmi)
float
>>> today_date = 17
>>> type(today)
int
>>> x = ‘hola’
>>> type(x)
str
Listas
Problema… Muchos datos. Ej. Altura de la familia completa.
>>> height1 = 1.73
>>> height2 = 1.64
>>> height3 = 1.61
>>> height4 = 1.89
[a, b, c]
>>> [1.73, 1.64, 1.61, 1.89]
Listas
Entender una lista
>>> [1.73, 1.64, 1.61, 1.89]
1.73 1.64 1.61 1.89
Listas
Entender una lista
>>> [1.73, 1.64, 1.61, 1.89]
1.73 1.64 1.61 1.89
Agregar uno nuevo
.append(1.51)
1.73 1.64 1.61 1.89 1.51
Operadores en Python
Operador mat. Operación Ejemplo Evalua a
** Exponente 2 ** 3 8
% Modulo/resto 22 % 8 6
// División entera 22 // 8 2
/ División 22 / 8 2.75
* Multiplicación 3*5 15
- Resta 5–2 3
+ Suma 2+2 4
Operadores en Python
Operador lóg. Operación
Diferencia entre = y ==
== Igual a
>>> spam = 40
!= No igual a >>> spam
40
< Menor que >>> spam == 42
False
> Mayor que
<= Menor que o igual a
>= Mayor que o igual a
Expresión (and) Evalua a Expresión (or) Evalua a
True and True True True or True True
True and False False True or False True
False and True False False or True True
False and False False False or False True
Algunas funciones básicas de Python
Expresión Operación Evalua a
‘Alice’ + ‘Bob’ Concatenar ‘AliceBob’
‘Alice’ * 3 Replicar ‘AliceAliceAlice’
print(‘Hello world’) Mostrar ‘Hello World’
len(‘Luis’) Tamaño 4
str(29) Convertir a texto ’29’
int(’29’) Convertir a entero 29
float(’29.10’) Convertir a decimal 29.10
Control de flujo
• Condiciones: controlar el flujo según el estado actual
– If, elif, else…
• Bucles: operaciones iterativas que permite realizar un
conjunto de acciones determinadas hasta que se cumpla cierta
condición.
– for, while…
• Interadores y generadores
Control de flujo
Control de flujo
if name == 'Alice':
print('Hi, Alice.')
else:
print('Hello, stranger.')
Funciones, clases y objetos
• Funciones: bloques de código que permiten encapsular un
comportamiento común
• Objeto: cierta entidad que presenta un conjunto de datos y
funciones
• Clase: plantilla para la creación de objetos
Funciones
• Funciones: bloques de código que permiten encapsular un
comportamiento común
Funciones
• Funciones: bloques de código que permiten encapsular un
comportamiento común
➊ def hello(name):
➋ print('Hello, ' + name)
➌ hello('Alice')
hello('Bob')
Funciones
• Funciones: bloques de código que permiten encapsular un
comportamiento común
def hello(name):
print('Hello, ' + name)
Funciones
Función de MAX
[1.73, 1.64, 1.61, 1.89] max() 1.89
>>> fam = [1.73, 1.64, 1.61, 1.89]
>>> max(fam)
1.89
Funciones
Función de ROUND
>>> round(20.523,2)
¿?
Librerías
• Librerías:
Agrupación de funcionalidades que amplían el lenguaje de manera amigable
y reutilizable
– Numpy:
• Numerical Python. Contiene arreglo multi dimensional y estructuras de
matrices. Librería implementada sobre C. Mayor rapidez.
– Scipy:
• Scientific Python. Agrega a Numpy: Transformadas de Fourier, Proceso de
Optimización, matrices dispersas, etc…
– Pandas:
• funcionalidades clave para limpiado, formateo y procesamiento de claves.
Utiliza matplotlib para visualizaciones.
– Matplotlib:
• generación de gráficos.
– Scikit Learn:
• basado en pandas, NumPy, SciPy y Matplotlib. Implementación de algoritmos
de aprendizaje automático.
Librerías
• Importando librerías o módulos:
Archivo operaciones.py con el siguiente contenido:
## archivo operaciones.py
def suma(x,y): return x+y
def resta(x,y): return x-y
def multiplicacion(x,y): return x*y
def division(x,y): return x/y
Importando y usando libreria
>>> import operaciones
>>> import operaciones as ops
>>> operaciones.suma(2,3)
5
>>> ops.suma(2,3)
5
Librerías
• Importando librerías o módulos:
Importar paquete de numpy
import numpy
import numpy as np
numpy.array([1,2,3])
np.array([1,2,3])
Referencias
• Referencias:
– Automate the Boring Stuff with Python by Al Sweigart. 2nd Edition.
– Introducción a Python por Carmen Graciani Díaz, Universidad de Sevilla.
– Introduction to Python por Hugo Bowne-Anderson.
• Lecturas recomendadas:
– Automate the Boring Stuff with Python by Al Sweigart. 2nd Edition.
– Everything about Python – Beinner to Advanced. Medium.
– LearnPython.org
– Introducción a Python. Readthedocs.io
MUCHAS GRACIAS
Ing. Luis Martínez, MSc
luisadrianml (829)712-6429
[email protected]