1️ Criando um DataFrame com 5 colunas
import pandas as pd
import numpy as np
Criando listas de dados para cada coluna
nomes_produtos = [f"Produto {i+1}" for i in range(10)]
categorias = np.random.choice(["Eletrônicos", "Roupas", "Alimentos"], 10)
precos = np.random.uniform(10.0, 500.0, 10).round(2)
avaliacoes = np.random.uniform(1.0, 5.0, 10).round(1)
itens_vendidos = np.random.randint(1, 1000, 10)
Criando o DataFrame
df_produtos = pd.DataFrame({
"Nome do produto": nomes_produtos,
"Categoria": categorias,
"Preço": precos,
"Avaliação": avaliacoes,
"Itens vendidos": itens_vendidos
})
Exibindo o DataFrame completo
print("DataFrame completo:\n", df_produtos)
Exibindo os primeiros registros
print("\nPrimeiros registros:\n", df_produtos.head())
2️ Selecionando uma coluna específica
Selecionando a coluna 'Categoria'
categorias_coluna = df_produtos["Categoria"]
print("\nColuna Categoria:\n", categorias_coluna)
3️ Extraindo valores únicos
Usando unique
categorias_unicas = df_produtos["Categoria"].unique()
print("\nCategorias únicas (unique):", categorias_unicas)
Usando set
categorias_unicas_set = set(df_produtos["Categoria"])
print("Categorias únicas (set):", categorias_unicas_set)
4️ Filtro simples – Categoria "Eletrônicos"
eletronicos = df_produtos[df_produtos["Categoria"] == "Eletrônicos"]
print("\nProdutos Eletrônicos:\n", eletronicos)
5️ Filtro condicional – Avaliação menor que 2.0
avaliacao_baixa = df_produtos[df_produtos["Avaliação"] < 2.0]
print("\nProdutos com avaliação menor que 2.0:\n", avaliacao_baixa)
6️ Combinação de filtros – Categoria e Preço
eletronicos_caros = df_produtos[(df_produtos["Categoria"] == "Eletrônicos") & (df_produtos["Preço"] > 300)]
print("\nEletrônicos com preço > 300:\n", eletronicos_caros)
7️ Seleção de índices numéricos com iloc
Selecionando a 3ª linha (índice 2)
linha_3 = df_produtos.iloc[2]
print("\nLinha de índice 2:\n", linha_3)
Selecionando linhas 0 a 4
linhas_0_4 = df_produtos.iloc[0:5]
print("\nLinhas de índice 0 a 4:\n", linhas_0_4)
8️ Seleção com índices textuais usando loc
Definindo coluna 'Nome do produto' como índice
df_indexado = df_produtos.set_index("Nome do produto")
Selecionando pelo nome do produto
produto_5 = df_indexado.loc["Produto 5"]
print("\nProduto 5:\n", produto_5)
9️ Desafio: Carregar CSV de avaliações e classificar sentimento
Vamos simular o processo de análise de sentimentos com LLM :
Simulando leitura do CSV
df_reviews = pd.read_csv("/content/reviews.csv")
df_reviews = pd.DataFrame({
"reviewText": [
"Eu adorei esse produto",
"Gostei, mas não é nada especial",
"Odiei esse produto"
]
})
Lista para armazenar análises de sentimento
lista_sentimentos = []
Simulação de LLM (substituindo o LLM real)
for review in df_reviews["reviewText"]:
if "adorei" in review:
lista_sentimentos.append("Positiva")
elif "Odiei" in review:
lista_sentimentos.append("Negativa")
else:
lista_sentimentos.append("Neutra")
Adicionando nova coluna com análises de sentimento
df_reviews["Sentimento"] = lista_sentimentos
print("\nDataFrame de reviews com sentimento:\n", df_reviews)