Què ens va aportar Pandas 1.0

Què ens va aportar Pandas 1.0

El 9 de gener es va llançar Pandas 1.0.0rc. La versió anterior de la biblioteca és la 0.25.

La primera versió important conté moltes funcions noves i fantàstiques, com ara un resum de marc de dades automàtic millorat, més formats de sortida, nous tipus de dades i fins i tot un nou lloc de documentació.

Tots els canvis es poden veure aquí, a l'article ens limitarem a fer una petita revisió, menys tècnica, de les coses més importants.

Podeu instal·lar la biblioteca com de costum utilitzant pip, però ja que en el moment d'escriure Pandas 1.0 encara està candidat d’alliberament, haureu d'especificar explícitament la versió:

pip install --upgrade pandas==1.0.0rc0

Aneu amb compte: com que es tracta d'una versió important, l'actualització pot trencar el codi antic!

Per cert, el suport per a Python 2 s'ha interromput completament des d'aquesta versió (quina pot ser una bona raó actualitzar —aprox. traducció). Pandas 1.0 requereix almenys Python 3.6+, així que si no esteu segurs, comproveu quin heu instal·lat:

$ 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 manera més senzilla de comprovar la versió de Pandas és aquesta:

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

S'ha millorat el resum automàtic amb DataFrame.info

La meva innovació preferida va ser l'actualització del mètode DataFrame.info. La funció s'ha tornat molt més llegible, facilitant encara més el procés d'exploració de dades:

>>> 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

Sortida de taules en format Markdown

Una innovació igualment agradable és la possibilitat d'exportar marcs de dades a taules de Markdown utilitzant DataFrame.to_markdown.

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

Això fa que sigui molt més fàcil publicar taules en llocs com Medium utilitzant les bases de github.

Què ens va aportar Pandas 1.0

Nous tipus per a cadenes i booleans

La versió Pandas 1.0 també s'ha afegit nou experimental tipus. La seva API encara pot canviar, així que utilitzeu-la amb precaució. Però, en general, Pandas recomana utilitzar nous tipus allà on tingui sentit.

De moment, el repartiment s'ha de fer de manera 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

Observeu com la columna Tipus D mostra nous tipus − cadena и bool.

La característica més útil del nou tipus de cadena és la possibilitat de seleccionar només columnes de fila des de marcs de dades. Això pot fer que l'anàlisi de dades de text sigui molt més fàcil:

df.select_dtypes("string")

Anteriorment, les columnes de files no es podien seleccionar sense especificar explícitament els noms.

Podeu llegir més sobre els nous tipus aquí.

Gràcies per llegir! La llista completa de canvis, com ja s'ha esmentat, es pot consultar aquí.

Font: www.habr.com

Afegeix comentari