Mostrando entradas con la etiqueta S1. Mostrar todas las entradas
Mostrando entradas con la etiqueta S1. Mostrar todas las entradas

2022/07/24

S1 Cierre Semana 1

CIERRE SEMANA 1

En este momento, ya cuenta con los fundamentos de Python necesarios para adentrarte en el mundo de Data Science como un científico de datos.

Se ha visto las partes fundamentales del "Lenguaje de programación Python", se ha trabajado con los 'Tipos de Datos', las 'Variables', las 'Estructuras de Control' y las 'Funciones'.

Además, se ha aprendido el concepto de las Estructuras de Datos y su Aplicación dentro de los programas.

Se espera que todas estas nuevas herramientas te permitan empezar a solidificar tu carrera como Científico de Datos.

En la siguiente semana aprenderá acerca de las Técnicas Relacionadas con: La Recolección y La Preparación de Datos, y se continuara desarrollando juntos pequeños códigos de Python que integran el conocimiento adquirido en esta semana con la nueva información que aprenderás.

¡Mucho éxito!

S1 Mini Checkpoint

MINI CHECKPOINT


En esta segunda parte de la semana, aprendiste los fundamentos de Python necesarios para adentrarte al mundo de Data Science como un científico de datos.

Has visto las partes integrales del lenguaje como lo son: tipos de datos, variables, estructuras de control y funciones.

Además, se ha conocido las estructuras de datos y su aplicación, integrando los conocimientos adquiridos para desarrollar proyectos sencillos con estructuras de datos.


S1 Estructura de Datos Python

ESTRUCTURA DE DATOS EN PYTHON

Para ver las estructuras de datos disponibles en Python.

Estas van a permitir manipular los datos y administrarlos de una manera fácil para  utilizarlo en el campo de data science.

se va a comenzar.

Para ello se va a utilizar otra vez la aplicación Jupyter, ya sabemos cómo abrirla, se va a dar inicio y empezamos a escribir Jupyter.

Esto va a abrir la aplicación, damos enter, esperamos que cargue, y va a abrir el navegador.

Ahora, hay que ir a los cuaderJupyter que están disponibles en el curso.

En mi caso yo los tengo en el escritor, entonces voy a ir a esa ruta, presiono Desktop y cuadernos, y se va a abrir el archivo llamado "estructuras de datos".

Hemos estado revisando lo que son las listas.

Ahora se va a introducir otra nueva estructura que son las tuplas.

Las tuplas son una estructura muy similar a las listas.

La diferencia entre listas y tuplas es que una vez que creas una tupla ya no se pueden estar manipulando los elementos.

Así se quedó la tupla, tal como la creaste.

Una lista ya sabemos que se construye a través de corchetes cuadrados.

se tiene el 1, 2, 3 como un string y la variable true, y si pedimos el tipo de dato da una lista.

Las tuplas de una forma muy similar se construyen con paréntesis, y los elementos intervan separados por comas.

Entonces, la se puede construir así.

se tiene els mismos elementos de la lista y los guardamos en una variable llamada tupla.

Si la imprime le imprime sin ningún problema, y si imprime el tipo de dato dice que es una tupla.

En realidad Python no necesita los paréntesis, los paréntesis son solo por claridad para cuando alguien lea el código pueda visualizar rápidamente que es una tupla.

El constructor realmente de una tupla son las comas.

Entonces,  le se puede dar una tupla sin paréntesis, 1, 2, 3, true y lo imprime, y se escribe el tipo, y lo maneja sin ningún problema.

Ahora, les mencionaba que la diferencia entre tuplas y listas es que las tuplas no se pueden modificar una vez creadas.

Esta propiedad se llama que son inmutables.

Por ejemplo, si tratamos de cambiar el elemento 0 de la tupla va a marcar un errorm y el error dice "objeto tupla no soporta la asignación de elementos".

Tampoco se puede agregar elementos nuevos como lo hacíamos en las listas.

dice "tupla no tiene el atributo append" o anexar.

Ahora, pero ¿cuál es el beneficio de utilizar tuplas comparados con listas? Bueno, lo que va ayudar a la hora de construir tuplas es que como  se quiere que sea estable y no cambie del tamaño la se puede utilizar como retorno de las funciones.

Por ejemplo, imaginemos que se tiene una función "obtener coordenadas".

Sólo necesitamos dos valores: latitud y longitud.

Entonces, no necesitamos regresar a una lista que va a ser manipulable si solamente se tiene esos dos valores, va a ser estático, así como ésta.

Entonces, se puede utilizar una función donde reciba latitud, longitud y lo retorne común como una tupla.

Recordemos que no es necesario utilizar paréntesis pero es recomendable.

Y si mandamos a llamar esta función simplemente va a retornar la tupla en un estado estable, no va a cambiar.

Entonces, ese es el principal beneficio utilizar tuplas contra listas.

Otra estructura de datos muy utilizada son los diccionarios.

Los diccionarios relacionan una llave con un valor fijo.

La manera más común de relacionar los diccionarios con la vida real es literalmente un diccionario, un libro, donde cuando tú buscas una palabra y hace referencia a una definición.

De forma similar aquí se tiene un ejemplo.

se tiene el diccionario "d".

El diccionario se construye a partir de llaves.

Entonces, todos los elementos que van a estar dentro de las llaves van a tener una llave y un valor.

En este caso conseguimos un diccionario de capitales, entonces se tiene el estado y la capital.

Entonces,  lo se puede ejecutar y simplemente lo guardo.

Y ahora, ¿qué tal si se quiere conocer la capital de Tamaulipas? se utiliza de "d", y entre corchetes se escribe el valor que se quiere, sería la llave, y va a retornar la capital, que sería el valor.

Ahora, las listas y tuplas tienen un orden definido.

Accedemos al primer elemento con el índice 0, al segundo con el índice 1 y así sucesivamente.

Los diccionarios no.

Se accede a través de la palabra clave o de la llave.

Por ejemplo, si se utiliza el d[0] en su índice 0 va a marca un error, y dice error de llave, que no existe, ¿por qué? porque en el diccionario nunca definimos la llave 0.

se tiene Aguascalientes, Baja California, pero no hay 0.

Bueno, pero en el diccionario también se puede agregar valores a diferencia de las tuplas.

Qué tal si, supongamos que Texas se une al territorio mexicano, y se quiere agregarlo.

Bueno, simplemente se utiliza d con la llave Texas y le decimos que es igual a Austin.

Y eso lo agrego a el diccionario, lo se puede comprobar imprimiendo el diccionario completo.

se puede ver el diccionario, y hasta el final se encuentra Texas.

Ahora, supongamos que fue un error y Texas nunca se unió al territorio mexicano, pues lo se puede eliminar.

Simplemente se utiliza "del", la función "del" que está incluido dentro de Python, y dentro ponemos el elemento o la llave a la cual se quiere eliminar, haciendo referencia siempre al diccionario.

Y si lo intentamos imprimir ahora va a marcar un error, ¿por qué? Porque Texas no está incluido en el diccionario.

Lo se puede comprobar imprimiendo el valor de d, y aquí está, ya no está dentro del diccionario.

Ahora, recordamos que esto es...

Texas fue incrustado dentro el diccionario pero no significa que siempre va a estar al último.

El diccionario es un conjunto de datos que no tiene orden.

Entonces, no se guían de la orden que muestra aquí porque puede esta cambiar después.

También se puede obtener una lista de todas las llaves, por ejemplo, si se utiliza d.keys() devuelve una lista con todas las llaves que serían todos los estados.

En el caso en particular y si se utiliza d.values va a retornar lo contrario, todas las definiciones, es decir, todas las capitales.

Esa es la funcionalidad básica de un diccionario.

También se va a volver a revisar las listas.

se va a entrar un poquito en detalle.

se tiene una lista que contiene los elementos 1, 4, 3, 4, 8 y 9.

Si se dan cuenta el 4 es un elemento repetido, se pueden repetir sin ningún problema.

Y se puede utilizar el método append para agregar un nuevo valor, entonces lo ejecutamos y se tiene 1, 4, 3, 4, 8, 9, y se anexó el valor 10 que le hemos dicho, sin ningún problema.

Además las listas tienen el método count.

Este va a contar el número de veces que se repite cierto valor.

Por ejemplo, si se utiliza count(4)  ya sabemos que se repite dos veces.

Entonces, si lo ejecutamos precisamente dice eso.

Esto va a servir mucho a la hora de que se quiere describir la información, poder contar los valores repetidos.

Ahora ya sabemos agregar elementos individualmente.

Hemos utilizado el método append, pero ¿qué pasa si se quiere unir múltiples elementos al mismo tiempo? Bueno, para eso existe la función extend, que como el nombre lo dice, extiende la lista con otra lista nueva.

Entonces, si se utiliza esta función  teníamos que la variable "l" contenía 1, 4, 3, 4, 8, 9 y 10, seleccionamos con 3, 4 y 6, pega esos elementos inmediatamente después.

También se puede hacer inserciones en valores específicos, en lugares específicos de la lista.

se tiene el insert, que va a insertar el valor 5 en el índice 1, entonces se tiene el índice 0, el índice 1 y aquí inserto el número 5 y continúa con el resto de lista como si nada hubiera pasado.

Además, se puede utilizar el método pop para eliminar el último valor, y este método pop retorna el elemento borrado.

Entonces,  se puede llamarle, imprimir el pop y va a retornar el 6, ¿por qué? porque era el último elemento y la lista resultante es la lista sin el número 6.

También se puede eliminar elementos específicos.

Si le decimos l.remove(9) va a buscar en la lista el elemento 9, no el índice 9, el elemento 9.

y lo hace sin ningún problema.

También otra función muy útil es cuando se quiere utilizar la lista pero en orden contrario.

Ya sabemos que se puede utilizar un for que vaya desde el último hasta el primero pero también existe la función reverse que invierte directamente la lista completa.

el orden era 1, 5, 4, 3, 4, 8, 10, 3, 4 y el orden contrario es 4, 3, 10, 8...

y continuamos.

Entonces, lo hace sin ningún problema.

Pero esta es una lista que no está ordenada, se va a ordenarla y esto se hace a través del método sort.

Entonces al ejecutarlo da todos los elementos que estaban contenidos pero ya ordenados.

Pero ¿qué pasa si se quiere hacer un orden inverso? Bueno, simplemente le pasamos el parámetro reverse igual a true y si lo ejecutamos lo hace correctamente.

S1 Funciones

FUNCIONES

Se va a ver '¿Qué son las funciones?', '¿Para que sirven?' y '¿Cómo se desarrollan en Python?' 

Para ello, abrir el archivo "Funciones"

Que es la libreta, que es en la que estaremos trabajando.

Las funciones son segmentos de código que permiten agrupar líneas de código para poder ejecutarlas repetidamente, sin tener que estar escribiéndolas una y otra vez.

Su definición se hace a través de la palabra "Def", la palabra reservada en Python.

Seguido del nombre de la función y el número de parámetros que va a llevar.

Los parámetros, son los valores con los cuales  se va a estar evaluando la función.

Después de esto, similar a secuencia 'Ctrl' 'If' lleva dos puntos [ : ] y adentro de ello va a llevar un bloque de código, para después utilizar la palabra reservada "Return" y para poder devolver algún valor, en caso de no llevarlo la función va a regresar un valor vacío.

Ok, entonces empezamos a ver la utilidad.

Ejemplo de la función suma.

Se va a a decir: Define Suma que va a recibir los parámetros 'a' y 'b'.

Y dentro de ella retorna el valor ' a+b ', entonces es muy sencilla la definición que estamos proponiendo.

Entonces se va a mandarla llamar ¿Qué pasa cuando imprime la función suma 2, 8? Bueno, la función va a recibir en ' a ' el valor de '2' y '8' en la variable ' b ' y las va a sumar y eso las va a retornar.

Entonces si la mandamos a llamar va a imprimir la suma de los dos valores.

Bueno pero esto tiene algunas otras utilidades, póngalo con un ejemplo.

¿Cómo se aplica? Por Ejemplo, un impuesto.

Se tiene la función ' Aplicar Impuesto ' que lleva un subtotal es el primer parámetro y el impuesto que se va a aplicar.

Bueno, entonces el impuesto ahí aplicado sería: el 'Subtotal Original', más el Subtotal Multiplicado por ese Impuesto'.

Entonces, si  mandamos a llamar la función 'Aplicar Impuesto' con parámetros '100' y '0.16' Le se va a aplicar un 16% al 100.

Entonces,  esperaríamos un 116 como variable de respuesta.

Ok, una vez definida pues se va a volverla a reescribir, ahora con un impuesto predefinido de '0.16'.

Este, cuando sea llamado, si no le mandamos la variable 'Impuesto' o el 'Valor de Impuesto' de Default.

Va a tomar este como variable que le hubiéramos pasado.

Entonces si se utiliza aplicar impuesto con ' 100 '.

Como no le mandamos éste, esta variable, va a tomar el '0.16' y va a ejecutar la misma operación, entonces vemos que el resultado es idéntico.

Bueno pero entonces lo se puede, Aún así aunque lo tengamos en default pues se puede mandar algún nuevo valor.

Entonces si ejecutamos el valor de ' 100 ' con '0.5' tomará, reemplazará este valor de default de impuesto y imprimira el ' 100 ' más el ' 5% '.

Que es decir ' 105 '.

Ahora, si estamos utilizando el nombre de las variables, se puede cambiar el orden, no afecta nada se puede poner primero el impuesto igual a ' 0.5 ' y el subtotal igual a ' 100 ' y va a arrojar el mismo resultado.

Ahora, estas funciones también se pueden ir concatenando.

Por Ejemplo, se tiene el valor de ' 100 ' y primero le aplicamos un primer impuesto que la función dice que es del ' 16% ' pero digamos que a ese mismo subtotal le se quiere agregar un nuevo ' 5% ' de impuesto.

Entonces el total NO va a dar ' 121.8' que es El '16%' y a ese valor aplicarlo en nuevos '0.5%'.

Ahora veamos otro ejemplo, se utiliza una función para definir el perímetro de un rectángulo que recibe 'a' y 'b'.

entonces el perímetro de un rectángulo es: "2 veces su primer lado, más 2 veces el otro lado" [ P= 2l+2h ] el área del rectángulo, que llamamos ' área rect' Que recibe ' a ' como un lado y ' b ' como otro, pues el resultado es la multiplicación de estos 2 lados.

Entonces,  en Python se puede retornar múltiples funciones al mismo tiempo, recibimos operaciones que recibe 'a' y 'b' y esos mismos valores se lo mandamos como área rectángulo y el perímetro rectángulo, con las mismas variables.

Entonces si yo mandó llamar operaciones '2' y '5' Ahí está.

Estas operaciones van a primero mandar llamar a rectángulo, a área rectángulo y luego perímetro rectángulo y los va a regresar en un solo conjunto de datos.

