Como usar python para traçar séries temporais para a ciência de dados

Nada é verdadeiramente estática, especialmente na ciência de dados. Quando você visualizar a maioria dos dados com Python, você vê um instante de tempo - um instantâneo de como os dados apareceu em um momento particular. É claro que tais opiniões são tanto comum e útil. No entanto, às vezes você precisa ver os dados como ele se move através do tempo - para vê-la como ela muda. Só vendo os dados à medida que muda você pode esperar para entender as forças subjacentes que lhe dão forma.

Representando tempo em eixos

Muitas vezes, você precisa apresentar dados ao longo do tempo. Os dados podem vir de várias formas, mas geralmente você tem algum tipo de carrapato tempo (uma unidade de tempo), seguido por um ou mais recursos que descrevem o que acontece durante esse carrapato particular. O exemplo a seguir mostra um conjunto simples de dias e vendas nos dias para um item em particular em quantidades inteiras (inteiro).

import datetime como dtimport pandas como matplotlib.pyplot pdimport como pltdf = pd.DataFrame (colunas = ( `tempo`, `vendas`)) data_de_inicio = dt.datetime (2,015, 7,1) = data_final dt.datetime (2015, 7 , 10) daterange = pd.date_range (data_de_inicio, data_final) para single_date em daterange: fileira = Dict (ZIP ([ `Time`, `vendas`], [single_date, int (50 * np.random.rand (1)) ])) row_s = pd.Series (linha) row_s.name = single_date.strftime ( `% b% d`) DF = df.append (row_s) df.ix [ `1 jul`: `07 de julho`, [` Time`, ``(, 50 0) plt.xlabel]]. plot () plt.ylim ( `Data de Vendas`) plt.ylabel ( `valor de venda`) plt.title ( `Traço Time`) plt.show Vendas ()

O exemplo que se começa com a criação de um Quadro de dados para armazenar as informações. A fonte da informação poderia ser qualquer coisa, mas o exemplo gera aleatoriamente. Note-se que o exemplo cria um date_range para segurar o prazo da data inicial e final para o processamento mais fácil usando uma para ciclo.

Uma parte essencial deste exemplo é a criação de linhas individuais. Cada linha tem um valor de tempo real para que você não perder informações. No entanto, notar que o índice (row_s.name propriedade) é uma string. Este texto deverá aparecer na forma que você deseja que as datas apareçam quando apresentados na trama.



utilização ix [] permite que você selecione um intervalo de datas a partir do número total de entradas disponíveis. Observe que este exemplo utiliza apenas alguns dos dados gerados para a saída. Em seguida, adiciona alguma informação complementar sobre o enredo e exibe-o na tela. Aqui está a saída típica a partir dos dados gerados aleatoriamente.

Use gráficos de linha para mostrar o fluxo de dados ao longo do tempo.
Use gráficos de linha para mostrar o fluxo de dados ao longo do tempo.

Video: Séries Temporais Parte I

tendências de plotagem ao longo do tempo

Como com qualquer outra apresentação de dados, às vezes você realmente não pode ver que direção os dados é dirigido em sem ajuda. O exemplo a seguir inicia-se com a trama de cima e adiciona uma linha de tendência a ele:

import datetime como dtimport pandas como matplotlib.pyplot pdimport como numpy PLTImport como npimport matplotlib.pylab como plbdf = pd.DataFrame (colunas = ( `tempo`, `vendas`)) data_de_inicio = dt.datetime (2,015, 7,1) data_final = dt.datetime (2,015, 7,10) daterange = pd.date_range (data_de_inicio, data_final) para single_date em daterange: fileira = Dict (ZIP ([ `Time`, `vendas`], [single_date, int (50 * np .random.rand (1))])) row_s = pd.Series (linha) row_s.name = single_date.strftime ( `% b% d`) DF = df.append (row_s) df.ix [ `1 jul` :. `10 jul`, [ `Time`, `vendas`]] trama () = z np.polyfit (. gama (0, 10), df.as_matrix ([ `Vendas`]) achatar (), 1) p = np.poly1d (z) plb.plot (df.as_matrix ([ `Vendas`]), p (df.as_matrix ([ `Vendas`])), `m -`) plt.ylim (0, 50) plt.xlabel ( `Data de Vendas`) plt.ylabel ( `valor de venda`) plt.title ( `Traço Time`) plt.legend ([ `Vendas`, `Tendência`]) plt.show ()

Porque os dados aparecem dentro de um Quadro de dados, você deve exportá-lo usando as_matrix () e depois achatar a matriz resultante usando achatar () antes que você possa usá-lo como entrada para polyfit (). Da mesma forma, você deve exportar os dados antes você pode chamar enredo() para exibir a tela linha de tendência.

Quando você plotar os dados iniciais, a chamada para enredo() gera automaticamente uma lenda para você. não matplotlib não adiciona automaticamente a linha de tendência, então você também deve criar uma nova legenda para a trama. Aqui está a saída típica desse exemplo utilizando dados gerados aleatoriamente.

Adicionar uma linha de tendência para indicar o sentido de variação média em um gráfico.
Adicionar uma linha de tendência para indicar o sentido de variação média em um gráfico.

Publicações relacionadas