9. januára boli vydané Pandy 1.0.0rc. Predchádzajúca verzia knižnice je 0.25.
Prvé veľké vydanie obsahuje mnoho skvelých nových funkcií, vrátane vylepšenej automatickej sumarizácie dátových rámcov, viac výstupných formátov, nové typy dát a dokonca aj novú dokumentačnú stránku.
Všetky zmeny je možné zobraziť
Knižnicu môžete nainštalovať ako obvykle pomocou jadro, ale keďže v čase písania článku sú Pandy 1.0 stále release kandidát, budete musieť explicitne špecifikovať verziu:
pip install --upgrade pandas==1.0.0rc0
Buďte opatrní: keďže ide o hlavné vydanie, aktualizácia môže porušiť starý kód!
Mimochodom, podpora pre Python 2 bola od tejto verzie úplne ukončená (čo by mohol byť dobrý dôvod
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Najjednoduchší spôsob, ako skontrolovať verziu Pandas, je tento:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Vylepšená automatická sumarizácia s DataFrame.info
Mojou obľúbenou inováciou bola aktualizácia metódy DataFrame.info. Funkcia sa stala oveľa čitateľnejšou, vďaka čomu je proces skúmania údajov ešte jednoduchší:
>>> 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ýstup tabuliek vo formáte Markdown
Rovnako príjemnou novinkou je možnosť exportu dátových rámcov do tabuliek Markdown pomocou DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Vďaka tomu je oveľa jednoduchšie publikovať tabuľky na stránkach ako Medium pomocou github gists.
Nové typy pre reťazce a booleany
Vydanie Pandas 1.0 tiež pridalo nové experimentálne typy. Ich API sa môže ešte zmeniť, preto ho používajte opatrne. Vo všeobecnosti však Pandas odporúča používať nové typy všade tam, kde to má zmysel.
Nateraz je potrebné vykonať obsadenie explicitne:
>>> 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šimnite si, ako stĺpec Dtype zobrazuje nové typy − reťazec и bool.
Najužitočnejšou funkciou nového typu reťazca je možnosť výberu iba riadkové stĺpce z dátových rámcov. To môže výrazne uľahčiť analýzu textových údajov:
df.select_dtypes("string")
Predtým nebolo možné vybrať stĺpce riadkov bez explicitného zadania názvov.
O nových typoch si môžete prečítať viac
Ďakujem za čítanie! Úplný zoznam zmien, ako už bolo spomenuté, si môžete pozrieť
Zdroj: hab.com