Entonces, sí le mando ' [2, 5] ' me va a regresar una área de 10, con un perímetro de 14 También, la función pueden servir para números, para listas de números se tiene este ejemplo, se tiene una lista de números que es [4,6,2,7,4,8 y 9] que llamamos 'list of numbers'.

Ahora, en 'Python' hay un conjunto de funciones ya predefinidas no se tiene que estar definiendo todas.

Un ejemplo de esto es la función 'Max' que da el valor máximo, encontrado en una lista, es decir, si la ejecutamos en esta lista debe arrojar el valor 9, de forma contra existe la función 'Min' que va a dar el valor mínimo de la lista, en este caso sería el '2'.

se puede también obtener la sumatoria, es decir, sumar todos los elementos de la lista y esto lo va a ejecutar perfectamente Python.

Además está la función 'len' es otro ejemplo de función muy utilizada en Python que da el número de elementos de una lista.

Si los ejecutamos, lo hace sin ningún problema.

Dijimos [9,2] la sumatoria es 40 y el promedio es 7.

Además se puede usar esas funciones para el beneficio, por ejemplo se va a contrastar, sacar un promedio de forma tradicional, pues necesitaríamos utilizar alguna variable que vaya recolectando los valores y utilizar un ciclo 'for m' en la lista del número, donde cada uno de esos números se vayan acumulando en la variable auxiliar.

Esto lo hacemos de esta forma donde 'aux = 0' y para cada 'n' en la lista de números recordemos que 'n' va a ser en cada insteracción un número de éstos va a ser 'aux + n' y eso se va a guardar en la variable 'm' una vez que hayamos acumulado todos los valores, se puede dividir sobre el número de elementos eso va a dar el promedio.

El promedio es la suma de todos los eventos sobre la cantidad de elementos y eso va a dar el promedio.

Lo se puede imprimir pero se utiliza Python para el beneficio útil, sumemos todos los elementos con la función 'sum' y dividamoslos sobre el número de elementos con la función 'len' entonces estos dos valores son idénticos entonces esto va a ahorrar muchas líneas de código en els proyectos.

Con esto concluimos el tema de "Funciones".

Recordemos que las funciones son muy útiles a la hora de construir els proyectos de 'Data Science'

S1 Estructuras de Control

ESTRUCTURAS DE CONTROL

Cuando hablamos de un programa informático generalmente estamos hablando de una serie de instrucciones que lo componen.

, como programadores, se puede determinar qué instrucciones debemos ejecutar y el orden en cual van a ser ejecutadas.

Para ello se tiene una herramienta muy valiosa llamadas estructuras de control de flujo, o simplemente instructores de control.

Las estructuras de control ayudan a gestionar el orden de ejecución de las instrucciones.

Existen de dos tipos: estructuras de control condicionales y estructuras de control iterativas.

Estas estructuras trabajan con la ayuda de operadores relacionales.

se va a detallar estos conceptos con un cuaderno de trabajo por lo cual abrir el archivo "Estructuras de control de flujo".

Ok.

En la interfaz de Jupyter se va a abrir el archivo mencionado.

Ok, entonces Jupyter recibe con este cuaderno.

se va a ver lo que son operadores relacionales, que son todos aquellos que permiten comparar dos valores.

Tomemos por ejemplo el valor "==" que su significado es "igual que".

Como ejemplo se puede decir: 5 igual que 7.

Esto directamente es falso, 5 no es igual que 7.

Entonces, el resultado de esta pregunta va a ser False.

Distinto qué, que se representa a través del carácter !=.

Si utilizamos el mismo ejemplo: 5 diferentes de 7, pues sabemos  que es verdadero.

Entonces va a arrojar ese valor, un valor True.

Menor que, "<".

Si utilizamos 8 < 12 eso va a arrojar un valor True.

Si usamos mayor que (>) el 12 es mayor que 7, entonces esto da un valor de verdadero.

El menor o igual (<=) funciona similarmente al < con la diferencia de que si los valores son idénticos va a dar verdadero.

De forma similar funciona en >=.

Bueno, también se tiene los operadores lógicos, que esto ayudan a concatenar operadores relacionales a través de ANDs o ORs, que su traducción sería y/o.

Entonces, por ejemplo se tiene 5 == 7 and 3 == 3.

Sabemos que 5 es diferente de 7, por lo tanto la primera parte va a dar un False.

3 es igual a 3 por lo tanto eso va a dar un True, y falso y verdadero por la tabla de verdad del operador and va a dar un falso.

En el segundo ejemplo se tiene 5 <= 7, esto sabemos que es verdadero y 3 == 3 es verdadero.

Por lo tanto verdadero y verdadero va a dar un resultado total de verdadero.

Ahora, con el operador "or".

Este va a ser verdad cuando uno de los dos casos sea verdad.

Entonces, se tiene 5 == 7, eso es falso pero 3 == 3, por lo tanto falso y verdadero va a ser verdadero.

En el caso contrario donde los dos sean falsos, por ejemplo, 5 == 7, pues es falso y 3 != 3 es otro falso, por lo tanto eso va a dar False.

Ahora, pero para qué sirven los operadores lógicos.

Bueno, esto va a funcionar para las estructuras de control condicionales.

La primera de ellas es un if.

Entonces la estructura del if es if, condición, seguido del segmento de instrucciones que se van a ejecutar si la condición del if es verdadera.

Por ejemplo, se tiene if True es verdadero, es un valor booleano.

Entonces va a imprimir: es verdadero.

Si le ejecutamos efectivamente lo hace.

Bueno, pero para eso sirven las condicionales que acabamos de ver.

Entonces, se puede preguntar ¿3 es mayor que 2? pues sí, 3 es mayor que 2.

Entonces lo va a imprimir y en caso contrario ¿3 es menor que 2? Pues no, porque 3 es mayor que 2.

Entonces, simplemente se saltó esta sección.

Ahora, verán que el if al final tiene ":".

En otros lenguajes de programación se utilizan las llaves para abrir y cerrar segmentos.

En Python solamente se utilizan espacios y dentación, por ejemplo, se puede tener aquí otro elemento, print, hola, y estos dos print conforman un mismo segmento.

También se puede, después de haber acabado el if, seguir con el código normal.

Entonces, se tiene, si falso, es decir, no va a entrar, se salta la condición de afuera.

Entonces, eso imprime "afuera del if", se saltó el print que dice "dentro del if".

Además se tiene el if else donde if seguido de una condición es similar a la anterior.

Pero qué pasa si esta condición es falsa, bueno, en este caso va a ejecutar el siguiente segmento.

Aquí se tiene if mayor que 2, pues 3 es mayor que 2, entonces va a imprimir esto.

Por lo tanto no entrará al else.

Efectivamente.

Ahora, utilicemos un par de variables.

Tengamos a == 4 y b==3.

Entonces, preguntamos con el if, si a es mayor a b lo imprime.

Entonces, dentro del if se va a estar utilizando variables, que es el caso común, no se va a estar utilizando variables numéricos solos.

También se tiene la estructura "elif" que es un if compuesto.

Veámoslo con un ejemplo.

se tiene una calificación, un alumno presentó un examen y sacó un valor de 80.

Entonces se quiere que Python imprima si al alumno le fue mal, le fue regular o le fue muy bien.

Entonces, para eso se va a decir "si la calificación del alumno es menor a 50, pues se va a imprimir un mensaje de reprobado".

Entonces, va al if y hace la condicional.

Esto va a dar un false porque el alumno sacó 80, no mede 50.

