Pandas 1.0 donosi velike prijelomne promjene

Pandas, biblioteka za analizu podataka za Python, napokon je stigla do kandidata za izdanje 1.0. Pandas 1.0 uklanja veliku količinu zastarjelih funkcionalnosti i zahtijeva Python 3.6 ili noviji. 

Pandas je stvoren za lak rad s podacima u strukturiranim formatima, poput tablica, matrica i podataka vremenskih serija. Pandas pomračuje velik dio funkcionalnosti R-ovih podatkovnih okvira i dobro surađuje s drugim znanstvenim računalnim knjižnicama u svijetu Pythona.

S Pandas 1.0, kreatori Panda uvode mnoštvo promjena koje se već neko vrijeme rade. Evo pregleda najvažnijih i kako s njima postupati u budućnosti.

Panda zahtijeva Python 3.6.1 ili noviji

Najveća promjena u Pandasu 1.0 je odustajanje od podrške za sve verzije Pythona ranije od Pythona 3.6.1. Pandas je odustao od podrške za Python 2 i od 2019. godine posvetio se isključivo Pythonu 3, pa je ovo uglavnom usavršavanje postojeće politike.

Projekt također ima novu politiku podrške za buduće verzije Panda. Svaki pad podrške za verziju Pythona bit će uveden u glavnim novim verzijama Panda (2.0, 3.0 itd.). Manja izdanja obustavit će značajke, ali ih neće ukloniti; glavna izdanja uklonit će značajke.

Pandasova nova vrijednost NA

Ranije verzije Pandas koristile su različite tipove za predstavljanje podataka koji nedostaju, ovisno o vrsti spremnika - jedan za vrste datuma i vremena, jedan za objekte itd. Svi se oni spajaju u jedan tip podataka koji nedostaju, nazvan NA. Trenutno je podrška za NA ograničena na nekoliko vrsta predmeta i smatra se eksperimentalnom, pa se još ne bi trebala koristiti u proizvodnji. 

API nekompatibilnosti

Zbog broja promjena u Pandasu 1.0, neki od Pandasovih API-ja sada su nespojivi unatrag. To uključuje promjene u ponašanju mnogih uobičajenih elemenata:

  • DataFrame tipa
  • pandas.array
  • arrays.IntegerArray

Mnoge od ovih nekompatibilnosti potaknut će upozorenja, ali najbolje je testirati postojeće Pandasove skripte rame uz rame sa svojim kolegama iz Pandas 1.0 kako biste vidjeli kako rade.

Zastarjele značajke u programu Pandas 1.0

Pandasova dokumentacija navodi sve značajke koje će biti zastarjele, ali ne i uklonjene u programu Pandas 1.0. Neki od njih jednostavno su preimenovani ili reorganizirani, poput modula za testiranje, dok drugi mijenjaju upotrebu određenih parametara funkcije. U nekoliko slučajeva, kao što su with Series.item()i Index.item(), značajke su spašene iz zastarjelosti i bit će i dalje dostupne.

Ako koristite verziju Pandas stariju od 0,25, kreatori Pandas preporučuju prvo prelazak na Pandas 0,25  , pazeći da se svi kodovi ovisni o Pandi ponašaju prema očekivanjima, a  zatim migriranje na Pandas 1,0. To osigurava označavanje bilo kojeg koda koji koristi zastarjelu funkcionalnost.

Značajke uklonjene u Pandas 1.0

Neke ključne značajke Pande potpuno su uklonjene u programu Pandas 1.0:

  • SparseSeriesi SparseDataFrame. Umjesto toga upotrijebite Seriesili DataFrames sparsevaluesopcijom.
  • Registracija jedinice Matplotlib. Na ovaj način se sprječava da Matplotlib bude pogođen prilikom uvoza Panda.
  • Mnoge druge značajke koje su prethodno bile zastarjele.

Ponovno, ovo je još jedan razlog da testirate kandidata za izdanje Pandas 1.0 paralelno s postojećom instalacijom Pandas i osigurate da se vaše skripte ponašaju kako je predviđeno.

Instaliranje Panda 1.0

Pandas 1.0 može se instalirati izravno u Python putem upravitelja paketa Pip, tipkanjem pip install pandas. Pandas 1.0 također je dostupan kao dio distribucije Anaconda Python za znanstveno računanje.

U svim je slučajevima najbolje instalirati Pande u virtualno okruženje, pogotovo ako želite pokrenuti testove skripti Pandas 1.0 paralelno s ranijim verzijama.