Cuando aprendemos una nueva herramienta, generalmente repasamos los documentos, miramos tutoriales, leemos artículos y resolvemos ejemplos. Este es un enfoque bastante bueno y le ayudará a aprender la herramienta hasta cierto punto.
Sin embargo, cuando empezamos a utilizar la herramienta en entornos de la vida real o para resolver problemas reales, debemos ir un poco más allá de lo que se cubre en la mayoría de los tutoriales.
En este artículo, explicaré paso a paso cómo utilicé Python para manejar dos tareas diferentes de preprocesamiento y limpieza de datos en mi trabajo. Para cada tarea, te mostraré los datos sin procesar y el formato deseado. Luego, explicaré el código para llevar los datos a ese formato.
Profundizaremos en las estructuras de datos integradas de Python y la biblioteca Pandas, por lo que deberías esperar aprender algunas cosas interesantes sobre la manipulación de datos con Python.
Tengo un DataFrame con una lista de problemas y sus resúmenes. No estoy usando ni compartiendo los datos originales que tengo aquí. En cambio, generé datos simulados en el mismo formato que el original. Si desea seguir ejecutando el código, descargue el archivo «mock_issues.csv» de mi conjuntos de datos repositorio.
Lo que haremos en términos de manipulación de datos depende del formato más que del contenido, por lo que las funciones y métodos que aprenderemos en este artículo son aplicables a los datos originales. De hecho, el proceso es exactamente el mismo que hice en mi trabajo.
Consideremos que tenemos un DataFrame de varias filas con las siguientes columnas:
Cada fila de la columna de problemas sin procesar contiene una lista de problemas en el siguiente formato:
"""
"[1-The find_duplicates method is inefficiently using the data structures leading to high time complexity.,
2- Built-in data structures are not used efficiently in the generate_meta method.,
3- In the ExerciseGenerator class, excessive use of global variables may slow down the program.,
4- The get_all_contributors_for_repo method is not using built-in…