0% encontró este documento útil (0 votos)
26 vistas46 páginas

Unidad 1 Python Básico

Este documento habla sobre Python, un popular lenguaje de programación utilizado para análisis de datos. Explica las principales ventajas de Python como la gran cantidad de bibliotecas disponibles y herramientas como Anaconda. También describe algunas de las bibliotecas fundamentales de Python para ciencia de datos como NumPy, Pandas, Matplotlib y Scikit-learn.

Cargado por

CAMILA GONZÁLEZ
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)
26 vistas46 páginas

Unidad 1 Python Básico

Este documento habla sobre Python, un popular lenguaje de programación utilizado para análisis de datos. Explica las principales ventajas de Python como la gran cantidad de bibliotecas disponibles y herramientas como Anaconda. También describe algunas de las bibliotecas fundamentales de Python para ciencia de datos como NumPy, Pandas, Matplotlib y Scikit-learn.

Cargado por

CAMILA GONZÁLEZ
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/ 46

Unidad 1: Python básico​

Python es un lenguaje de programación popular que se utiliza en una variedad de


aplicaciones, desde el desarrollo web hasta el análisis de datos. Una de las principales
ventajas de Python es la gran cantidad de librerías disponibles para realizar tareas
específicas, como la visualización de datos (Matplotlib), el cálculo científico (SciPy) y el
aprendizaje automático (Scikit-learn).

Además, herramientas como Anacondal facilitan la instalación y configuración del entorno


de desarrollo. Es importante destacar que, aunque Python tiene una amplia variedad de
librerías, cada una se enfoca en una tarea específica, por lo que es importante elegir
las librerías adecuadas para cada proyecto.

Python se clasifica como un lenguaje de programación multiparadigma caracterizado por su


sintaxis, que favorece la legibilidad del código y en donde su simplicidad es parte esencial del
diseño del lenguaje desde sus orígenes. Sin embargo, además de las características
comentadas, en los últimos años ha ocurrido una revolución que ha extendido radicalmente
el uso de Python.

La generalización del big data en los últimos años, seguida de la explosión de la inteligencia
artificial, machine learning, deep learning y el surgimiento de la ciencia de datos o data science
como una nueva área de trabajo con especialistas propios, ha revolucionado el uso de este
lenguaje.

IEEE Spectrum, la organización profesional más grande del mundo dedicada a la ingeniería y
las ciencias aplicadas, elabora anualmente un ranking de los lenguajes de programación más
utilizados, preferidos y relevantes, que este año ubicó a Python en el primer lugar.

En esta unidad, hablaremos sobre Python, sus usos y las bibliotecas más utilizadas para la
ciencia de datos, y comenzaremos con su instalación para su futuro uso a lo largo del curso.

Ideas previas

Python

Bibliotecas fundamentales de Python para científicos de datos

Instalación y configuración

Instalar o actualizar paquetes de Python

Entornos de desarrollo integrado (IDE)

Comunidad y conferencias

Conclusiones

Referencias

Material descargable
Lección 1 de 10

Ideas previas

En el siguiente link se encuentra el ranking de IEEE Spectrum sobre los lenguajes de


programación más utilizados en 2022:

https://spectrum.ieee.org/top-programming-languages-2022#toggle-gdpr

Un elemento fundamental para el éxito y el aumento de la eficiencia tanto para


científicos de datos como para cualquier tipo de desarrollador es su caja de
herramientas. Elegir las herramientas adecuadas puede ahorrarnos mucho tiempo y
permitirnos así centrarnos en el análisis de los datos.

La herramienta más básica que hay que decidir es el lenguaje de programación que
vamos a utilizar.
Muchas personas solo utilizan un lenguaje de programación en toda su vida: el
primero y único que aprenden. Para muchas personas, el aprendizaje de un nuevo
lenguaje es una tarea enorme que, idealmente, solo se debería realizar una vez.

El problema reside en que algunos lenguajes fueron diseñados para el desarrollo de


