Passo 1: Criar um DataFrame com 5 colunas
import pandas as pd
dados = {
"produto": ["Notebook", "Mouse", "Geladeira", "Smartphone", "Fone Bluetooth"],
"categoria": ["eletrônicos", "eletrônicos", "eletrodomésticos", "eletrônicos", "eletrônicos"],
"preco": [3500, 80, 2500, 1800, 150],
"avaliacao": [4.8, 1.9, 4.2, 3.5, 1.7],
"itens_vendidos": [120, 500, 45, 300, 250]
}
df = pd.DataFrame(dados)
print(df)
Passo 2: Importar dados de um arquivo CSV
df_csv = pd.read_csv("produtos.csv")
print(df_csv)
Passo 3: Exibir o DataFrame completo e os primeiros registros
print(df)
print(df.head())
Passo 4: Selecionar uma coluna específica
print(df["produto"])
Passo 5: Extrair valores únicos de uma coluna
print(df["categoria"].unique())
ou
print(set(df["categoria"]))
Passo 6: Filtrar produtos da categoria eletrônicos
eletronicos = df[df["categoria"] == "eletrônicos"]
print(eletronicos)
Passo 7: Filtrar produtos com avaliação menor que 2.0
baixa_avaliacao = df[df["avaliacao"] < 2.0]
print(baixa_avaliacao)
Passo 8: Combinar filtros com operador &
Selecionar produtos eletrônicos com preço acima de R$ 100.
filtro_combinado = df[
(df["categoria"] == "eletrônicos") &
(df["preco"] > 100)
]
print(filtro_combinado)
Passo 9: Utilizar iloc para selecionar linhas por índice
Primeira linha:
print(df.iloc[0])
Primeiras três linhas:
print(df.iloc[0:3])
Passo 10: Utilizar loc após definir um índice textual
df_indice = df.set_index("produto")
print(df_indice.loc["Notebook"])
Selecionando mais de um registro:
print(df_indice.loc[["Notebook", "Smartphone"]])
Desafio: Classificação de Sentimentos com LLM
Passo 11: Carregar o arquivo Reviews.csv
import pandas as pd
df_reviews = pd.read_csv("Reviews.csv")
print(df_reviews.head())
Passo 12: Criar lista para armazenar os sentimentos
sentimentos = []
Passo 13: Utilizar o LLM para classificar cada review
for review in df_reviews["Review Text"]:
resposta = client.models.generate_content(
model="gemini-2.5-flash",
contents=f"""
Classifique o sentimento abaixo utilizando apenas uma palavra:
Positivo, Negativo ou Neutro.
Texto:
{review}
"""
)
sentimento = resposta.text.strip().capitalize()
sentimentos.append(sentimento)
Passo 14: Adicionar a nova coluna ao DataFrame
df_reviews["Sentimento"] = sentimentos
print(df_reviews.head())
Passo 15: Salvar o resultado em um novo CSV
df_reviews.to_csv(
"Reviews_Classificados.csv",
index=False,
encoding="utf-8"
)
Passo 16: Ler o arquivo gerado
novo_df = pd.read_csv(
"Reviews_Classificados.csv",
encoding="utf-8"
)
print(novo_df.head())