Por lo tanto se salta el siguiente caso, pasa al primer elif.

Dice, ¿calificación es mayor o igual a 50? Pues en ese caso se tiene un true porque la calificación era de 80, pero hay un "y" (and), entonces hay que checar la segunda condicional, ¿calificación es menor a 90? Sí, porque 80 es menor a 90, entonces va a entrar en ese segmento de código y va a imprimir "aprobado".

El else ya no lo va a ver porque como ya ejecutó el elif se salta directamente hasta después.

Entonces, si lo ejecutamos va a decir que el alumno fue aprobado.

A parte de estas estructuras de control se tiene las estructuras de control cíclicas.

Las dos principales son while y for, que while similarmente al if, es la palabra reserva while seguido de una condición luego de un bloque de instrucciones.

La diferencia del if y el while es que el while se va a estar repitiendo hasta que la condición interna sea falsa.

se puede ver un ejemplo.

Digamos que tengamos un elevador y se tiene un número de personas actual, que se va a suponer al principio que el elevador está vacío.

Entonces hay 0 personas y la capacidad máxima del elevador es 5 personas.

Entonces, se va a decir mientras el número de personas sea menor o igual a la capacidad máxima se va a imprimir una nueva persona al elevador y se va a agregar una persona.

Entonces lo ejecutamos.

La primera iteración va a decir que hay 0 personas en el elevador, que es esta instrucción de aquí.

Después va a agregar a una persona.

Agrega una y vuelve a entrar a este ciclo while.

Va a imprimir una persona al elevador, va a agregar otra, porque todavía el número personas es menor a la capacidad máxima.

Ahí se tiene una persona y la capacidad es de 5.

Esto va a seguir iterando hasta que el 5 ya sea menor o igual a 5.

Entonces, se sale del while y ya no imprime nada, y terminó el ciclo.

El ciclo for, que es el que más se va a estar utilizando, puede iterar a través de listas, las que vimos en un video anterior, por ejemplo, se tiene la lis ta de alumManuel, Antonio, Carlos y José.

 se puede decirle "para cada alumno (ésta es una variable que estamos escogiendo ahorita) en la variable alumno (que hace referencia a la lista) imprime el alumno".

Entonces, en cada iteración esta imprimiendo primero a Manuel, porque es el alumno en turno, luego a Antonio, luego a Carlos y luego a José.

Pero no nada más se va a iterar sobre listas, también se puede iterar a través de números.

Para eso se utiliza la función range que dice: vas a crear un rango entre 0 y 10, y para cada uno de esos elementos vas a imprimir la n.

Entonces para la primera iteración genera un 0, genera un 1, 2, 3, 4, y así hasta el 10.

Esa es la explicación de estructuras de control.

Visitar la siguiente página para que conozcas más de estructuras de control y repasar.



S1 Cadenas de Texto y Listas

CADENAS DE TEXTO Y LISTAS 

Se va a ver '¿Qué son las funciones?', '¿Para que sirven?' y '¿Cómo se desarrollan en Python?' Para ello, abrir el archivo "Funciones".

Las funciones son segmentos de código que permiten agrupar líneas de código para poder ejecutarlas repetidamente, sin tener que estar escribiendolas una y otra vez.

Su definición se hace a través de la palabra "Def", la palabra reservada en Python.

Seguido del nombre de la función y el número de parámetros que va a llevar.

Los parámetros, son los valores con los cuales  se va a estar evaluando la función.

Después de esto, similar a secuencia 'Ctrl' 'If' lleva dos puntos [ : ] y adentro de ello va a llevar un bloque de código, para después utilizar la palabra reservada "Return" y para poder devolver algún valor, en caso de no llevarlo la función va a regresar un valor vacío.

Ok, entonces empezamos a ver la utilidad.

Hagamos de ejemplo la función suma.

 la se va a definir, se va a decir: Define Suma que va a recibir los parámetros 'a' y 'b'.

Y dentro de ella retorna el valor ' a+b ', entonces es muy sencilla la definición que estamos proponiendo.

Entonces se va a mandarla llamar ¿Qué pasa cuando imprime la función suma 2, 8? 

Bueno, la función va a recibir en ' a ' el valor de '2' y '8' en la variable ' b ' y las va a sumar y eso las va a retornar.

Entonces si la mandamos a llamar va a imprimir la suma de los dos valores.

Bueno pero esto tiene algunas otras utilidades, pongámoslo con un ejemplo.

Veamos ¿Cómo se aplica? Por Ejemplo, un impuesto.

Se tiene la función ' Aplicar Impuesto ' que lleva un subtotal es el primer parámetro y el impuesto que se va a aplicar.

Entonces el impuesto ahí aplicado sería: el 'Subtotal Original', más el Subtotal Multiplicado por ese Impuesto'.

Si  se llama la función 'Aplicar Impuesto' con parámetros '100' y '0.16' 

Le se va a aplicar un 16% al 100.

Entonces,  esperaríamos un 116 como variable de respuesta.

Ok, una vez definida pues se va a volverla a reescribir, ahora con un impuesto predefinido de '0.16'.

Este, cuando sea llamado, si no se le envía la variable 'Impuesto' o el 'Valor de Impuesto' de Default.

Va a tomar este como variable que le hubiera pasado.

Como no le mandamos éste, esta variable, va a tomar el '0.16' y va a ejecutar la misma operación, entonces vemos que el resultado es idéntico.

Entonces si ejecutamos el valor de ' 100 ' con '0.5' tomará, reemplazará este valor de default de impuesto y imprimira el ' 100 ' más el ' 5% '.

Que es decir ' 105 '.

Ahora, si estamos utilizando el nombre de las variables, se puede cambiar el orden, no afecta nada se puede poner primero el impuesto igual a ' 0.5 ' y el subtotal igual a ' 100 ' y va a arrojar el mismo resultado.

Ahora, estas funciones también se pueden ir concatenando.

Por Ejemplo, se tiene el valor de ' 100 ' y primero le aplicamos un primer impuesto que la función dice que es del ' 16% ' pero digamos que a ese mismo subtotal le se quiere agregar un nuevo ' 5% ' de impuesto.

Entonces el total va a dar ' 121.8' que es El '16%' y a ese valor aplicarlo en nuevos '0.5%'.

Ahora veamos otro ejemplo, utilizamos una función para definir el perímetro de un rectángulo que recibe 'a' y 'b'.

Entonces el perímetro de un rectángulo es: "2 veces su primer lado, más 2 veces el otro lado" 

[ P= 2l+2h ] el área del rectángulo, que llamamos 'área rect' Que recibe 'a' como un lado y 'b' como otro, pues el resultado es la multiplicación de estos 2 lados.

Entonces,  en Python se puede retornar múltiples funciones al mismo tiempo, recibimos operaciones que recibe 'a' y 'b' y esos mismos valores se lo mandamos como área rectángulo y el perímetro rectángulo, con las mismas variables.

Entonces si se llama operaciones '2' y '5' Ahí está.

Estas operaciones van a primero mandar llamar a rectángulo, a área rectángulo y luego perímetro rectángulo y los va a regresar en un solo conjunto de datos.

Entonces, sí le mando ' [2, 5] ' me va a regresar una área de 10, con un perímetro de 14 También, la función pueden servir para números, para listas de números se tiene este ejemplo, se tiene una lista de números que es [4,6,2,7,4,8 y 9] que llamamos 'list of numbers'.

Ahora, en 'Python' hay un conjunto de funciones ya predefinidas no se tiene que estar definiendo todas.

