Hva Pandas 1.0 ga oss

Hva Pandas 1.0 ga oss

9. januar ble Pandas 1.0.0rc utgitt. Den forrige versjonen av biblioteket er 0.25.

Den første store utgivelsen inneholder mange flotte nye funksjoner, inkludert forbedret automatisk datarammeoppsummering, flere utdataformater, nye datatyper og til og med et nytt dokumentasjonsnettsted.

Alle endringer kan sees her, i artikkelen vil vi begrense oss til en liten, mindre teknisk gjennomgang av de viktigste tingene.

Du kan installere biblioteket som vanlig ved å bruke pip, men siden i skrivende stund er Pandas 1.0 fortsatt Release Candidate, må du spesifisere versjonen:

pip install --upgrade pandas==1.0.0rc0

Vær forsiktig: siden dette er en stor utgivelse, kan oppdateringen bryte den gamle koden!

Forresten, støtte for Python 2 har blitt fullstendig avviklet siden denne versjonen (hva kan være en god grunn Oppdater — ca. oversettelse). Pandas 1.0 krever minst Python 3.6+, så hvis du ikke er sikker, sjekk hvilken du har installert:

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

$ python --version
Python 3.7.5

Den enkleste måten å sjekke Pandas-versjonen på er denne:

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

Forbedret automatisk oppsummering med DataFrame.info

Min favorittinnovasjon var oppdateringen av metoden DataFrame.info. Funksjonen har blitt mye mer lesbar, noe som gjør prosessen med datautforskning enda enklere:

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

Utdatatabeller i Markdown-format

En like hyggelig innovasjon er muligheten til å eksportere datarammer til Markdown-tabeller ved hjelp av DataFrame.to_markdown.

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

Dette gjør det mye enklere å publisere tabeller på nettsteder som Medium ved å bruke github-elementer.

Hva Pandas 1.0 ga oss

Nye typer for strenger og booleanere

Pandas 1.0-utgivelsen har også lagt til nytt eksperimentell typer. API-et deres kan fortsatt endres, så bruk det med forsiktighet. Men generelt anbefaler Pandas å bruke nye typer der det er fornuftig.

Foreløpig må rollebesetningen gjøres eksplisitt:

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

Legg merke til hvordan kolonnen Dtype viser nye typer − string и bool.

Den mest nyttige funksjonen til den nye strengtypen er muligheten til å velge bare radkolonner fra datarammer. Dette kan gjøre det mye enklere å analysere tekstdata:

df.select_dtypes("string")

Tidligere kunne ikke radkolonner velges uten å spesifisere navn.

Du kan lese mer om nye typer her.

Takk for at du leser! Den fullstendige listen over endringer, som allerede nevnt, kan sees her.

Kilde: www.habr.com

Legg til en kommentar