Filtrado y Join de Datos Olímpicos en Pandas
Clase 17 de 25 • Curso de Fundamentos de Spark para Big Data
Contenido del curso
- 7
Transformaciones y Acciones en RDD de Spark
02:32 - 8

Transformaciones y acciones
11:27 - 9

Interacción con RDDs en Spark: Operaciones Básicas y Avanzadas
14:35 - 10

Operaciones avanzadas con RDDs en Spark: Uniones y Joins
14:13 - 11

Unión de Datos en RDD para Deportistas Olímpicos
03:09 - 12

Operaciones Numéricas con RDDs en Juegos Olímpicos
08:59
- 13

Creación y Gestión de Data Frames en PySpark
14:09 - 14

Creación de DataFrame desde RDD en PySpark
09:15 - 15

Manipulación de Data Frames en PySpark
12:32 - 16

Joins y Selección de Datos en DataFrames con PySpark
09:34 - 17

Filtrado y Join de Datos Olímpicos en Pandas
05:02 - 18

Funciones de Agregación en Spark para DataFrames
10:00 - 19

Uso de SQLContext para Registro y Consultas con DataFrames en Spark
07:29 - 20
Creación y Uso de Funciones UDF en Spark
01:06 - 21

Creación y uso de UDFs en PySpark para manejo de datos faltantes
13:09
¿Cómo eliminar medallas no deseadas de un DataFrame?
Si trabajas con datos de resultados olímpicos, es vital poder filtrar las medallas que no necesitas en tu análisis, centrándote solo en los resultados de oro, plata y bronce. Para esto, puedes lograr una limpieza eficiente del DataFrame que contiene esta información, eliminando las filas con valores que no sean medallas ganadas.
resultado_df = resultado_df[resultado_df['medalla'].notnull()]
Este fragmento de código te ayudará a deshacerte de las entradas no deseadas, manteniendo únicamente las medallas relevantes.
¿Cómo realizar un Join de DataFrames en Python?
El siguiente paso recae en cruzar, o "realizar un Join", entre diferentes DataFrames para obtener información más completa y detallada. Comienza con los DataFrames de deportistas olímpicos y resultados.
- Join con deportistas olímpicos: Cruza los DataFrames
deportista_olimpico_dfyresultado_dfusando la clavedeportista_id.
merged_df = pd.merge(resultado_df, deportista_olimpico_df, on="deportista_id", how='left')
No olvides especificar el tipo de Join, en este caso un left join, para asegurarte de que el DataFrame de resultados contenga toda la información relevante.
- Join con países: A continuación, cruza el DataFrame resultante con el de países. Compara la columna
equipo_idconidde países.
merged_df = pd.merge(merged_df, paises_df, left_on="equipo_id", right_on="id", how='left')
Este left join te proporciona un resultado completo, integrando datos de los atletas y los países que representan.
¿Cómo seleccionar columnas específicas y ordenar resultados?
A la hora de trabajar con grandes volúmenes de datos, tener la capacidad de filtrar solo las columnas relevantes es esencial para mantener el análisis claro y manejable. Al mismo tiempo, la organización y el orden influyen en la comprensión de la información.
Selección de columnas
Es común que solo desees visualizar ciertas partes del DataFrame final. Esto se hace seleccionando las columnas específicas que consideras cruciales, como medalla, equipo y sigla.
final_df = merged_df[['medalla', 'equipo', 'sigla']]
Esta línea te mostrará únicamente las columnas esenciales para tu análisis, facilitando así su interpretación.
Ordenación de los resultados
Puedes aplicar un orden específico a tu DataFrame para clarificar aún más los datos. Por ejemplo, ordenar por la columna de sigla.
final_df.sort_values(by='sigla', ascending=True, inplace=True)
Con este comando, los resultados se muestran organizados alfabéticamente según sus siglas, pero puedes cambiar el orden a descendente si lo necesitas.
¡Y ahí lo tienes! Una potente y flexible manera de manejar grandes conjuntos de datos en Python usando los Joins y filtrados adecuados. Sigue practicando y analizando tus resultados para pulir tus habilidades. Cada consulta es un paso hacia la maestría. No dudes en compartir tus dudas o hallazgos. ¡A aprender se ha dicho!