Un ejemplo de esto es la función 'Max' que da el valor máximo, encontrado en una lista, es decir, si la ejecutamos en esta lista debe arrojar el valor 9, de forma contraria existe la función 'Min' que va a dar el valor mínimo de la lista, en este caso sería el '2'.

Se puede también obtener la sumatoria, es decir, sumar todos los elementos de la lista y esto lo va a ejecutar perfectamente Python.

Además está la función 'len' es otro ejemplo de función muy utilizada en Python que da el número de elementos de una lista.

Si los ejecutamos, lo hace sin ningún problema.

Además se puede usar esas funciones para el beneficio, por ejemplo se va a contrastar, u obtener un promedio de forma tradicional, pues necesitaríamos utilizar alguna variable que vaya recolectando los valores y utilizar un ciclo 'for m' en la lista del número, donde cada uno de esos números se vayan acumulando en la variable auxiliar.

Esto lo hacemos de esta forma donde 'aux = 0' y para cada 'n' en la lista de números recordemos que 'n' va a ser en cada interacción un número de éstos va a ser 'aux + n' y eso se va a guardar en la variable 'm' una vez que hayamos acumulado todos los valores, se puede dividir sobre el número de elementos eso va a dar el promedio.

El promedio es la suma de todos los eventos sobre la cantidad de elementos y eso va a dar el promedio.

Lo se puede imprimir pero utilizamos Python para el beneficio útil, sumemos todos los elementos con la función 'sum' y dividalos sobre el número de elementos con la función 'len' entonces estos dos valores son idénticos entonces esto va a ahorrar muchas líneas de código en los proyectos.

Con esto se concluye el tema de "Funciones".

Recordemos que las funciones son muy útiles a la hora de construir els proyectos de 'Data Science'

S1 Variables Python

 VARIABLES EN PYTHON

Ya que se conoce como funcionan las variables en el mundo real, se va a ver ¿Cómo funcionan en el mundo de Python? Entonces una vez que se abra la aplicación Jupyter se va a los cuadernos de Python.

Estos, se almacena en el escritorio o en Descargas en la carpeta de cuadernos y se va a abrir el archivo tipos de variables.

Esto lo se va a hacer en Jupyter donde se va a buscar: La carpeta Escritorio/Cuadernos/Tipos de Variables.

Una vez abierto se puede ver que el cuaderno está preparado, entonces se lo va a analizar poco a poco.

Entonces, Python es un lenguaje de tipo dinámico (Dynamic Typing) eso implica que no hay que decirle, de que tipo son las variables, Python es lo suficientemente inteligente para deducir de qué tipo son.

Esto lo hace viendo que hay a la parte de la derecha del igual, analizándolo y guardándolo en la variable.

Entonces aquí hay un Ejemplo: ' x = 12 ' en otros lenguajes como en Java tendríamos algo similar a esto "int x = 12" en Python simplemente lo ponemos "x = 12" y se puede empezar a utilizar esa variable llamada 'x' y le imprime sin ningún problema.

Ahora, ¿Cómo Python dedujo correctamente el tipo de variable? 

Bueno, se puede imprimir el tipo, utilizamos la función 'print' seguida de una función llamada 'type' y la variable elemento, ejecutamos y dice: "Clase Tipo Entera"

Ahora en Python a diferencia de otros lenguajes, se puede utilizar números enteros tan largos como se quiera, solamente limitados por la Memoria RAM de la máquina.

Ahora, aparte del entero utilizamos variables de tipo 'flotante'.

Por ejemplo, se tiene aquí ' f = 5.26 ' La imprime al igual que al entero y va a imprimir de que tipo es, sin ningún problema.

Va a decir "Clase Tipo Float".

De forma similar se utiliza la Notación Científica, se tiene ' 12.2e4 ' esto implica que a partir del 12.2 el punto lo va a dejar recorrer ¿Cuántas veces? pues el número de veces que le diga.

A parte de los enteros y los flotantes se puede utilizar números imaginarios esto lo hace con una notación semejante a esta, donde se tiene el valor de la parte entera y seguido de la parte imaginaria separados por un operador (+) Entonces se tiene: " 2 + 4i " Lo que comúnmente sería ' 4i ' y aquí lo manejamos como ' 4j ' y puede imprimir el tipo de variable.

Esto indica que la variable " i " es de tipo Compleja y se puede hacer operaciones con números imaginarios, de forma como lo haríamos con cualquier 'entero' o 'flotante'.

Otro tipo de dato muy interesante Python, son las 'Cadenas de Texto' en este ejemplo se tiene que 's' es igual a " Hola Mundo " (s = Hola Mundo) si imprime el tipo de esa variable lo imprime correctamente, que es de clase ' str ' siendo una abreviación de la palabra " String ".

demás se puede hacer uso de valores 'Booleanos' se tiene 'b = True' donde 'True' la primera letra tiene que llevar Mayúscula, de forma similar puede ser 'False', donde la 'F' tiene que ser Mayúscula.

Son los únicos 2 valores que pueden contener un valor booleano y los procesa sin ningún problema Entonces, los invito a hacer el siguiente Reto.


2022/07/23

S1 Tipos de Datos y Estructuras de Control

TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL 

El constante incremento de la complejidad del entorno y el continuo flujo de información nueva, son los principales retos actuales que se presentan al analizar información.

Una estrategia que las ciencias utilizan para contrarrestar dichos obstáculos es la Creación de Modelos, capaces de representar la realidad de una manera abstracta.

Dentro del área de 'Data Science' nuestra realidad es representada como un conjunto de datos que se busca analizar para identificar solamente la información más relevante del problema que se pretende resolver.

Antes de entrar al Manejo de Datos se debe de familiarizar con algunos términos básicos del área.

La palabra "Data" dentro de nuestro contexto de 'Data Science' representa una colección de medidas.

Un 'Data Point', también conocido como 'Observación', hace referencia a las instancias individuales de datos, mientras que, un 'Dataset' es un conjunto estructurado de 'Data Points'.

Cada Data Point puede contener múltiples tipos de información o 'Data Types', números, textos, fechas.

Cuando agrupamos los Data Points según estas características, observaciones que tienen las variables del 'Data Pool'.

Ilustrar esos conceptos apoyándose en el Siguiente Ejemplo: Imagine que se quiere encontrar si existe una relación entre 'Las Horas de Sueño de un Conjunto de Alumnos' y sus 'Calificaciones'.

Entre los datos que se tiene a la disposición para realizar la investigación, resaltan 'La edad', 'Las horas de sueño', 'Las horas de estudio' y 'Las calificaciones finales' obtenidas por múltiples alumnos.

La Data en este caso, se refiere a toda la información recolectada, de los alumnos en el estudio son los diferentes 'Data Points', cada tributo de los Data Points son las variables y en el Data Frame, es toda la Data Organizada de manera Tabular.

Si se observa cada una de las columnas, tiene información referente a los alumnos, se tienen valores numéricos como lo es 'la edad', 'las horas de sueño' y sus 'calificaciones' pero, además se tienen 'nombres de personas', que son representados por cadenas de caracteres.

Continuemos analizando un Segundo Ejemplo: Ahora imaginemos que se trabaja en un banco, y se quiere determinar si una persona es 'Apta' o 'No' para Recibir un Préstamo.

Las variables que se podrían conocer acerca de la persona son datos como: 'Su edad', 'Su género', 'El historial crediticio' que esta persona tiene, 'Su antigüedad como nuestro cliente', entre otras de posible relevancia.

