Lo que nos trajo Pandas 1.0

Lo que nos trajo Pandas 1.0

El 9 de enero se lanzó Pandas 1.0.0rc. La versión anterior de la biblioteca es 0.25.

La primera versión importante contiene muchas características nuevas excelentes, incluido un resumen automático mejorado de marcos de datos, más formatos de salida, nuevos tipos de datos e incluso un nuevo sitio de documentación.

Todos los cambios se pueden ver. aquí, en el artículo nos limitaremos a un pequeño repaso menos técnico de lo más importante.

Puede instalar la biblioteca como de costumbre usando pepita, pero dado que al momento de escribir este artículo Pandas 1.0 todavía está versión candidata, deberá especificar explícitamente la versión:

pip install --upgrade pandas==1.0.0rc0

Tenga cuidado: dado que se trata de una versión importante, la actualización puede romper el código anterior.

Por cierto, el soporte para Python 2 ha sido completamente descontinuado desde esta versión (¿Cuál podría ser una buena razón? renovar — aprox. traducción). Pandas 1.0 requiere al menos Python 3.6+, así que si no estás seguro, comprueba cuál tienes instalado:

$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

$ python --version
Python 3.7.5

La forma más sencilla de comprobar la versión de Pandas es esta:

>>> import pandas as pd
>>> pd.__version__
1.0.0rc0

Resumen automático mejorado con DataFrame.info

Mi innovación favorita fue la actualización del método. Marco de datos.info. La función se ha vuelto mucho más legible, lo que facilita aún más el proceso de exploración de datos:

>>> df = pd.DataFrame({
...:   'A': [1,2,3], 
...:   'B': ["goodbye", "cruel", "world"], 
...:   'C': [False, True, False]
...:})
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      object
 2   C       3 non-null      object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes

Generar tablas en formato Markdown

Una innovación igualmente agradable es la capacidad de exportar marcos de datos a tablas Markdown usando Marco de datos.to_markdown.

>>> df.to_markdown()
|    |   A | B       | C     |
|---:|----:|:--------|:------|
|  0 |   1 | goodbye | False |
|  1 |   2 | cruel   | True  |
|  2 |   3 | world   | False |

Esto hace que sea mucho más fácil publicar tablas en sitios como Medium usando github gists.

Lo que nos trajo Pandas 1.0

Nuevos tipos para cadenas y booleanos.

La versión Pandas 1.0 también agregó nuevas experimental tipos. Es posible que su API aún cambie, así que úsela con precaución. Pero, en general, Pandas recomienda utilizar nuevos tipos siempre que tenga sentido.

Por ahora, el reparto debe hacerse de forma explícita:

>>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string")
>>> C = pd.Series([False, True, False], dtype="bool")
>>> df.B = B, df.C = C
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      string
 2   C       3 non-null      bool
dtypes: int64(1), object(1), string(1)
memory usage: 200.0+ bytes

Observe cómo la columna Tipo D muestra nuevos tipos: cadena и bool.

La característica más útil del nuevo tipo de cadena es la capacidad de seleccionar solo columnas de fila de marcos de datos. Esto puede facilitar mucho el análisis de datos de texto:

df.select_dtypes("string")

Anteriormente, las columnas de fila no se podían seleccionar sin especificar explícitamente los nombres.

Puedes leer más sobre nuevos tipos. aquí.

¡Gracias por leer! La lista completa de cambios, como ya se mencionó, se puede ver aquí.

Fuente: habr.com

Añadir un comentario