Introducción a Python y Ciencia de Datos
Aprendé los fundamentos de Python y aplicalos al análisis de datos con Google Colaboratory, Pandas y un proyecto integrador.
$ 150.000,00
Modalidad
A confirmar.
Duración
28 horas reloj.
Objetivos
¿Para quien es
este curso?
El curso está dirigido a personas que desean iniciarse en programación y ciencia de datos con Python. El recorrido comienza desde los conceptos fundamentales y no exige experiencia previa específica.
Introducción a la ciencia de datos y aprendizaje automático. En esta clase se introducen, por un lado, los conceptos básicos de ciencia de datos. La importancia y el valor de los datos y el big data como motor de generación de conocimiento. Se presentan los desafíos, el alcance y las posibilidades que ofrece aprender ciencia de datos. Por otro lado, se presentan las ideas principales del aprendizaje automático, es decir la manera en que podemos enseñar a las computadoras a aprender y tomar decisiones a partir de datos. Aquí se enfatizarán las similitudes con las formas en que los humanos aprendemos: a partir de ejemplos y con mecanismos de recompensa, entre otras estrategias.
Introducción a python y entorno de programación google colaboratory. En esta parte comenzamos presentando el entorno de programación que utilizaremos a lo largo del curso, que se denomina google colaboratory (o colab). La gran ventaja de este entorno de programación es que no requiere instalar nada en la computadora, celular o dispositivo donde aprenderemos a programar. El entorno se ejecuta online. A través de internet accedemos a una máquina remota (en algún lugar del mundo) donde ejecutamos nuestros programas. Aquí nos familiarizaremos con el entorno, las posibilidades y la funcionalidad que ofrece colab. Además comenzaremos estudiando los elementos más básicos de python, escribiendo nuestro primer programa python usando el entorno colab.
Tipos de datos. En lenguaje python presenta flexibilidad en el tipo de datos que puede manejar. En esta parte presentaremos los tipos más importantes de datos para poder representar texto o caracteres como la letra “a” o “z” y diferentes tipos de números. Entre ellos se destacan los enteros como: -1, 4, 20, -30, etc o los decimales, que en python se llaman “float”: 1.34 o el 345.67 (en python en vez de, para el decimal usamos el.). Introducimos estos tipos de datos, su utilidad en diferentes situaciones y las operaciones que podemos hacer con ellos.
Cadenas. En este capítulo presentamos las cadenas de caracteres: letras, palabras, frases. Por ejemplo: “a”, “perro”, “la casa es linda” son cadenas de caracteres. En python a una cadena se la denomina “string” (cadena en inglés). El lenguaje python ofrece muchas maneras de poder manipular cadenas. Por ejemplo, juntarlas, seleccionar partes de una frase, contar cuántas veces aparece una palabra dada en una frase, etc. Veremos que toda esta funcionalidad es muy útil cuando queremos analizar datos que vienen en forma de texto.
Listas. Aquí presentamos las listas, que son los elementos básicos en los que guardamos y organizamos la información en python. Serían una generalización de lo que entendemos por lista en la vida cotidiana. Por ejemplo, podemos tener una lista de compras, donde cada elemento de la lista es un producto distinto. También podemos tener una lista de objetos que son todos del mismo tipo, como ser una lista de calificaciones, donde cada elemento es un número, etc. Aprenderemos a manipular, obtener información, combinar y generar listas, que nos ayudarán a organizar los datos en diferentes contextos.
Condicionales. Un programa de computación es como un asistente que nos puede ayudar a hacer diferentes tareas. A veces esas tareas pueden ser elegir algo que cumpla cierta condición. Por ejemplo, decidir si alguien está aprobado o no en un examen (si se aprueba con 6). Si lo hiciéramos “a mano” simplemente veríamos la nota y si cumple con la “condición” de aprobación lo elegimos. En este capítulo aprenderemos cómo hacer en python esta elección automáticamente (como lo haría un humano), evaluando si se cumple o no una dada condición. También veremos cómo combinar condiciones, por ejemplo elegir a los que aprobaron con nota mayor que 6 y menor que 8, o con 6 o 9.
Bucles. Supongamos que yá aprendimos cómo hacer que python seleccione un alumno aprobado (como en el capítulo anterior). Ahora tenemos una lista de 10 alumnos, ¿cómo los seleccionamos? Bueno, si son sólo 10 podríamos hacerlo “a mano”. Pero ¿si son 1000 o 10000? nos llevaría mucho tiempo. En este capítulo vamos a ver cómo python puede hacer esta tarea tediosa de recorrer una lista tan larga y decidir si lo selecciona como aprobado. Estos recorridos en programación se llaman “bucles” o a veces se usa la palabra en inglés “loop” que quiere decir lo mismo. Aprenderemos cómo hacer loops en diferentes situaciones relacionadas con datos. De lo que veamos en el capítulo 6 y 7 debería empezar a quedar claro que un programa de computación es un asistente que nos “ayuda” a hacer tareas que, si bien son simples para los humanos, son muy “aburridas”, repetitivas y lentas. La máquina lo podrá hacer en forma eficiente, sin equivocarse (si nosotros no nos equivocamos al programarla!) y mucho, muchísimo
Funciones. Para sumar dos números se hace siempre la misma operación. Lo mismo para multiplicar, es decir no depende de los números que sumemos o multipliquemos, la operación siempre es la misma, siempre se hace la misma “función”: sumar o multiplicar. Python tiene funciones yá armadas (predefinidas) que hacen las operaciones usuales, suman, multiplican, dividen, ordenan una lista de números de mayor a menor, transforman una oración de minúscula a mayúscula, etc. Pero para tareas más específicas python ofrece una manera de armar nuestras propias funciones, es decir “definir” nuestras funciones. En este capítulo aprenderemos algunas (hay muchas) de las funciones predefinidas de python más usuales, y también aprenderemos cómo definir nuestras propias funciones “a medida” de nuestras necesidades. Este es probablemente uno de los capítulos más importantes del curso porque combina mucho de lo anterior y prepara el camino para los capítulos siguientes.
Funciones. En este capítulo aprenderemos algunas (hay muchas) de las funciones predefinidas de python más usuales, y también aprenderemos cómo definir nuestras propias funciones “a medida” de nuestras necesidades. Este es probablemente uno de los capítulos más importantes del curso porque combina mucho de lo anterior y prepara el camino para los capítulos siguientes.
Diccionarios. Los diccionarios son estructuras de datos que “imitan” lo que es un diccionario o una agenda en lenguaje ordinario. Cada elemento de un diccionario tiene dos elementos: una “clave” y un “valor” asociado. Por ejemplo, una agenda con números de teléfono tiene una estructura de diccionario python, donde la clave es el nombre y apellido de la persona y el número de teléfono su valor asociado. En esta parte aprenderemos a construir diccionarios en python, veremos su utilidad, sus diferencias, ventajas y desventajas frente a las listas, como así también su uso en ciencia de datos.
Introducción a Pandas para análisis de datos. Una ventaja de python es la gran cantidad de librerías específicas que posee para diferentes tipos de tareas. Una librería es una colección muy grande de funciones predefinidas (como se explica en el capítulo 8) para ejecutar tareas específicas. Una de las librerías más importantes de python para tratamiento de datos es Pandas.
En este capítulo aprenderemos los fundamentos de Pandas para análisis de datos. Veremos cómo podemos usar Pandas para descargar datos, limpiarlos, hacer operaciones con esos datos, como seleccionar (“filtrar”) algunos de ellos, etc. y representarlos gráficamente. Este capítulo además es una oportunidad de presentar en contexto las herramientas de estadística básicas que se usan en ciencia de datos.
Proyecto integrador de análisis de datos básico. Con todas las herramientas anteriores, particularmente Pandas (que engloba gran parte de las clases previas) haremos un proyecto integrador de análisis de datos básico, pero autocontenido. Podremos elegir algún tema y trabajar sobre el mismo, tratando de extraer información a partir de los datos. Para ello utilizaremos conjuntos de datos accesibles públicamente (no hay que pagar a nadie para accederlos). Este proyecto pondrá en práctica muchos de los conceptos vistos a lo largo del curso.
Condiciones de aprobación a confirmar.
Condiciones de aprobación a confirmar.