Python - Operações de Dados
Python lida com dados de vários formatos principalmente por meio de duas bibliotecas, Pandas e Numpy. Já vimos as características importantes dessas duas bibliotecas nos capítulos anteriores. Neste capítulo, veremos alguns exemplos básicos de cada uma das bibliotecas sobre como operar com dados.
Operações de dados em Numpy
O objeto mais importante definido em NumPy é um tipo de array N-dimensional chamado ndarray. Ele descreve a coleção de itens do mesmo tipo. Os itens da coleção podem ser acessados usando um índice baseado em zero. Uma instância da classe ndarray pode ser construída por diferentes rotinas de criação de array, descritas posteriormente no tutorial. O ndarray básico é criado usando uma função de array em NumPy da seguinte maneira -
numpy.array
A seguir estão alguns exemplos de manipulação de dados Numpy.
Exemplo 1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
O resultado é o seguinte -
[[1, 2]
[3, 4]]
Exemplo 2
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
O resultado é o seguinte -
[[1, 2, 3, 4, 5]]
Exemplo 3
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
O resultado é o seguinte -
[ 1.+0.j, 2.+0.j, 3.+0.j]
Operações de dados em pandas
O Pandas lida com dados por meio de Series,Data Frame, e Panel. Veremos alguns exemplos de cada um deles.
Pandas Series
Series é um array rotulado unidimensional capaz de conter dados de qualquer tipo (inteiro, string, float, objetos python, etc.). Os rótulos dos eixos são chamados coletivamente de índice. Uma série pandas pode ser criada usando o seguinte construtor -
pandas.Series( data, index, dtype, copy)
Exemplo
Aqui criamos uma série a partir de um Numpy Array.
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
Está output é o seguinte -
0 a
1 b
2 c
3 d
dtype: object
Pandas DataFrame
Um quadro de dados é uma estrutura de dados bidimensional, ou seja, os dados são alinhados de forma tabular em linhas e colunas. Um DataFrame pandas pode ser criado usando o seguinte construtor -
pandas.DataFrame( data, index, columns, dtype, copy)
Vamos agora criar um DataFrame indexado usando arrays.
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df
Está output é o seguinte -
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
Painel Pandas
UMA panelé um contêiner 3D de dados. O termoPanel data é derivado da econometria e é parcialmente responsável pelo nome pandas - pan(el)-da(ta)-s.
Um painel pode ser criado usando o seguinte construtor -
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
No exemplo a seguir, criamos um painel de dict de DataFrame Objects
#creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p
Está output é o seguinte -
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4