0% encontró este documento útil (0 votos)
252 vistas

Python Tratamiento Datos

Cargado por

marco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
252 vistas

Python Tratamiento Datos

Cargado por

marco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

Introducción a Python para el

tratamiento de datos
María del Mar Ruiz Martín
[email protected]

Mayo 2020

Afi Escuela de Finanzas


Índice

1. Introducción
2. Distribuciones disponibles
3. Instalación de paquetes
4. NumPy
5. Pandas
6. Visualización con Python
7. Regresión

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 2


Instalaciones necesarias
o Python: https://www.python.org/

o Jupyter: https://jupyter.org/

o Paquetes de Python: matplotlib, pandas, sklearn, numpy

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 3


1 Introduction

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 4


Introducción

Historia de Python
o Creado en 1990 por Guido van Rossum

o El nombre está basado en los humoristas británicos Monty Python

o A partir del año 2001 pasa a ser administrado por Python Software Foundation, una
compañía sin ánimo de lucro con un funcionamiento similar al de Apache Software
Foundation.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 5


¿Qué es Python?
o Es un lenguaje de programación de alto nivel.

o Es un lenguaje de programación de propósito general.

o Es un lenguaje de programación de open source.

o Es un lenguaje de programación de interpretado.

o Es un lenguaje de programación de orientado a objetos.

o Es un lenguaje de programación de dinámicamente tipado y fuertemente tipado.

o Es un lenguaje de programación de conciso.

o Es un lenguaje de programación de con una comunidad muy activa.

o Es un lenguaje de programación de con infinidad de módulos orientados a muy


diferentes dominios (tratamiento de imagen, bases de datos, videojuegos, análisis de
datos,…).

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 6


¿Por qué Python?
o Es fácil de aprender: sintaxis simple, clara y sencilla.

o Lenguaje simple pero potente

o Es open source

Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, …

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 7


Introducción

IDEs disponibles
o Exiten muchos IDEs (Integrated Develpment Environment) para Python.

o Cada uno de ellos está diseñado para dar soporte a una forma de trabajo en
función del dominio (análisis de datos, desarrollo general, programación
reproducible, …) al que se orienten.

o Se pueden encontrar desde consolas básicas hasta entornos completos de


desarrollo y despliegue de aplicaciones y servicios (Visual Studio, Eclipse,
NetBeans, etc.).

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 8


Intérprete / Consola
• Se trata de la consola interactiva de Python.
• Se accede al intérprete y se trabaja con el mismo desde la línea de commandos del
sistema operativo.
• Interpreta los inputs introducidos, evalúa los mismos y ofrece un output por cada uno
de ellos.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 9


Notebook
• Evolución de la consola interactiva de IPython, que ha derivado en el Proyecto Jupyter.
• Se trata de un intérprete de Python ejecutado directamente sobre un navegador Web
• Permite combinar “celdas” de código con texto enriquecido (HTML, imágenes, gráficos,
etc.).
• Permite almacenar en un único documento comentarios, entradas, código y salidas.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 10


2 Distribuciones disponibles

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 11


Python

• Se trata del core de Python.


• Incluye únicamente los paquetes básicos y el intérprete de consola de
comandos.
• Se puede descargar para cualquier sistema operativo.
• Posteriormente podemos descargar los paquetes que necesitemos.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 12


Anaconda

• Se trata de la distribución de Python más extendida y reconocida de


las existentes.
• Incluye más de 300 módulos preinstalados desde análisis de datos,
hasta de desarrollo web pasando por librerías matemáticas...
• Incluye una consola (gráfica) pra Python, iPython, Jupyter Notebooks y
Spyder.

https://store.continuum.io/cshop/anacon

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 13


3 Instalación de paquetes

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 14


Pip

pip es el administrador estándar de paquetes de Python.


El instalador de Python instala pip automáticamente, por lo que no hay
que instalar nada más para usarlo.
Para instalar paquetes con pip basta escribir en la consola:
“pip install nombre_paquete”.
Los paquetes se descargan del repositorio oficial de paquetes de
Python, llamado PyPi.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 15


Conda

• Conda es otro gestor de paquetes y entornos para Python.


• Conda está incluido al instalar la distribución Anaconda.
• Para instalar paquetes con conda basta escribir en la consola:
“conda install nombre_paquete”.
Los paquetes se descargan del repositorio de Anaconda.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 16


Introducción

Sintaxis y elementos básicos


o Exiten muchos IDEs (Integrated Develpment Environment) para Python.

o Cada uno de ellos está diseñado para dar soporte a una forma de trabajo en
función del dominio (análisis de datos, desarrollo general, programación
reproducible, …) al que se orienten.

o Se pueden encontrar desde consolas básicas hasta entornos completos de


desarrollo y despliegue de aplicaciones y servicios (Visual Studio, Eclipse,
NetBeans, etc.).

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 17


4 NumPy

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 18


¿Qué es NumPy?
NumPy es un módulo de Python y es la abreviatura de Numerical Python.
o Ofrece estructuras de datos y funciones matemáticas que serían complejas de
replicar utilizando el core de Python (computación matricial, operaciones matemáticas
sobre grandes conjuntos de información, etc.).
o Es la base de un gran conjunto de módulos de Python, especialmente orientados al
análisis de datos (entre ellos pandas), por lo que entender correctamente su
funcionamiento facilita el aprendizaje posterior de estos paquetes.
o Junto con las funcionalidades incluidas en el módulo SciPy ofrece un framework
completo para llevar a cabo procesos de computación científica en Python. De hecho,
“dicen” que...

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 19