software de alta capacidad o para su uso en producción, como C, C++ o Java,
mientras que otros se enfocan más en la creación de prototipos de código (lenguajes
scripting), como Ruby, Perl y Python.

Por lo tanto, dependiendo del primer lenguaje que hayas aprendido, algunas tareas
pueden resultar bastante tediosas. (VanderPlas, 2016).

Una principal desventaja de limitarse a un solo lenguaje es que muchas herramientas


fundamentales pueden no estar disponibles. Esto puede resultar en la necesidad de
crear soluciones propias o utilizar otro lenguaje para realizar tareas específicas.

En este contexto, es importante resaltar que el uso explosivo de Python se debe a


que muchas de las nuevas herramientas que han surgido y que son utilizadas por los
ingenieros de datos y los científicos de datos han sido desarrolladas en Python o nos
ofrecen Python como la forma predilecta de interactuar con ellas.
En conclusión, es importante estar listo para utilizar el lenguaje más adecuado para

cada tarea y unir sus resultados. También es posible optar por un lenguaje versátil
con una amplia gama de recursos, como bibliotecas de código abierto de terceros.

En esta unidad, se ha seleccionado Python como lenguaje de programación.


Lección 2 de 10

Python
Python es un lenguaje maduro para programación, pero también posee excelentes

características para principiantes, haciéndolo ideal para aquellos que nunca han

programado antes. Algunas de las propiedades más destacadas son la facilidad de

lectura del código, la supresión de delimitadores no obligatorios, la tipificación dinámica y

el uso dinámico de la memoria. Python es un lenguaje interpretado, lo que significa que

el código se ejecuta de forma inmediata en una consola de Python sin necesidad de

compilación previa, que convierte a lenguaje máquina (McKinney, 2017).


Haz clic en las flechas para moverte por el contenido

- Además de la consola de Python, que viene incorporada en cualquier


instalación del lenguaje, existen otras opciones interactivas como
IPython que brindan un ambiente más rico para ejecutar tus
programas en Python.

En la actualidad, Python es uno de los lenguajes de programación más


versátiles y adaptables. Esto se debe, en parte, a su característica de
ser un lenguaje multiparadigma, lo que les permite a los
programadores con experiencia en otros lenguajes acceder y aplicar
sus conocimientos a Python de manera rápida y eficiente.

- En efecto, Python es considerado uno de los lenguajes más cotizados


en la actualidad. Según estadísticas de Coding Dojo, en Estados
Unidos, un programador tiene una tasa de inserción laboral sobre el 9
% tras el primer mes de certificarse en este lenguaje de programación.

Por otro lado, aquellos desarrolladores familiarizados con Java


encontrarán facilidad en su soporte para la programación orientada a
objetos. Además, aquellos versados en C pueden combinar sus
conocimientos con Python mediante el uso de Cython. Finalmente,
para aquellos que prefieren la programación funcional en lenguajes
como Lisp o Haskell, Python cuenta con declaraciones básicas para la
programación funcional en su biblioteca central.

¿Por qué utilizar Python para el análisis de


datos?

Para un gran número de personas, Python es un lenguaje atractivo. Desde su


presentación en 1991, se ha posicionado como uno de los lenguajes de programación
interpretados más utilizados, al lado de Perl, Ruby y otros. Desde 2005
aproximadamente, Python y Ruby han ganado popularidad especialmente al
construir sitios web con sus muchos frameworks, como Django (Python) y Rails
(Ruby). (VanderPlas, 2016).

Estos lenguajes se denominan a menudo como lenguajes de scripting, pues su función


es escribir programas o scripts de manera rápida y automatizar diversas tareas. No
todas las personas comparten la denominación "lenguaje de scripting", ya que esta
conlleva la idea de que no son aptos para construir software profesional.

Por una variedad de razones históricas y culturales, Python se ha convertido en uno


de los lenguajes interpretados más populares, formando una activa comunidad de
computación científica y análisis de datos.
En los últimos 10 años, Python ha pasado de ser un lenguaje de cómputo científico de
vanguardia o "bajo su propio riesgo" a ser uno de los lenguajes más importantes para
la ciencia de datos, el aprendizaje automático y el desarrollo de software general en
la academia y la industria (Seguí et al., 2017).

Para el análisis de datos e interacción con la computación y la visualización de datos,


Python inevitablemente se comparará con otros lenguajes y herramientas de
programación de código abierto y comercial en uso amplio, como R, MATLAB, SAS,
Stata y otros.

Las recientes mejoras en el soporte de Python para bibliotecas, como Pandas y


Scikit-learn, lo han convertido en una buena alternativa para las tareas relacionadas
con el análisis de datos (VanderPlas, 2016). Con la capacidad general de Python
para desarrollar software de manera versátil, resulta ser una excelente opción como
lenguaje principal para desarrollar aplicaciones de datos.

Python como integrador


Una de las características del éxito de Python en la ciencia de la computación es su

capacidad de fácil integración con código escrito en lenguajes C, C++ y FORTRAN.

La mayoría de los sistemas computacionales actuales comparten un grupo similar de


bibliotecas legacy en FORTRAN y C, que se utilizan para realizar álgebra lineal,

optimización, integración y transformadas de Fourier y otros procesos similares

(McKinney, 2017). Este mismo patrón se ha repetido en numerosas corporaciones y

laboratorios nacionales que han optado por usar Python para integrar software

heredado (legacy) que data de hace ya varias décadas.

En muchos programas, solo existen pequeñas secciones de código donde se invierte


la mayor parte del tiempo, mientras que la mayoría del código es considerado
"código pegamento" y no se utiliza frecuentemente. En muchos casos, el tiempo de
ejecución del código pegamento es insignificante; se invierte el esfuerzo de forma
más fructífera en optimizar los cuellos de botella computacionales, a veces
moviendo el código a un lenguaje de bajo nivel como C.
Lección 3 de 10

Bibliotecas fundamentales de Python para científicos


de datos

La comunidad de programación de Python es una de las más activas con un gran


número de bibliotecas desarrolladas (McKinney, 2017). Las bibliotecas o librerías
de Python más populares para cualquier científico de datos son:
NumPy

NumPy es un acrónimo que significa “Número Pythonico” y ha sido, por mucho tiempo, el pilar de la
computación numérica en Python (McKinney, 2017).
Ofrece estructuras de datos, algoritmos y bibliotecas necesarias para integrar a la mayoría de las
aplicaciones científicas que trabajan con datos numéricos en Python.

NumPy contiene, entre otras cosas:

NumPy, al agregar capacidades de procesamiento rápido de matrices a Python, es


esencial para el análisis de datos y se utiliza como un contenedor para los datos que
se pasan entre algoritmos y bibliotecas.

Las matrices NumPy son una forma más eficiente de almacenar y manipular datos
numéricos en comparación con otras estructuras de datos en Python. Además, las
bibliotecas escritas en lenguajes de bajo nivel como C o Fortran pueden trabajar
directamente en los datos almacenados en una matriz NumPy sin tener que copiar
los datos a otra representación de memoria.
Por lo tanto, muchas herramientas de computación numérica para Python asumen
matrices NumPy como una estructura de datos principal o están dirigidas a una
interoperabilidad transparente con NumPy.
Pandas

Pandas ofrece estructuras y operaciones de datos de alto rendimiento para manejar


con rapidez, facilidad y eficiencia los datos tabulares o estructurados. Para conocer
esta biblioteca o librería de Python, te invitamos a revisar el siguiente video.

Pandas_C2_U1
POSTGRADOS UNIVERSIDAD AUTÓNOMA

02:18

Pandas.mp3
2.9 MB
Matplotlib

Matplotlib es la biblioteca de Python más popular para producir gráficos y otras


visualizaciones de datos bidimensionales. Se originó por John D. Hunter y
actualmente es sostenida por una gran comunidad de programadores.
Originalmente fue ideada para crear figuras aptas para ser publicadas.

Cuenta con una buena integración con el ecosistema de Python y, aunque existen
otras opciones, Matplotlib es la más utilizada.
SciPy

Es una colección de paquetes que abordan una serie de diferentes problemas


estándar en cómputo científico, siendo algunos de los paquetes incluidos:
Juntos, NumPy y SciPy forman una base de cómputo completa y madura para
muchas aplicaciones de cómputo científico tradicionales.

Vincula cada descripción con el paquete de SciPy correspondiente:

SUBMIT
Scikit-learn

Desde su inicio en 2010, Scikit-learn se ha vuelto el instrumento más popular para


aprendizaje automático de uso general para programadores en Python. En solo siete
años, ha contado con más de 1,500 colaboradores de todo el mundo.
La herramienta incluye submódulos para modelos, tales como:

Junto con Pandas, Statsmodels e IPython han sido fundamentales para posicionar a
Python como un productivo lenguaje de programación de ciencia de datos.
Statsmodels

Statsmodels es un paquete de análisis estadístico que está basado en el trabajo de


Jonathan Taylor, profesor de estadísticas de la Universidad de Stanford, quien
implementó varios modelos de regresión analítica populares en el lenguaje de
programación R. Los creadores de Statsmodels, Skipper Seabold y Josef Perktold,
fundaron el proyecto en 2010 y han logrado un crecimiento significativo,
convirtiéndolo en una herramienta popular y bien establecida entre los usuarios y
contribuidores dedicados.

Nathaniel Smith desarrolló el proyecto Patsy, que proporciona un marco de


especificación de fórmulas o modelo para Statsmodels inspirado en el sistema de
fórmulas de R. En contraste con Scikit-learn, que ofrece herramientas de
aprendizaje automático, Statsmodels está enfocada en estadísticas clásicas
(principalmente frecuentistas) y econometría.

Incluye submódulos como:

Statsmodels se centra más en la inferencia estadística, proporcionando estimaciones


de incertidumbre y valores p para los parámetros. Scikit-learn, por otro lado, se
centra más en la predicción.
Lección 4 de 10

Instalación y configuración

La instalación y configuración de Python varía dependiendo del uso que se le quiera


dar. Muchos no contarán con un entorno de desarrollo de Python adecuado para
seguir los ejemplos de este curso, por lo que se presentan las instrucciones detalladas
para configurarlo en cada sistema operativo. Se recomienda utilizar la distribución
gratuita de Anaconda. Durante el curso, Anaconda está disponible en Python 3.9,
aunque esto podría cambiar en el futuro. Este curso utiliza Python 3.9 y se
recomienda utilizar Python 3.9 o superior.

Se puede descargar mediante el siguiente link:

https://www.anaconda.com/products/distribution

En la siguiente imagen se muestran los instaladores Anaconda en su página oficial:


Figura 1: Captura de los instaladores Anaconda en su página oficial. Fuente: Vidal
(2023).
Para instalar en Linux, los detalles variarán un poco dependiendo de la versión de
Linux que tengas, pero aquí se dan detalles para distribuciones como Debian,
Ubuntu, CentOS y Fedora. Aunque la configuración es similar a OS X, la manera de
instalar Anaconda es diferente.

Las variantes de Linux tienen un conjunto completo de paquetes de Python


disponibles a través de sus gestores de paquetes, los cuales pueden ser instalados
con herramientas como apt. La configuración descrita aquí utiliza Anaconda, ya que
es fácilmente reproducible en todas las distribuciones y más sencillo actualizar los
paquetes a sus últimas versiones.

Para instalar, se requiere correr un script de terminal. Según si el sistema es de 32 o


64 bits, se debe elegir el instalador correspondiente, x86 (32 bits) o x86_64 (64
bits). Finalmente, se obtiene un archivo con un nombre similar a Anaconda3-
2022.10-Linux-x86_64.sh. Luego, se ejecuta este script con bash comenzar la
instalación.
$ bash Anaconda3-2022.10-Linux-
x86_64.sh

Después de aceptar la licencia, se le presentará una opción de dónde colocar los