Todas estas variables así como las utilizadas en el ejemplo de los alumnos se pueden clasificar en los siguientes cuatro tipos básicos las variables: numéricas categóricas ordinales y las de texto

Primero se hablara de los datos numéricos es decir todos aquellos datos que pueden ser representados por un número estos datos se subdividen en dos tipos los discretos y los continuos.

Los 'Datos discretos' son aquellos que se pueden cuantificar con valores enteros por ejemplo el número de alumnos, las unidades vendidas por un vendedor, el número de compra de un usuario e incluso el resultado de tirar un dado.

Por otro lado existen: Los Datos 'Continuos', los cuales utilizan números con punto flotante.

Por Ejemplo: La Estatura de una Persona, La Temperatura, El Tiempo de Espera para Pasar a la Ventanilla de un banco, Los Salarios, Entre Otros.

Una manera sencilla de distinguir entre 'Variables Discretas' y 'Continuas' es preguntar si la variable se puede 'Contar' o se puede 'Medir'.

En caso de que sea contada, es una 'Variable Discreta' y en caso de que se pueda medir es una 'Variable Continua'.

Los datos categóricos son aquellos que están asociados a las cualidades del objeto de estudio.

Por Ejemplo: El género de una persona, El color de un objeto, La raza, El estado de residencia, entre otros.

A los elementos de una lista de datos categóricos se les puede asignar un valor entero para manipularlo de una manera sencilla pero esta numeración, no debe representar un orden jerárquico, es decir, ningún elemento tiene más importancia que otro.

Un ejemplo que ilustra lo anterior es una lista donde a cada color le asignamos un número de forma aleatoria, "1" para el color 'Rojo', "2" para el color 'Azul', "3" para el color 'Verde' y así sucesivamente para otros colores.

Recordemos que la numeración no indica que un color sea más importante que otro solamente ayuda a distinguir que hay elementos diferentes entre ellos.

Los Datos Ordinales son Datos categóricos, ordenados jerárquicamente, esto sucede cuando se evalúa a los conductores de Uber, la asignación de una calificación de una película o la calificación de los productos que se compran por Internet.

Donde uno evalúa los productos se utiliza palabras como Bueno o Malo.

El usuario sabe que un producto es Bueno y que es superior a un producto evaluado como Regular o como Malo.

Por último, los datos de Tipo Texto son los datos que podemos observar usualmente en 'Comentarios', 'Publicaciones' o 'Tweets'.

Como su nombre lo indica, son campos de texto sin una estructura establecida.

Este tipo de datos se vera más adelante.

S1 Cuaderno de Trabajo

CUADERNO DE TRABAJO: PRIMERA SEMANA

Todo el material que se utilizara durante esta semana se encuentra en una carpeta Descargas llamada “Semana 1”.

Se recomienda que coloques dicha carpeta en el Escritorio para que sea fácil ubicarla y utilizarla.

Los proyectos de la semana están contenidos en la carpeta adjunta, que a veces requieren de bases de datos o de imágenes adicionales para funcionar, es por eso que incluye subcarpetas de data y de img.

Es importante que no muevas de lugar ningún archivo existente, pero, si lo deseas puedes agregar contenido adicional a las carpetas.

En libreta y el material adicional que se utilizará durante las prácticas o al describir el tema. Además, se mencionará el enlace de internet del cual se obtuvo la base de datos.

Ten presente que no es necesario descargar las bases de datos desde las páginas mencionadas debido a que ya se encuentran en el material de descarga.

En esta parte del curso has aprendido qué es la ciencia de datos, así como las principales tareas que desarrolla un científico de datos. También, has instalado el software de Python y te presenta la aplicación Jupyter donde juntos desarrollaremos todos nuestros proyectos de Data Science.

Los lenguajes de programación tienen similitudes con los idiomas; saber leer y escribir español no te convierte necesariamente en un novelista. De forma similar, aprender Python no te convertirá automáticamente en un científico de datos, pero, recuerda que Python es la herramienta que utilizarás para convertirte gradualmente en uno.

¡Éxito en lo que resta de la semana!

S1 Explorando Jupiter

EXPLORANDO JUPYTER

Veremos el programa "Jupyter", en el cual pasaremos la mayoría del tiempo en nuestra carrera de 'Data Scientist'.

Primero vamos a ir a inicio, se escribe la palabra 'Jupyter' y ofrece la función "Jupyter Notebook" entonces se va a abrir, la aplicación.

Se abrer la ventana, y se espera un momento.

A veces es necesario, dar un "ENTER".

Aparece 'la ventana principal de Jupyter'.

Aquí se selecciona un cuaderno de trabajo, 'nuestros archivos', 'nuestros cuadernos' que están abiertos actualmente, y se puede 'cerrar sesión' o 'cerrar el programa'.

Al generar un programa nuevo, darle "New" Python 3. [ Ok ] 

Aparece la interfaz, esa es la que se va a estar utilizando constantemente, se va a ver cada una de las opciones.

Primero tenemos este, el logo de: "Jupyter".

Aquí se tiene el título de nuestro cuaderno, aquí es donde se puede renombrar.

Entonces, por ejemplo 'Prueba' y darle un "ENTER".

Entonces ahora el archivo, ya se llama 'Prueba' y si se lo consulta se llama 'Prueba.ipynb' referencia de "IPython Notebook".

Aquí la pestaña "File" da opciones como: 'Crear un nuevo cuaderno' o 'Abrir' un cuaderno, hacer una copia del cuaderno para hacer un 'Duplicado', o se puede 'Guardar' el cuaderno, 'Renombrarlo' (que ésta función es la misma de dar click acá arriba), se puede 'Guardar' un estado actual, para poder regresar a ese estado, que se hace de esta forma.

Aquí si se fijan dice "sábado, 23 de julio" es la última versión de este cuaderno.

Se puede crear, se puede 'Imprimir' el cuaderno, se puede 'Descargarlo' en algún otro formato, a se puede 'Cerrarlo'.

En la pestaña "Edit" en la que se tiene, opciones como: 'Cortar Celdas', 'Copiar Celdas' pero en este momento se podrán preguntar '¿Qué es una celda?'

Una celda es el elemento principal de trabajo.

Es el que va a tener ena área, aquí en 'Jupyter' en la cual se puede: Escribir código de 'Python' y Ejecutarlo.

También, se puede tener 'Marks Down', los cuales permiten escribir texto, si se pone un ' # ' se pueden tener: 'Títulos' o incluso se puede tener 'Texto Común', el cual va a permitir hacer anotaciones en el código.

Una vez establecido '¿Qué es una celda?', se puede empezar a hacer operaciones sobre las celdas, por ejemplo, se puede copiarla, se copia una celda de arriba y se la puede pegar.

Entonces se tiene 'Pegar', 'Eliminar', 'Cancelar la Eliminación de la Celda', se puede 'Dividir una Celda', se puede 'Combinar Celdas', 'Moverlas', 'Cambiar el Orden' y 'Encontrar' algunas Celdas y se puede 'Reemplazar' 

Elementos de la Celda e incluso 'Eliminar los Adjuntos de la Celda'.

También se tiene la pestaña "View", se puede activarla y se puede ocultar herramientas, también esta la pestaña "Insert" que ayuda a insertar 'Celdas' arriba y abajo.

La pestaña "Cell" que permite ejecutar las celdas.

Por Ejemplo, Si pongo el cursor sobre 'print hola' y le doy "Run Cell" la va a ejecutar rápidamente.

