Limpieza de datos con Python y GitHub Copilot

Clase 8 de 12Curso de GitHub Copilot

Resumen

¿Cómo se utiliza la inteligencia artificial en la limpieza de datos?

La inteligencia artificial ha revolucionado la forma en que abordamos muchas tareas, y la limpieza de datos no es la excepción. Modelos como los de Lenguaje de Gran Escala (LLM, por sus siglas en inglés) son herramientas poderosas para automatizar y acelerar el proceso de limpieza. Con el uso de IA, no solo facilitamos la ejecución de tareas repetitivas sino que también introducimos una precisión sin precedentes en nuestros flujos de trabajo de ciencia de datos o análisis.

¿Qué es web scraping y cómo se aplica en la limpieza de datos?

El web scraping se refiere al proceso de extracción de datos de sitios web. En el contexto presentado, el scraping se realiza sobre el portal de noticias TechCrunch para obtener información como el título, enlace, fecha, autor y contenido de las noticias en forma de un DataFrame. Un DataFrame es una estructura de datos en Python que se utiliza para almacenar datos tabulares, lo que facilita su análisis y manipulación.

import pandas as pd

# Ejemplo de creación de un DataFrame con datos de un web scrapping de ejemplo
data = {
    "Título": ["Noticia 1", "Noticia 2"],
    "Enlace": ["http://noticia1.com", "http://noticia2.com"],
    "Fecha": ["2023-01-01 10:30:00", "2023-01-02 11:00:00"],
    "Autor": ["Autor 1", "Autor 2"],
    "Contenido": ["Resumen de noticia 1", "Resumen de noticia 2"]
}

df = pd.DataFrame(data)

Con herramientas como GitHub Copilot, podemos desarrollar funciones personalizadas directamente sobre estos DataFrames para realizar tareas específicas de limpieza.

¿Qué técnicas de limpieza de datos se pueden aplicar a un DataFrame?

Un DataFrame puede estar plagado de datos duplicados o valores nulos que pueden interferir con el análisis. Aquí es donde las funciones de limpieza específicas entran en juego, algunas de estas pueden incluir:

  1. Separación de columnas: Dividir una columna en dos, como por ejemplo, separar la fecha de la hora.

    def splitDate(df):
        df[['Fecha', 'Hora']] = df['Fecha'].str.split(' ', 1, expand=True)
        return df
    
  2. Eliminación de duplicados y manejo de valores nulos: Función para remover datos duplicados y reemplazar valores nulos con un valor predeterminado como 'N/A'.

    def cleanData(df):
        df.drop_duplicates(inplace=True)
        df.fillna('N/A', inplace=True)
        return df
    

¿Cómo se procesa información de redes sociales en un DataFrame?

Del mismo modo que con web scraping, podemos extraer datos de las redes sociales utilizando sus APIs. Por ejemplo, Twitter puede proporcionar una gran cantidad de datos mediante su API, que podemos transformar en un DataFrame para su posterior manipulación.

Una vez que los datos están en un DataFrame, podemos aplicar funciones similares de limpieza:

  1. Identificación del usuario original de un retweet: Crear una nueva columna que contenga el nombre del usuario original de un retweet.

    def getOriginalUser(df):
        df['OriginalUser'] = df.apply(lambda row: row['Usuario'].split(':')[0] if row['isRetweet'] else row['Usuario'], axis=1)
        return df
    
  2. Eliminar caracteres no deseados: Funciones que eliminan espacios en blanco y caracteres específicos como "RT" de los nombres de usuario.

    def cleanUserColumn(df):
        df['OriginalUser'] = df['OriginalUser'].str.replace(r'^RT\s+', '', regex=True)
        return df
    
  3. Eliminación de emojis o caracteres no ASCII: Para sistemas que no soportan estos caracteres.

    def removeEmojis(text):
        return text.encode('ascii', 'ignore').decode('ascii')
    

¿Qué más se puede hacer con la IA y la limpieza de datos?

La limpieza de datos con ayuda de la inteligencia artificial no se limita a las tareas mencionadas. Las posibilidades son casi infinitas y dependen de las necesidades únicas de cada proyecto o dataset en cuestión. Además, si bien GitHub Copilot es una elección popular, hay otras herramientas basadas en IA como Bing Chat o ChatGPT que pueden ofrecer ayuda similar o incluso única en ciertos contextos.

¿Estás utilizando alguna herramienta de IA para la limpieza de datos? Prueba replicar estos ejercicios y descubre cómo estos modelos pueden transformar tu flujo de trabajo. Las herramientas están a tu disposición; ¡tómate el tiempo para explorarlas!