Co nám přinesly Pandy 1.0

Co nám přinesly Pandy 1.0

9. ledna byly vydány Pandy 1.0.0rc. Předchozí verze knihovny je 0.25.

První hlavní vydání obsahuje mnoho skvělých nových funkcí, včetně vylepšené automatické sumarizace datových rámců, více výstupních formátů, nové datové typy a dokonce i nový dokumentační web.

Všechny změny lze zobrazit zde, v článku se omezíme na malou, méně technickou recenzi toho nejdůležitějšího.

Knihovnu můžete nainstalovat jako obvykle pomocí jádro, ale protože v době psaní tohoto článku jsou Pandy 1.0 stále release kandidát, budete muset explicitně specifikovat verzi:

pip install --upgrade pandas==1.0.0rc0

Buďte opatrní: protože se jedná o hlavní vydání, aktualizace může narušit starý kód!

Mimochodem, podpora Pythonu 2 byla od této verze zcela ukončena (co by mohl být dobrý důvod obnovit - Cca. překlad). Pandas 1.0 vyžaduje alespoň Python 3.6+, takže pokud si nejste jisti, zkontrolujte, který z nich jste nainstalovali:

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

$ python --version
Python 3.7.5

Nejjednodušší způsob, jak zkontrolovat verzi Pandas, je tento:

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

Vylepšená automatická sumarizace s DataFrame.info

Moje oblíbená inovace byla aktualizace metody DataFrame.info. Funkce se stala mnohem čitelnější, což ještě více usnadňuje proces průzkumu dat:

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

Výstupní tabulky ve formátu Markdown

Neméně příjemnou novinkou je možnost exportu datových rámců do tabulek Markdown pomocí DataFrame.to_markdown.

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

Díky tomu je mnohem snazší publikovat tabulky na webech jako Medium pomocí github gists.

Co nám přinesly Pandy 1.0

Nové typy pro řetězce a booleany

Vydání Pandas 1.0 také přidalo nové experimentální typy. Jejich API se může ještě změnit, takže je používejte opatrně. Obecně ale Pandas doporučuje používat nové typy všude tam, kde to má smysl.

V tuto chvíli je nutné obsazení provést explicitně:

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

Všimněte si, jak sloupec Dtype zobrazí nové typy − šňůra и bool.

Nejužitečnější funkcí nového typu řetězce je možnost výběru pouze řádkové sloupce z datových rámců. To může značně usnadnit analýzu textových dat:

df.select_dtypes("string")

Dříve nebylo možné vybrat sloupce řádků bez explicitního zadání názvů.

Můžete si přečíst více o nových typech zde.

Děkuji za přečtení! Úplný seznam změn, jak již bylo zmíněno, si můžete prohlédnout zde.

Zdroj: www.habr.com

Přidat komentář