Olá pessoal.
Provavelmente, você é aluno do meu curso:
Aprenda a analisar dados de vendas no Phyton, oferecido gratuitamente na Udemy.
Caso não seja, aproveite agora para se inscrever no link acima.
Neste link você encontra o código utilizado ao longo do curso para poder replicar e realizar as aulas.
Importando bibliotecas
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import os
# Insira o caminho do data set
from google.colab import drive
drive.mount('/content/gdrive')
os.chdir("/content/gdrive/My Drive/Colab Notebooks/EDA no Phyton/")
#Início da Análise exploratória de dados. Carregaremos a base de dados e em seguida realizaremos uma análise rápida. Que tipo de insights esperam por nós nesta etapa?
dados = pd.read_csv('Walmart Data Analysis and Forcasting.csv')
# Visualizando as primeiras linhas do DataFrame
print(dados.head())
# Resumo estatístico dos dados
print(dados.describe())
dados.columns = ['Lojas', 'Data', 'Vendas_Semanais', 'Feriado', 'Temperatura', 'Preço_Combustível', 'IPC', 'Tx_Desemprego']
# Informações sobre o DataFrame
print(dados.info())
# Vamos iniciar a visualização de dados
# Começaremos com um histograma e em seguida navegaremos por gráficos incríveis utilizando as bibliotecas Matplotlib e Seaborn.
# Quais insights obteremos nesta etapa?
# Histograma de uma variável específica (por exemplo, Vendas_Semanais)
plt.figure(figsize=(10, 6))
sns.histplot(dados['Vendas_Semanais'], bins=20, kde=True)
plt.title('Distribuição de Vendas')
plt.xlabel('Vendas')
plt.ylabel('Frequência')
plt.show()
# Gráfico de dispersão entre duas variáveis (por exemplo, Vendas_Semanais e Desemprego)
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Tx_Desemprego', y='Vendas_Semanais', data=dados)
plt.title('Relação entre Desemprego e Vendas')
plt.xlabel('Desemprego')
plt.ylabel('Vendas')
plt.show()
# Gráfico de dispersão entre duas variáveis (por exemplo, Vendas_Semanais e Temperatura)
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Temperatura', y='Vendas_Semanais', data=dados)
plt.title('Relação entre Temperatura e Vendas')
plt.xlabel('Temperatura')
plt.ylabel('Vendas')
plt.show()
# Matriz de correlação entre variáveis numéricas
correlacao = dados.corr()
plt.figure(figsize=(10, 8))
sns.heatmap(correlacao, annot=True, cmap='coolwarm', fmt='.2f', linewidths=.5)
plt.title('Matriz de Correlação')
plt.show()
# Ajustando os campos de data do Data Frame
dados['Dia'] = pd.DatetimeIndex(dados.Data).day
dados['Semanas'] = pd.DatetimeIndex(dados.Data).week
dados['Mês'] = pd.DatetimeIndex(dados.Data).month
dados['Ano'] = pd.DatetimeIndex(dados.Data).year
dados.drop('Data', axis=1, inplace=True)
# Agrupando por loja e calculando a soma das vendas semanais
venda_semanal_por_loja = dados.groupby('Lojas')['Vendas_Semanais'].sum().reset_index()
#Visualizando as vendas semanais
venda_semanal_por_loja
# Agrupando por loja e calculando a soma das vendas anuais
venda_anual_por_loja = dados.groupby('Ano')['Vendas_Semanais'].sum().reset_index()
#Visualizando as vendas anuais
venda_anual_por_loja
#Aqui vamos usar IA para criar um gráfico com as vendas anuais
# prompt: Pode me ajudar a criar um gráfico de colunas utilizando as vendas semanais?
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
sns.barplot(x='Ano', y='Vendas_Semanais', data=venda_anual_por_loja)
plt.title('Vendas Anuais por Loja')
plt.xlabel('Ano')
plt.ylabel('Vendas')
plt.show()
# Qual foi o menor faturamento, o maior faturamento e a média entre as lojas?
Menor_faturamento = venda_semanal_por_loja['Vendas_Semanais'].min()
Maior_faturamento = venda_semanal_por_loja['Vendas_Semanais'].max()
media = venda_semanal_por_loja['Vendas_Semanais'].mean()
print(Menor_faturamento)
print(Maior_faturamento)
print(media)
#Quais lojas tiveram o maior e o menor faturamento?
Loja_Menor_faturamento = venda_semanal_por_loja['Vendas_Semanais'].idxmin()
Loja_Maior_faturamento = venda_semanal_por_loja['Vendas_Semanais'].idxmax()
print(Loja_Menor_faturamento)
print(Loja_Maior_faturamento)
# Criando o gráfico de barras
cores = ['grey'] * len(venda_semanal_por_loja)
cores[Loja_Menor_faturamento] = 'red' # Destacando o menor valor em vermelho
cores[Loja_Maior_faturamento] = 'green' # Destacando o maior valor em verde
plt.bar(venda_semanal_por_loja['Lojas'], venda_semanal_por_loja['Vendas_Semanais'], color=cores)
# Adicionando uma linha para representar a média
plt.axhline(media, color='orange', linestyle='dashed', linewidth=2, label='Média')
# Adicionando rótulos e título
plt.xlabel('Lojas')
plt.ylabel('Vendas Semanais')
plt.title('Vendas Semanais por Loja')
# Exibindo a legenda
plt.legend()
# Exibindo o gráfico
plt.show()
#Qual o impacto dos feriados nas vendas semanais?
plt.figure(figsize=(10, 6))
sns.boxplot(data=dados, x = "Feriado" , y='Vendas_Semanais')
plt.title('Comparação entre Dia Útil e Feriado')
plt.xlabel('Dia')
plt.xticks([0, 1], ['Dia Útil', 'Feriado'])
#FIM
Lembrem-se de nos avaliar ao final do curso e de aproveitar os recursos adicionais que compartilhamos tanto na Udemy quando aqui em nosso Blog.
Acesse nosso Canal do Youtube.

0 comentários