{ "metadata": { "celltoolbar": "Slideshow", "name": "", "signature": "sha256:2f55341d7cf431c0fdf6a5f1c4ad85d7dae2be7aa057c5bcbe9fe072ecef23e8" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Python para an\u00e1lisis de datos\n", "\n", "![](Python-logo-notext.png)\n", "\n", "## Juan Luis Cano Rodr\u00edguez < >\n", "## Data Science Spain, Madrid 2014-07-15" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## \u00cdndice\n", "\n", "1. Introducci\u00f3n\n", "2. Bibliotecas: numpy, matplotlib, pandas\n", "3. IPython y su filosof\u00eda\n", "4. Instalaci\u00f3n: Anaconda\n", "5. Python en Espa\u00f1a" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## \u00bfQui\u00e9n soy yo?\n", "\n", "* _Casi_ ingeniero aeron\u00e1utico por la UPM\n", "* Fortran ~~77~~ 90, ~~Excel~~, MATLAB y **Python**\n", "* **Pybonacci**: blog sobre Python cient\u00edfico en espa\u00f1ol \n", "* Presidente de la **Asociaci\u00f3n Python Espa\u00f1a** \n", "* Becario en Airbus" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## \u00bfQu\u00e9 es Python?\n", "\n", "* Lenguaje de prop\u00f3sito general din\u00e1mico y f\u00e1cil de aprender*\n", "* Desarrollado por voluntarios, libre (estilo BSD) y mantenido por una fundaci\u00f3n (PSF)\n", "* Usos: lenguaje de scripting, servidores web, computaci\u00f3n cient\u00edfica...\n", "* A partir de ~2010, **an\u00e1lisis de datos**\n", "\n", "* \"Python es ya el lenguaje de introducci\u00f3n m\u00e1s popular en las universidades norteamericanas\" http://www.genbetadev.com/formacion/python-es-ya-el-lenguaje-de-introduccion-mas-popular-en-las-universidades-norteamericanas" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print(\"Hello, world!\")" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hello, world!\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "def fib(N):\n", " a, b = 0, 1\n", " for ii in range(N):\n", " a, b = b, a + b\n", " return b\n", "\n", "for ii in range(8):\n", " print(fib(ii))" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n", "1\n", "2\n", "3\n", "5\n", "8\n", "13\n", "21\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Lenguaje de prop\u00f3sito general\n", "\n", "* Sintaxis cuidadosamente dise\u00f1ada\n", "* Interfaz con multitud de bibliotecas diferentes\n", "* Mayor variedad de herramientas de desarrollo" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## NumPy\n", "\n", "* **NumPy es el pilar fundamental** de todo el ecosistema num\u00e9rico en Python \n", "* Arrays N-dimensionales: almacenamiento en memoria eficiente\n", "* Funciones para operar eficientemente con ellos: operaciones **vectorizadas**\n", "* Adem\u00e1s: \u00e1lgebra lineal, FFTs, n\u00fameros aleatorios, funciones financieras" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Motivaci\u00f3n:\n", "\n", "> \"Make [Python] equivalent to a basic scientific calculator.\"" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "np.array([\n", " [1, 2, 3],\n", " [4, 5, 6]\n", "])" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "array([[1, 2, 3],\n", " [4, 5, 6]])" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "np.linspace(0, 10, 5)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "array([ 0. , 2.5, 5. , 7.5, 10. ])" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "_.mean()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "5.0" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Desventajas\n", "\n", "* Pensado para conjuntos de datos de tama\u00f1o _fijo_\n", "* No optimizado para datos heterog\u00e9neos (n\u00fameros, texto, fechas)\n", "* Manejo de datos textuales engorroso" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Soluci\u00f3n: **pandas**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## pandas\n", "\n", "* Estructura de datos de alto nivel y optimizada para an\u00e1lisis de datos: **DataFrame** \n", "* Herramientas para leer y escribir datos en diversos formatos: CSV y texto, Excel, bases de datos SQL, HDF5\n", "* Manejo de series temporales\n", "* Tama\u00f1o flexible, _merge_ y _join_ de varios DataFrames...\n", "* Tutorial en espa\u00f1ol: \n", "\n", "![](pydata_cover.jpg)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "pd.Series([1, 3, 5, np.nan, 6, 8])" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "0 1\n", "1 3\n", "2 5\n", "3 NaN\n", "4 6\n", "5 8\n", "dtype: float64" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "dates = pd.date_range('20140701', periods=6)\n", "dates" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "\n", "[2014-07-01, ..., 2014-07-06]\n", "Length: 6, Freq: D, Timezone: None" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "datos = pd.DataFrame(np.random.randn(6,4), index=dates,\n", " columns=list('ABCD'))\n", "datos" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ABCD
2014-07-01-0.278300 0.424450-1.508621-1.746290
2014-07-02 0.941110 0.050437 0.371443-0.508548
2014-07-03 0.761886 1.308292 0.871853 0.548142
2014-07-04 1.972977 0.213835-1.778572-0.165594
2014-07-05-0.783794-1.057578 0.067174-0.141001
2014-07-06 0.326622-1.085902-0.236260-0.403086
\n", "

6 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ " A B C D\n", "2014-07-01 -0.278300 0.424450 -1.508621 -1.746290\n", "2014-07-02 0.941110 0.050437 0.371443 -0.508548\n", "2014-07-03 0.761886 1.308292 0.871853 0.548142\n", "2014-07-04 1.972977 0.213835 -1.778572 -0.165594\n", "2014-07-05 -0.783794 -1.057578 0.067174 -0.141001\n", "2014-07-06 0.326622 -1.085902 -0.236260 -0.403086\n", "\n", "[6 rows x 4 columns]" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "datos.describe()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ABCD
count 6.000000 6.000000 6.000000 6.000000
mean 0.490083-0.024411-0.368831-0.402730
std 0.971202 0.920232 1.056548 0.754353
min-0.783794-1.085902-1.778572-1.746290
25%-0.127069-0.780575-1.190531-0.482183
50% 0.544254 0.132136-0.084543-0.284340
75% 0.896304 0.371796 0.295376-0.147149
max 1.972977 1.308292 0.871853 0.548142
\n", "

8 rows \u00d7 4 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " A B C D\n", "count 6.000000 6.000000 6.000000 6.000000\n", "mean 0.490083 -0.024411 -0.368831 -0.402730\n", "std 0.971202 0.920232 1.056548 0.754353\n", "min -0.783794 -1.085902 -1.778572 -1.746290\n", "25% -0.127069 -0.780575 -1.190531 -0.482183\n", "50% 0.544254 0.132136 -0.084543 -0.284340\n", "75% 0.896304 0.371796 0.295376 -0.147149\n", "max 1.972977 1.308292 0.871853 0.548142\n", "\n", "[8 rows x 4 columns]" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## matplotlib\n", "\n", "* El **est\u00e1ndar de visualizaci\u00f3n 2D** en Python \n", "* Inspirada en MATLAB\n", "* Aprendizaje costoso, pero extremadamente vers\u00e1til" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "datos[\"A\"].plot()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nlwNtAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "datos[\"A\"].plot()\n", "plt.xlabel(\"Fecha\")\n", "plt.ylabel(\"Columna A\")\n", "plt.legend([\"Datos\"])\n", "plt.title(\"Gr\u00e1fica 1\")" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Otras bibliotecas\n", "\n", "* Computaci\u00f3n cient\u00edfica general: **SciPy** \n", "* ggplot2 en Python: **ggplot** \n", "* Aprendizaje autom\u00e1tico (_machine learning_): **scikit-learn** \n", "* Modelos y tests estad\u00edsticos: **StatsModels** \n", "* Manejo de vol\u00famenes grandes de datos: **PyTables** " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "**\u00a1Y mucho m\u00e1s!**\n", "\n", "![](scipy_eco.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## IPython y el notebook\n", "\n", "* IPython es un **int\u00e9rprete de Python mejorado** \n", "* Inspirado en el notebook de Mathematica\n", "* Ayuda en l\u00ednea, autocompletado, mejoras en la depuraci\u00f3n..." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "La joya de la corona: **el notebook**" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "* Documento interactivo dividido en celdas\n", "* Mezcla de c\u00f3digo con texto, HTML, v\u00eddeo, im\u00e1genes...\n", "* Gr\u00e1ficos incrustados, animaciones...\n", "* Formato f\u00e1cil de exportar y compartir: " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "> **\u00bfPor qu\u00e9 usar solo Python?**" ] }, { "cell_type": "code", "collapsed": false, "input": [ "X = np.array([0,1,2,3,4])\n", "Y = np.array([3,5,4,6,7])" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext rpy2.ipython" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "%Rpush X Y\n", "%R lm(Y~X)$coef" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "\n", "[3.200000, 0.900000]" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "b = %R a=resid(lm(Y~X))\n", "%Rpull a\n", "print(a)\n", "%R -o a" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " 1 2 3 4 5 \n", "-0.2 0.9 -1.0 0.1 0.2 \n", "\n" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "%%R -i X,Y -o XYcoef\n", "XYlm = lm(Y~X)\n", "XYcoef = coef(XYlm)\n", "print(summary(XYlm))\n", "par(mfrow=c(2,2))\n", "plot(XYlm)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "\n", "Call:\n", "lm(formula = Y ~ X)\n", "\n", "Residuals:\n", " 1 2 3 4 5 \n", "-0.2 0.9 -1.0 0.1 0.2 \n", "\n", "Coefficients:\n", " Estimate Std. Error t value Pr(>|t|) \n", "(Intercept) 3.2000 0.6164 5.191 0.0139 *\n", "X 0.9000 0.2517 3.576 0.0374 *\n", "---\n", "Signif. codes: 0 \u2018***\u2019 0.001 \u2018**\u2019 0.01 \u2018*\u2019 0.05 \u2018.\u2019 0.1 \u2018 \u2019 1\n", "\n", "Residual standard error: 0.7958 on 3 degrees of freedom\n", "Multiple R-squared: 0.81,\tAdjusted R-squared: 0.7467 \n", "F-statistic: 12.79 on 1 and 3 DF, p-value: 0.03739\n", "\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ntjmTtAAAAABJRU5ErkJggg==\n" } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Puedo usar esta t\u00e9cnica con multitud de lenguajes:\n", "\n", "* MATLAB \n", "* Octave \n", "* \u00a1Fortran! \n", "\n", "\u00a1y m\u00e1s! " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "> **P**: \u00bfPor qu\u00e9 lo llaman IPython si puede iteractuar con multitud de lenguajes diferentes?\n", "\n", "> **R**: " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Distribuciones de Python: Anaconda\n", "\n", "* En Windows especialmente, instalar individualmente cada una de las bibliotecas es una pesadilla\n", "* Incluso en Linux o OS X el problema se complica si necesitamos _versiones diferentes_\n", "* Soluci\u00f3n: **distribuciones monol\u00edticas**\n", " * Anaconda, de Continuum Analytics \n", " * Otras: Pyzo, WinPython, Canopy, Python(x,y)..." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## La comunidad Python espa\u00f1ola\n", "\n", "* Python Madrid \n", "* Asociaci\u00f3n Python Espa\u00f1a \n", " * Calendario de eventos y meetups nacionales \n", " * \u00a1Hazte socio! \n", "* Primera conferencia nacional: PyCon Espa\u00f1a 2013 \n", " * \u00a1Estamos preparando la segunda en Zaragoza! " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "

**Muchas gracias :)**

" ] } ], "metadata": {} } ] }