Eliminar filas no válidas
Ahora que has eliminado con éxito las filas comentadas, has recibido información sobre el formato general de los datos. Debe haber al menos 5 columnas separadas por tabuladores en el Marco de datos. Recuerda que tu DataFrame original sólo tiene una única columna, por lo que tendrás que dividir los datos en los caracteres de tabulación (\t
).
El DataFrame annotations_df
ya está disponible, con las filas comentadas eliminadas. La biblioteca spark.sql.functions
está disponible con el alias F
. El número inicial de filas disponibles en el Marco de datos se almacena en la variable initial_count
.
Este ejercicio forma parte del curso
Limpiar datos con PySpark
Instrucciones del ejercicio
- Crea una nueva variable
tmp_fields
utilizando la columnaannotations_df
DataFrame'_c0'
dividiéndola en el carácter de tabulación. - Crea una nueva columna en
annotations_df
llamada'colcount'
que represente el número de campos definidos en el paso anterior. - Filtra las filas de
annotations_df
que contengan menos de 5 campos. - Cuenta el número de filas del Marco de datos y compáralo con
initial_count
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Split _c0 on the tab character and store the list in a variable
tmp_fields = ____(annotations_df['_c0'], ____)
# Create the colcount column on the DataFrame
annotations_df = annotations_df.____('____', ____(____))
# Remove any rows containing fewer than 5 fields
annotations_df_filtered = annotations_df.____(~ (____))
# Count the number of rows
final_count = ____
print("Initial count: %d\nFinal count: %d" % (initial_count, final_count))