Comparar dos documentos es una tarea relativamente compleja, especialmente si buscamos coincidencias parciales entre los mismos. Para esta tarea en el módulo difflib de Python podemos encontrar la clase SequenceMatcher con la que realizar esta tarea. Una clase con la que localizar las coincidencias existentes en las subsecuencia, al mismo tiempo que se puede obtener un grado de … [Leer más...] acerca de SequenceMatcher
Python
Python es un lenguaje de programación interpretado con una filosofía basada en la legibilidad del código. Un lenguaje que gracias posee un gran ecosistema de librerías para la ciencia de datos. Por lo que es uno de los más populares en la actualidad entre los científicos de datos. Además, es uno de los lenguajes más deseados y adorados por los programadores según las encuestas de Stack Overflow.
Python es un lenguaje de programación interpretado de propósito general que obliga al uso de una sintaxis clara, gracias a la cual el código es altamente legible. Siendo un lenguaje potente y fácil de aprender. Además, permite utilizar múltiples paradigmas de programación. Lo que permite usar desde programación orientada a objetos, pasando por programación imperativa o funcional.
Los paquetes de Python más utilizados por los científicos son:
- NumPy: permite el tratamiento de datos basados en matrices,
- Pandas: ideal para la manipulación de datos heterogéneos mediante objetos DataFrame,
- SciPy: implementa tareas habituales en computación científica,
- Matplotlib: facilita la visualización de datos y scikit-learn creación de modelos de aprendizaje automático.
Las publicaciones de esta sección versan sobre estas librerías y las bases del lenguaje.
Gestionar las dependencias de paquetes Python (Creación de paquetes de Python 5ª parte)
En las entradas anteriores de la serie “Creación de paquetes de Python” hemos visto cómo añadir código al paquete, pero no como incluir otros paquetes que podemos necesitar. Por ejemplo, puede ser necesario tener instalado Pandas o scikit-learn. En esta quinta entrada de la serie vamos a ver los pasos para gestionar las dependencias de los paquetes Python e indicar qué … [Leer más...] acerca de Gestionar las dependencias de paquetes Python (Creación de paquetes de Python 5ª parte)
Comparar los valores con tolerancia en Python.
Al trabajar con números reales no es una buena idea comparar dos valores después de operar con ellos con el operador ==. El mínimo error numérico es las operaciones puede hacer que dos valores que deberían ser iguales no lo sean. Algo que se puede comprobar fácilmente evaluando la expresión 0.1 + 0.2 == 0.3 en Python, la comparación devuelve False cuando esperaríamos todo lo … [Leer más...] acerca de Comparar los valores con tolerancia en Python.
Ordenar listas de objetos en Python
Cuando queremos ordenar una lista en Python se puede utilizar el método sorted(). Un método que nos devuelve una lista con los objetos ordenados. Aunque si el contenido de la lista no es no son datos primitivos, como por ejemplo tuplas, diccionarios u objetos el método no funcionará. Para ello es necesario pasar una función con la que sorted() pueda ordenar los datos. Siendo … [Leer más...] acerca de Ordenar listas de objetos en Python
Cobertura de las pruebas unitarias en Python (Creación de paquetes de Python 4ª parte)
En las entradas anteriores hemos visto cómo definir pruebas unitarias con pytest, así como ejecutarlas en diferentes versiones de Python con tox. Un dato importante de las pruebas es el nivel de cobertura, el porcentaje de código que se prueba. Para así poder identificar qué partes del código tienen pruebas asociadas y cuáles no. Con lo que se puede definir nuevas pruebas para … [Leer más...] acerca de Cobertura de las pruebas unitarias en Python (Creación de paquetes de Python 4ª parte)
Probar en múltiples versiones de Python (Creación de paquetes de Python 3ª parte)
Hasta ahora las pruebas se ha ejecutado únicamente en la configuración del ordenador de trabajo. Es decir, en la versión de Python con la que estamos trabajando. Pero puede ser interesante probar que el paquete funciona con diferentes versiones de Python a la que tenemos instalada. Para probar en múltiples versiones de Python el código del paquete vamos a utilizar tox.Esta … [Leer más...] acerca de Probar en múltiples versiones de Python (Creación de paquetes de Python 3ª parte)
Comparar el contenido de dos Jupyter celda a celda.
Uno de los problemas que pueden existir a la hora de trabajar con documentos Jupyter es el control de cambios en los documentos. Es decir, saber qué celdas han cambiado y cuales son iguales. Incluso pequeños cambios que pueden cambiar completamente el resultado del documento. Algo, que a medida que el tamaño de los documentos crecer, es más necesario poder hacer de forma … [Leer más...] acerca de Comparar el contenido de dos Jupyter celda a celda.
Pruebas unitarias en Python (Creación de paquetes de Python 2ª parte)
La semana pasada hemos visto los primeros pasos para crear un paquete de Python básico utilizando Cookiecutter e instalarlo en nuestro ordenador. Una de las piezas claves a la hora de garantizar que el código de un proyecto evoluciona sin alterar las funcionalidades existentes son las pruebas unitarias. Con las que podemos evaluar cada una de las funciones y clases … [Leer más...] acerca de Pruebas unitarias en Python (Creación de paquetes de Python 2ª parte)
Máximos de un subconjunto en un dataframe pandas
Una tarea que se puede hacer fácilmente en SQL agrupar una tabla por una columna, seleccionar los registros que tengan el valor máximo en otra columna, junto al resto de campos de los registros. Es decir, buscar los valores máximos de un subconjunto. Una tarea que también se puede hacer en pandas con un poco de trabajo.Planteamiento del problemaSi tenemos una tabla … [Leer más...] acerca de Máximos de un subconjunto en un dataframe pandas
Creación de paquetes de Python
Hoy voy a iniciar una serie de entradas en las que explicaré el proceso de creación de paquetes de Python. Además de explicar diferentes opciones para su distribución, incluyendo subirlos a PyPI. La serie consta de las siguiente siete entradas:Creación de paquetes de PythonPruebas unitarias en PythonProbar en múltiples versiones de PythonCobertura de las pruebas unitarias … [Leer más...] acerca de Creación de paquetes de Python
Mostrar barra de progreso en Jupyter
Al aumentar la complejidad la complejidad de los análisis realizados en un Jupyter Notebook. O al aumentar el conjunto de datos sobre el que se trabaja. Los procesos pueden pasar de unos pocos segundos a minutos o incluso horas. En estas situaciones saber el estado del proceso y una estimación del tiempo que falta para finalizar puede ser de gran ayuda. Para lo que las barras … [Leer más...] acerca de Mostrar barra de progreso en Jupyter
Leer y guardar archivos de Matlab en Python
Para aquellos que trabajamos al mismo tiempo con Matlab y Python es posible que nos encontremos con la necesidad tanto de leer cómo guardar archivos de Matlab en Python. Archivos binarios los cuales suelen tener la extensión mat. Esto es algo que se puede hacer fácilmente con SciPy.Crear un archivo matEn primer lugar, necesitamos crear un archivo mat. Algo que se puede … [Leer más...] acerca de Leer y guardar archivos de Matlab en Python