Data Science N020 Limpiar, Organizar y Transformar los Datos

in Develop Spanish3 years ago (edited)

Cordiales Saludos

Entramos en una nueva etapa de nuestras publicaciones. Recordemos cuando abordamos el tema de Extract, Transform and Load / Extraer, Ttransformar y Cargar. En todas las publicaciones anteriores nos enfocamos en extraer los datos desde distintas fuentes y de diferentes formatos.

Con lo visto hasta ahora podemos trabajar con datos sin ningun problema. Aún quedan otras fuentes de datos que trataremos más adelante, como lo son: Consumo de Apis; trabajar con imágenes y texto; datos geoespaciales/mapas, extracción de datos de una Base de Datos, etc.

Hoy veremos los primeros comandos, creo que obligatorios, que siempre debemos hacer para cada nuevo proyecto.

Nos corresponde a partir de las próxímas publicaicones limpiar, organizar y transformar los datos.

Comencemos...

Los datos con que trabajaremos hoy los tomé del torneo de ajedrez CHECKMATE COIN ARENA de fecha 2022/01/24, que organizan @hive-129589, @giacomone y @petreius, todos los lunes.


20torneo.png
Link de la tabla final del tornneo y de donde descargué el archivo.CSV


El archivo .csv debe estar en nuestro entorno virtual, usaré el que cree en la publicacion N017 (env) C:\hive_cuaderno>. El recuadro de color verde es el nombre del cuaderno y el recuadro rojo es el archivo .csv con que trabajaremos.


entornovirtual.png

Así se visualiza el archivo que acabamos de descargar


CSV.png
Archivo: 20_lichess_tournament_2022.01.24_RHb69yuT_checkmate-coin.csv



separador001.png

Nuestras primeras instrucciones y sentencias

1.- Cargar los datos

En esta oportunidad cargamos un archivo con extensión .csv, ya vimos como hacerlo con hojas de cálculo(excel), Json y Html. Recuerden importar pandas!

import pandas as pd
df = pd.read_csv('20_lichess_tournament_2022.01.24_RHb69yuT_checkmate-coin.csv')
df


20a.png

2.- Estadística Básica

Con df.describe() podemos ver datos básicos como el mayor valor, el menor, porcentajes básicos, etc. Nótese que solo muestra las columnas numéricas.


20b1.png

3.- Información de los datos que componen el DF

df.info() nos muestra de forma general los tipos de datos de las columna enteros, float o tipo objetos, además de los datos nulos.


20b2.png

4.- Tipo de datos del DF

Aquí es más especifico el tipo de datos de cada columna. Usamos: df.dtypes


20b3.png

5.- Columnas y dimensión del DF

con df.columns vemos el nombre de cada columna y con df.schape la dimensión del Df, en este caso 33 filas x 7 columnas.


20b4.png

6.- Registros aleatorios

Con df.sample() vemos un registro aleatorio. Podemos además determinar cuantos registros queremos observar. Con df.sample(8) pedimos 8 registros.


20b5.png

7.- Encabezado

Con df.head() vemos los 5 primeros registros. Podemos además determinar cuantos registros queremos observar desde el encabezado con df.head(8) visualizamos los primero 8 registros.


20b6.png

8.- Registros finales

Con df.tail() vemos los 5 últimos registros. Podemos además determinar cuantos registros finales queremos observar, con df.tail(8) visualizamos los 8 últimos registros.


20b7.png

9.- Quitar el índice automático

Para ello tenemos dos formas de hacerlo. Observemos que cuando llamamos el archivo .csv (línea verde) se crea automáticamente un indice que comienza en cero (recuadro rojo).

Como ya la tabla tiene su propio índice Rank, debemos eliminar el que se creó automaticamente. A veces nos combiene dejar este índice que se generó.


20b.png

Primera forma: Con agregar index_col = 'Rank' como argumento adicional es suficiente (línea verde).


20c.png

Segunda forma: Con la siguiente instrución: df2 = df2.set_index('Rank') después de haber llamado el archivo .csv

df2 = pd.read_csv('20_lichess_tournament_2022.01.24_RHb69yuT_checkmate-coin.csv')
df2 = df2.set_index('Rank')


20d.png

Ver el Cuaderno completo con los ejercicios en mi repositorio de Github



separador001.png

Aquí concluyo esta antesala a limpiar, organizar y transformar los datos. Vimos las primeras instrucciones que pueden variar en orden después de haber cargado el archivo .csv. Son muy sencillas y fáciles de aprender, con solo practicarlas!. No subestimes estas instrucciones, su potencialidad la notarás cuando trabajes con archivos con cientos de columnas y cientos de registros.

Links de interes:

Para quienes terminaron el Curso Gratis de Programación con python y para todos los interesados, ordené todas las publicaciones dedicadas a Data Science
La dirección es Python Cumanés (Data Science) y aquí la dirección de pythoncumanes
Una vez más los invito a practicar, practicar, practicar... Hasta la próxima entrega, Feliz Día! realizadas aquí en @hive, en una página web, para que tengan fácil acceso a cada entrada.


20pythoncumanes.png


separador001.png

Entrega anterior

Recolección de datos en: Kaggle


separador001.png

Invitación Especial

Apreciada comunidad extiendo mi invitación, para todos los que hacemos vida en esta maravillosa comunidad, a participar con la etiqueta #Hive para promocionar nuestras publicaciones en la red social: #Twitter. Para más detalles puedes consultar la publicación de @hive-data


hive_twitter_400.gif
Fuente:


separador001.png

Clases gratis de programación / Free programming classes

[ESP/ENG] Mi proyecto en Python/My project in Python.

Mi twitter
separador001.png


I started a Ko-fi Page! Ko-fi helps creators get support from fans of their work. Please support or follow my page! If you like what I do and feel in tune with my work in creating content for free programming courses and chess publications without any profit interest. Give me a coffee... I will be very grateful!
separador001.png
Todos a programar!
Rafael Aquino

Sort:  

Thank you, very useful post ❤️

Thank you for taking the time to review my publication

Great post, congratulations!

Thanks to you for reading

@rafaelaquino Very interesting!

I am now studying data science and it is really interesting!


The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

¡Enhorabuena!


Has recibido el voto de PROYECTO CHESS BROTHERS

✅ Has hecho un trabajo de calidad, por lo cual tu publicación ha sido valorada y ha recibido el apoyo de parte de CHESS BROTHERS ♔ 💪


♟ Te invitamos a usar nuestra etiqueta #chessbrothers y a que aprendas más sobre nosotros.

♟♟ También puedes contactarnos en nuestro servidor de Discord y promocionar allí tus publicaciones.

♟♟♟ Considera unirte a nuestro trail de curación para que trabajemos en equipo y recibas recompensas automáticamente.

♞♟ Echa un vistazo a nuestra cuenta @chessbrotherspro para que te informes sobre el proceso de curación llevado a diario por nuestro equipo.


Cordialmente

El equipo de CHESS BROTHERS

Gracias por el apoyo!