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