Python: operaciones de datos
Python maneja datos de varios formatos principalmente a través de las dos bibliotecas, Pandas y Numpy. Ya hemos visto las características importantes de estas dos bibliotecas en los capítulos anteriores. En este capítulo veremos algunos ejemplos básicos de cada una de las bibliotecas sobre cómo operar con datos.
Operaciones de datos en Numpy
El objeto más importante definido en NumPy es un tipo de matriz N-dimensional llamado ndarray. Describe la colección de artículos del mismo tipo. Se puede acceder a los elementos de la colección mediante un índice de base cero. Se puede construir una instancia de la clase ndarray mediante diferentes rutinas de creación de matrices que se describen más adelante en el tutorial. El ndarray básico se crea usando una función de matriz en NumPy de la siguiente manera:
numpy.array
A continuación se muestran algunos ejemplos sobre el manejo de Numpy Data.
Ejemplo 1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
La salida es la siguiente:
[[1, 2]
[3, 4]]
Ejemplo 2
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
La salida es la siguiente:
[[1, 2, 3, 4, 5]]
Ejemplo 3
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
La salida es la siguiente:
[ 1.+0.j, 2.+0.j, 3.+0.j]
Operaciones de datos en Pandas
Pandas maneja los datos a través de Series,Data Framey Panel. Veremos algunos ejemplos de cada uno de estos.
Serie Pandas
La serie es una matriz etiquetada unidimensional capaz de contener datos de cualquier tipo (entero, cadena, flotante, objetos de Python, etc.). Las etiquetas de los ejes se denominan colectivamente índice. Se puede crear una serie pandas usando el siguiente constructor:
pandas.Series( data, index, dtype, copy)
Ejemplo
Aquí creamos una serie a partir de un 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
Sus output es como sigue -
0 a
1 b
2 c
3 d
dtype: object
Pandas DataFrame
Un marco de datos es una estructura de datos bidimensional, es decir, los datos se alinean de forma tabular en filas y columnas. Se puede crear un DataFrame de pandas usando el siguiente constructor:
pandas.DataFrame( data, index, columns, dtype, copy)
Creemos ahora un DataFrame indexado usando matrices.
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
Sus output es como sigue -
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
Panel de pandas
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.
Se puede crear un Panel usando el siguiente constructor:
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
En el siguiente ejemplo, creamos un panel a partir 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 -
<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