lunes, 29 de julio de 2019

Data Science: Joins entre datasets. Práctica

Vamos a ver cómo hacer los diferentes tipos de joins entre datasets en código Python.

Lo primero que vamos a hacer es cargar tres ficheros.
Medals.csv: Contiene datos de diferentes atletas olímpicos, como el año de participación y el número de medallas obtenidas.
Athlete_Country_Map.csv:  Contiene datos sobre por qué país se presenta cada atleta.
Athlete_Sports_Map.csv: Contiene datos sobre por qué deporte se presenta cada atleta.

Cargamos los ficheros y mostramos sus campos por pantalla:





Como se puede observar, los tres ficheros comparten el campo "Athletes", por lo que se asemejan mucho a diferentes tablas de una base de datos relacional unidas por ése campo.

Podemos hacer un inner join de las tablas utilizando el campo "Athletes" como nexo de unión:


La unión se realiza correctamente. Sin embargo, ahora tenemos un error en los datos, puesto que un atleta puede presentarse por varios países y por varios deportes diferentes, así que estamos haciendo que aparencan varias veces en el dataset final, multiplicando su número de medallas y años de participación de forma incorrecta.

Lo que vamos a hacer es eliminar los atletas duplicados de los datasets de países y deportes (perderemos datos, obviamente) y volver a realizar la unión:


Y ya tendríamos un inner join listo.

¿Cómo se realizan los diferentes tipos de join? Pues de la siguiente manera:


Y eso es todo.

No hay comentarios:

Publicar un comentario