Una vez creadas las funciones y las clases de nuestro paquete es necesario escribir la documentación para que otros usuarios puedan saber cómo usarlas. Documentación que debe ofrecer información concisa sobre el funcionamiento de los componentes. En esta sexta entrada de la serie “Creación de un paquete de Python” vamos a ver cómo documentar paquetes de Python, escribiendo la … [Leer más...] acerca de Documentar paquetes de Python (Creación de paquetes de Python 6ª parte)
Truco Jupyter: Ignorar errores en las celdas de Jupyter Notebook
En un notebook de Jupyter cuando se están ejecutando las celdas en modo y una de estas contiene un error el proceso de ejecución se para. Ignorando el resto de las celdas a partir de aquella en la que produjo el error. Generalmente este es el comportamiento que esperaríamos. Si una celda tiene un error, posiblemente el resto tampoco puedan funcionar. Pero qué pasaría si … [Leer más...] acerca de Truco Jupyter: Ignorar errores en las celdas de Jupyter Notebook
SequenceMatcher
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
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)
Contar palabras en una celda Excel
En Excel no existe una función que permita contar el número de palabras que contiene una celda. Para lo que es necesario combinar varias funciones. En esta entrada se explicará como contar el número de caracteres iguales, el número de palabras iguales y el número de palabras que aparecen en una celda Excel.Contar el número de caracteres iguales en una celda ExcelPara … [Leer más...] acerca de Contar palabras en una celda Excel
Convertir código JavaScript para Internet Explorer
A la hora de trabajar con código JavaScript uno de los principales problemas es la compatibilidad de los navegadores antiguos con los últimos estándares. En esto un navegador que destaca de forma negativa es Internet Explorer, aún ampliamente usado en algunos entornos. Una forma para solucionar el problema es reescribir el código para estos navegadores, pero es mas interesante … [Leer más...] acerca de Convertir código JavaScript para Internet Explorer
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)
Cargar archivo CSV en Excel con diferentes delimitadores de columna
A la hora de cargar un archivo CSV en Excel, u otros archivos de texto, nos podemos encontrar con una desagradable sorpresa. En lugar de cargarse cada uno de los valores del archivo en una columna nos encontramos que se los datos están todos en la primera columna, con lo que no es posible trabajar con los datos. En estos casos generalmente se obtiene algo como lo que se muestra … [Leer más...] acerca de Cargar archivo CSV en Excel con diferentes delimitadores de columna
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.








