Programování

Pandas 1.0 přináší velké zlomové změny

Pandas, knihovna pro analýzu dat pro Python, konečně dosáhla kandidáta na verzi 1.0. Pandas 1.0 odstraňuje velké množství zastaralé funkce a vyžaduje Python 3.6 nebo lepší.

Pandy byly vytvořeny pro snadnou práci s daty ve strukturovaných formátech, jako jsou tabulky, matice a data časových řad. Pandy zastiňují většinu funkcí datových rámců R a dobře fungují s dalšími vědeckými výpočetními knihovnami ve světě Pythonu.

S Pandas 1.0, tvůrci Pandas představit spoustu průlomových změn, které byly v pracích na nějakou dobu. Zde je shrnutí těch nejvýznamnějších a jak s nimi zacházet do budoucna.

Pandy vyžadují Python 3.6.1 nebo vyšší

Největší změnou v Pandas 1.0 je zrušení podpory pro všechny verze Pythonu starší než Python 3.6.1. Pandas upustil od podpory Pythonu 2 a od roku 2019 se zavázal výhradně k Pythonu 3, takže se jedná většinou o zdokonalení stávající politiky.

Projekt má také novou politiku podpory pro budoucí verze Pandas. Jakýkoli pokles podpory pro verzi Pythonu bude zaveden v hlavních nových verzích Pandas (2.0, 3.0 atd.). Drobná vydání budou zastaralé funkce, ale neodstraní je; hlavní vydání odstraní funkce.

Nová hodnota NA od Pandy

Dřívější verze Pandas používaly různé typy k reprezentaci chybějících dat, v závislosti na typu kontejneru - jeden pro typy datetime a druhý pro objekty atd. Všechny jsou sloučeny do jednoho chybějícího datového typu s názvem NA. Právě teď je podpora NA omezena na několik typů objektů a je považována za experimentální, takže by se ve výrobě ještě neměla používat.

Inkompatibility API

Kvůli počtu změn v Pandas 1.0 jsou některá API Pandas zpětně nekompatibilní. To zahrnuje změny v chování mnoha běžných prvků:

  • The DataFrame typ
  • pandas.array
  • arrays.IntegerArray

Mnoho z těchto nekompatibilit vyvolá varování, ale je nejlepší otestovat stávající skripty Pandas vedle sebe s jejich protějšky Pandas 1.0 a zjistit, jak fungují.

Zastaralé funkce v Pandas 1.0

Dokumentace Pandas uvádí všechny funkce, které mají být v Pandas 1.0 zastaralé, ale nikoli odebrány. Některé z nich byly jednoduše přejmenovány nebo reorganizovány, například testovací modul, zatímco jiné mění použití určitých funkčních parametrů. V několika případech, například s Series.item () a Index.item (), funkce byly zachráněny před ukončením podpory a budou i nadále k dispozici.

Pokud používáte verzi Pandy starší než 0,25, tvůrci Pandy doporučují migraci na Pandy 0,25První, ujistěte se, že se veškerý kód závislý na Pandě chová podle očekávání,pak migrace na Pandas 1.0. Tím je zajištěno, že bude označen jakýkoli kód, který používá zastaralé funkce.

Funkce odstraněné v Pandas 1.0

Některé klíčové funkce Pandy byly v Pandách 1.0 zcela odstraněny:

  • SparseSeries a SparseDataFrame. Použití Série nebo DataFrame s sparsevalues místo toho.
  • Registrace jednotky Matplotlib. To zabrání ovlivnění Matplotlib při importu pand.
  • Mnoho dalších funkcí, které byly dříve zastaralé.

Opět je to další důvod, proč testovat kandidáta na vydání Pandas 1.0 bok po boku s vaší stávající instalací Pandas a zajistit, aby se vaše skripty chovaly tak, jak bylo zamýšleno.

Instalace Pandas 1.0

Pandy 1.0 lze nainstalovat přímo v Pythonu pomocí správce balíčků Pip zadáním pip nainstalujte pandy. Pandas 1.0 je také k dispozici jako součást distribuce Anaconda Python pro vědecké výpočty.

Ve všech případech je nejlepší instalovat Pandy ve virtuálním prostředí, zejména pokud chcete spouštět testy skriptů Pandas 1.0 vedle sebe s jejich protějšky v dřívější verzi.