Análise de sentimento de avaliações com Python e Pandas
Objetivo
Carregar o arquivo Reviews.csv, analisar o texto das avaliações utilizando um LLM para identificar o sentimento de cada feedback e adicionar uma nova coluna ao DataFrame contendo a classificação como Positivo, Negativo ou Neutro.
Etapa 1: Importar o Pandas e carregar o arquivo CSV
import pandas as pd
df = pd.read_csv("Reviews.csv")
print(df.head())
Etapa 2: Selecionar a coluna de avaliações
Como o desafio pede para utilizar apenas os textos das avaliações, vamos trabalhar com a coluna Review Text.
reviews = df["Review Text"]
print(reviews.head())
Etapa 3: Criar uma lista para armazenar os sentimentos
sentimentos = []
Etapa 4: Utilizar um LLM para classificar os sentimentos
for review in reviews:
resposta = client.models.generate_content(
model="gemini-2.5-flash",
contents=f"""
Classifique o sentimento do texto abaixo em apenas uma palavra:
Positivo, Negativo ou Neutro.
Texto:
{review}
"""
)
sentimento = resposta.text.strip().capitalize()
sentimentos.append(sentimento)
Etapa 5: Adicionar uma nova coluna ao DataFrame
Após gerar todas as classificações, criamos uma nova coluna chamada Sentimento.
df["Sentimento"] = sentimentos
Verificando o resultado:
print(df[["Review Text", "Sentimento"]].head())
Etapa 6: Salvar o resultado em um novo arquivo CSV
df.to_csv(
"Reviews_Classificados.csv",
index=False,
encoding="utf-8"
)
Etapa 7: Ler o arquivo gerado para validação
novo_df = pd.read_csv(
"Reviews_Classificados.csv",
encoding="utf-8"
)
print(novo_df.head())