Kion Pandas 1.0 alportis al ni

Kion Pandas 1.0 alportis al ni

La 9-an de januaro, Pandas 1.0.0rc estis publikigita. La antaŭa versio de la biblioteko estas 0.25.

La unua grava eldono enhavas multajn bonegajn novajn funkciojn, inkluzive de plibonigita aŭtomata datumkadro-resumo, pli da eligformatoj, novaj datumtipoj kaj eĉ nova dokumenta retejo.

Ĉiuj ŝanĝoj estas videblaj tie, en la artikolo ni limigos nin al malgranda, malpli teknika recenzo de la plej gravaj aferoj.

Vi povas instali la bibliotekon kiel kutime uzante pip, sed ĉar en la momento de verkado Pandas 1.0 ankoraŭ estas liberigi kandidaton, vi devos eksplicite specifi la version:

pip install --upgrade pandas==1.0.0rc0

Atentu: ĉar ĉi tio estas grava eldono, la ĝisdatigo povas rompi la malnovan kodon!

Cetere, subteno por Python 2 estas tute nuligita ekde ĉi tiu versio (kio povus esti bona kialo ĝisdatigo — ĉ. traduko). Pandas 1.0 postulas almenaŭ Python 3.6+, do se vi ne certas, kontrolu kiun vi instalis:

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

$ python --version
Python 3.7.5

La plej facila maniero kontroli la Pandas-version estas jena:

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

Plibonigita aŭtomata resumo kun DataFrame.info

Mia plej ŝatata novigo estis la ĝisdatigo de la metodo DataFrame.info. La funkcio fariĝis multe pli legebla, farante la procezon de datumesplorado eĉ pli facila:

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

Eligi tabelojn en Markdown-formato

Same agrabla novigado estas la kapablo eksporti datumkadrojn al Markdown-tabloj uzante DataFrame.to_markdown.

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

Ĉi tio multe pli facilas publikigi tabelojn en retejoj kiel Medium uzante github-eskojn.

Kion Pandas 1.0 alportis al ni

Novaj tipoj por ŝnuroj kaj buleoj

La Pandas 1.0 eldono ankaŭ aldonis novan eksperimenta tipoj. Ilia API ankoraŭ povas ŝanĝiĝi, do uzu ĝin singarde. Sed ĝenerale, Pandas rekomendas uzi novajn tipojn kie ajn ĝi havas sencon.

Nuntempe, la rolantaro devas esti farita eksplicite:

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

Rimarku kiel la kolumno Dtipo montras novajn tipojn − ĉeno и buljo.

La plej utila trajto de la nova korda tipo estas la kapablo elekti nur vicaj kolumnoj de datumkadroj. Ĉi tio povas multe pli facila analizi tekstajn datumojn:

df.select_dtypes("string")

Antaŭe, vicaj kolumnoj ne povis esti elektitaj sen eksplicite specifi nomojn.

Vi povas legi pli pri novaj tipoj tie.

Dankon pro legado! La plena listo de ŝanĝoj, kiel jam menciite, estas videbla tie.

fonto: www.habr.com

Aldoni komenton