Matplotlib e Python com Interface Gráfica
Matplotlib é uma biblioteca poderosa e amplamente utilizada em Python para a criação de gráficos e visualizações de dados. Desenvolvida para gerar gráficos de alta qualidade, ela oferece uma interface amigável para criar visualizações como gráficos de linha, barras, pizza, histogramas, dispersão (scatter), entre outros.
QUESTÃO 1- ANALISAR O PREÇO MÉDIO DOS QUARTOS POR TIPO DE QUARTO
Neste exercício, você vai criar um gráfico de barras que mostre o preço médio dos quartos (coluna avg_room_price
) por tipo de quarto (coluna room_type
), e exibir o resultado em forma de gráfico.
PASSOS:
- Selecione as colunas de interesse:
room_type
eavg_room_price
. - Agrupe os dados por tipo de quarto utilizando
groupby()
e calcule a média dos preços dos quartos para cada tipo. - Crie um gráfico de barras que mostre o preço médio dos quartos para cada tipo de quarto.
DICAS:
- Utilize
df.groupby('room_type')['avg_room_price'].mean()
para calcular a média dos preços por tipo de quarto. - Utilize
plt.bar()
da bibliotecamatplotlib
para plotar o gráfico.

import pandas as pd
import matplotlib.pyplot as plt
# Função para importar os dados
def importar_dados():
file_path = '/mnt/data/Hotel.csv'
df = pd.read_csv(file_path)
return df
# Função para analisar o preço médio dos quartos por tipo de quarto usando subplots
def analisar_preco_medio_por_tipo_quarto_com_subplots(df):
# Agrupar por tipo de quarto e calcular a média dos preços
avg_price_by_room_type = df.groupby('room_type')['avg_room_price'].mean()
# Criar o gráfico de barras com subplots
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(avg_price_by_room_type.index, avg_price_by_room_type.values, color='skyblue', edgecolor='black')
ax.set_title('Preço Médio dos Quartos por Tipo de Quarto')
ax.set_xlabel('Tipo de Quarto')
ax.set_ylabel('Preço Médio (R$)')
ax.set_xticklabels(avg_price_by_room_type.index, rotation=45)
plt.tight_layout()
plt.show()
# Função principal
def main():
df = importar_dados()
analisar_preco_medio_por_tipo_quarto_com_subplots(df)
# Execução da função main
if __name__ == "__main__":
main()
QUESTÃO 2- COMPARAÇÃO ENTRE NOITES RESERVADAS DURANTE OS DIAS DE SEMANA E FINAIS DE SEMANA
Neste exercício, você vai criar um gráfico de barras comparando o total de noites reservadas durante os dias de semana (coluna week_nights
) e nos finais de semana (coluna weekend_nights
), visualizando a diferença entre as preferências de reserva.
PASSOS:
- Selecione as colunas
week_nights
eweekend_nights
para somar o total de noites reservadas em dias de semana e finais de semana. - Crie um gráfico de barras para comparar o total de noites em cada categoria (dias de semana vs finais de semana).
- Exiba o gráfico, ajustando os rótulos para facilitar a interpretação.
DICAS:
- Utilize
sum()
para calcular o total de noites em cada tipo (dias de semana e finais de semana). - Utilize
plt.bar()
domatplotlib
para criar o gráfico comparativo.

import pandas as pd
import matplotlib.pyplot as plt
# Função para importar os dados
def importar_dados():
file_path = '/mnt/data/Hotel.csv'
df = pd.read_csv(file_path)
return df
# Função para comparar o total de noites reservadas durante os dias de semana e finais de semana
def comparar_noites_reservadas(df):
# Calculando o total de noites reservadas nos dias de semana e finais de semana
total_week_nights = df['week_nights'].sum()
total_weekend_nights = df['weekend_nights'].sum()
# Dados para o gráfico de barras
categorias = ['Dias de Semana', 'Finais de Semana']
total_noites = [total_week_nights, total_weekend_nights]
# Criar o gráfico de barras
fig, ax = plt.subplots(figsize=(8, 6))
ax.bar(categorias, total_noites, color=['blue', 'orange'], edgecolor='black')
ax.set_title('Comparação de Noites Reservadas: Dias de Semana vs Finais de Semana')
ax.set_xlabel('Categoria')
ax.set_ylabel('Total de Noites Reservadas')
plt.tight_layout()
plt.show()
# Função principal
def main():
df = importar_dados()
comparar_noites_reservadas(df)
# Execução da função main
if __name__ == "__main__":
main()
Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.