Las bibliotecas y los módulos facilitan la vida de un programador.

Cuando trabaja en proyectos, puede encontrarse con situaciones que no podrá resolver con la codificación estándar de un lenguaje de programación. Necesitamos algunas bibliotecas y módulos para superar esos problemas.

Por suerte, Python soporta una plétora de módulos y bibliotecas. Python tiene módulos integrados, así como bibliotecas y módulos de terceros para el desarrollo. Veremos tanto los módulos integrados como los de terceros, que son muy beneficiosos para los proyectos Python. Exploremos primero los módulos integrados.

Python viene con un montón de módulos integrados para diferentes casos de uso. Estudiaremos los módulos uno a uno según su uso.

Colecciones

Python dispone de diferentes tipos de colecciones para almacenar el conjunto de datos. Por ejemplo, tuple, list, dict, etc., son algunas de las colecciones incorporadas de Python. El módulo collections proporciona características adicionales a las colecciones incorporadas.

Si tomamos la colección de datos deque del módulo collections , se parece más a una lista de Python. Pero, podemos empujar y empujar los elementos de ambos lados. Es más rápido que la lista. Puede utilizar el deque en función de sus necesidades. Veamos algo de codificación real con la colección de datos collections .deque .

importar colecciones
números = [1, 2, 3]
# crear colección deque a partir de la lista
deque = colecciones.deque(números)

print(deque)

# añadir un elemento al final
deque.append(4)

print(deque)

# añadir un elemento al principio
deque.appendleft(0)

print(deque)

# eliminando el elemento al final
deque.pop()

print(deque)

# eliminando el elemento al principio
deque.popleft()

print(deque)

Ejecute el código anterior; vea los resultados. También tenemos otras colecciones de datos en el módulo de colecciones .

Algunas de ellas son

ContadorDevuelve un dict que contiene la frecuencia de elementos de la lista.

Es una subclase de la clase dict.

UserListSe utiliza para una subclase rápida de la lista.
UserDictUtilizado para una subclase rápida del dict.
UserStringUtilizado para una subclase rápida de la str.

Vaya a la documentación del módulo collections para explorar todas las colecciones de datos y métodos.

Nota rápida:- Utilice el método incorporado dir(object) de Python para ver todos los métodos de un objeto.

CSV

Podemos utilizar los archivos CSV (valores separados por comas) para almacenar los datos tabulares. Es el formato más utilizado para importar y exportar datos de hojas de cálculo y bases de datos. Python viene con un módulo llamado CSV para manejar los archivos CSV.

Veamos un ejemplo de lectura de los datos de un archivo CSV.

Cree un archivo con el nombre sample.csv en su portátil y pegue los siguientes datos.

Nombre,Edad,Año de graduación

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Disponemos de métodos para leer y escribir en el módulo CSV. Veremos cómo leer los datos de los archivos CSV utilizando el módulo CSV.

importar csv

with open('muestra.csv') as file:
    # crear el lector
    reader = csv.reader(archivo)
    
    # leer línea por línea utilizando el bucle
    for fila en lector:
        # row es una lista que contiene elementos del archivo CSV
        # unir la lista utilizando el método join(list)
        print(','.join(fila))

Ejecute el código anterior para ver los resultados.

También tendremos un objeto llamado csv.writer() para escribir los datos en el archivo CSV . Juegue con los demás métodos por su cuenta utilizando los métodos incorporados dir() y help(). Tenemos otro módulo llamado JSON, que se utiliza para manejar archivos JSON . También es un módulo incorporado.

Aleatorio

Python tiene un módulo llamado random que permite generar los datos aleatoriamente. Podemos producir cualquier cosa aleatoriamente utilizando diferentes formas del módulo random . Puede utilizar este módulo en aplicaciones como el tres en raya, un juego de dados, etc..,

Veamos un sencillo programa para generar enteros aleatorios a partir de un rango dado.

importar aleatorio

# generar un número aleatorio del rango 1-100
print(random.randint(1, 100)) 

Compruebe los demás métodos del módulo random utilizando los métodos dir()y help(). Escribamos un pequeño y sencillo juego utilizando el módulo random . Podemos llamarlo Juego de Adivinar Números.

