Što su nam donijele Pande 1.0

Što su nam donijele Pande 1.0

Dana 9. siječnja objavljena je Pandas 1.0.0rc. Prethodna verzija biblioteke je 0.25.

Prvo veliko izdanje sadrži mnogo izvrsnih novih značajki, uključujući poboljšano automatsko sažimanje okvira podataka, više izlaznih formata, nove tipove podataka, pa čak i novo mjesto za dokumentaciju.

Sve promjene se mogu vidjeti здесь, u članku ćemo se ograničiti na mali, manje tehnički pregled onog najvažnijeg.

Možete instalirati biblioteku kao i obično pomoću zvjezdica, ali budući da je u vrijeme pisanja Pandas 1.0 još uvijek Release Candidate, morat ćete izričito navesti verziju:

pip install --upgrade pandas==1.0.0rc0

Budite oprezni: budući da je ovo veliko izdanje, ažuriranje može pokvariti stari kod!

Usput, podrška za Python 2 je u potpunosti ukinuta od ove verzije (što bi mogao biti dobar razlog Ažuriraj - cca. prijevod). Pandas 1.0 zahtijeva najmanje Python 3.6+, pa ako niste sigurni, provjerite koji ste instalirali:

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

$ python --version
Python 3.7.5

Najlakši način da provjerite Pandas verziju je ovaj:

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

Poboljšano automatsko sažimanje s DataFrame.info

Moja omiljena inovacija bilo je ažuriranje metode DataFrame.info. Funkcija je postala puno čitljivija, čineći proces istraživanja podataka još lakšim:

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

Izlaz tablica u Markdown formatu

Jednako ugodna inovacija je mogućnost izvoza podatkovnih okvira u Markdown tablice pomoću DataFrame.to_markdown.

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

To znatno olakšava objavljivanje tablica na stranicama kao što je Medium koristeći github gists.

Što su nam donijele Pande 1.0

Novi tipovi za nizove i booleove

Izdanje Pandas 1.0 također je dodalo novo eksperimentalni vrste. Njihov se API još uvijek može promijeniti, stoga ga koristite s oprezom. Ali općenito, Pandas preporučuje korištenje novih vrsta gdje god to ima smisla.

Za sada se glumačka postava mora izvršiti eksplicitno:

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

Primijetite kako stupac Dvrsta prikazuje nove vrste − niz и bool.

Najkorisnija značajka nove vrste niza je mogućnost odabira samo redovi stupaca iz podatkovnih okvira. Ovo može znatno olakšati raščlanjivanje tekstualnih podataka:

df.select_dtypes("string")

Prije se stupci retka nisu mogli odabrati bez izričitog navođenja naziva.

Možete pročitati više o novim vrstama здесь.

Hvala na čitanju! Potpuni popis promjena, kao što je već spomenuto, može se pogledati здесь.

Izvor: www.habr.com

Dodajte komentar