Capacidades principales
o Estructura de datos para el almacenamiento y recuperación de datos en forma de
matrices n-dimensionales: ndarray.
o Funciones matemáticas estándar con rendimiento optimizado para poder ser aplicadas
a matrices completas (o secciones de las mismas) sin necesidad de utilizar bucles.
o Herramientas para la lectura y escritura de información matricial a disco.
o Funciones para la aplicación de álgebra lineal, generación de números aleatorios,
transformadas de Fourier...
o Herramientas para la integración de código nativo escrito en C, C++ o Fortran,
permitiendo la integración en nuevos desarrollos de librerías legacy de cálculo.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 20


5 Pandas

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 21


¿Qué es Pandas?
o pandas es un módulo de Python, de alto rendimiento, orientado al análisis de
datos.
o Inicialmente creada por Wes McKinney (autor del libro “Python for Data Analysis”,
referencia
en este curso).
o La primera versión se publicó en 2008 y la última disponible en Octubre de 2016.
o Con los años se ha convertido en el estándar (de facto) para el análisis de datos en
Python.
o Una de las librerías con más evolución y seguimiento por parte de la comunidad: !
Más de 220 contribuidores.
! Más de 9000 commits (en marzo de 2014).

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 22


Características principales (I)
o Capacidad de almacenamiento y procesamiento de diferentes estructuras de datos:
series temporales, información tabular, información matricial...
o Facilidad para la carga de información desde muy diferentes fuentes: ficheros CSV,
bases de datos relacionales...
o Implementación de operaciones sobre estructuras de datos completas como
selección de subconjuntos, agrupaciones, filtrado, ordenación...
o Capacidad para el tratamiento de missing values según las necesidades del
usuario / desarrollador.
o Utilidad tanto para la carga y tratamiento de datos como para el análisis
estadístico, exploratorio y modelado.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 23


Características principales (II)
o Integración con otras librerías como statsmodel, SciPy, NumPy (en la que se basa)
y scikit- learn...
o Alto rendimiento, que puede ser incluso mayor haciendo uso de Cython (que
permite integrar extensiones escritas en C en programas escritos en Python).
o En esencia, trata de incorporar a Python, estructuras de datos y operaciones como
las existentes en R:
! Estructuras: vectores (con nombre), data.frame, data.table...
! Operaciones: familia apply, agregación y agrupación con data.table...

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 24


6 Visualización con Python

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 25


Matplotlib

o Es un módulo de Python que permite la creación de visualizaciones 2D (y 3D)


basadas en datos.

o La librería fue creada por John Hunter (1968-2012) en 2002-2003, y poco antes de
su fallecimiento cedió el papel de desarrollador principal a Michael Droettboom.

Aunque cada vez están apareciendo más alternativas en Python (seaborn, plotly,
bokeh...), el desarrollo de matplotlib sigue siendo muy activo.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 26


Matplotlib: características principales
o matplotlib no define una gramática de gráficos en la que se formalicen los
componentes de un gráfico basado en datos.
o Ofrece un conjunto amplio de funciones (através del submódulo matplotlib.plt)
que permiten crear diferentes tipos de gráficos (puntos, barras, lineas, etc.)
o La llamada a estas funciones NO genera ungráfico, sino que modifican el estado
de n objeto interno y común a todas las llamadas.
o La utilización de la función show ofrecida por el módulo será la que se encargue
de renderizar el objeto interno y común en el estado que se encuentre.
o Permite, por tanto, la creación iterativa de gráficos.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 27


7 Modelos de regresión

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados 28


Modelo de regresión
Un modelo de predicción es aquel que trata de inferir una variable objetivo a
partir de otras variables, que llamaremos predictores.

• Regresión: la variable objetivo es numérica y continua.


• Clasificación: la variable que buscamos predecir es categórica.

En ambos casos, se tratará de entender una variable Y a partir de otras


variables X1, X2, . . . Xn. Es decir:

Y = f(X1, X2, . . . , Xn)

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 29


Modelo de regresión
Existen numerosos enfoques para tratar un problema de regresión, cada uno
de ellos asociado a un modelo concreto. Podemos encontrar desde modelos
clásicos, como son la regresión lineal o polinómica, hasta enfoques más
modernos y propios del Machine Learning, como puedan ser redes
neuronales.

Nos centraremos en el modelo de regresión lineal.

En este modelo, se intenta predecir la variable objetivo a partir de


combinaciones lineales de los predictores:

Y = α0 + α1X1 + α2 X2 + . . . + αn Xn

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 30


Pasos en la construcción
Podemos dividir la construcción de un modelo de regresión en los siguientes
tres pasos:

1.Seleccionar cuáles serán los predictores de entre todas las variables


posibles. Es decir, elegir X1, X2, . . . Xn.

2.Ajustar el modelo. En este caso buscamos determinar los coeficientes


α0, α1, . . . , αn.

3.Evaluar la calidad del modelo obtenido.

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 31


8 Referencias

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 32


Referencias

Referencias
• “Python: A Simple Tutorial” de Matt Huenerfauth (Universidad de
Pennsylvania).
http://www.seas.upenn.edu/~cis521/Lectures/python-tutorial.pdf
• Curso básico de Python.
https://www.tutorialpython.com/variables-en-python/
• PEP8: Guía de estilo.
https://www.python.org/dev/peps/pep-0008/
• Python for Data Analysis (O’Reillys).

Afi Escuela de Finanzas, 2020. Todos los derechos reservados 45


© 2020 Afi Escuela de Finanzas. Todos los derechos reservados.

Afi Escuela de Finanzas Aplicadas, 2020. Todos los derechos reservados

También podría gustarte