Data Science N020 Limpiar, Organizar y Transformar los Datos

By rafaelaquino on 2/1/2022

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](Image from post) [Link]( https://lichess.org/tournament/RHb69yuT) 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](Image from post)

Así se visualiza el archivo que acabamos de descargar

![CSV.png](Image from post) *Archivo: 20_lichess_tournament_2022.01.24_RHb69yuT_checkmate-coin.csv*

![separador001.png](Image from post)

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](Image from post)
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](Image from post)
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](Image from post)
##### 4.- Tipo de datos del DF

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

![20b3.png](Image from post)
##### 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](Image from post)
##### 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](Image from post)
##### 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](Image from post)
##### 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](Image from post)
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](Image from post)

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

![20c.png](Image from post)
**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](Image from post)

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


![separador001.png](Image from post)

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:

![separador001.png](Image from post)

Para quienes terminaron el Curso Gratis de Programación con python y para todos los interesados, ordené todas las publicaciones dedicadas a Data Science realizadas aquí en @hive, en una página web, para que tengan fácil acceso a cada entrada. 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!

![20pythoncumanes.png](Image from post)
![separador001.png](Image from post)
### Entrega anterior [Recolección de datos en: Kaggle](https://peakd.com/hive-154226/@rafaelaquino/data-science-n019-recoleccion-de-datos-en-kaggle)
![separador001.png](Image from post)

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](Image from post) [*Fuente:*](https://peakd.com/hive-167922/@hiro-hive/hive-promotional-materials-for-graphics-images-gifs-and-videos-are-ready-to-use)
![separador001.png](Image from post)

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...](https://ko-fi.com/rafaelaquino) I will be very grateful! ![separador001.png](Image from post) Todos a programar! [Rafael Aquino](https://www.facebook.com/rafael.aquino.5815)

Comments (5)

giacomone's avatar @giacomone 2/1/2022

Great post, congratulations!

rafaelaquino's avatar @rafaelaquino 2/3/2022

Thanks to you for reading

poshtoken's avatar @poshtoken 2/2/2022

https://twitter.com/Rafa_elaquino/status/1488666445907218434 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.

chessbrotherspro's avatar @chessbrotherspro 2/2/2022

¡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

rafaelaquino's avatar @rafaelaquino 2/3/2022

Gracias por el apoyo!

hive-129589's avatar @hive-129589 2/2/2022

@rafaelaquino Very interesting!

rafaelaquino's avatar @rafaelaquino 2/3/2022

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

petreius's avatar @petreius 2/2/2022

Thank you, very useful post ❤️

rafaelaquino's avatar @rafaelaquino 2/3/2022

Thank you for taking the time to review my publication