La selección de elementos aleatorios a partir de una lista es una tare clave para múltiples situaciones. Siendo una de las primeras fases en algunos de los análisis de datos más habituales. Por eso en la librería estándar de Python existen funciones con las que se puede obtener elementos aleatorios con y sin repetición. Existiendo incluso para barajar las listas. Funciones que … [Leer más...] acerca de Elementos aleatorios con y sin repetición en Python
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.
Tres métodos de Pandas que posiblemente no conocías
Pandas es una de librería de Python que más usamos en el día a día, siendo una herramienta clave en la mayoría de los proyectos de aprendizaje automático y ciencia de datos. Aún así, con un uso tan intensivo, no solemos conocer todas los métodos y funciones que esta librería nos ofrece. Hoy vamos a repasar tres métodos de Pandas poco conocidos que son muy interesantes: … [Leer más...] acerca de Tres métodos de Pandas que posiblemente no conocías
Distribución de paquetes de Python (Creación de paquetes de Python 7ª y última parte)
En las entradas anteriores de esta serie hemos visto cómo crear un paquete Python a partir de las plantillas que ofrece Cookiecutter. Una vez hecho esto creamos pruebas, gestionamos las dependencias y documentamos el paquete. Al terminar es necesarios distribuirlo. Quizás el método más conocido para la distribución de paquetes de Python es mediante PyPi, aunque no es el único. … [Leer más...] acerca de Distribución de paquetes de Python (Creación de paquetes de Python 7ª y última parte)
Medir la similitud de archivos con Python
Una de las grandes ventajas de los sistemas informáticos es la facilidad con la que se puede copiar y modificar los archivos. Cuando tenemos que repetir un análisis que ya hemos realizado previamente, sea este en una hoja de cálculo, un Jupyter Notebook o con cualquier otra herramienta, podemos partir de este y modificar adecuadamente los datos. Esto que nos no reinventar los … [Leer más...] acerca de Medir la similitud de archivos con Python
Documentar paquetes de Python (Creación de paquetes de Python 6ª parte)
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)
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)