También se puede, correr todas las celdas al mismo tiempo, se puede correr las celdas a partir del cursor hacia arriba con "Run All Above" y de las celdas hacia abajo con "Run All Below".

Se puede 'Interrumpir a Python', se puede 'Reiniciarlo', y se puede 'Apagarlo' en caso de que algo salga mal con nuestro código y se quede atorado en algún ciclo infinito, alguna situación similar.

También esta la pestaña de "Help" que va a ayudar en cualquier duda que se tiene, o puede dar una ayuda rápida.

Por Ejemplo aquí está el 'Tour de Python' que lo pueden ir viendo, un paso a la vez.

Después de ver la barra principal de ayuda, se tiene también los botones que están en la sección un poquito más abajo, vamos a ir de izquierda a derecha.

Se tiene 'Guardar', 'Crear una Nueva Celda', 'Cortar', 'Copiar' y 'Pegar Celdas', 'Mover la Celda Hacia Arriba' o 'Mover la Celda Hacia Abajo', 'Ejecutar las Celdas Individualmente', 'Detener el Kernel', 'Reiniciar el Kernel' y 'Reiniciar el Kernel y Ejecutar Todo el Cuaderno'.

También permiter cambiar las Celdas entre Código y Markdown.

Y además el pequeño icono, que es una paleta de comandos, el cual tiene todos los posibles comandos de Python y para usarlo simplemente escribimos lo que se quiere.

Por Ejemplo, si escribimos la palabra 'Move' de Mover, da recomendaciones: 'Mover Celdas Hacia Abajo', 'Mover Celdas Hacia Arriba', 'Mover el Cursor Hacia Abajo' o 'Mover el Cursor Hacia Arriba'.

Entonces cualquier cosa que quieran hacer y se les olvide pueden utilizar el botón help para buscar la opción indicada.

Además a la derecha se tiene un círculo que de momento está 'Blanco', eso indica que el 'Kernel de Python', o sea el motor que va a estar ejecutando las celdas, o está descansando.

Cuando se realiza una acción, se pondrá rápidamente en 'Negro', cuando termine se va a pasar a 'Blanco' eso indica que se manda una carga de trabajo al motor de 'Python' y lo ejecutó.

Entonces si se tiene una carga muy pesada, que no termina, este círculo va a estar en 'Negro' es un indicador que ayudar a saber el estado del motor.

Con esto se termina de ver la Interfaz de "Jupyter" esta será la que se va a estar trabajando al ejecutar los demás cuadernos.

S1 Instalación Python

INSTALACIÓN DE PYTHON 

Para instalar el lenguaje de programación "Python", esto lo hara a través de la distribución "Anaconda", entonces empezar.

Para eso se utilizara el navegador web de preferencia, por ejemplo utilizar 'Google Chrome', se puede utilizar el navegador 'Edge' de Microsoft o 'Mozilla Firefox'.

Entonces para instalar "Python" se va ir directamente a su página web que es "www.python.org".

En 'python.org' ustedes pueden descargar lenguaje programación e instalarlo, pero nuestra aplicación es para 'Data Science'.

Entonces, cada paquete que se va a necesitar se lo descarga.

Por ello se recomenda y se sugiere que, ir a 'Anaconda...

Python' en su navegador de 'Google Chrome' y se va al primer enlace.

El primer enlace les lleva a esta página en "www.anaconda.com" se vera la distribución Anaconda.

Esta ofrece la plataforma de 'Data Science' más popular del mundo, que ofrece la instalación de 'Python' y 'R'.

La ventaja de utilizar 'Anaconda' es que ya tiene incluido todos los paquetes que se van a utilizar a la hora de empezar con la carrera de 'Data Science'.

Entre ellos ofrece 'Jupyter' que lo puede imaginar como un cuaderno de trabajo en el cual se van a estar haciendo nuestros proyectos de 'Data Science'.

Ya cuando se quiera formalizar se puede utilizarlos a través del paquete 'Spyder'.

También se ofrece ahí: la librería 'NumPy', 'SciPy' y 'Pandas' que van a ayudar a analizar todos los datos y poderlos estudiar de una forma natural.

También se tiene por ahí 'Matplotlib' y 'Bokeh' que ayudan a generar gráficas de alta calidad, listos ya sea para publicaciones científicas o incluso para distribución en línea.

Además ofrece paquetes de modelado como lo es el 'Scikit Learn' que ayuda a crear modelos de predicción para poder predecir el futuro.

También ofrece 'TensorFlow' y 'Theano' que van a ayudar a la hora de construir 'Redes Neuronales' de Alta Complejidad.

Todo esto también lo acompaña con el Software 'Conda'.

"Conda", ayuda a instalar cualquier librería que se llege a faltar en la instalación.

Una vez que ya se conoce más o menos ¿Qué es 'Anaconda'? Falta descargarlo.

Seleccionar correctamente el Sistema Operativo ya sea 'Windows', 'MacOS' o 'Linux'.

Seleccionar la versión de 'Python 3.x' al momento de grabación es la versión "Python 3.10.5" pero puede que en su caso varíe, independientemente, van a escoger la "Python 3.x" y simplemente van a dar descargar.

Entonces, se procede a iniciar la instalación de 'Anaconda'.

Tarda un poco en cargar.

Es como cualquier otra instalación de cualquier Software.

Una vez terminada la instalación aparece 'Anaconda'.

Esto abrirá unas pestañas con algunas instrucciones, se recomienda leerlas.

Se debe probar ahora la instalación de 'Python', para ver si se realizó correctamente.

Para ello se va a abrir Inicio, escribir 'Jupyter' y vamos a dar 'Enter'.

Esta va a ser en la interfaz principal de 'Jupyter'.

Para probar la instalación se da click en 'Nuevo', 'Python 3'.

Indicara que está generando un nuevo cuaderno de 'Python 3', entonces se empezara a trabajar.

Escribir: 'print ("Hola Mundo")' 

Haga "Shift + Enter" y va a imprimir: "Hola Mundo" 

Ya se tiene el primer programa funcional de 'Python', sólo con eso.

A partir de ahora, empezar a hacer 'Data Science' con Python.

Para descargar Python haz clic en el siguiente botón:


Para descargar Anaconda haz clic en el siguiente botón:


S1 Introducción a Python

INTRODUCCIÓN A PYTHON 

Entre las principales actividades para un científico de datos se encuentra la creación de modelos predictivos y la visualización de datos.

Como científicos de datos se utilizara el software Python, el cual permite leer datos y crear a partir de ellos modelos predictivos y gráficas de gran calidad.

Python se ha convertido en un lenguaje de programación masivo en el cual se puede hacer casi cualquier proyecto de software.

Además, Python cuenta con una gran comunidad que la respalda que se especializa en crear y compartir su propio software especializado con el mundo.

Para nuestro curso no es necesario que aprendas todos los detalles de este lenguaje, pero eventualmente te irás familiarizando con sus funciones más comunes.

¿Por qué Python? ¿Cuáles son las razones para aprender este lenguaje?

Para responder a estas interrogantes, te recomendamos visitar el siguiente vínculo.

Entre las principales actividades para un Científico de Datos se encuentra la 'Creación de Modelos Predictivos' y la 'Visualización de Datos'.

El Científicos de Datos, utiliza Software especializado que permite 'Leer los Datos' y 'Crear, a partir de ellos, Modelos Predictivos' hasta llevar a Gráficas de gran calidad.

Este Software es conocido como 'Lenguaje de Programación' y entre los más populares Científicos de Datos se encuentran: 'R' y 'Python'.

