Durante los últimos meses he estado dedicando las entradas de los viernes a describir diferentes estrategias existentes para abordar los problemas tipo Bandido Multibrazo (Multi-Armed Bandit) e implementarlas en Python. Creando de este modo una colección de código que puede ser interesante para la realización de comparaciones entre algoritmos. Por eso, recientemente he … [Leer más...] acerca de Librería Python para resolver el Bandido Multibrazo (Multi-Armed Bandit)
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.
Pandas: Encontrar la posición y valores de máximos y mínimos en un DataFrame
Los objetos DataFrame de Pandas disponen de los métodos max() e idxmax() con los que es posible obtener respectivamente el máximo de los valores y la posición de estos. Algo que se puede hacer tanto por filas como por columnas. De forma análoga a estos, también existen los métodos min() e idxmin() con los que es posible los valores mínimos y su posición. En esta entrada vamos a … [Leer más...] acerca de Pandas: Encontrar la posición y valores de máximos y mínimos en un DataFrame
Guardar las contraseñas y claves en Python
Cada día es más habitual tener que guardar contraseñas o secretos en nuestros desarrollos. Desde las claves de autenticación imprescindibles para consultar diferentes APIs, hasta las credenciales con las que acceder a la base de datos en la cual se guardarán los resultados de las diferentes operaciones realizadas. Secretos que no es buena idea almacenar en el código. Al … [Leer más...] acerca de Guardar las contraseñas y claves en Python
Probar números aleatorios en Python mediante mocks
Las pruebas automáticas son una parte clave de cualquier librería de código, ya que es la herramienta con la cual validar el correcto funcionamiento de esta después de incluir actualizaciones. Evitando de este modo que una actualización afecte al funcionamiento de los aplicativos donde se use. En el caso de que el código bajo pueda utilice un generador de números aleatorios es … [Leer más...] acerca de Probar números aleatorios en Python mediante mocks
NumPy: Comprobar todos los valores de una matriz de NumPy
Una de las grandes ventajas de las matrices de NumPy es la posibilidad de realizar operaciones lógicas sobre ellas, como puede ser el caso de igualdades o comparaciones. El resultado de estas operaciones es una nueva matriz de valores lógicos donde se muestra el resultado de aplicar la operación sobre cada uno de los elementos. Algo con lo que es posible paralelizar análisis de … [Leer más...] acerca de NumPy: Comprobar todos los valores de una matriz de NumPy
Identificar y eliminar columnas duplicadas en Pandas
En los DataFrames de Pandas existe el método duplicated() con el que se pueden eliminar los registros duplicados de un DataFrame. Pero no es así para el caso de las columnas duplicadas. De modo que, en el caso querer comprobar la existencia de columnas duplicadas en un DataFrame es necesario programar el proceso de forma manual. Lo mismo en el caso de querer eliminar esta … [Leer más...] acerca de Identificar y eliminar columnas duplicadas en Pandas
NumPy: Obtener la frecuencia de los valores en un vector de NumPy en Python
La función unique() de NumPy devuelve por defecto los valores únicos que se encuentra en un vector. Aunque también se puede obtener la frecuencia de aparición de estos valores. Para ello solamente se tiene que usar la propiedad return_counts, cuando se le asigna el valor True la función en lugar de devolver un array de NumPy con los elementos únicos devolverá una tupla en la … [Leer más...] acerca de NumPy: Obtener la frecuencia de los valores en un vector de NumPy en Python
Pandas: Comprobar la existencia de valores en los DataFrame
En el caso de que necesitemos comprobar la existencia de valores en los DataFrame de Pandas disponemos de varias opciones. Siendo una de ellas el uso del operador in. Una opción sencilla que además es muy flexible. Otra alternativa es el uso de la propiedad isin() de los objetos DataFrame.Conjunto de datos de ejemploAntes de continuar vamos a crear un pequeño conjunto … [Leer más...] acerca de Pandas: Comprobar la existencia de valores en los DataFrame
Pandas: Descartar filas en un DataFrame
Parte del contenido de un DataFrame de Pandas se puede eliminar mediante el método drop(). En esta entrada vamos a ver cómo se puede usar este método para descartar filas en un DataFrame en base al índice.El método drop()Los DataFrames de Pandas cuentan con el método drop() para eliminar parte del contenido de los mismos. Método que tiene básicamente la siguiente … [Leer más...] acerca de Pandas: Descartar filas en un DataFrame
Pandas: Cómo convertir un Dataframe en una lista de listas por filas o columnas
En esta entrada vamos a ver cómo se puede convertir fácilmente el contenido de un DataFrame en una lista, realizando el proceso tanto por filas como por columnas. Un truco con el que se puede cambiar el tipo de dato en función de nuestras necesidades.Creación de un DataFrame de ejemploEn primer lugar, es necesario disponer de un DataFrame, a ser posible pequeño para ver … [Leer más...] acerca de Pandas: Cómo convertir un Dataframe en una lista de listas por filas o columnas
Mejorar el rendimiento en Jupyter con Cython
Cython es una librería de Python con la cual se puede aumentar fácilmente el rendimiento de nuestro código en más de un orden de magnitud. Lo que se puede conseguir incluso sin la necesidad de incluir cambios en el código. Anteriormente he escrito una entrada con los fundamentos de esta librería y cómo mejorar el rendimiento de los archivos py. En esta ocasión se explicará cómo … [Leer más...] acerca de Mejorar el rendimiento en Jupyter con Cython
Cómo encontrar la posición de elementos en una lista de Python
Localizar la posición de un elemento dado en una lista es una tarea bastante habitual. Por ejemplo, cuando necesitamos localizar los valores máximo o mínimo. Para esta tarea se puede usar el método index() de las listas de Python o, cuando estamos trabajando con vectores de NumPy existe el método where(). Veamos a continuación cómo encontrar la posición de elementos en una … [Leer más...] acerca de Cómo encontrar la posición de elementos en una lista de Python








