Python Pandas - Panel
UN paneles un contenedor de datos 3D. El terminoPanel data se deriva de la econometría y es parcialmente responsable del nombre pandas - pan(el)-da(ta)-s.
Los nombres de los 3 ejes están destinados a dar algún significado semántico a la descripción de operaciones que involucran datos de panel. Ellos son -
items - eje 0, cada elemento corresponde a un DataFrame contenido en su interior.
major_axis - eje 1, es el índice (filas) de cada uno de los DataFrames.
minor_axis - eje 2, son las columnas de cada uno de los DataFrames.
pandas.Panel ()
Se puede crear un Panel usando el siguiente constructor:
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
Los parámetros del constructor son los siguientes:
Parámetro | Descripción |
---|---|
datos | Los datos toman varias formas como ndarray, series, mapas, listas, dict, constantes y también otro DataFrame |
artículos | eje = 0 |
eje_mayor | eje = 1 |
eje_minor | eje = 2 |
dtype | Tipo de datos de cada columna |
Copiar | Copiar datos. Defecto,false |
Crear panel
Un panel se puede crear usando varias formas como:
- De ndarrays
- De dict de DataFrames
Desde 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
Sus output es como sigue -
<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 las dimensiones del panel vacío y el panel de arriba, todos los objetos son diferentes.
De dict of 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
Sus output es como sigue -
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
Crear un panel vacío
Se puede crear un panel vacío usando el constructor Panel de la siguiente manera:
#creating an empty panel
import pandas as pd
p = pd.Panel()
print p
Sus output es como sigue -
<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
Seleccionar los datos del panel
Seleccione los datos del panel usando -
- Items
- Major_axis
- Minor_axis
Usar elementos
# 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']
Sus output es como sigue -
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
Tenemos dos elementos y recuperamos el elemento 1. El resultado es un DataFrame con 4 filas y 3 columnas, que son lasMajor_axis y Minor_axis dimensiones.
Usando major_axis
Se puede acceder a los datos utilizando el 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)
Sus output es como sigue -
Item1 Item2
0 0.417497 0.748412
1 0.896681 -0.557322
2 0.576657 NaN
Usando minor_axis
Se puede acceder a los datos utilizando el 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)
Sus output es como sigue -
Item1 Item2
0 -0.128637 -1.047032
1 0.896681 -0.557322
2 0.571668 0.431953
3 -0.144234 1.302466
Note - Observe los cambios en las dimensiones.