Šta nam je donela Panda 1.0

Šta nam je donela Panda 1.0

Dana 9. januara izašao je Pandas 1.0.0rc. Prethodna verzija biblioteke je 0.25.

Prvo veliko izdanje sadrži mnoge sjajne nove funkcije, uključujući poboljšano automatsko sumiranje okvira podataka, više izlaznih formata, nove tipove podataka, pa čak i novu stranicu za dokumentaciju.

Sve promjene se mogu vidjeti ovdje, u članku ćemo se ograničiti na mali, manje tehnički pregled najvažnijih stvari.

Biblioteku možete instalirati kao i obično koristeći pipa, ali pošto je u vrijeme pisanja Pandas 1.0 još uvijek osloboditi kandidata, morat ćete eksplicitno 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!

Inače, podrška za Python 2 je potpuno ukinuta od ove verzije (šta bi mogao biti dobar razlog obnoviti — pribl. prevod). 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 sa DataFrame.info

Moja omiljena inovacija je ažuriranje metode DataFrame.info. Funkcija je postala mnogo č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 tabela u Markdown formatu

Jednako prijatna inovacija je mogućnost izvoza okvira podataka u Markdown tabele pomoću DataFrame.to_markdown.

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

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

Šta nam je donela Panda 1.0

Novi tipovi za nizove i logičke vrijednosti

Pandas 1.0 izdanje je također dodalo nove eksperimentalno vrste. Njihov API se i dalje može promijeniti, pa ga koristite oprezno. Ali općenito, Pandas preporučuje korištenje novih tipova gdje god to ima smisla.

Za sada, glumačka uloga mora biti izvedena 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

Obratite pažnju na to kako kolona Dtype prikazuje nove tipove − niz и bool.

Najkorisnija karakteristika novog tipa stringa je mogućnost odabira samo kolone reda iz okvira podataka. Ovo može znatno olakšati raščlanjivanje tekstualnih podataka:

df.select_dtypes("string")

Ranije se kolone reda nisu mogle odabrati bez eksplicitnog navođenja imena.

Možete pročitati više o novim tipovima ovdje.

Hvala na čitanju! Kompletnu listu izmjena, kao što je već spomenuto, možete pogledati ovdje.

izvor: www.habr.com

Dodajte komentar