¿Qué es el Juego de Adivinar Números?

El programa generará un número aleatorio en el rango de 1 – 100. El usuario adivinará el número hasta que coincida con el número aleatorio generado por el programa. Cada vez imprimirá si el número del usuario es menor o mayor que el número aleatorio. A continuación, el código fuente mostrará el número de conjeturas.

Vea el siguiente código para el programa anterior.

# importando el módulo random
importar aleatorio

# generar número aleatorio
número_aleatorio = random.randint(1, 100)

# inicializar nº de conjeturas a 0
número_adivinanzas = 0

# ejecutando el bucle hasta que el usuario adivine el número aleatorio
mientras Verdadero
    # obteniendo la entrada del usuario

    número_adivinado_por_el_usuario = int(input("Introduzca un número en el rango de 1-100:- "))

    # comprobar la igualdad
    if número_adivinado_por_usuario == número_aleatorio:
        print(f "Ha adivinado el número en {guess_count} intentos")
        # romper el bucle
        break
    elif número_adivinado_por_usuario < número_aleatorio
        print("Su número es bajo")
    elif número_adivinado_por_usuario > número_aleatorio:
        print("Su número es alto")

    # Incrementar el recuento de adivinanzas
    recuento_adivinanzas = 1

Tkinter

Tkinteres un módulo incorporado para el desarrollo de aplicaciones GUI (Interfaz Gráfica de Usuario). Es conveniente para los principiantes. Podemos desarrollar aplicaciones GUI como calculadoras, sistemas de login, editores de texto, etc.; hay muchos recursos por ahí para aprender desarrollo GUI con Tkinter.

La mejor ayuda es seguir la documentación oficial. Para empezar con el Tkinter, vaya a los docs y empiece a crear hermosas aplicaciones GUI .

# Módulos de terceros

Solicitudes

El módulo Requests se utiliza para enviar todo tipo de peticiones HTTP al servidor. Permite enviar peticiones HTTP/1.1 . También podemos añadir cabeceras, datos y otras cosas utilizando diccionarios Python. Como se trata de un módulo de terceros, tenemos que instalarlo. Ejecute el siguiente comando en el terminal o en la línea de comandos para instalar el módulo requests .

pip install requests

Es muy sencillo trabajar con el módulo requests . Podemos empezar a trabajar con las peticiones sin ningún conocimiento previo. Veamos cómo enviar una petición get y qué nos devuelve.

importar requests

# sening a get request
request = requests.get("https://www.google.com/")

# 
print(codigo_estado_solicitud)
print(solicitud.url)
print(solicitud.request)

El código anterior imprimirá el código_de_estado, la URL y el método de solicitud (GET, POST). También obtendrá la fuente de la URL . Puede acceder a ella con los bytes request .content . Vaya a la documentación del módulo requests y explore más.

BeautifulSoup4

La bibliotecaBeautifulSoup se utiliza para el web scraping. Es un módulo práctico con el que trabajar. Incluso los principiantes pueden empezar a trabajar con él utilizando los docs. Vea el código de ejemplo para raspar los detalles de los informes de los clientes.

Puede instalar BeautifulSoup escribiendo el siguiente comando en el terminal/línea de comandos.

pip install beautifulsoup4

Y, un programa sencillo para su primer scraping.

## Scrping de la lista de productos de ConsumerReport utilizando BeautifulSoup

## importando los módulos bs4, requests
importar bs4
importar requests

## inicializando url
url = "https://www.consumerreports.org/cro/a-to-z-index/products/index.htm"

## obtener la respuesta de la página utilizando el método get del módulo requests
página = requests.get(url)

## almacenar el contenido de la página en una variable
html = page.content

## crear el objeto BeautifulSoup
soup = bs4.BeautifulSoup(html, "lxml")

## ver la clase o id de la etiqueta que contiene nombres y enlaces
div_class = "crux-cuerpo-copia"

## obtener todos los divs utilizando el método find_all
div_tags = soup.find_all("div", class_=div_class) ## encontrar los divs que tienen la clase mencionada

