{"id":3646,"date":"2023-11-26T15:06:46","date_gmt":"2023-11-26T13:06:46","guid":{"rendered":"https:\/\/webanalyst.ro\/?p=3646"},"modified":"2023-11-26T15:11:12","modified_gmt":"2023-11-26T13:11:12","slug":"noteable","status":"publish","type":"post","link":"https:\/\/webanalyst.ro\/blog\/2023\/noteable\/","title":{"rendered":"Ce este Noteable \u0219i cum analiz\u0103m date cu acest instrument"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u00cen ultima perioad\u0103, am c\u0103utat instrumentul potrivit pentru analiza datelor. \u00cemi doream un tool care, \u00een primul r\u00e2nd, s\u0103 proceseze rapid cod \u00een Python \u0219i SQL, eventual \u0219i \u00een R.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A\u0219a am ajuns la Noteable, care este un <strong>data notebook<\/strong>. Po\u021bi s\u0103 scrii cod pentru date, \u00eens\u0103 vine \u0219i cu alte func\u021bionalit\u0103\u021bi utile pentru o persoan\u0103 care lucreaz\u0103 frecvent cu date, precum vizualiz\u0103ri de date, integr\u0103ri cu AI, automatiz\u0103ri \u0219i lucru \u00een echip\u0103. Exist\u0103 chiar \u0219i un plugin pentru lucrul cu ChatGPT. Mai mult, totul se face \u00eentr-o fereastr\u0103 de browser.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">S\u0103 alegi instrumentul potrivit pentru a scrie cod de date este mai greu dec\u00e2t credeam. Pentru limbajul R, lucrurile sunt simple, pentru c\u0103 exist\u0103 <a href=\"https:\/\/webanalyst.ro\/blog\/tag\/r-studio\/\" target=\"_blank\" rel=\"noreferrer noopener\">RStudio<\/a>. Aceasta nu este deloc o variant\u0103 rea, mai ales c\u0103 \u00een ultimii ani suport\u0103 \u0219i cod Python, iar principalele libr\u0103rii sunt deja instalate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Situa\u021bia este mai complicat\u0103 dac\u0103 preferi Python ca limbaj principal. Pe de o parte, sunt diverse <strong>IDE-uri<\/strong> (<em>integrated development environment<\/em>), utile pentru cei care scriu fi\u0219iere .py, care ulterior pot merge spre produc\u021bie. Pe de alt\u0103 parte, zona de analiz\u0103 de date \u00een Python are \u0219i <strong>notebooks<\/strong>, care pot fi accesate din browser \u0219i care, de cele mai multe ori, lucreaz\u0103 cu fi\u0219iere .ipynb (prescurtarea de la IPython Notebook).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mai mult, pentru anumite IDE-uri au ap\u0103rut \u0219i libr\u0103rii, unele dintre ele venind cu rezultatul de la notebooks, adic\u0103 fi\u0219iere care ruleaz\u0103 par\u021bial \u0219i ai rezultatul imediat. A\u0219adar, un fel de avantaj din ambele, dar trebuie instalat un software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce este Noteable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Noteable este un notebook care ruleaz\u0103 cu Python, R sau TypeScript, la care se poate ad\u0103uga oric\u00e2nd \u0219i cod SQL. P\u00e2n\u0103 aici seamn\u0103n\u0103 \u0219i cu celelalte Python notebooks, \u00eens\u0103 avantajele aduse de <a href=\"https:\/\/noteable.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">noteable.io<\/a> de-abia acum \u00eencep.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pe l\u00e2ng\u0103 zona de editare cod pentru date asem\u0103n\u0103toare cu un IDE, Noteable vine \u0219i cu beneficiile unui instrument de business intelligence, pentru c\u0103 ne ofer\u0103 rapid posibilitatea de a vedea rapid grafice sau tabele cu datele la care lucr\u0103m, dar \u0219i cu securitatea unui notebook, inclusiv cu op\u021biunea de editare \u00eempreun\u0103 cu alte persoane.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Noteable poate \u00eenc\u0103rca fi\u0219iere de date cu care apoi s\u0103 lucreze, dar se poate conecta \u0219i la surse de date din principalele baze de date sau solu\u021bii de data warehousing, precum Amazon Athena, Google BigQuery sau Snowflake.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Celule \u00een Noteable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un notebook este format din 2 tipuri primare de celule:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Celule Markdown<\/strong> &#8211; sunt zone de text, \u00een care putem pune titluri, descrieri, noti\u021be, documenta\u021bie sau orice altceva (poate fi v\u0103zut un exemplu \u00een imaginea de deasupra articolului, care \u00eencepe cu o celul\u0103 Markdown, dup\u0103 care continu\u0103 cu celule cod \u0219i cu vizualiz\u0103ri)<\/li>\n\n\n\n<li><strong>Celule de cod<\/strong> &#8211; sunt zonele \u00een care scriem codul, iar fiecare dintre aceasta trebuie s\u0103 fie pentru un singur limbaj:\n<ul class=\"wp-block-list\">\n<li>Python<\/li>\n\n\n\n<li>R<\/li>\n\n\n\n<li>TypeScript<\/li>\n\n\n\n<li>SQL<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Putem vedea mai jos un exemplu, \u00een care \u00eenc\u0103rc\u0103m principalele pachete pentru lucru cu date din Python. Cum pachetul <code>PyMongo<\/code> nu era instalat, prima dat\u0103 \u00eel vom instala pe acesta, dup\u0103 care \u00eel vom rula. Aceasta este o libr\u0103rile care va face leg\u0103tura \u00eentre scriptul Python \u0219i bazele de date MongoDB.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"766\" src=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-python-libraries.png\" alt=\"\" class=\"wp-image-3649\" srcset=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-python-libraries.png 897w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-python-libraries-300x256.png 300w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-python-libraries-150x128.png 150w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-python-libraries-768x656.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Tot \u00een codul de mai sus, am \u00eenc\u0103rcat un fi\u0219ier .csv cu date din Google Analytics, am trecut coloana <em>Date<\/em> la formatul de dat\u0103 \u0219i am afi\u0219at o celul\u0103 din aceasta, ca exemplu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A\u0219a cum scriam mai sus, putem trece oric\u00e2nd la SQL, folosind acela\u0219i fi\u0219ier:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"485\" src=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-sql.png\" alt=\"\" class=\"wp-image-3653\" style=\"width:840px;height:auto\" srcset=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-sql.png 893w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-sql-300x163.png 300w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-sql-150x81.png 150w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-sql-768x417.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Am \u00eencercat \u0219i un fi\u0219ier cu limbajul R. Dezavantajul aici este c\u0103 fi\u0219ierele cu Python sunt diferite de cele cu R. Interesant este c\u0103 nu mi-a \u00eenc\u0103rcat libr\u0103ria `tidyverse` (care este o colec\u021bie de libr\u0103rii utile \u00een analiza datelor), dar mi-a \u00eenc\u0103rcat acelea\u0219i libr\u0103rii c\u00e2nd am \u00eencercat cu acestea, pe r\u00e2nd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Data Explorer (DEX)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Noteable vine \u0219i cu o fun\u021bionalitate foarte util\u0103: vizualizarea rapid\u0103 a datelor cu care lucr\u0103m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aceasta se nume\u0219te <strong>DEX<\/strong> \u0219i este un instrument pentru care nu este nevoie de cod. El va afi\u0219a datele cu care lucr\u0103m, de obicei \u00eentr-un tabel cu mici vizualiz\u0103ri privind distribu\u021bia, dar avem posibilitatea \u0219i s\u0103 schimb\u0103m vizualizarea datelor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00cen colec\u021bia DEX din Noteable sunt toate tipurile importante de vizualiz\u0103ri de date. Pentru fiecare dintre vizualiz\u0103ri, vom avea un meniu cu coloanele pe care le vrem afi\u0219ate, dar \u0219i posibilitatea de a personaliza elementele vizuale, inclusiv prin ad\u0103ugarea culorilor preferate.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"894\" height=\"707\" src=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-dex-default.png\" alt=\"\" class=\"wp-image-3656\" srcset=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-dex-default.png 894w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-dex-default-300x237.png 300w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-dex-default-150x119.png 150w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-dex-default-768x607.png 768w\" sizes=\"auto, (max-width: 894px) 100vw, 894px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00cen exemplul de mai sus, am calculat rata de conversie la nivel de sesiune \u0219i am filtrat 3 coloane din DataFrame, moment \u00een care Noteable a ales s\u0103 mi le \u0219i afi\u0219eze \u00een prin tabel cu mini-vizualiz\u0103ri pentru distribu\u021bia valorilor. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Observ\u0103m c\u0103 rata de conversie zilnic\u0103 este \u00eentre 1% \u0219i 5% \u0219i avem 365 de zile. \u00cen partea de jos este afi\u0219at num\u0103rul coloanelor ca o statistic\u0103 sumar, dar putem schimba acest sumar cu alte func\u021bii, precum minim, maxim, media, mediana sau suma.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tot de aici, putem u\u0219or s\u0103 punem filtre, s\u0103 schimb\u0103m ordinea coloanelor sau chiar s\u0103 le schimb\u0103m ordinea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nu \u00eel ultimul r\u00e2nd, plec\u00e2nd de la o vizualizare, putem crea un <strong>dasbhoard<\/strong>. \u00cen acesta, putem ad\u0103uga mai multe vizualiz\u0103ri, \u00eei putem pune un nume, o descriere \u0219i un text care va ap\u0103rea sub grafice. Personal, a\u0219 r\u0103m\u00e2ne la un software de <em>dashboarding<\/em> pentru asta. \u00cen schimb, partea de explorare a datelor pe care o ofer\u0103 Noteable este foarte util\u0103 \u00een momentul \u00een care lucrezi cu acestea.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Grafice \u00een Python \u0219i R<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Faptul c\u0103 Noteable vine cu propria func\u021bionalitate de vizualizare de date nu \u00eenseamn\u0103 c\u0103 nu ne putem crea \u0219i propriile vizualiz\u0103ri din cod. Mai jos este un exemplu \u00een care am creat un grafic cu rata de conversie zilnic\u0103, timp de un an, folosind pachetul Seaborn din Python.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"895\" height=\"632\" src=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn.png\" alt=\"\" class=\"wp-image-3665\" srcset=\"https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn.png 895w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn-300x212.png 300w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn-150x106.png 150w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn-768x542.png 768w, https:\/\/webanalyst.ro\/blog\/wp-content\/uploads\/2023\/11\/noteable-seaborn-285x200.png 285w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Aceste vizualiz\u0103ri nu pot fi ad\u0103ugate \u00een Dashnoard din Noteable. Nu cred c\u0103 este o problem\u0103. A\u0219a cum scriam mai sus, eu personal nu a\u0219 folosi Noteable pentru a crea <em>dashboards<\/em> (cel pu\u021bin, nu \u00een acest moment).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce dezavantaje are Noteable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Am prezentat mai sus principalele avantaje pe care le po\u021bi avea ca utilizator de Noteable. Desigur, exist\u0103 \u0219i unele neajunsuri cu care vine acest instrument.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dac\u0103 lucrezi cu o cantitate foarte mare de date \u0219i ai nevoie de un <em>cluster<\/em> pentru a procesa aceste date, Noteable nu poate instala libr\u0103rii prin care po\u021bi lucra cu acestea. De exemplu, nu se pot instala libr\u0103riile prin care po\u021bi accesa Hadoop (de care poate avea neoie Spark).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dac\u0103 lucra\u021bi frecvent cu big data \u0219i clusters, Noteable nu este o idee bun\u0103. \u00cen schimb, <strong>Jupyter Notebook<\/strong> sau <strong>Google Colab<\/strong> fac o treab\u0103 foarte bun\u0103 aici.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ocazional, se \u00eent\u00e2mpl\u0103 ca Noteable s\u0103 nu poat\u0103 rula SQL. Am observat ast\u0103zi c\u0103 pot fi \u0219i momente \u00een care documentul nu este actualizat cu schimb\u0103rile f\u0103cute de utilizator (probabil o problem\u0103 de conectare). B\u0103nuiesc, totu\u0219i, c\u0103 aceste lucruri se \u00eent\u00e2mpl\u0103 destul de rar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00cen final, cred c\u0103 <strong>Noteable vine cu beneficii pentru majoritatea utilizatorilor care lucreaz\u0103 cu date \u0219i scriu cod \u00een acest sens<\/strong>. Noteable este un instrument recent, lansat \u00een 2021 pentru explorarea \u0219i transformarea colaborativ\u0103 a datelor. Sunt tare curios cum se va dezvolta \u0219i de acum \u00eenainte. Va accepta \u0219i mai multe libr\u0103rii avansate? Va avea un dashboard mai bun? Cu siguran\u021b\u0103 voi urm\u0103ri ce se va \u00eent\u00e2mpla cu acest produs, iar dac\u0103 va anun\u00e2a ceva notabil, voi reveni cu articole.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00cen ultima perioad\u0103, am c\u0103utat instrumentul potrivit pentru analiza datelor. \u00cemi doream un tool care, \u00een primul r\u00e2nd, s\u0103 proceseze rapid cod \u00een Python \u0219i SQL, eventual \u0219i \u00een R. A\u0219a am ajuns la Noteable, care este un data notebook. Po\u021bi s\u0103 scrii cod pentru date, \u00eens\u0103 vine \u0219i cu alte func\u021bionalit\u0103\u021bi utile pentru o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3648,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,12],"tags":[957,958,540,956,946,843],"class_list":["post-3646","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","category-technical","tag-amazon-athena","tag-aws","tag-bigquery","tag-noteable","tag-python","tag-r"],"_links":{"self":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3646","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=3646"}],"version-history":[{"count":16,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3646\/revisions"}],"predecessor-version":[{"id":3668,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/posts\/3646\/revisions\/3668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media\/3648"}],"wp:attachment":[{"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/media?parent=3646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/categories?post=3646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webanalyst.ro\/blog\/wp-json\/wp\/v2\/tags?post=3646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}