Python Pandas - Painel
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.
Os nomes dos 3 eixos têm como objetivo dar algum significado semântico à descrição de operações que envolvem dados de painel. Eles são -
items - eixo 0, cada item corresponde a um DataFrame contido dentro.
major_axis - eixo 1, é o índice (linhas) de cada um dos DataFrames.
minor_axis - eixo 2, são as colunas de cada um dos DataFrames.
pandas.Panel ()
Um painel pode ser criado usando o seguinte construtor -
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
Os parâmetros do construtor são os seguintes -
Parâmetro | Descrição |
---|---|
dados | Os dados assumem várias formas, como ndarray, série, mapa, listas, dict, constantes e também outro DataFrame |
Itens | eixo = 0 |
eixo principal | eixo = 1 |
eixo menor | eixo = 2 |
dtipo | Tipo de dados de cada coluna |
cópia de | Copie os dados. Padrão,false |
Criar Painel
Um painel pode ser criado de várias maneiras, como -
- De ndarrays
- Do dicionário de DataFrames
De 3D ndarray
# creating an empty panel
import pandas as pd
import numpy as np
data = np.random.rand(2,4,5)
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
Note - Observe as dimensões do painel vazio e do painel acima, todos os objetos são diferentes.
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 -
Dimensions: 2 (items) x 4 (major_axis) x 3 (minor_axis)
Items axis: Item1 to Item2
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 2
Crie um painel vazio
Um painel vazio pode ser criado usando o construtor de painel da seguinte maneira -
#creating an empty panel
import pandas as pd
p = pd.Panel()
print p
Está output é o seguinte -
<class 'pandas.core.panel.Panel'>
Dimensions: 0 (items) x 0 (major_axis) x 0 (minor_axis)
Items axis: None
Major_axis axis: None
Minor_axis axis: None
Selecionando os dados do painel
Selecione os dados do painel usando -
- Items
- Major_axis
- Minor_axis
Usando itens
# 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['Item1']
Está output é o seguinte -
0 1 2
0 0.488224 -0.128637 0.930817
1 0.417497 0.896681 0.576657
2 -2.775266 0.571668 0.290082
3 -0.400538 -0.144234 1.110535
Temos dois itens e recuperamos o item1. O resultado é um DataFrame com 4 linhas e 3 colunas, que são oMajor_axis e Minor_axis dimensões.
Usando major_axis
Os dados podem ser acessados usando o método panel.major_axis(index).
# 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.major_xs(1)
Está output é o seguinte -
Item1 Item2
0 0.417497 0.748412
1 0.896681 -0.557322
2 0.576657 NaN
Usando o eixo menor
Os dados podem ser acessados usando o método panel.minor_axis(index).
# 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.minor_xs(1)
Está output é o seguinte -
Item1 Item2
0 -0.128637 -1.047032
1 0.896681 -0.557322
2 0.571668 0.431953
3 -0.144234 1.302466
Note - Observe as mudanças nas dimensões.