## veremos todas las etiquetas que tengan nombre y enlace dentro del div
for etiqueta en etiquetas_div
    print(etiqueta)

Ejecute el código anterior para ver la magia del web scraping. Existen más frameworks de web scraping que puede probar.

# Ciencia de datos y aprendizaje automático

Hay algunas bibliotecas por ahí especialmente creadas para la ciencia de datos y el aprendizaje automático. Todas ellas están desarrolladas en C. Son rapidísimas.

Numpy

Numpy se utiliza para la computación científica.

Nos permite trabajar con arrays multidimensionales. La implementación de arrays no existe en Python. Principalmente los desarrolladores utilizan numpy en sus proyectos de aprendizaje automático. Es fácil de aprender y es una librería de código abierto. Casi todos los ingenieros de aprendizaje automático o científicos de datos utilizan este módulo para cálculos matemáticos complejos.

Ejecute el siguiente comando para instalar el módulo numpy .

pip install numpy

Pandas

Pandas es un módulo de análisis de datos. Podemos filtrar los datos de la forma más eficaz utilizando la biblioteca pandas . Ofrece diferentes tipos de estructuras de datos con las que es práctico trabajar. También proporciona manejo de archivos con diferentes formatos de archivo.

Instale el módulo utilizando el siguiente comando.

pip install pandas

Matplotlib

Matplotlib es una biblioteca de trazado de gráficos 2D. Puede visualizar los datos utilizando Matplotlib.

Podemos generar imágenes de las figuras en diferentes formatos. Trazamos diferentes tipos de diagramas como gráficos de barras, gráficos de error, histogramas, diagramas de dispersión, etc., Puede instalar matplotlib utilizando el siguiente comando.

pip install matplotlib

Nota rápida:- Puede instalar Anaconda para obtener todas las bibliotecas y módulos necesarios para la Ciencia de Datos.

Si usted es serio sobre el aprendizaje de Python para la ciencia de datos y ML a continuación, echa un vistazo a este curso Udemy brillante.

TensorFlow

TensorFlow es una biblioteca Python de aprendizaje automático de extremo a extremo desarrollada por Google.

Con TensorFlow, puede ejecutar algoritmos estándar de aprendizaje automático, crear redes neuronales y realizar cálculos numéricos. Sin embargo, se necesita un profundo conocimiento de los vectores y el álgebra para trabajar con TensorFlow.

image-157

Cómo utilizar TensorFlow

Cree un proyecto, navegue en él y luego instale TensorFlow utilizando este comando;

pip install tensorflow-cpu

TensorFlow es bastante popular por estas razones;

  • Flexible: TensorFlow puede llevar a cabo diversas tareas de aprendizaje automático como el reconocimiento de voz, el reconocimiento de imágenes y el procesamiento del lenguaje natural, por mencionar algunas.
  • Escalable: Puede utilizar TensorFlow para entrenar y desplegar modelos de Aprendizaje Automático en varios sistemas de hardware como TPUs, GPUs y CPUs.
  • Gran comunidad: TensorFlow ha atraído a una gran base de usuarios con más de 174k estrellas y 88k forks en GitHub.
  • Extensible: Puede personalizar TensorFlow para adaptarlo a las necesidades específicas de su proyecto.

TensorFlow es un proyecto gratuito y de código abierto cuyo código fuente se encuentra en GitHub.

Keras

Keras es una interfaz de programación de aplicaciones (API) de aprendizaje profundo construida sobre TensorFlow, una plataforma de aprendizaje automático. El aprendizaje profundo es una subsección del aprendizaje automático. Keras fue construido para ayudar en la experimentación rápida, permitiendo a los usuarios pasar rápidamente de una idea a un producto.

image-158

Mientras que TensorFlow actúa como una capa de infraestructura para la programación diferenciable, Keras ofrece los bloques de construcción y abstracciones esenciales para construir y enviar soluciones de aprendizaje automático. Con Keras, los ingenieros aprovechan las capacidades multiplataforma y la característica de escalabilidad de TensorFlow.

Para empezar a utilizar Keras, instálelo utilizando pip;

pip install keras

