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