{"id":3386,"date":"2023-04-09T20:42:04","date_gmt":"2023-04-09T17:42:04","guid":{"rendered":"https:\/\/webanalyst.ro\/?p=3386"},"modified":"2023-04-15T19:42:09","modified_gmt":"2023-04-15T16:42:09","slug":"pandas-2-0-0","status":"publish","type":"post","link":"https:\/\/webanalyst.ro\/blog\/2023\/pandas-2-0-0\/","title":{"rendered":"pandas 2.0.0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">pandas este un pachet sau o bibliotec\u0103 software care se ocup\u0103 cu manipularea \u0219i analiza datelor, scris\u0103 pentru limbajul de programare Python. Conform Stack Overflow, peste 50% dintre utilizatorii de Python au experien\u021b\u0103 \u00een pandas, fiind pachetul num\u0103rul 2 \u00een acest clasament, dup\u0103 NumPy, pachet cu care are leg\u0103turi, dup\u0103 cum o s\u0103 vede\u021bi mai jos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">pandas a ap\u0103rut \u00een 2008, iar din 2009 este un program open-source. <strong>S\u0103pt\u0103m\u00e2na aceasta a ap\u0103rut versiunea 2.0 din pandas<\/strong>. Este cel mai important update din cei aproximativ 15 ani de c\u00e2nd exit\u0103 pandas. Ve\u021bi vedea \u00een continuare de ce.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">pandas a fost construit pe baza altui pachet de Python, numit NumPy. Numele vine de la Numerical Python \u0219i este o bibliotec\u0103 care poate fi utilizat\u0103 \u00een lucrul cu matrice \u0219i vectori mutidimensionali.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lucrurile se schimb\u0103 odat\u0103 cu pandas 2.0. NumPy a adus de-a lungul timpului mai multe limit\u0103ri, motiv pentru care pandas nu se va mai baza pe NumPy. Datele nu vor mai fi reprezentate prin NumPy, ci prin Apache Arrow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Arrow este un framework open-source care este folosit pentru dezvoltarea aplica\u021biilor de analiz\u0103 a datelor care proceseaz\u0103 date tabelare. Con\u021bine un format de memorie orientat pe coloane, independent de limbaj, care eficientizeaz\u0103 opera\u021biunile analitice pentru procesarea \u00een CPU \u0219i GPU.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1178\" height=\"439\" src=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/04\/pandas2.png\" alt=\"\" class=\"wp-image-3389\" srcset=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/04\/pandas2.png 1178w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/04\/pandas2-300x112.png 300w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/04\/pandas2-150x56.png 150w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/04\/pandas2-768x286.png 768w\" sizes=\"auto, (max-width: 1178px) 100vw, 1178px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Formatul de memorie Arrow suport\u0103 citirea f\u0103r\u0103 copiere a datelor, lucru care face mai ieftin\u0103 utilizarea acestora. Arrow este proiectat pentru a optimiza performa\u021ba algoritmilor analitici, precum \u0219i a mut\u0103rii datelor de la un limbaj de programare la altul.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Integrarea Apache Arrow \u00een back-end-ul pandas va face ca aceast pachet Python s\u0103 fie mai simplu, mai rapid \u0219i va lucra mai bine \u00eempreun\u0103 cu alte pachete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tipurile de date folosite de Apache Arrow sunt superioare. Acesta suport\u0103 tipuri mai multe, dar \u0219i mai bune, comparativ cu NumPy. Cel din urm\u0103 este foarte bun la datele numerice, dar cam at\u00e2t&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Folosirea Arrow va ajuta pandas \u00een cazurile \u00een care lipsesc valori, iar pandas nu va trebui s\u0103 implementeze o versiune proprie pentru fiecare tip de date, a\u0219a cum f\u0103cea \u00een trecut, cu impact asupra proces\u0103rii datelor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementarea Pandas 2.0.0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">pandas poate fi implementat din <em>repository<\/em>-ul oficial <strong>PyPI<\/strong> (<em>Python Package Index<\/em>), folosind urm\u0103toarea linie de cod:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>python -m pip install --upgrade pandas==2.0.0<\/code>\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">De asemenea, poate fi implementat \u0219i din <strong>conda-forge<\/strong>, un repository condus de comunitate, scriind:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mamba install -c conda-forge pandas==2.0.0<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Compara\u021bii \u0219i primele rezultate<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Primele impresii ale utilizatorilor sunt c\u0103 pandas 2.0 cre\u0219te viteza de \u00eenc\u0103rcare \u0219i de salvare a fi\u0219ierelor de date. \u00cen ultimii ani se discuta dac\u0103 pandas ar trebui \u00eenlocuit cu Polars, un pachet rapid de lucru cu date tabulare, \u0219i el bazat pe Apache Arrow, conceput \u00een ideea de a procesa date mai rapid dec\u00e2t pandas. Utilizatorii erau de p\u0103rere c\u0103 Polars este de 3-4 ori mai rapid dec\u00e2t pandas 1.3.5 (versiunea anterioar\u0103).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00e2n\u0103 acum, p\u0103rerile utilizatorilor experimenta\u021bi sunt c\u0103 pandas 2.0 este la fel de rapid ca \u0219i Polars, dar s\u0103 nu uit\u0103m c\u0103 pandas 2.0 exist\u0103 numai de c\u00e2teva zile, deci a\u0219tept\u0103m \u0219i alte opinii \u00een urm\u0103toarele s\u0103pt\u0103m\u00e2ni \u0219i luni.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>pandas este un pachet sau o bibliotec\u0103 software care se ocup\u0103 cu manipularea \u0219i analiza datelor, scris\u0103 pentru limbajul de programare Python. Conform Stack Overflow, peste 50% dintre utilizatorii de Python au experien\u021b\u0103 \u00een pandas, fiind pachetul num\u0103rul 2 \u00een acest clasament, dup\u0103 NumPy, pachet cu care are leg\u0103turi, dup\u0103 cum o s\u0103 vede\u021bi mai [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3388,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,12],"tags":[946],"class_list":["post-3386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noutati","category-technical","tag-python"],"_links":{"self":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/comments?post=3386"}],"version-history":[{"count":8,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3386\/revisions"}],"predecessor-version":[{"id":3409,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3386\/revisions\/3409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media\/3388"}],"wp:attachment":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media?parent=3386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/categories?post=3386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/tags?post=3386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}