Questão 1
with open("texto.txt", "r") as file:
texto_original = file.read()
dicionario_sinonimos = {
'carro': 'automóvel',
'carros': 'veículos',
'modelos': 'exemplares',
'transporte': 'locomoção',
}
texto_modificado = texto_original
for palavra_original, sinonimo in dicionario_sinonimos.items():
texto_modificado = texto_modificado.replace(palavra_original, sinonimo)
with open('texto_modificado.txt', 'w') as arquivo:
arquivo.write(texto_modificado)
Run to view results
Questão 2
import csv
import random
def gerar_pessoas_aleatorias(num_pessoas):
pessoas = []
nomes = ['Ana', 'Bruno', 'Carla', 'Daniel', 'Eduardo', 'Fernanda', 'Gabriel', 'Helena', 'Igor', 'Julia']
for _ in range(num_pessoas):
nome = random.choice(nomes)
peso = random.uniform(50, 100)
altura = random.uniform(1.50, 1.90)
pessoas.append([nome, peso, altura])
return pessoas
num_pessoas = 10
pessoas = gerar_pessoas_aleatorias(num_pessoas)
with open('pessoas.csv', 'w', newline='', encoding='utf-8') as arquivo:
writer = csv.writer(arquivo)
writer.writerow(['Nome', 'Peso', 'Altura'])
writer.writerows(pessoas)
def calcular_imc(peso, altura):
"""Calcula o IMC a partir do peso e da altura."""
return peso / (altura * altura)
def classificar_imc(imc):
"""Classifica o IMC de acordo com a faixa de valores."""
if imc < 18.5:
return 'Abaixo do peso'
elif 18.5 <= imc < 25:
return 'Peso normal'
elif 25 <= imc < 30:
return 'Sobrepeso'
else:
return 'Obesidade'
# Carrega os dados do arquivo CSV
pessoas = []
with open('pessoas.csv', 'r', encoding='utf-8') as arquivo:
reader = csv.reader(arquivo)
next(reader) # Pula a linha de cabeçalho
for linha in reader:
nome = linha[0]
peso = float(linha[1])
altura = float(linha[2])
pessoas.append([nome, peso, altura])
# Calcula o IMC e classifica cada pessoa
for pessoa in pessoas:
imc = calcular_imc(pessoa[1], pessoa[2])
classificacao = classificar_imc(imc)
pessoa.append(imc)
pessoa.append(classificacao)
# Salva os dados atualizados em um novo arquivo CSV
with open('pessoas_com_imc.csv', 'w') as arquivo:
novo = csv.writer(arquivo)
novo.writerow(['Nome', 'Peso', 'Altura', 'IMC', 'Classificação'])
novo.writerows(pessoas)
Run to view results
Questão 3
import json
autores = {
"J.K. Rowling": [
{
"titulo": "Harry Potter e a Pedra Filosofal",
"vendas": [
{"livraria": "Livraria A", "quantidade": 1000},
{"livraria": "Livraria B", "quantidade": 500},
{"livraria": "Livraria C", "quantidade": 200}
]
},
{
"titulo": "Harry Potter e a Câmara Secreta",
"vendas": [
{"livraria": "Livraria A", "quantidade": 800},
{"livraria": "Livraria B", "quantidade": 600},
{"livraria": "Livraria C", "quantidade": 300}
]
}
],
"Stephen King": [
{
"titulo": "It: A Coisa",
"vendas": [
{"livraria": "Livraria A", "quantidade": 700},
{"livraria": "Livraria B", "quantidade": 400},
{"livraria": "Livraria C", "quantidade": 150}
]
},
{
"titulo": "O Iluminado",
"vendas": [
{"livraria": "Livraria A", "quantidade": 500},
{"livraria": "Livraria B", "quantidade": 300},
{"livraria": "Livraria C", "quantidade": 100}
]
}
],
"George Orwell": [
{
"titulo": "1984",
"vendas": [
{"livraria": "Livraria A", "quantidade": 600},
{"livraria": "Livraria B", "quantidade": 350},
{"livraria": "Livraria C", "quantidade": 200}
]
},
{
"titulo": "A Fazenda dos Animais",
"vendas": [
{"livraria": "Livraria A", "quantidade": 400},
{"livraria": "Livraria B", "quantidade": 250},
{"livraria": "Livraria C", "quantidade": 100}
]
}
]
}
with open("livros.json", "w") as f:
json.dump(autores, f, indent=4)
Run to view results
import json
# Carrega o arquivo JSON
with open("livros.json", "r") as f:
autores = json.load(f)
# Atualiza a quantidade de unidades vendidas de um livro
autor = "Stephen King"
livro = "It: A Coisa"
livraria = "Livraria B"
nova_quantidade = 500
for book in autores[autor]:
if book["titulo"] == livro:
for venda in book["vendas"]:
if venda["livraria"] == livraria:
venda["quantidade"] = venda["quantidade"] + nova_quantidade
break
# Atualiza o arquivo JSON
with open("livros.json", "w") as f:
json.dump(autores, f, indent=4)
Run to view results
Questão 4
import pandas as pd
# Carregando a base de dados diretamente do link
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv"
# Definindo os nomes das colunas
column_names = ['Sex', 'Length', 'Diameter', 'Height', 'Whole weight', 'Shucked weight', 'Viscera weight', 'Shell weight', 'Rings']
# Carregando a base de dados com os nomes das colunas corretos
df = pd.read_csv(url, names=column_names)
# Salvando a base de dados em um arquivo CSV
df.to_csv("abalone.csv", index=False)
# Exibindo a base de dados carregada e ajustada
print(df)
Run to view results
Questão 5
import pandas as pd
# Carregando a base de dados diretamente do link
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv"
# Definindo os nomes das colunas
column_names = ['Sex', 'Length', 'Diameter', 'Height', 'Whole weight', 'Shucked weight', 'Viscera weight', 'Shell weight', 'Rings']
# Carregando a base de dados com os nomes das colunas corretos
df = pd.read_csv(url, names=column_names)
# Calculando a média das variáveis agrupadas por "Sex"
media_df = df.groupby('Sex')[['Length', 'Diameter', 'Height', 'Whole weight', 'Rings']].mean()
# Exibindo o dataframe com as médias
print(media_df)
Run to view results
Questão 6
import pandas as pd
# Carrega o DataFrame diretamente do link do Github
df = pd.read_csv("https://raw.githubusercontent.com/cassiusf/datasets/main/exemplo_dataset.csv")
# Imprime o DataFrame
print(df)
Run to view results
Questão 7
import pandas as pd
# Carregando a base de dados diretamente do link
url = "https://raw.githubusercontent.com/domoritz/maps/master/data/iris.json"
df = pd.read_json(url)
# Calculando a média e a mediana das variáveis numéricas por espécie
resultados = df.groupby('species').agg(['mean', 'median'])
# Apresentando os resultados
print(resultados)
Run to view results
Questão 8
import pandas as pd
# Carregando o dataset
df = pd.read_csv('AccountData.csv')
# Limpeza do dataset
df.dropna(subset=['Transaction Number'], inplace=True)
df.dropna(subset=['Date'], inplace=True)
df.dropna(subset=['Memo'], inplace=True)
df.dropna(subset=['Category'], inplace=True)
df.dropna(subset=['Transaction Amount'], inplace=True)
df.dropna(subset=['Balance'], inplace=True)
df.dropna(subset=['Temp 1'], inplace=True)
# Salvando o dataset limpo
df.to_csv('AccountData_limpo.csv', index=False)
print(df)
Run to view results