9. januarja je bila izdana Pandas 1.0.0rc. Prejšnja različica knjižnice je 0.25.
Prva večja izdaja vsebuje veliko odličnih novih funkcij, vključno z izboljšanim samodejnim povzemanjem podatkovnih okvirov, več izhodnih formatov, novimi vrstami podatkov in celo novim dokumentacijskim mestom.
Vse spremembe si lahko ogledate
Knjižnico lahko namestite kot običajno z uporabo pip, a ker je v času pisanja Pandas 1.0 še vedno kandidat za javnost, boste morali izrecno navesti različico:
pip install --upgrade pandas==1.0.0rc0
Bodite previdni: ker je to velika izdaja, lahko posodobitev pokvari staro kodo!
Mimogrede, podpora za Python 2 je bila od te različice popolnoma ukinjena (kaj bi lahko bil dober razlog
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Najlažji način za preverjanje različice Pandas je ta:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Izboljšano samodejno povzemanje z DataFrame.info
Moja najljubša novost je bila posodobitev metode DataFrame.info. Funkcija je postala veliko bolj berljiva, zaradi česar je proces raziskovanja podatkov še lažji:
>>> 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
Izpis tabel v formatu Markdown
Enako prijetna novost je možnost izvoza podatkovnih okvirov v tabele Markdown z uporabo DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
To olajša objavo tabel na spletnih mestih, kot je Medium, z uporabo github gists.
Novi tipi za nize in logične vrednosti
Izdaja Panda 1.0 je dodala tudi novosti eksperimentalno vrste. Njihov API se lahko še spremeni, zato ga uporabljajte previdno. Toda na splošno Pandas priporoča uporabo novih vrst, kjer je to smiselno.
Za zdaj je treba zasedbo izvesti izrecno:
>>> 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
Opazite, kako stolpec Dtip prikaže nove vrste − niz и bool.
Najbolj uporabna funkcija nove vrste nizov je možnost izbire samo stolpci vrstic iz podatkovnih okvirov. To lahko olajša razčlenjevanje besedilnih podatkov:
df.select_dtypes("string")
Prej stolpcev vrstic ni bilo mogoče izbrati brez izrecne navedbe imen.
Več o novih vrstah lahko preberete
Hvala za branje! Celoten seznam sprememb, kot je bilo že omenjeno, si lahko ogledate
Vir: www.habr.com