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
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
$ 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.
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
Tack för att du läste! Den fullständiga listan över ändringar, som redan nämnts, kan ses
Källa: will.com