Entendendo seus dados em Python

Quando você importa alguma tabela em ambientes como o R e o Python, diferente de um Excel que está escancarado na sua cara, é preciso ter um conhecimento mínimo de algumas funções para entender o que há na tabela. Por exemplo, o que está nas primeiras linhas, o que está nas últimas ou qual o tipo de cada elemento. Este post é para isso.

Não se esqueça de que no Rodeo, ao executar todas as linhas de uma vez, o console omite algumas saídas. Portanto, recomendo que você execute linha a linha do código abaixo. Ou acrescente o print() para cada output.

Inicialmente, ao invés de importarmos os dados (porque isso já foi explicado em Primeiros Passos em Python COLOCAR LINK), criaremos um data frame com 5 colunas chamadas A, B, C, D e E. Note que utilizamos pd.DataFrame() para criar um data frame, mas dentro da função precisamos utilizar outras funções para que o programa crie cada sequência que queremos – Data, Série e Categórica.


# importa a biblioteca
import pandas as pd

# cria data frame
dtf = pd.DataFrame({'A' : pd.date_range('20130102', periods=7),
'B' : pd.Series([1,2,3,4,5,6,7],index=list(range(7)),dtype='float32'),
'C' : pd.Categorical(["azul","azul","verde", "verde", "cinza", "marrom","azul"])});

Agora, vamos explorar o conteúdo da tabela:

# Ver as 3 primeiras linhas
dtf.head(3)

# Ver as 3 ultimas linhas
dtf.tail(3)

# Tipos dos objetos
dtf.dtypes

# Nome das colunas
list(dtf.columns.values)

Se você quiser localizar possíveis valores missing:

dtf.apply(lambda x: sum(x.isnull()),axis=0)

Agora, se você quiser mexer um pouco na ordem apresentada:

# reorganiza as colunas
dtf.sort_index(axis=1)

#ordena linhas de acordo com coluna B decrescente
dtf.sort_values(by='B', ascending=False)

Se você quiser visualizar apenas algumas linhas ou colunas específicas:

# seleciona da linha 2 a linha 4
dtf[2:4]
# seleciona somente coluna B
dtf["B"]

E, por fim, se você quiser selecionar as linhas de acordo com uma condição (e.g.: todas as pessoas do sexo feminino, todos os clientes inadimplentes, etc.):

# selecionar somente quando coluna C for azul
dtf.loc[(dtf['C'] == "azul")]

# selecionar quando coluna C for azul e B menor que 2
dtf.loc[(dtf['C'] == "azul") & (dtf['B'] < 2)]

# selecionar quando coluna C for azul e A menor que 8 de janeiro de 2013
dtf.loc[(dtf['C'] == "azul") & (dtf['A'] < '2013-01-08')]

Com isso, você dificilmente passará apuros tentando entender os seus dados.

Em breve postarei sobre inferência e análise exploratória. Mas se quiser ter uma ideia sobre os temas, há uma pequena introdução em Primeiros Passos em Python.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s