Sausio 9 d. buvo išleista Pandas 1.0.0rc. Ankstesnė bibliotekos versija yra 0.25.
Pirmajame dideliame leidime yra daug puikių naujų funkcijų, įskaitant patobulintą automatinį duomenų kadrų apibendrinimą, daugiau išvesties formatų, naujus duomenų tipus ir net naują dokumentacijos svetainę.
Visus pakeitimus galima peržiūrėti
Biblioteką galite įdiegti kaip įprasta pieputis, bet kadangi rašymo metu Pandas 1.0 vis dar yra Release Candidate, turėsite aiškiai nurodyti versiją:
pip install --upgrade pandas==1.0.0rc0
Būkite atsargūs: kadangi tai yra pagrindinis leidimas, naujinimas gali pažeisti seną kodą!
Beje, nuo šios versijos Python 2 palaikymas buvo visiškai nutrauktas (kokia galėtų būti gera priežastis
$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ python --version
Python 3.7.5
Lengviausias būdas patikrinti Pandas versiją yra toks:
>>> import pandas as pd
>>> pd.__version__
1.0.0rc0
Patobulintas automatinis apibendrinimas naudojant DataFrame.info
Mano mėgstamiausia naujovė buvo metodo atnaujinimas DataFrame.info. Funkcija tapo daug lengviau skaitoma, todėl duomenų tyrinėjimo procesas tapo dar paprastesnis:
>>> 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
Lentelių išvedimas Markdown formatu
Ne mažiau maloni naujovė yra galimybė eksportuoti duomenų rėmelius į Markdown lenteles naudojant DataFrame.to_markdown.
>>> df.to_markdown()
| | A | B | C |
|---:|----:|:--------|:------|
| 0 | 1 | goodbye | False |
| 1 | 2 | cruel | True |
| 2 | 3 | world | False |
Tai leidžia daug lengviau skelbti lenteles tokiose svetainėse kaip „Medium“, naudojant „github“ esmę.
Nauji stygų ir loginiai tipai
Pandas 1.0 leidimas taip pat pridėjo naujų eksperimentinis tipai. Jų API vis tiek gali keistis, todėl naudokite ją atsargiai. Tačiau apskritai Pandas rekomenduoja naudoti naujus tipus visur, kur tai prasminga.
Kol kas aktoriai turi būti atliekami aiškiai:
>>> 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
Atkreipkite dėmesį, kaip stulpelis Dtipas rodomi nauji tipai − eilutė и bukas.
Naudingiausia naujojo eilutės tipo savybė yra galimybė pasirinkti tik eilučių stulpeliai iš duomenų rėmelių. Tai gali palengvinti teksto duomenų analizę:
df.select_dtypes("string")
Anksčiau eilučių stulpelių nebuvo galima pasirinkti aiškiai nenurodant pavadinimų.
Galite perskaityti daugiau apie naujus tipus
Ačiū, kad skaitėte! Visą pakeitimų sąrašą, kaip jau minėta, galima peržiūrėti
Šaltinis: www.habr.com