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