Introducción a pandas

En este tutorial veremos una introducción básicas a Pandas. Que quede claro que no me refiero al panda animal, sino a la librería de Python.

Como podemos ver en la web oficial de pandas:

pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

Por lo tanto, pandas es una librería para el análisis de datos que cuenta con las estructuras de datos que necesitamos para limpiar los datos en bruto y que sean aptos para el análisis (por ejemplo, tablas). Es importante señalar aquí que, dado que pandas lleva a cabo tareas importantes, como alinear datos para su comparación, fusionar conjuntos de datos, gestión de datos perdidos, etc., se ha convertido en una librería muy importante para procesar datos a alto nivel en Python (es decir, estadísticas ). Pandas fue diseñada originalmente para gestionar datos financieros, y como alternativo al uso de hojas de cálculo (es decir, Microsoft Excel).

La estructura de datos básica de pandas se denomina DataFrame, que es una colección ordenada de columnas con nombres y tipos, parecido a una tabla de base de datos, donde una sola fila representa un único caso (ejemplo) y las columnas representan atributos particulares. Cabe señalar aquí que elementos en distintas columnas pueden ser de diferentes tipos.

Por lo tanto, como resumen decir que pandas nos proporciona las estructuras de datos y funciones necesarias para el análisis de datos.

Instalando pandas

Ahora vamos a ver cómo podemos instalar pandas en nuestras máquinas y utilizarla para el análisis de datos. La forma más sencilla de instalar pandas y evitar problemas de dependencia es mediante el uso de Anaconda, que dentro de pandas. Como puedes leer en la página de descarga Anaconda:

Anaconda is a completely free Python distribution (including for commercial use and redistribution). It includes more than 400 of the most popular Python packages for science, math, engineering, and data analysis

La distribución Anaconda es multiplataforma, lo que significa que se puede instalar en OS X, Windows y Linux. Voy a utilizar el instalador de OS X, ya que estoy trabajando en un equipo Mac OS X El Capitán, pero por supuesto puedes elegir el instalador que más se ajuste a tu sistema operativo. Personalmente, utilizaré el instalador gráfico (ten cuidado, son 339 MB).

Después de descargar el instalador, simplemente sigue los sencillos pasos del asistente de instalación y ya está. Todo lo que tenemos que hacer ahora con el fin de utilizar pandas es importar el paquete de la siguiente manera:

import pandas as pd

Estructuras de datos de pandas

Antes he mencionado una de las tres estructuras de datos disponibles en pandas, el DataFrame. Voy a describir esta estructura de datos en esta sección, además de otra estructura de datos de pandas, Series. Hay otra estructura de datos llamada Panel, pero no lo describiré en este tutorial, ya que no se utiliza con tanta frecuencia. DataFrame es una estructura de datos en 2D, Series es una estructura de datos en 1D, y Panel es en 3D y la mayor estructura de datos.

DataFrame

El DataFrame es una estructura de datos tabular que se compone de columnas y filas ordenadas. Para que todo sea más sencillo vamos a ver un ejemplo de creación de un DataFrame (tabla) de un diccionario de listas. El siguiente ejemplo muestra un diccionario que consta de dos keys, Name y Age, y su correspondiente lista de valores.

import pandas as pd
import numpy as np
 
name_age = {'Name' : ['Ali', 'Bill', 'David', 'Hany', 'Ibtisam'],
'Age' : [32, 55, 20, 43, 30]}
data_frame = pd.DataFrame(name_age)
print data_frame

Si ejecutas el script anterior, deberías obtener una salida similar a:

Observa que el constructor del DataFrame ordena las columnas en orden alfabético. Si deseas cambiar el orden de las columnas, debes escribir lo siguiente debajo de data_frame:

data_frame_2 = pd.DataFrame(name_age, columns = ['Name', 'Age'])

Para ver el resultado escribe: print data_frame_2

Decirte que no necesitas utilizar los labels por defecto 0, 1, 2, ..., y puedes usar a, b, c, ... en su lugar. En ese caso, puedes utilizar index en la script anterior de la siguiente manera:

data_frame_2 = pd.DataFrame(name_age, columns = ['Name', 'Age'], index = ['a', 'b', 'c', 'd', 'e'])

Está guay, ¿eh? Utilizando DataFrame, hemos sido capaces de ver nuestros datos organizados de forma tabular.

Series

Series es la segunda estructura de datos pandas de la que os voy a hablar. Series es un objeto unidimensional (1D) similar a la columna de una tabla. Si queremos crear un Series para un listado de nombres, podemos hacer lo siguiente:

series = pd.Series(['Ali', 'Bill', 'David', 'Hany', 'Ibtisam'],
index = [1, 2, 3, 4, 5])
print series

La salida del script anterior será esta:

Funciones de pandas

En esta sección, vamos a ver ejemplos de algunas de las funciones que podemos utilizar con DataFrame y Series.

Head y Tail

Las funciones head() y tail() nos permiten ver una muestra de nuestros datos, especialmente cuando tenemos muchísimos. El número por defecto de elementos a mostrar es 5, pero puedes mostrar tantos como quieras. No hay problema.

Digamos que tenemos un Series compuesto por 20,000 elementos aleatorios (números):

import pandas as pd
import numpy as np
series = pd.Series(np.random.randn(20000))

Si queremos ver los primeros cinco elementos, y los cinco últimos, podemos hacer lo siguiente:

print series.head()
print series.tail()

Add

Vamos a ver un ejemplo de la función add. En esta ocasión veremos cómo añadir dos DataFrames:

import pandas as pd
 
dictionary_1 = {'A' : [5, 8, 10, 3, 9],
'B' : [6, 1, 4, 8, 7]}
dictionary_2 = {'A' : [4, 3, 7, 6, 1],
'B' : [9, 10, 10, 1, 2]}
data_frame_1 = pd.DataFrame(dictionary_1)
data_frame_2 = pd.DataFrame(dictionary_2)
data_frame_3 = data_frame_1.add(data_frame_2)
print data_frame_1
print data_frame_2
print data_frame_3

Fuente: Abder-Rahman Ali

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP