[DATA SCIENCE] DAY: 016 - Visualizando séries temporais
👨💼 Bom dia, boa tarde e boa noite pessoal, tudo bem?
🐍 Hoje iremos aprender como visualizar séries temporais.
As séries temporais são importantes na ciência de dados porque permitem entender como os dados variam ao longo do tempo. Isso é útil em muitas áreas, como finanças, meteorologia e saúde, para prever tendências futuras e tomar decisões informadas. As técnicas de análise de séries temporais, como a decomposição e a previsão, são amplamente utilizadas para analisar esses dados.
📝 Obs: Irei utilizar o jupyter notebook, mas fique a vontade para escolher outro ambiente de sua preferência. Uma sugestão caso não conheça nenhum, tem o colab do google.
1 - Primeiro, podemos usar a notação as para abreviar o nome das bibliotecas que vamos importar e facilitar a escrita de código:
💻
import pandas as pd
from matplotlib import pyplot as plt
from matplotlib import rcParams
import seaborn as sns
📝 Obs:
- A primeira linha
import pandas as pdimporta a biblioteca pandas para utilizar suas funções para manipular e analisar dados. - A segunda linha
from matplotlib import pyplot as pltimporta o módulo pyplot da biblioteca matplotlib para criar gráficos. - A terceira linha
from matplotlib import rcParamsimporta as configurações de parâmetros padrão da biblioteca matplotlib. - A quarta linha
import seaborn as snsimporta a biblioteca seaborn que fornece uma interface mais fácil para criar gráficos estatísticos atraentes e informativos, e também estende as funcionalidades de matplotlib.
Essas linhas de código preparam as bibliotecas necessárias para serem utilizadas na visualização de dados.
2 - Agora vamos ajustar as configurações de visualização para se adequar ao ambiente do Jupyter Notebook e estabelecer um estilo de gráfico padrão para ser usado ao longo do código:
💻
%matplotlib inline
rcParams['figure.figsize'] = 5, 4
sns.set_style('whitegrid')
📝 Obs:
-
%matplotlib inline: Essa linha de código é usada para exibir gráficos dentro do notebook Jupyter. Isso significa que, em vez de abrir uma nova janela para exibir o gráfico, ele será exibido diretamente no notebook. -
rcParams['figure.figsize'] = 5, 4: Essa linha de código define o tamanho da figura como 5x4. Isso significa que a largura será de 5 unidades e a altura será de 4 unidades. -
sns.set_style('whitegrid'): Essa linha de código é parte do seaborn, uma biblioteca de visualização de dados baseada em Matplotlib. Ele define o estilo de grade como branco. Isso adiciona linhas brancas às suas visualizações de dados, o que pode ajudar a tornar os gráficos mais legíveis e fáceis de interpretar.
3 - Após ter feito as configurações iniciais, vamos ler arquivo CSV chamado "Superstore-Sales.csv" e importar os dados para um Dataframe:
🔍 Para baixar o arquivo que está sendo usado, clique aqui.
caminho = 'O-caminho-do-seu-arquivo/Superstore-Sales.csv'
df = pd.read_csv(caminho, index_col='Order Date', parse_dates=True,
encoding='ISO-8859-1')
df.head(3)
📝 Obs: O que esse código faz???
- Definindo caminho para o arquivo: A primeira linha define uma variável chamada
caminhoque contém o caminho para o arquivo CSVSuperstore-Sales.csvque está localizado no desktop do usuário na pastaroteiros/dados. - Lendo arquivo CSV: A segunda linha utiliza a biblioteca pandas para ler o arquivo CSV especificado na variável
caminhoe armazena os dados em um dataframe chamadodf. - Indexando o Dataframe: A terceira linha define a coluna
Order Datecomo o índice do dataframedfe converte essas entradas para objetos de data e hora. - Codificação do arquivo: A quarta linha especifica a codificação do arquivo como
ISO-8859-1. - Visualização dos dados: A quinta linha utiliza o método
head()para visualizar as primeiras 3 linhas do dataframedf.
Saída dos dados:
| Order Date | Row ID | Order ID | Order Priority | Order Quantity | Sales | Discount | Ship Mode | Profit | Unit Price | Shipping Cost | Customer Name | Province | Region | Customer Segment | Product Category | Product Sub-Category | Product Name | Product Container | Product Base Margin | Ship Date |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010-10-13 00:00:00 | 1 | 3 | Low | 6 | 261.54 | 0.04 | Regular Air | -213.25 | 38.94 | 35.0 | Muhammed MacIntyre | Nunavut | Nunavut | Small Business | Office Supplies | Storage & Organization | Eldon Base for stackable storage shelf, platinum | Large Box | 0.8 | 10/20/2010 |
| 2012-10-01 00:00:00 | 49 | 293 | High | 49 | 10123.02 | 0.07 | Delivery Truck | 457.81 | 208.16 | 68.02 | Barry French | Nunavut | Nunavut | Consumer | Office Supplies | Appliances | 1.7 Cubic Foot Compact "Cube" Office Refrigerators | Jumbo Drum | 0.58 | 10/2/2012 |
| 2012-10-01 00:00:00 | 50 | 293 | High | 27 | 244.57 | 0.01 | Regular Air | 46.71 | 8.69 | 2.99 | Barry French | Nunavut | Nunavut | Consumer | Office Supplies | Binders and Binder Accessories | Cardinal Slant-D® Ring Binder, Heavy Gauge Vinyl | Small Box | 0.39 | 10/3/2012 |
4 - Agora vamos utilizar o método plot() para plotar os dados da coluna Order Quantity do dataframe df. Isso gera um gráfico de linha mostrando como a quantidade de pedidos varia ao longo do tempo. Este gráfico pode ajudar a visualizar tendências e padrões nos dados de quantidade de pedidos:
df['Order Quantity'].plot()
📝 Obs: O que esse código faz???
- Acessando coluna específica do Dataframe: Essa linha de código acessa a coluna "Order Quantity" do dataframe
dfusando notação de colchetes[] - Plotando gráfico: Utiliza o método
plot()para plotar os dados da colunaOrder Quantityacessada anteriormente. - Visualizando tendências e padrões: O gráfico gerado mostra como a quantidade de pedidos varia ao longo do tempo, o que pode ajudar a visualizar tendências e padrões nos dados de quantidade de pedidos.
Gráfico gerado:

5 - Por último, vamos plotar um gráfico de linha com os dados de quantidade de pedidos de uma amostra aleatória com o objetivo de visualizar as tendências e padrões dos dados de quantidade de pedidos:
df2 = df.sample(n=100, random_state=25, axis=0)
plt.xlabel('Order Date')
plt.ylabel('Order Quantity')
plt.title('Superstore Sales')
df2['Order Quantity'].plot()
📝 Obs: O que esse código faz???
- Amostrando dados: A primeira linha do código cria uma nova variável chamada
df2que contém uma amostra aleatória de 100 linhas do dataframedf. O argumentorandom_stateé usado para garantir que a mesma amostra seja selecionada cada vez que o código é executado. - Configurando gráfico: As próximas três linhas usam o módulo
pltda biblioteca matplotlib para rotular o eixo x comoOrder Date, o eixo y comoOrder Quantitye definir o título do gráfico comoSuperstore Sales. - Plotando gráfico: A última linha usa o método
plot()para plotar os dados da colunaOrder Quantityda amostradf2gerada anteriormente.
Gráfico gerado:
