Python es un lenguaje de programación popular para procesamiento de datos y ciencia de datos. Incluye librerías como Pandas, NumPy y Scipy que extienden su funcionalidad. Herramientas como Jupyter Notebooks y Google Colab permiten ejecutar código Python de forma interactiva. Un ejemplo muestra cómo usar Pandas y Matplotlib para leer datos y generar gráficos de forma sencilla.
Python - Lenguaje de programación para Ciencia de Datos
1. PROCESAMIENTO de DATOS
Uso de Python para procesamiento de Datos
• Python como lenguaje de programación para Data Science
• Herramientas para trabajar con Python (Jupyter Notebooks, Google Colab)
• Librerías para extender la funcionalidad de Python (Pandas, NumPy, Scipy, etc)
• Uso de Pandas para análisis de datos
Ciencia de Datos. Maestría en Tecnologías del Internet. Facultad de Telemática
Universidad de Colima. DTI. Román Herrera. rherrera@ucol.mx Marzo 2021
2. Python – Lenguaje para tareas de procesamiento
de datos y Data Science (ciencia de datos)
Una práctica común hasta nuestros días es la utilización, para la investigación y prototipado
de proyectos e ideas de desarrollo tecnológico, de lenguajes de programación como:
Java, Javascript, C#, C++, Perl
mientras que R y Python han sido dos soluciones de soporte de desarrollo representativas y
líderes en el ámbito de la ciencia de datos, tanto en el entorno privado como en el abierto.
Sin embargo, Python en los años recientes ha
incrementado su utilización, ya que se ajusta no
sólo al campo de la investigación y prototipado
sino también al desarrollo y producción de
software, lo que lo convierte en unos de los
lenguajes más versátiles para cubrir todas las
fases para el desarrollo de cómputo científico,
tanto de producción libre como comercial.
Popularity of Programming Language (PYPL, 2021). En: http://pypl.github.io/PYPL.html
3. Lenguajes de programación para la ciencia de datos
Python también se compara con otros lenguajes y herramientas para análisis matemático, tanto
a nivel comercial como de opciones de software libre, como lo son:
R, Julia, Scala, MATLAB, SAS, Stata, Octave, MiniTab y SPSS, entre otros.
éstos han dominado por mucho tiempo el mercado y la preferencia de la comunidad científica.
Sin embargo Python, tiene muchas ventajas adicionales y además cuenta con una gran variedad
de librerías que extienden su funcionalidad.
Librerías de Python para analítica de datos
• Numpy. Soporta grandes vectores y matrices usando una biblioteca de funciones matemáticas
para manipularlos, implementa de forma interna otras herramientas tales como matplotlib,
pandas, Scipy y sympy.
• Scipy. Basado en Numpy, integra optimizaciones para el cómputo numérico, estadístico, álgebra
lineal
• Pandas. Es una biblioteca que contiene estructuras de alto nivel y herramientas de manipulación
de datos masivos, permite indexar, recuperar, ordenar, remodelar, combinar, fragmentar y realizar
diversos análisis, tanto individuales como multidimensionales de los datos (Anthony, 2015).
4. Lenguajes de programación para la ciencia de datos
Librerías de Python para analítica de datos …
• Matplotlib. Es una biblioteca de visualización de gráficos en 2D.
• Scikit-Learn. Es utilizada para minería y análisis de datos para las tareas de clasificación, análisis de regresión,
predictivo, agrupamiento, reconocimiento de imágenes, selección de modelos, reducción de dimensionalidad
y preprocesamiento de datos.
• TensorFlow. Creada por Google para tareas de entrenamiento de redes neuronales, algoritmos de Machine
Learning,Deep Learning, visión por computadora, entre otras.
• Pytorch. Una de las librerías más utilizadas por investigadores y científicos de datos para acelerar tareas de
modelado gráfico de optimización, aprendizaje máquina.
• Pybrain. Es una librería para tareas de aprendizaje reforzado, supervisado, no supervisado, redes neuronales y
evolutivas.
• NLTK. Natural Language Toolkit es para modelado lingüístico, en subáreas de la inteligencia artificial,
principalmente en el cómputo cognitivo.
• OpenCV. Es una biblioteca creada por Intel para el reconocimiento óptico, incluye funciones para el control
gráfico en 2D y 3D, robótica móvil, reconocimiento de gestos, captura de video, realidad aumentada, etc.
• Keras. Biblioteca especializada en la optimización de tareas complejas con redes neuronales y proyectos de
aprendizaje automático y aprendizaje profundo. Soporte de procesamiento con CPU y GPU.
5. Python – Herramientas y plataformas para codificar
Plataformas como Jupyter Notebook se han vuelto muy
populares puesto que ofrecen en una interfaz web de un
entorno de trabajo basado como si se tratara de un IDE de
tipo escritorio, e integran diversas librerías tanto para el
análisis de datos masivos como el modelado de servicios de
inteligencia artificial y proporcionan muchas características
que los desarrolladores aprecian, como:
• Soporte para múltiples lenguajes de programación: Python,
Julia, SCALA, R, SQL, entre otros.
• Precargado de muchas librerías muy útiles, sin necesidad de
instalarlas manualmente.
• Autocompletado, sugerencias en parámetros y variables, etc.
• Previsualización en tiempo real del estilo de texto con marcaje
markdown.
• Información sobre el tiempo de ejecución, dentro del propio
notebook, sin requerir líneas de código para monitorear la
compilación y procesos de los objetos.
• Personalización y previsualización de gráficos de datos, entre
muchas otras.
https://jupyter.org/
6. Python – Herramientas y plataformas para codificar
Google Colab es una herramienta de Google que
nos proporciona un entorno basado en la nube para
realizar la ejecución de programas en Python para
aprovechar la potencia de los GPUs (procesadores
para paralelización) y TPUs (procesadores
especializados para Inteligencia Artificial) de Google.
Este entorno de programación está basado en
cuadernos de Jupyter notebooks y tiene integración
con GitHub y Drive para compartir código. Se ha
popularizado su uso para la enseñanza de técnicas y
aplicación de métodos para aprendizaje automático y
ciencia de datos.
Con esta plataforma no es necesario instalar o
configurar nada en las computadoras de los usuarios,
ya que solo se requiere tener un navegador web,
conexión a internet y una cuenta de Gmail.
http://colab.research.google.com/
7. Python – ejemplo de código para leer y graficar datos
De una forma fácil se puede leer un dataset y generar una gráfica de barras
para explorar visualmente el contenido de sus datos.
Basado en Simran Kaur (2021) Analyzing Data in Histogram in Python. Disponible en: https://linuxhint.com/analyzing-data-in-histogram-in-python/
En este ejemplo se utiliza
un dataset con datos de
los pasajeros del “titanic”
que está en formato CSV
y del cual se selecciona
únicamente el atributo
“Age” para analizar la
distribución de edad de
los mismos.
Son suficientes 25 líneas
de código para leer datos
y personalizar el gráfico
(10 son de comentarios).
Únicamente se utilizan
dos librerías: Pandas y
Matplotlib
8. EJERCICIO - Análisis de dataset de ventas con Pandas
Basado en el tutorial de Keith Galli
- VideoTutorial en Youtube
Solving real world data science tasks with Python Pandas! https://www.youtube.com/watch?v=eMOA1pPVUc4
- Repositorio en GitHub de Keith Galli
Pandas-Data-Science-Tasks (incluye el dataset en CSV) https://github.com/KeithGalli/Pandas-Data-Science-Tasks
En este ejercicio de procesamiento
de datos con Python y Pandas se
realizará un análisis básico de la
información de ventas empleando
un dataset en CSV y las librerías
Pandas y matplotLib.
9. Para completar esta actividad, hay que seguir paso a paso el videotutorial,
hacer los ejercicios propuestos en el video,
y además habrá que agregar y resolver otras preguntas, como:
• Q5: ¿Cuál es el promedio de ventas por cada mes?
• Q6: ¿Cuál es el precio promedio en que se ha vendido cada artículo?
• Q7: ¿Cuál es el total de piezas pedidas de cada producto?
• Q8: ¿Cuál es el TOP5 de los productos más vendidos?
EJERCICIO - Análisis de dataset de ventas con Pandas
Basado en el tutorial de Keith Galli
- VideoTutorial en Youtube
Solving real world data science tasks with Python Pandas! https://www.youtube.com/watch?v=eMOA1pPVUc4
- Repositorio en GitHub de Keith Galli
Pandas-Data-Science-Tasks (incluye el dataset en CSV) https://github.com/KeithGalli/Pandas-Data-Science-Tasks