Noticias

Novedades en pandas 1.0

El pasado día 29 de enero de 2020 se lanzó oficialmente la versión 1.0.0 de Pandas, lo que indica el grado de madurez que ha alcanzado esta librería. En esta entrada vamos a ver algunas de las novedades que trae Pandas 1.0.

Pandas es librería para la limpieza, exploración y manipulación de datos más popular en Python. Al extender las funcionalidades de los vectores de NumPy con la posibilidad de dar nombres tanto a las filas como a columnas y agregar métodos que facilitan las tareas más habituales con los conjuntos de datos. Siendo uno de los motivos por lo que Python es hoy uno de los lenguajes favoritos para los científicos de datos.

Actualización

En primer lugar, es necesario comprobar qué versión de Pandas tenemos instalado y si es necesario actualizar la última versión. Para esto simplemente debemos escribir en una sesión de Python

import pandas as pd

pd.__version__

Si la versión es anterior a la 1.0.0 actualizaremos escribiendo en la terminal.

pip install --upgrade pandas

Con lo que la librería se actualizará a la última versión de Pandas.

Mejoras en la exportación de DataFrame en Pandas 1.0

A la hora de crear informes ya es bastante habitual trabajar con markdow, como por ejemplo se hace en Jupyter Notebook. Por lo que en Pandas 1.0 se incluye un nuevo método (to_markdown()) en los objetos DataFrame que permite exportar estos a tablas markdow. Facilitando así mover estas a documentos redactados en este formato. Algo que se puede ver en el siguiente ejemplo.

df = pd.DataFrame({
    'C1': [1, 2, 3, 4],
    'C2': ['A', 'B', 'C', 'D'],
    'C3': [True, False, True, False]
})

df.to_markdown()
|    |   C1 | C2   | C3    |
|---:|-----:|:-----|:------|
|  0 |    1 | A    | True  |
|  1 |    2 | B    | False |
|  2 |    3 | C    | True  |
|  3 |    4 | D    | False |

Valores nulos con pd.NA

Con anterioridad a Pandas 1.0 se podía indicar un valor nulo con np.nan, None o pd.NaT. Ahora es posible utilizar además el valor pd.NA, siendo este ultimo un más consistente que los anteriores ya que los resultados son independientemente del tipo de dato y operación. A diferencia los anteriores cualquier operación que involucre a un valor pd.NA dará como resultado un pd.NA. Por ejemplo, algo que se puede apreciar al utilizar operadores lógicos.

np.nan == np.nan # False
pd.NaT == pd.NaT # False
None == None     # True
pd.NA == pd.NA   # <NA>

Conclusiones

En esta entrada hemos visto algunas de las novedades que trae la versión 1.0 de Pandas. Una versión importante ya que supone el primer cambio en el número de versión mayor.

Imagen de Michael Gaida en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Pandas

Recent Posts

Migrar tslane a un paquete dual CommonJS y ESM con tsup y Vitest

tslane es la plantilla que uso como punto de partida para mis librerías TypeScript, nacida…

2 días ago

Cómo construir tu primer scorecard paso a paso

En los artículos anteriores de esta serie vimos la teoría detrás del credit scoring: qué…

4 días ago

Actualizar expresslanets a ES Modules con tsx y Vitest

expresslanets es la plantilla de API REST con Express y TypeScript que empezó como una…

1 semana ago

Pareto/NBD: cuando el abandono silencioso cambia el CLV

En el artículo del Dashboard vimos que Pareto/NBD aparecía junto a BG/NBD con un ajuste…

2 semanas ago

Por qué migrar tus proyectos TypeScript a ES Modules en 2026

Durante años, CommonJS (require/module.exports) ha sido la forma por defecto de organizar módulos en Node.js,…

2 semanas ago

Método del codo: interpretación correcta y limitaciones

Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, , vas a…

3 semanas ago

This website uses cookies.