You are on page 1of 9

Introducción a Python

• The “Pythonic Way”

• Al fin llegamos a un nivel donde podemos entender el verdadero poder de Python.


• Si bien Python es un lenguaje de programación extremadamente útil y de sintaxis extremadamente simple, corresponde a un lenguaje
interpretado (y por ende no es el más rápido de ejecución), que si bien conlleva ventajas de legibilidad, simpleza, velocidad de coding,
donde exhibe su verdadera potencia es en la gran cantidad de librerías para prácticamente todos los posibles problemas de programación
• La mayoría de ellas construidas bajo lenguajes base Fortran, C y C++, con lo cual se puede lograr una performance comparable
• La idea no es “regalar peces”, sino “enseñar a pescar”, por lo que se entregarán las herramientas fundamentales de cada librería y
dependerá de cada uno el nivel de profundidad que pretenda alcanzar en cada una de ellas
• En el curso nos enfocaremos:

• Pandas, librería para análisis de datos


• Numpy y SciPy, librerías científicas, permite el manejo eficiente de matrices y problemas numéricos
• Matplotlib, librería para análisis gráfico de datos
• Orange, librería para pre-procesamiento de datos y machine learning
• Scikit Learn, librería para machine learning
• Statsmodels, librería con aplicaciones estadísticas y econométricas (es posible “importar” R)
• Urllib y Beautiful Soup, permiten leer páginas web, parsing y web scrapping

1
Introducción a Python

• Pandas

• El principal objeto dentro del mundo Pandas (http://pandas.pydata.org/) es el denominado DataFrame:


• Veamos el siguiente ejemplo:

2
Introducción a Python

• Pandas

• Es posible llamar sus columnas por ubicación df.iloc[filas,


columnas]
• O bien por nombre df.loc[filas,‘nombre’]
• O simplemente una porción del dataframe por medio de slicing
df.iloc[start:end,start:end]

3
Introducción a Python

• Pandas – Concatenación de DataFrames

df df2

df3

4
Introducción a Python

• Pandas

• Es muy relevante también, saber lidiar con los missing values o


“nan”, existe una gran cantidad de comandos con diferentes
criterios…
• aux1=df.dropna(), elimina los nan de acuerdo a los argumentos
establecidos
• Aux2=df.fillna(value), permite gran flexibilidad en el relleno de
valores perdidos

5
Introducción a Python

• Pandas

• Ejemplo df.fillna()

6
Introducción a Python

• Pandas

• Importando y exportando datos…


• Pandas ofrece múltiples formas de importar y exportar datos:

• Por medio del comando df.head(‘número de filas’), se puede ver


una muestra de los datos importados…

7
Introducción a Python

• Pandas

• Para tener una idea global de la data base, una vez cargada la
database podemos utilizar el comando df.describe()

• Posteriormente, a modo de ejemplo, podemos mirar que ocurre si


normalizamos la data con la media y desviación estándar de todo el
periodo y volver a analizar df.describe()

• Es posible realizar lo mismo con ventanas móviles por medio de


df.rolling(window).mean() y df.rolling(window).std(),
df.rolling(window).corr(), etc.

• lo anterior es de particular utilidad si pensamos que existen


cambios en la serie en términos de niveles o volatilidad

8
Introducción a Python

• Pandas

• Como hemos visto, las funcionalidades son inagotables, veamos un


par más antes de movernos adelante

• El primer comando filtra para todas las filas y columnas mientras


que el segundo lo hace sólo para detectar aquellos cuyo z-score
esté fuera del threshold de 2