archivos de Anaconda. Se sugiere colocar los archivos en una ubicación por defecto
dentro de la carpeta principal, como por ejemplo /home/$USUARIO/anaconda
(reemplazando $USUARIO con su nombre de usuario).

El instalador de Anaconda puede ofrecer la opción de agregar el directorio bin/ a la


variable $PATH, pero si no se eligió esa opción o si se presenta algún problema
posterior a la instalación, se puede hacer manualmente editando el archivo .bashrc o
.zshrc (en caso de estar utilizando el shell zsh) agregando una línea similar:

export
PATH=/home/$USER/anaconda/bin:$PAT
H

Una vez realizado esto, se puede abrir una nueva terminal o volver a ejecutar el
archivo .bashrc con la ruta ~/.bashrc.
Lección 5 de 10

Instalar o actualizar paquetes de Python

En algún momento mientras leas, es posible que desees instalar paquetes adicionales
de Python que no estén incluidos en la distribución de Anaconda.

Los paquetes adicionales se pueden instalar con el siguiente comando:

conda install nombre_paquete

Si esto no funciona, también es posible que puedas instalar el paquete utilizando la


herramienta de gestión de paquetes pip:
pip install nombre_paquete

Puedes actualizar los paquetes utilizando el comando conda update

conda update nombre_paquete

Pip también admite actualizaciones utilizando la bandera – –upgrade:

pip install --upgrade nombre_paquete

Es posible utilizar tanto conda como pip para instalar paquetes, sin embargo, no se
recomienda intentar actualizar paquetes de conda con pip, pues esto puede causar
problemas en el entorno. Cuando se usa Anaconda o Miniconda, es mejor intentar
actualizar primero con conda.
Lección 6 de 10

Entornos de desarrollo integrado (IDE)

Para cualquier profesional de la programación, especialmente los científicos de


datos, un entorno de desarrollo integrado (IDE) es esencial. Los IDE están diseñados
para mejorar la eficiencia y productividad del programador. A lo largo del tiempo,
estos programas han evolucionado para hacer la tarea de codificación más sencilla.
La elección adecuada del IDE es fundamental, pero lamentablemente no existe un
ambiente de programación "perfecto".

El efecto más aconsejable es experimentar con los IDE más utilizados por la
comunidad y elegir el que mejor se ajuste a las necesidades aconsejables.

En general, las piezas básicas de cualquier IDE son tres:


Existen algunos IDE que pueden ser compatibles con diversos lenguajes de
programación, gracias a la implementación de complementos específicos para cada
uno de ellos, como, por ejemplo, Netbeans y Eclipse.

Por otro lado, hay otros que se limitan a trabajar con un solo lenguaje o incluso para
una tarea específica. En cuanto a Python, hay una amplia gama de IDE disponibles,
tanto de pago como de código abierto, como PyCharm y WingIDE.

La comunidad de código abierto ayuda a que surjan los IDE, por lo que cualquiera
puede personalizar su propio entorno y compartirlo con el resto de la comunidad.
Por ejemplo, Spyder (Scientific Python Development Environment) es un IDE
diseñado con el enfoque en los requisitos del científico de datos.

Entorno de desarrollo integrado en la web


(WIDE)
Con el surgimiento de las aplicaciones web, se ha creado una nueva categoría de
entornos de desarrollo para lenguajes interactivos, como Python. Comenzando en
las comunidades académicas y de e-learning, los IDE basados en la web se
desarrollaron teniendo en cuenta que no solo su código sino también todo su entorno
y ejecuciones pueden ser almacenados en un servidor.

En el inicio de 2005, William Stein desarrolló una de las primeras herramientas de


este tipo conocida como WIDE, usando Python 2.3, como parte de SageMath. Con
SageMath, se puede establecer un servidor en una institución educativa,
permitiendo que los estudiantes trabajen en sus proyectos tanto en el aula como en
sus hogares, continuando desde el mismo punto donde lo habían dejado.

Además, los estudiantes pueden repetir los procesos una y otra vez, y
eventualmente modificar una celda de código en particular (un bloque dentro del
documento que puede contener el código fuente que se ejecutará) y volver a
ejecutarla. Los docentes también tienen acceso a las sesiones de los estudiantes y
pueden revisar el desempeño y los resultados de estos.

