2022/07/24

S2 Indexando en Panda

INDEXANDO EN PANDA

Los datos que descargo, se van a leer con la aplicación Pandas.

Para ello se va a utilizar Jupyter, ya se sabe cómo abrirlo, se escribe Jupyter en el inicio, se espera a que cargue.

Pandas es una librería que permite leer y manipular los datos de una manera eficiente y el principal elemento con el que van a trabajar a la hora de utilizar Pandas es el data frame.

Para utilizar Pandas se necesita importar con la instrucción: import pandas as pd.

El pd no es realmente necesario pero ya es un estándar en la comunidad de científicos de datos donde ya se sabe que se refiere a Pandas.

Entonces se recomienda utilizar esa nomenclatura.

Ahora, para leer la información en realidad es muy sencillo, Pandas ya viene listo para leer esa clase de información.

Entonces Pandas tiene una función muy específica que se llama leer, guión, .csv.

Si se quiere leerlo solamente con heart.csv, el archivo debería estar en la misma carpeta pero no lo está.

Está en una carpeta interna que se llama data y luego heart-disease-uci.

Entonces hay que ver los datos qué es lo que leyó realmente.

Bueno para eso se tiene la función head.

La función head trae las cinco líneas superiores.

Entonces con ello se puede visualizar la forma del data frame.

Se tiene edad, sexo y otros conjuntos de columnas además de filas o registros.

Bueno, se puede comprobar que eso está abierto correctamente abriendo el archivo con un editor de texto.

El archivo original viene de esta forma: tiene edad, que es la primera columna, sexo y las demás columnas separadas a través de comas, y a partir de ahí viene un registro de todos los individuos que pertenecen a este estudio.

Pandas lo que hizo fue, quitar todas esas comas y lo preparó de una forma simple para poderlo describir.

Pero los datos por sí solos no nos sirven de mucho hay que tratar de entenderlos como científicos de datos.

Para ello se tiene la función describe que van a tomar las columnas y las trata de describir con algunos parámetros, por ejemplo, si lo se ejecuta da el count el cual nos van a decir cuántos registros tiene esta columna.

Se tiene el promedio, se tiene la desviación estándar, el valor mínimo, se tiene el primer cuartil.

El primer cuartil, el último cuartil y el valor máximo.

Entonces, todos estos son valores que ayudar a dar una idea de qué es lo que está representando el data set.

Así como se tiene la estructuras de datos y se puede quitar algunos elementos, Pandas ayuda a eliminar registros.

Se tiene df, drop.

Drop la traducción sería tirar, soltar.

Entonces lo que hace es eliminar el registro 1, que si se recuerda acá se tiene 0, 1, 2 y en el data frame resultante ya no se encuentra ese valor 1.

Entonces, es muy fácil eliminar registros con Pandas, pero tal vez también se tiene columnas que no son muy efectivas, no nos sirven para el análisis, entonces también las se puede eliminar.

Se utiliza la misma función drop pero le se dice que el eje no van a ser el cero, el cero son las rows, o las filas.

El axis 1 se refiere a las columnas.

Entonces lo se ejecuta y si se dan cuenta ya no existe la columna cp que la se tiene anteriormente.

¿Cómo se puede estar manipulando la información de una manera más eficiente?

Bueno, para ello se tiene las funciones loc y iloc.

La función loc, lo que permite es poder acceder a los elementos a partir de su etiqueta.

La etiqueta de una row o de una fila es el valor numérico que se encuentra aquí de este lado.

Ahora, eso puede cambiar entre conjuntos de datos, hay conjuntos de datos que en lugar de números tienen nombres de personas o ciudades entre otras cosas.

Entonces, no se dejen guiar de que en este problema se tiene valores numéricos.

Además se puede utilizar el loc, iloc lo que permite es acceder a través de su posición, no de su etiqueta.

Entonces, aquí lo que esta diciendo dame los valores de 0 a 3.

Este es el principal mecanismo de acceder.

Para acceder a los datos con un data frame: a través de la función loc y iloc.

loc se va sobre el valor de las etiquetas y iloc se va sobre su referencia numérica.

Ahora, ¿cómo acceder a las columnas? 

Bueno, para ello se puede utilizar las etiquetas, por ejemplo, tal vez se quiere nada más la columna de sexo, es la que nos interesa, entonces.

Se utiliza los corchetes y dentro de ellos.

Se utiliza el string "sex" que ya se sabe que es una columna válida, y solamente se imprime los primeros cinco elementos.

Además de este hay otra forma de acceder a los datos.

Se puede utilizar df, haciendo referencia a el conjunto de datos original, .sex, sin los corchetes y sin las llaves, y de esta forma Pandas ya sabe interpretar el resultad.

Bueno pero también se puede acceder a múltiples columnas al mismo tiempo, se puede acceder tal vez a la edad, el sexo y tal vez la columna resultante que es si tiene problemas cardíacos o no, y lo hace con una lista de los nombres de las columnas.

Entonces, fácilmente nos se puede separar la información que se necesita.

Además Pandas nos permite utilizar el iloc para seleccionar columnas por su valor numérico.

Por ejemplo, aquí se tiene el ":" que había visto en las listas.

El ":" solamente nos van a decir tráeme todos los rows.

Separado de un coma, entonces la primera parte van a traer todos los rows, coma, tráeme estas columnas en específico.

Estas columnas lo que nos van a dar es la columna 0, la columna 1 y la columna -1, recuerda que si se pone un índice negativo se va al último elemento, entonces Da la edad, el sexo y la última columna que se tiene era el target.

Otra herramienta muy útil a la hora de manipular datos con Pandas es utilizar las condicionales que tal vez se quiere limpiar en el conjunto de datos y solamente arroja los casos donde el sexo es masculino.

Bueno, para ello se puede utilizar la columna sex y solamente cuando sea igual a 1 van a dar un valor positivo, y eso se lo pasa como referencia a el data frame.

Entonces si observan lo que nos arroja son puros valores donde el sexo es igual a 1, el conjunto de datos ya está limpio.

Tal vez se quiere ordenar así mismo, y a través de alguna columna en específico.

Si se selecciona, por ejemplo la columna chol y ordenados en el data frame con la función sort values, el data frame van a ser ordenado.

Si se fijan el índice ya no tiene un orden como lo se tiene antes 0, 1, 2, ya están ordenados a través de la columna chol que va desde menor hasta mayor.

Bueno, todas estas son herramientas muy útiles para estar manipulando la información, estar seleccionando.

Pero tal vez se quiere empezar a agrupar información que tal vez quiera ver la diferencia entre hombres y mujeres.

Bueno, para ello existe la función groupby.

Groupby lo que van a hacer es: separar el conjunto de datos en los diferentes sexos y a partir de ello se puede utilizar alguna otra función, por ejemplo, aquí tengo la función mean, entonces va a dar los promedios por género.

Entonces, si la se ejecuta se tiene el sexo femenino y masculino, y nos van a dar, por ejemplo, el promedio de edad, se puede ver que el promedio de edad en los hombres es de 55 años y en las mujeres de 53, de esa forma ya esta separando los datos y analizando de forma independiente.

Se puede utilizar groupby para ordenar por target.

O separar por target entre los que sí tienen problemas cardíacos y los que no, y tal vez se quiere contar cuántos tienen programas cardíacos, entonces, de esta forma, utilizando el count se puede ver que se tiene 138 que no tienen problemas cardíacos y 165 que tienen problemas cardíacos.

Además Pandas nos permite hacer gráficas sencillas o de una forma muy simple donde se puede escoger lo que se quiere que se grafique en el eje de las x.

Lo que se quiere que se grafique en el eje de las y y el tipo de gráfica que van a crear esto lo van a profundizar un poco más cuando se mire graficación, pero es importante notar que Pandas facilita esta tarea.

Entonces, si lo se ejecuta, se tiene que esperar un poco porque las gráficas son un poquito más pesadas, entonces lo puede graficar.

Entonces, a simple vista se puede ver que hay una relación entre la edad y la columna que es thalach tiene una tendencia negativa, entre más edad menos se tiene de esta columna o de este valor.

Entonces esa fue una introducción a las capacidades que tiene Pandas para poder seleccionar y manipular información de una manera fácil.

Se miro lo que es leer .csv, en el siguiente van a ver cómo leer archivos de excel y una introducción a cómo se leen los archivos de bases de datos.

No hay comentarios:

Publicar un comentario

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 ...