Vad Pandas 1.0 gav oss

Vad Pandas 1.0 gav oss

Den 9 januari släpptes Pandas 1.0.0rc. Den tidigare versionen av biblioteket är 0.25.

Den första stora utgåvan innehåller många fantastiska nya funktioner, inklusive förbättrad automatisk sammanfattning av dataramar, fler utdataformat, nya datatyper och till och med en ny dokumentationswebbplats.

Alla ändringar kan ses här, i artikeln kommer vi att begränsa oss till en liten, mindre teknisk genomgång av de viktigaste sakerna.

Du kan installera biblioteket som vanligt med hjälp av pip, men sedan i skrivande stund är Pandas 1.0 fortfarande Release Candidatemåste du uttryckligen ange versionen:

pip install --upgrade pandas==1.0.0rc0

Var försiktig: eftersom detta är en stor utgåva kan uppdateringen bryta den gamla koden!

Förresten, stödet för Python 2 har upphört helt sedan denna version (vad kan vara en bra anledning uppdatering - cirka. översättning). Pandas 1.0 kräver minst Python 3.6+, så om du inte är säker, kolla vilken du har installerat:

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

$ python --version
Python 3.7.5

Det enklaste sättet att kontrollera Pandas-versionen är detta:

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

Förbättrad automatisk sammanfattning med DataFrame.info

Min favoritinnovation var uppdateringen av metoden DataFrame.info. Funktionen har blivit mycket mer läsbar, vilket gör processen för datautforskning ännu enklare:

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

Utmatning av tabeller i Markdown-format

En lika trevlig innovation är möjligheten att exportera dataramar till Markdown-tabeller med hjälp av DataFrame.to_markdown.

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

Detta gör det mycket lättare att publicera tabeller på sajter som Medium med github-konsekvenser.

Vad Pandas 1.0 gav oss

Nya typer för strängar och booleans

Pandas 1.0-utgåvan lade också till nytt experimentell typer. Deras API kan fortfarande ändras, så använd det med försiktighet. Men generellt rekommenderar Pandas att du använder nya typer där det är meningsfullt.

För nu måste rollbesättningen göras uttryckligen:

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

Lägg märke till hur kolumnen Dtyp visar nya typer − sträng и bool.

Den mest användbara funktionen hos den nya strängtypen är möjligheten att välja endast radkolumner från dataramar. Detta kan göra det mycket lättare att tolka textdata:

df.select_dtypes("string")

Tidigare kunde radkolumner inte väljas utan att uttryckligen ange namn.

Du kan läsa mer om nya typer här.

Tack för att du läste! Den fullständiga listan över ändringar, som redan nämnts, kan ses här.

Källa: will.com

Lägg en kommentar