Subido por José Antonio Huamani Chuquirimay

Fundamentos de programación (3)

Anuncio
Fundamentos de
Programación
Recomendaciones
Mantener los micrófonos silenciados a menos que deseemos
participar
Levantar la mano antes de participar o escribir sus preguntas por
el chat
Educación Ejecutiva
UTEC
JOHN CABALLERO
GERENTE ADJ DATA SCIENTIST
●
Ing. Estadístico/Ms Analytics Management
especialista en Analytics, Machine learning,
deep learning.
●
Experiencia en uso de herramientas cloud para
el desarrollo de Big Data.
●
Docente de metodologías de machine learning
y deep learning.
¿Qué aprenderemos
en el curso?
Agenda
●
●
●
●
●
Introducción a Python
Elementos básicos: tipos de datos,
constantes, variables, operadores,
expresiones aritméticas.
Estructuras de datos: listas
Estructuras selectivas y repetitivas:
Comando If/else, For, While
Módulo Pandas y operaciones básicas
Introducción
a Python
Introducción
●
●
●
Educación Ejecutiva
UTEC
Es un lenguaje orientado a objetos y de alto nivel. Gracias a su sintaxis sencilla es un
muy buen lenguaje para aprender a programar.
Python utiliza módulos y paquetes lo cual fomenta la modularidad y la reutilización de
código.
Python comenzó a concebirse a finales de los 80 y su implementación fue iniciada en
diciembre de 1989 por Guido van Rossum (Países Bajos).
Motivos para su uso
Educación Ejecutiva
UTEC
Motivos para su uso
●
Educación Ejecutiva
UTEC
Python es un lenguaje muy simple, por lo que es muy fácil iniciarse en este lenguaje. El
pseudo-código natural de Python es una de sus grandes fortalezas.
Motivos para su uso
●
Educación Ejecutiva
UTEC
Gran red de apoyo y soporte disponible en foros, blogs, Facebook, etc.
Empresas que usan Python
Educación Ejecutiva
UTEC
Versiones de Python
PYTHON
2
Educación Ejecutiva
UTEC
PYTHON
3
Donde programar en Python
Educación Ejecutiva
UTEC
Interfaz
lenguaje de programación
intérprete
motor -> procesamiento en nube
Educación Ejecutiva
UTEC
Repositorios GIT
Educación Ejecutiva
UTEC
El Zen de
Python
PROGRAMACIÓN CON PYTHON
Hermoso es mejor que feo
Los programadores de Python aceptan la idea de que el código puede
ser hermoso y elegante. En la programación, las personas resuelven
problemas. Los programadores siempre han respetado las soluciones
bien diseñadas, eficientes e incluso hermosas a los problemas. A medida
que aprenda más sobre Python y lo use para escribir más código, alguien
podría mirar por encima de su hombro un día y decir: "¡Vaya, ese es un
código hermoso!"
Lo simple es mejor que lo complejo.
“Si puede elegir entre una solución simple y una compleja, y ambas
funcionan, use la solución simple. Su código será más fácil de mantener
y será más fácil para usted y para otros desarrollar ese código más
adelante.”
Complejo es mejor que complicado
La vida real es complicada y, a veces, una solución simple a un problema
es inalcanzable. En ese caso, use la solución más simple que funcione.
La legibilidad cuenta.
Incluso cuando su código sea complejo, trate de hacerlo legible. Cuando
esté trabajando en un proyecto que implique una codificación compleja,
concéntrese en escribir comentarios informativos para ese código.
Debe haber una, y preferiblemente sólo
una, forma obvia de hacerlo.
Si se le pide a dos programadores de Python que resuelvan el mismo problema, deberían
encontrar soluciones bastante compatibles. Esto no quiere decir que no haya lugar para la
creatividad en la programación. ¡De lo contrario! Pero gran parte de la programación
consiste en utilizar enfoques pequeños y comunes para situaciones simples dentro de un
proyecto más grande y creativo. Los aspectos prácticos de sus programas deberían tener
sentido para otros programadores de Python.
Ahora es mejor que nunca.
Podrías pasar el resto de tu vida aprendiendo todas las complejidades de Python y de la
programación en general, pero luego nunca completarías ningún proyecto. No intentes
escribir un código perfecto; escriba código que funcione y luego decida si mejorar su
código para ese proyecto o pasar a algo nuevo.
Elementos
básicos
Tipos de datos simples en python
●
Son los tipos de datos básicos en python son los elementos fundamentales para
cualquier operación o cálculo.
Numéricos
Educación Ejecutiva
UTEC
Carácter
Booleano
Enteros:
5, 10, 0
Son atributos
basados en texto:
Son atributos que
comprenden dos
valores
Floats:
2.14, 0.05
“Hola”, “Me gusta
python”
Verdadero, Falso
Operadores Aritméticos
●
Educación Ejecutiva
UTEC
Un operador aritmético toma dos valores como entrada, realiza un cálculo y devuelve el
resultado.
Operador
Descripción
Ejemplo
+
Adición
12 + 3 = 15
-
Substracción
12 - 3 = 9
*
Multiplicación
12 * 3 = 36
/
División
12 / 3 = 4
%
Módulo
16 % 3 = 1
**
Potencia
12 ** 3 = 1728
//
División con resultado de número
entero
18 // 5 = 3
Operadores Relacionales
●
Educación Ejecutiva
UTEC
Un operador relacional se emplea para comparar y establecer la relación entre valores.
Devuelve un valor booleano (true o false) basado en la condición.
Operador
Descripción
Ejemplo
>
Mayor que
12 > 3 devuelve True
<
Menor que
12 < 3 devuelve False
==
Igual que
12 == 3 devuelve False
>=
Mayor igual que
12 >= 3 devuelve True
<=
Menor igual que
12 <= 3 devuelve False
!=
Es diferente que
12 != 3 devuelve True
Estructuras
de datos
Listas
Educación Ejecutiva
UTEC
●
Es un conjunto de valores (ítems) separados por comas entre corchetes.
●
Pueden contener ítems de diferentes tipos, pero usualmente los ítems son del mismo
tipo.
●
Las listas son heterogéneas: pueden estar conformadas por elementos de distintos
tipos, incluidos otras listas.
●
Las listas son mutables: sus elementos pueden modificarse
Listas
Educación Ejecutiva
UTEC
●
Los elementos de una lista pueden accederse mediante su índice, siendo 0 el índice del
primer elemento.
●
Los índices de una lista inician de 0 hasta el tamaño de la lista menos uno. Por ejemplo
para la lista 1.
Estructuras
selectivas y
repetitivas
Estructura Selectiva Simple
comando if/else
FALSE
Condición
Educación Ejecutiva
UTEC
TRUE
Proceso
Comando if/else
• Los condicionales if, else, en Python se utilizan para ejecutar una instrucción en caso de que
una o más condiciones se cumplan.
• Un condicional es como el momento en que se debe tomar una decisión en nuestro
programa o script y dependiendo la decisión que se tome ocurrirá una cosa u otra, o ninguna.
• Las estructuras de control de flujo condicionales, se definen mediante el uso de tres
palabras claves reservadas, del lenguaje: if (si), elif (sino, si) y else (sino).
Educación Ejecutiva
UTEC
¿Qué es la identación?
•En un lenguaje informático, la identación es lo que la sangría al lenguaje humano escrito (a
nivel formal).
• No todos los lenguajes de programación, necesitan de una identación, aunque se estila
implementarla, a fin de otorgar mayor legibilidad al código fuente. Pero en el caso de Python,
la identación es obligatoria, ya que de ella, dependerá su estructura.
• Por ejemplo, Una identación de 4 (cuatro) espacios en blanco, indicará que las instrucciones
identadas, forman parte de una misma estructura de control.
Educación Ejecutiva
UTEC
Estructura Selectiva anidada
comando elif
FALSE
FALSE
Condición
1
Educación Ejecutiva
UTEC
Condición
2
TRUE
TRUE
Proceso 1
Proceso 3
Proceso 2
Estructura iterativa
Condición
TRUE
Proceso
Educación Ejecutiva
UTEC
FALSE
Comando For
El bucle for, en Python, es aquel que nos permitirá iterar sobre una variable compleja.
Educación Ejecutiva
UTEC
Comando While
Este bucle, se encarga de ejecutar una misma acción “mientras que” una determinada
condición se cumpla:
Educación Ejecutiva
UTEC
Comando Break
En Python, la instrucción break le proporciona la oportunidad de cerrar un bucle cuando
se activa una condición externa. Debe poner la instrucción break dentro del bloque de
código bajo la instrucción de su bucle, generalmente después de una instrucción if
condicional.
Educación Ejecutiva
UTEC
Módulo Pandas
Librería Pandas
Pandas es una librería de Python especializada
en la manipulación y el análisis de datos. Ofrece
estructuras de datos y operaciones para
manipular tablas.
Educación Ejecutiva
UTEC
Caso: Titanic ML for disaster
El hundimiento del Titanic es uno de los naufragios más infames de la historia.
El 15 de abril de 1912, durante su viaje inaugural, el RMS Titanic, ampliamente considerado
"insumergible", se hundió tras chocar con un iceberg. Desafortunadamente, no había
suficientes botes salvavidas para todos a bordo, lo que resultó en la muerte de 1502 de los
2224 pasajeros y la tripulación.
Enlace del caso: https://www.kaggle.com/c/titanic/overview
Estructura de datos en pandas
Index
Las tablas de pandas son como tablas de
excel, se distribuyen en filas y columnas y
además son observaciones indexadas.
índice
Educación Ejecutiva
UTEC
Agregaciones en pandas
groupby / agg
Las agregaciones se resuelven en pandas
se revuelven mediante métricas de
agregación como promedios, sumas,
conteos, etc.
Educación Ejecutiva
UTEC
Medias móviles en Pandas
Rolling / shift
rolling: Indica el tamaño de la ventana de agregación
shift: Indica el punto de posición donde se colocará el cálculo
Importante:
Para que el cálculo de medias móviles sea correcto es necesario
que los datos estén ordenados de forma temporal
Educación Ejecutiva
UTEC
¿Preguntas?
Gracias!!!
Descargar