La tendencia indica que 'Python' es más popular en años recientes, en sitios como "Kaggle" y "KD nuggets".

Ambos sitios son comunidades muy grandes de Científicos de Datos pero, ¿Qué es Python? 

'Python' es un Lenguaje de Programación de propósito general que enfatiza la limpieza del código, esto se refiere a la claridad con la cual se puede leer el código que está estructurado con Instrucciones: 'Limpias' y 'Cortas'.

Si has tenido con anterioridad algún curso de programación es muy probable que te parezca incluso que es Pseudo-Código.

'Python' es multi paradigma, lo cual indica que se pueden utilizar: 'Programación Orientada a Objetos', 'Programación Imperativa' y 'Programación Funcional'.

Es Software Libre, lo cual indica que el Código Fuente puede ser regido por quien quiera, a sí mismo es un Código Gratuito.

Además 'Python' cuenta con una gran comunidad que la respalda, esa misma comunidad aporta creando paquetes descargables para realizar proyectos.

A lo largo del tiempo, la comunidad de Data Science ha creado impresionantes paquetes, gracias a esto Python se ha convertido en una alternativa robusta y popular en la comunidad de Data Science.

Para su uso, no es necesario que aprendas todos los detalles del Lenguaje pero, eventualmente las iras descubriendo con el uso frecuente.

En nuestro siguiente tema, se instalara 'Python' en cualquier sistema: Windows, Linus y Mac.


S1 Ciencia de Datos

CIENCIAS DE DATOS

La ciencia de datos o conocida comúnmente como Data Science es una ciencia multidisciplinaria que involucra conocimientos de matemáticas, estadística y ciencias de la computación.

La persona que aplica la Data Science es conocida como científico de datos.

El científico de datos utiliza diversas herramientas a su alcance, así como análisis estadísticos de datos, modelos predictivos y visualización de datos, para poder encaminar de manera efectiva la toma de decisiones.

Para encontrar una definición más extensa de lo que es un científico de datos y su rol en la Era Digital Haz clic aquí.

'Ciencia de Datos' o conocida comúnmente como 'Data Science' es una ciencia multidisciplinaria que involucra conocimientos de diversas áreas, como la matemática, la estadística y las ciencias de la computación.

'Data Science' tiene sus orígenes en 'Knowledge Discovery in Databases' que hace referencia al proceso de descubrir información valiosa previamente desconocida, en un conjunto grande de datos.

Data Science ha evolucionado a partir de este concepto, a través de incorporar diferentes técnicas de la ciencia de la computación a nuestro manejo actual de la información.

Data Science busca obtener el mayor beneficio posible al utilizar efectivamente la información que una compañía o empresa genera.

El valor de la información puede apreciarse de diversas formas, puede ser conocimiento de tu empresa o de un proceso, puede ser un producto basado en la información o sistemas de recomendaciones.

La persona que aplica 'Data Science' es conocida como: "Científico de Datos" el cual utiliza diversas herramientas a su alcance, como lo son 'Modelos Predictivos', 'Visualización de Datos' para poder encaminar efectiva la toma de decisiones.

Un Científico de Datos tiene la tarea de resolver problemas específicos con la ayuda de la información, trata de comprender el problema de negocios al cual se enfrenta y hace preguntas relevantes a las personas indicadas para resolver el problema de negocios, no basta con hacer las preguntas, un Analista de Datos recolecta los datos a través de diversas fuentes que pueden ser: 'Servidores Web', 'Registros de Sistemas', 'Bases de Datos', 'Repositorios', 'Cuestionarios', entre otros ...

El trabajo de un Científico de Datos va más allá de recolectar información pues puede que ésta, contenga errores, valores masivos o información repetida.

Por lo tanto, un científico de datos necesita realizar una limpieza de datos para transformar la información a una colección de datos útiles.

Además la información debe ser analizada para comprender la naturaleza de la información y descartar todo lo que sea innecesario.

Recordemos que se trabaja con millones de registros, por lo tanto es más que recomendable reducir la información solamente a datos y características relevantes.

Entre las actividades de un Científico de Datos se encuentra: 'La Creación de Modelos Predictivos', que pueden aprender a partir de un conjunto de datos preparados, este es un proceso, mediante el cual, el Científico de Datos puede predecir eventos o posibles resultados a partir de un modelo.

Este modelo puede ser una Ecuación Lineal o hasta algo complejo como una Red Neuronal.
Mas adelante durante veremos los detalles del proceso de modelación predictivo y haremos nuestros propios modelos predictivos utilizando 'Python'.

Otro aspecto importante en la vida de un científico de datos es compartir el conocimiento adquirido hacia los demás, para ello es necesario poder contar la Historia de los Datos y establecer claramente lo que queremos comunicar y poder plasmarlo en gráficas de fácil lectura.

Resumiendo, las actividades de un Científico de Datos son las siguientes: 'Entender el Problema de Negocios', 'Recolectar la Información', 'Preparar los Datos', 'Hacer un Análisis Exploratorio de los Datos', 'Crear Modelos Predictivos', 'Generar Visualizaciones' y 'Comunicar los Resultados' y por último, 'Lanzar estos Modelos' para que puedan ser -Puestos en Acción- 

Todas esas actividades son las realizadas por un Científico de Datos, aunque es bueno conocerlas y dominarlas todas, se entiende que dominarlas todas presenta dificultades, muchas veces la 'Especialización' es mejor que la 'Generalización'.

Así que, si encuentras dificultades con alguna actividad, tranquilízate.

Concéntrate en especializarte en alguna área, pues, recuerda que un Científico de Datos que domine todo es muy raro de encontrar.

S1 Información

INFORMACIÓN IMPORTANTE
Objetivos

En esta semana lograrás lo siguiente:
  1. Comprenderás la importancia del estudio de la Ciencia de Datos y su vínculo con la realidad.
  2. Aprenderás a utilizar las herramientas necesarias para incursionar en el mundo de la Ciencia de Datos a través del diseño de estructuras de código en el lenguaje de programación Python.
Lo que conocerás
  1. Importancia de los datos en el mundo.
  2. Tipos de datos.
  3. Ciencia de datos.
  4. Rol del científico de datos y funciones específicas como analista
  5. Lenguaje de programación Python.
  6. Tipos de variables en Python
  7. Funciones
  8. Estructuras de control
Habilidades que desarrollarás
  1. Distinguirás la ciencia de datos de los demás campos de conocimiento y su aplicación en el mundo real.
  2. Dominarás las funciones básicas de Python.
  3. Integrarás tus conocimientos en Python para generar tus primeros scripts de código.
  4. Entenderás las estructuras de control de Python, así como el uso de las funciones
Contenido
  1. Introducción a la ciencia de datos.
  2. Fundamentos de Python.
 

S1 Bienvenido

 ¡BIENVENIDO A LA PRIMERA SEMANA DE TU CURSO!

En esta semana aprenderás qué es Data Science y el lenguaje de programación Python.

Además, instalarás la mayoría del software necesario para este curso.

Posteriormente, harás tus primeros programas en Python.

Una vez que te familiarices con el software, haremos un repaso ligero de estadística y aprenderás algunas de las estructuras de datos más utilizadas.

Finalizarás la semana con un ligero ejercicio para aplicar lo aprendido.

Verás que, programar en Python es algo sencillo y a la vez muy útil en tu carrera de científico de datos.


S4 Cierre

Cierre Semana 4 Muchos de los problemas actuales a los que se enfrenta un científico de datos involucran el manejo de grandes cantidades de ...