Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío con python y pandas

# ============================================================
# DESAFÍO - ANÁLISIS DE SENTIMIENTOS CON GEMINI
# ============================================================

# Instalar librerías
!pip install -q -U google-genai pandas

# ============================================================
# IMPORTAR LIBRERÍAS
# ============================================================

import os
import pandas as pd

from google import genai
from google.colab import userdata

# ============================================================
# CONFIGURAR GEMINI
# ============================================================

api_key = userdata.get("GEMINI_API_KEY")

os.environ["GEMINI_API_KEY"] = api_key

client = genai.Client(
    api_key=os.environ["GEMINI_API_KEY"]
)

print("Gemini configurado correctamente.")

# ============================================================
# CARGAR EL ARCHIVO CSV
# ============================================================

# Subir el archivo desde el computador
from google.colab import files

uploaded = files.upload()

nombre_archivo = list(uploaded.keys())[0]

# Leer el CSV
df = pd.read_csv(reviews)

print("\nPrimeras filas del archivo:")
print(df.head())

# ============================================================
# IDENTIFICAR LA COLUMNA DE COMENTARIOS
# ============================================================

print("\nColumnas disponibles:")
print(df.columns)

# Cambiar este nombre si tu columna tiene otro nombre
columna_comentarios = "comentario"

# ============================================================
# FUNCIÓN PARA CLASIFICAR EL SENTIMIENTO
# ============================================================

def analizar_sentimiento(comentario):

    prompt = f"""
    Analiza el siguiente comentario.

    Responde únicamente con una de estas palabras:

    Positivo
    Negativo
    Neutro

    Comentario:
    {comentario}
    """

    respuesta = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=prompt
    )

    return respuesta.text.strip()

# ============================================================
# ANALIZAR CADA COMENTARIO
# ============================================================

sentimientos = []

for comentario in df[columna_comentarios]:

    sentimiento = analizar_sentimiento(comentario)

    sentimientos.append(sentimiento)

# ============================================================
# AGREGAR LA NUEVA COLUMNA
# ============================================================

df["sentimiento"] = sentimientos

print("\nResultado:")

print(df.head())

# ============================================================
# GUARDAR EL NUEVO CSV
# ============================================================

nombre_salida = "comentarios_clasificados.csv"

df.to_csv(
    nombre_salida,
    index=False,
    encoding="utf-8"
)

print(f"\nArchivo generado: {nombre_salida}")

# ============================================================
# MOSTRAR CANTIDAD DE CADA SENTIMIENTO
# ============================================================

print("\nResumen de sentimientos:")

print(df["sentimiento"].value_counts())

Conclusion

En este desafío aprendí a cargar un archivo CSV con Pandas, recorrer los comentarios de los clientes y utilizar un modelo de lenguaje (Gemini) para clasificar automáticamente el sentimiento de cada uno como positivo, negativo o neutro. Posteriormente, agregué esta clasificación como una nueva columna en el DataFrame y guardé el resultado en un nuevo archivo CSV, automatizando el análisis de opiniones de los clientes.

1 respuesta

¡Hola Gino, espero que estés bien!

Parece que estás trabajando en un desafío interesante de análisis de sentimientos con Python y Pandas. Vamos a revisar tu código para ver si hay algún problema o algo que pueda mejorarse.

  1. Error en la variable reviews: En la sección donde intentas leer el archivo CSV con pd.read_csv(reviews), parece que hay un error porque reviews no está definido. Deberías usar nombre_archivo en su lugar, que es el nombre del archivo que subiste. Cambia esa línea a:

    df = pd.read_csv(nombre_archivo)
    
  2. Configuración de la API de Gemini: Asegúrate de que la clave de la API de Gemini esté correctamente configurada en tu entorno de Google Colab. Si userdata.get("GEMINI_API_KEY") no está devolviendo la clave correcta, puede que necesites configurarla manualmente.

  3. Uso del modelo de lenguaje: Verifica que el modelo "gemini-2.5-flash" esté disponible y correctamente configurado en tu entorno. Si hay algún problema con la API, revisa la documentación de Gemini para asegurarte de que estás usando la versión correcta del modelo.

  4. Revisar la columna de comentarios: Asegúrate de que la columna "comentario" realmente exista en tu archivo CSV. Puedes verificar las columnas disponibles con print(df.columns) y ajustar el nombre de la columna si es necesario.

Espero que estas sugerencias te ayuden a resolver cualquier problema que estés enfrentando. ¡Bons estudios!