¿Por qué Keras?

  • Flexible: Keras se construyó con el principio de «revelación progresiva de la complejidad«. Por lo tanto, puede crear varias redes neuronales, ya que admite diferentes optimizadores, funciones de activación y tipos de capas.
  • Fácil de usar: Keras está construido para ser sencillo pero no simplista. Como ingeniero, Keras le permite centrarse en las soluciones que importan al tiempo que le descarga de la carga cognitiva.
  • Gran comunidad: Keras tiene una gran comunidad en ciernes con más de 57,9k estrellas en GitHub.
  • Escalable: Puede utilizar Keras para experimentar. Sin embargo, también puede seguir utilizando esta API a medida que su aplicación crezca.

Keras es una biblioteca Python de aprendizaje profundo gratuita y de código abierto.

Scikitt-Learn

Scikitt-Learn es un módulo Python de aprendizaje automático que está construido sobre SciPy. El módulo ofrece herramientas eficaces y sencillas que los ingenieros pueden utilizar para analizar datos predictivos.

image-159

Scikitt-Learn tiene muchos casos de uso, como Clasificación, Agrupación, Regresión y Preprocesamiento, entre otros.

En la función de Clasificación, puede utilizar este módulo para identificar la categoría de un objeto. Esta función es útil en el reconocimiento de imágenes y la detección de spam.

Puede instalar Scikitt-Learn en la carpeta de su proyecto utilizando pip de la siguiente manera;

pip install scikit-learn

Tras la instalación, puede comprobar que está bien configurado importando a sus archivos como;

import sklearn

¿Por qué Scikitt-Learn?

  • Varios algoritmos de aprendizaje automático: Puede acceder a algoritmos que van desde árboles de decisión, redes neuronales y bosques aleatorios hasta máquinas de vectores soporte.
  • Visualización de modelos: El módulo dispone de varias herramientas para visualizar modelos de aprendizaje automático.
  • Evaluación de modelos: Puede realizar validaciones cruzadas y métricas de puntuación utilizando este módulo.
  • Preprocesamiento de datos: Puede hacer reducción de dimensionalidad, normalización y selección de características a través de la herramienta de preprocesamiento de datos de este módulo.

Scikkit-Learn es de código abierto y puede utilizarse comercialmente con una licencia BSD.

# Marcos web

Podemos encontrar muchos frameworks web en Python. Discutiremos dos frameworks que son ampliamente utilizados por los desarrolladores. Los dos frameworks son Django y Flask.

Django

Django es un marco web de código abierto desarrollado en Python. Es conveniente crear sitios web con Django. Podemos generar cualquier tipo de sitio utilizando este framework. Algunos de los sitios más populares construidos con Django son Instagram, bitbucket, Disqus, Mozilla Firefox, etc..,

  • Podemos construir sitios web complejos rápidamente con las características de Django.
  • Django ya realiza muchas de las tareas necesarias para el desarrollo web.
  • También proporciona seguridad contra los ataques SQL Injection, cross-site scripting, cross-site request forgery y clickjacking.
  • Podemos construir cualquier sitio web, desde el sistema de gestión de contenidos hasta sitios sociales.

La documentación de Django es inequívoca. Usted tiene que familiarizarse con el Python para Django. Pero no se preocupe si no lo está. Aprender D jango es fácil.

Flask

Flask es un micro framework web desarrollado en Python.

Es más pitónico que Django. Tiene una excelente documentación aquí. Utiliza el motor de plantillas Jinja . Es muy complejo crear grandes sitios web Flask. La mayoría de las características como enrutamiento de URL, envío de solicitudes, cookies seguras, sesiones, etc., están presentes tanto en Django como en Flask.

Elija el framework en función de la complejidad de su sitio web. Django está ganando popularidad entre los desarrolladores. Es el framework más utilizado para el desarrollo web en Python.

Conclusión

Espero que haya llegado a conocer los diferentes módulos, bibliotecas y frameworks para Python.

Todos somos alguna vez principiantes.

Sea lo que sea lo que quiera empezar, primero vaya a la documentación y empiece a aprenderlo. Si no puede entender la documentación, busque cursos intensivos en estos sitios web educativos.

También puede consultar nuestro post sobre cómo instalar pip en diferentes SO.