Los archivos de Excel y CSV son los formatos más utilizados para el intercambio de datos tabulados. En algunas situaciones puede ser necesario convertir los archivos de un formato a otro, cuando los usuarios que reciben los datos lo quieren en un formato concreto o cuando el programa no admite más que uno de tipos de archivo. En esta entrada vamos a ver se pueden convertir … [Leer más...] acerca deConvertir archivos CSV a XLSX con 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.
Creación de gráficos animados con Python
Una de las herramientas más eficaces para la presentación de los resultados son los gráficos. Eficacia que se puede aumentar al animarlos. La creación de gráficos animados en Python es una tarea realmente sencilla gracias a MoviePy. Un módulo para la edición de video que se puede usar tanto para operaciones básicas, como para el procesamiento y la creación de efectos avanzados … [Leer más...] acerca deCreación de gráficos animados con Python
Cursos on-line para comenzar en ciencia de datos
Ahora que medio mundo se encuentra confinado por el coronavirus puede ser el momento para realizar cursos con el que aprender nuevas habilidades o reforzar otras. En la situación actual una de las posibles soluciones es realizar un MOOC ya que no requiere asistir a clase y, en una gran cantidad de los casos, se pueden realizar de forma completamente gratuita. Aunque acceder a … [Leer más...] acerca deCursos on-line para comenzar en ciencia de datos
Cómo conseguir que Pandas itere más rápido, hasta 375 veces
A pesar de que Python se uno de los lenguajes más populares para el tratamiento de datos no es el más rápido. Tanto Julia como JavaScript puede llegar a ser órdenes de magnitud más rápido. Por eso, cualquier truco que nos permita reducir el tiempo de ejecución de nuestro código es de agradecer. En esta entrada vamos a comparar diferentes métodos de iteración en dataframe Pandas … [Leer más...] acerca deCómo conseguir que Pandas itere más rápido, hasta 375 veces
Solucionar la multicolinealidad con VIF
La multicolinealidad es un problema que afecta negativamente a los modelos de regresión. Cuando existe una relación entre algunas de las variables independientes tanto el proceso de entrenamiento como la interpretación de los modelos se hace más complicado. Por un lado, en el entrenamiento existe más de un parámetro que mejorar las predicciones en el mismo sentido, ya que sus … [Leer más...] acerca deSolucionar la multicolinealidad con VIF
Entrenamiento, validación y test con Scikit-learn
Entre las herramientas para la selección de modelos de Scikit-learn nos podemos encontrar con la función train_test_split. Una función que nos permite dividir un conjunto de datos en uno de entrenamiento y otro de test. En la bibliografía es habitual encontrar que se tiene que dividir los conjuntos de datos para el entrenamiento de los modelos en tres: entrenamiento, validación … [Leer más...] acerca deEntrenamiento, validación y test con Scikit-learn
Formatos condicionales en Pandas
Una característica bastante desconocida de Pandas es la posibilidad de cambiar el formato de los DataFrame. Incluso de forma condicional. Lo que se puede hacer utilizando los diferentes métodos que se encuentran dentro de la propiedad style de los DataFrame. Siendo esta una opción que resulta interesante a la hora de la creación de informes ya hace innecesario salir de Python … [Leer más...] acerca deFormatos condicionales en Pandas
Elementos aleatorios con y sin repetición en Python
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 deElementos aleatorios con y sin repetición en Python
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 deTres 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 deDistribució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 deMedir 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 deDocumentar 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 deTruco 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 deSequenceMatcher