Ahora, estas sesiones se conocen como books y no solo se emplean en aulas, también
se utilizan para mostrar resultados en presentaciones o para crear paneles de
información en entornos empresariales.

La popularidad de estos books se debe principalmente a IPython, que desde


diciembre de 2011 cuenta con una versión para navegador de su consola interactiva
llamada IPython Notebook, la cual presenta los resultados de la ejecución de Python
de una manera clara y concisa utilizando celdas (McKinney, 2017).
Las celdas no solo pueden contener código. Por ejemplo, se pueden añadir celdas
Markdown (un lenguaje de texto wiki) para introducir algoritmos. También es posible
insertar gráficos Matplotlib para ilustrar ejemplos o incluso páginas web.

Se han dado los primeros pasos en la aceptación de los cuadernos por parte de
algunas revistas científicas, lo que permite que se puedan presentar resultados
experimentales con todo su código y fuentes de datos, con el objetivo de lograr
experimentos completamente replicables.

Como el proyecto ha crecido tanto, el book IPython se ha separado del software


IPython y ahora ha pasado a formar parte de un proyecto mayor: Jupyter que
pretende reutilizar el mismo WIDE para todos estos lenguajes interpretados y no
solo para Python.

Los books de IPython antiguos son transferidos de forma automática a la versión


actual al ser abiertos con Jupyter; sin embargo, una vez convertidos, ya no es posible
utilizarlos en versiones anteriores de IPython notebooks.

La plataforma Jupyter se muestra a continuación:


Figura 2: Captura del entorno web de la plataforma Jupyter Fuente: Vidal (2023).

Acorde con lo revisado, seleccione la respuesta correcta

Los books solamente se pueden utilizar en aulas. ¿Esta frase es Verdadera o Falsa?

Falso

Verdadero

SUBMIT
Lección 7 de 10

Comunidad y conferencias

Además de una búsqueda en internet, las varias listas de correo de Python


relacionadas con la ciencia y los datos suelen ser útiles y responder preguntas.
Algunas de las listas las puedes revisar en el video que se muestra a continuación:
Comunidad y conferencias​_C2_U1
POSTGRADOS UNIVERSIDAD AUTÓNOMA

02:10

Comunidad y conferencias​.mp3
2.3 MB
Lección 8 de 10

Conclusiones

Python es un lenguaje de programación muy popular y versátil, utilizado en una


variedad de aplicaciones, desde el desarrollo web hasta la ciencia de datos e
inteligencia artificial.

Existen varias librerías populares de Python, como NumPy, Pandas, Matplotlib,


SciPy, Scikit-learn y Statsmodels, que ofrecen una amplia variedad de funciones y
herramientas para el procesamiento, análisis y visualización de datos. Por lo mismo,
la comunidad de Python es muy activa y colaborativa, lo que permite un constante
desarrollo y mejora de las librerías y herramientas disponibles.

A continuación, encontrarás la infografía, resumen de los contenidos más


relevantes vistos en esta unidad.
BIBLIOTECAS DE PYTHON.pdf
2.5 MB
Lección 9 de 10

Referencias

Coding Dojo. Curso de Programación. Chile.

McKinney, W. (2017). Python for Data Analysis: Data Wrangling with Pandas,
NumPy, and IPython. O'Reilly Media, Incorporated.

Seguí, S., Vitrià, J., Puertas, E., Pujol, O., Escalera, S., Garrido, L., Dantí, F., &
Igual, L. (2017). Introduction to Data Science: A Python Approach to Concepts,
Techniques and Applications. Springer International Publishing.

VanderPlas, J. (2016). Python Data Science Handbook: Essential Tools for


Working with Data. O'Reilly Media, Incorporated.

Vidal, J. (2023). Python básico. Universidad Austral de Chile.


Lección 10 de 10

Material descargable

Unidad 1 Python básico​.pdf


4.8 MB

También podría gustarte