From 71319b98d4827793f23bc72f95052fe96f7aa6a2 Mon Sep 17 00:00:00 2001 From: HowToSD Date: Fri, 14 Feb 2025 22:25:20 -0800 Subject: [PATCH] Added Pandas Loc Row Series & Pandas Series To String nodes. --- __init__.py | 6 ++ docs/images/loc_row_series.png | Bin 0 -> 133593 bytes docs/ug.md | 11 +++- examples/workflows/loc_row_series.json | 1 + .../pandas_wrapper/pandas_loc_row_series.py | 53 ++++++++++++++++++ .../pandas_wrapper/pandas_series_to_string.py | 42 ++++++++++++++ modules/pandas_wrapper/utils.py | 25 ++++++++- pyproject.toml | 2 +- tests/pandas/utils_index_json_test.py | 1 + tests/pandas/utils_series_json_test.py | 10 +++- 10 files changed, 146 insertions(+), 5 deletions(-) create mode 100644 docs/images/loc_row_series.png create mode 100644 examples/workflows/loc_row_series.json create mode 100644 modules/pandas_wrapper/pandas_loc_row_series.py create mode 100644 modules/pandas_wrapper/pandas_series_to_string.py diff --git a/__init__.py b/__init__.py index 9efacbc..493a97e 100644 --- a/__init__.py +++ b/__init__.py @@ -11,9 +11,11 @@ from .modules.pandas_wrapper.pandas_join import PandasJoin from .modules.pandas_wrapper.pandas_load_csv import PandasLoadCSV from .modules.pandas_wrapper.pandas_load_csv_with_index import PandasLoadCSVWithIndex from .modules.pandas_wrapper.pandas_loc_cell_str import PandasLocCellStr +from .modules.pandas_wrapper.pandas_loc_row_series import PandasLocRowSeries from .modules.pandas_wrapper.pandas_save_csv import PandasSaveCSV from .modules.pandas_wrapper.pandas_select_columns import PandasSelectColumns from .modules.pandas_wrapper.pandas_select_rows import PandasSelectRows +from .modules.pandas_wrapper.pandas_series_to_string import PandasSeriesToString from .modules.pandas_wrapper.pandas_show_dataframe import PandasShowDataFrame from .modules.pandas_wrapper.pandas_show_text import PandasShowText from .modules.pandas_wrapper.pandas_sort import PandasSort @@ -35,9 +37,11 @@ NODE_CLASS_MAPPINGS: Dict[str, Type[T]] = { "PandasLoadCSV": PandasLoadCSV, "PandasLoadCSVWithIndex": PandasLoadCSVWithIndex, "PandasLocCellStr": PandasLocCellStr, + "PandasLocRowSeries": PandasLocRowSeries, "PandasSaveCSV": PandasSaveCSV, "PandasSelectColumns": PandasSelectColumns, "PandasSelectRows": PandasSelectRows, + "PandasSeriesToString": PandasSeriesToString, "PandasShowDataFrame": PandasShowDataFrame, "PandasShowText": PandasShowText, "PandasSort": PandasSort, @@ -62,9 +66,11 @@ NODE_DISPLAY_NAME_MAPPINGS: Dict[str, str] = { "PandasLoadCSV": "Pandas Load CSV", "PandasLoadCSVWithIndex": "Pandas Load CSV with Index", "PandasLocCellStr": "Pandas Loc Cell Str", + "PandasLocRowSeries": "Pandas Loc Row Series", "PandasSaveCSV": "Pandas Save CSV", "PandasSelectColumns": "Pandas Select Columns", "PandasSelectRows": "Pandas Select Rows", + "PandasSeriesToString": "Pandas Series To String", "PandasShowDataFrame": "Pandas Show DataFrame", "PandasShowText": "Pandas Show Text", "PandasSort": "Pandas Sort", diff --git a/docs/images/loc_row_series.png b/docs/images/loc_row_series.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4b1a20ec831afe02375aea9bc99ce0b351577f GIT binary patch literal 133593 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∓b(J#Q;ZLq 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 z zjZ$1aPZGE@DMQfPUuNGXl}(0Jvc`tIAy2^9F=1Sl$y_+2GYC zzJG6jDci?L*lG4k!A=^QX`piOHuet);E<8=x?}><)(n>_KC7zqA5QE?4>pYmg4P9g zqZGxZ%F0T(U|?~V;g*A8$PnsP&&O{DLSd^Vzq#_>AbAQ2?V?jTD zTs2V$-;czCW%}e~(}w9Lxn_Zf^KKG*;1=o1Sg*&+uxr<@pVxS2D6c!9j7xlo(4n4? z#*o=7Sa=~|TOmbnh5UsJfm%1+W5s(JdZM_M!sMXf0Qzs`ty9h?vW{~P!m1u&0wNe! z@fC6Q2^loldU~#lV^175Mr3-ui-CbuAmU(Cd@3sfGojASz9tOSRX37UO@rh`iR%n;23=lNJ&aKHy_!AXAPxi{Zh*)c z5rZ%&nSwlx^T;A*_W;K&WJrF>3{gkL z%}oO4oZ zH&{ROsFYMJ-VX?k=-y!@e_Go!53X4t-+*St0pC|dR;=ENd2JN4+k=gb#|l+GuH(n& z{Imrw$qbDbjoKB!+DQ?r>p6o^Q*gOenbto3_1m`_@Z^$>8W_Y~##>HkwE*$c3>qDb z_P@Wyr>6%Ij`e179-7(~97?;fC20)y6wVa_9wFpml)3}LB4E&iHwx|wZXC=a9WM0| z&hgmgheC})V&f%k?XQiAifb`nf7e08I^GwydW2^qz7Qdn!REPg9bbg7T7;kOWLMsM zyq2LCC9lVc;2#!tA7(qSC(g;s8yp_4%FruvFSRcJm~U3JC=VJA3~;6EBgX<}-x{yX zl`PKB6N1wOg%^&HSV5NRoyS%(+{GxVs9xdg;GGdpS#Zn)E&o@&*T(zo*lAq7I>a`@ zRl1>70ov8y5rL-X=ciR^s%vT>-4_WyeiW)a5G?nfy4AljI|yZ}W%KF#{{H{!d^LH2 z!aaIdf-8@FP7oQ%>UwxIBj9|Jx>5duZ&_K{?&?|wq#~X4eIv|IZiEcgM$NB|XCgEaJbDNa{=_-~R#j{v-l&e? zpSnVV!qu0})ekylw!f}1d*xVxUe|VgwY$kXSxgQJ!&TP zr(qBUPdFUaJ>)lEy4Tj!!1PW%kQccH5DiwK5PKl#KneFj2-SrYE1y44$lZfqs-dBA zNlooEQpDmS=2KUWjbgWzh}DY0Eb$=q5cX{@vqm?xHBE^}Y`-+24Iz(|mc0GQI%G7G zA7P6viq`~`f)Ikp&L*UM;Z%1N4%OKDXhM=AB(ES4lUcSQj#aSX!rfG?3W>JontOuX z@{W!O_FjmSW_{oBmdXNu8jf4;@VRzya0m?z{rJge=P^D$EsAqE`q$z8O8hHuf}b2# zjwC)bav}l`_<7-w9s_j)8W(f?LNqO^e^#wt$auZL6JhiEYm0z_Ao~jY+rNLCCQXwP z`3=w@XzhE7dcI>}#bu^^8=;{YA%w+_2~hium-mZ+MUD>^OW1hhG{9fR&coO^F;cv3)O`lDvfpoC>C)CKXB0?R9TKk6){A2KOSnsO=&{j0)-cZSSz}w zPdMbRBSaA9phSMoF{c9?kl6K)i1^%;q%7vTz=bU!NETylWf?73#8V~sLFyJc1wkcD z`|mpq!lf=H6rqR+jByATtD+{#5ThquwN-GFT`-aE0?05OToNj?7A28X=BLS5cW z-nmn;d^b(Bm&9#`{-+UO4T@TO<|kNX%=$Guuy!cnmmTHg?a7rt&g3To={Nz zMlMAJY|NNkOc$Yun!4!`^z|KTw2(3r?c|&sjak{eoE#f?=v8u{1cU|PlPW{qFiyfU zP*HIk2~Ov?=fXShLVJf>|L|Ry2_lI^m{2nZJ%k;y&A=yelk-;Cz(H1MeX;Q1|yv%UGz1A+z&ruu65;(9q zRedTc;Yi=druA`U+cOQcsCdlkUzkjF7l4F3bah#D3pqJCVF8bet7c$Oj}rwA*;lEl z+wWHR(zt!=W=f5lTkN@o6i3L*;b9S>8Ko_$UTrF5&E)LuPvRWl3(p~1HTU*XLk(%0 z%h>A_R8*HKRwyX<#9>isUs|j+(lf$ui zwSpPe zSoOT=cC((;yIXZ~G~?uopq0;yldsllYP$sQ)K1N#}Jc{*!< zp5XK@oMHVGM?w(pFq?n#=&RSSzZy%~L5l}x6IIaltg8{SZh4u*(^KoYU6VE2j&gCO zR%!HM?@<2G*u(@U@(*I&k&Dmez*|GPB^%}Z0i4a6n)8G-Dg4$U(TJw&Yszp_EGi)I z9wj515OQv4AK~IUcg%Wuo^0}ClT>Ji#5qF<7FR(sckTo?cZF3R>ZD+vS|MR!HFfm_ zu1GXk>r>BvI*4Ok>Zpv&0YEFzzCd&)(%>-S;LFldeahmPh=^CZDeA8;z1FCa==kyD zN6IIwTpc8QVlQOWmKXM>*cihLbNM@4RbV?vfzP*R-@ahwp$lQ0Lml~EhPM{&OR3%# z3xAj$Y6g>KisgxiQ;VJm0q`@u0HsN+M-e$KU32{Uw?dClywQkxbQFjaT*EiC zmqxTG#!@Ket*}yNH}^{khOqu|aR;DVgC{zRfG{&vG!0c!)Ruhi13TH;ZwfJ^$laT$ zY~Y=TErcAM6Iegv;O15q%g{{2Df%+%V2A97)k{d_z-9A3KL6>-?IyW8s8wfE`%sOb z27_&)wj9 zUea`qRMw?=cdK~#v?E6mK!1|yq-%yGDKsR}V_%XXT~iqc7aMUgl6S(eB{MfS2UBY# zYErD-;JjdEG=O>L#z84yR4B)Yw(uFYcb8csH&pnYpL`Cl0dGuy? zo89v2hkG+bc<(vzH2#~HXpLCojY5e(@o#Z@G2i(%tE)J*I2pB*ms=s~m)KYL>_vK$ zbZZ0F*fpss>4uqPDx6s|*O%9HbSU=z%FM_J#&?&lhoWLM@*jL=Kci{>T3gF;;zYV) zVQIv4Z%vC-x_;*HV@0-dtGvqyrifn%Chk-Aab$&4n?$qKMqBmyGe5LJsM#b%Q%Q0? zD$m%ocNkJ_?I9cO&A0Xb@Zl6BM}6u{FBdD34UJQ~GVR^#!&8gwMYy!Wm>7FDXe)?? zlC(ggLvCq#B}oH}5t3zC2paT1`oa*!HKKK*`s?btx+|tT7aaLK;?-XhO<3dw$CTV$ zxXhHpoBpDPM#N91IAP0uST+3m(z%`aL?O4TRR|ar#&6>0D+7kon5bp2w0mc z3PGNQ%lrjgS;ANzUvlX)CG=s^EB)SVCiZT>;;rkG)_URd(ql{+T*L|mpfFq+?8HXIdJ{Ij^VG*Y za>q+cwR)w!ODR0a?pSVnV`)(On8Tk_2|=>OBG*^I>Fwz8(h*W3y6kG`RvqCMIrU75!_KAQD?X zWcNqN$|t^=VJb(JIa=zS?7{pr8#kXF-+OlG>}T11!9h3Y=Mbw!G36~W-SYF7)zwAq ze^X(lSXw@Gv``<7Yq;ZK=w6zt0C;aus z1bMWDnRDdGxu|)Os!<3uH#L3w`)B^9x%te@f@4)*UmPwX8=LZS|3}vMpQO5yva;0v zV86r!MVtOH>#4;hG%z)bC^&p}G63v;dg?YastrIi_7Jk`y)(=Tfvep&H27VAOfGF% z0~`{3eN++4OIcZ2gb4|XD|HQx2VnSot_uivDBuQoDwgYiu{gZ!vr@B%|liD82c;VuyTZnzAiEVkMBdk3QN zo5E0f&aWe}eH`(1LiqQiyn4e_zzc0wwirRAxM{M^~P6^c+GFtz8 z`}b1eHV?6f!K-*iI2$;1gweT$1-r2D6SU4KgI>RV%ZZ$c0{60x&e#>{k|BvuHh#13 zENHg~iF)XSA*i1oI?P!1-$=u;yX%Zdi^wIr0y!~hZ{Hu*no7x0F8o?-(Y0!7V4&B`X@%7pT;Wn59+(>pbJ9N`c^PV0^O+FR6&*H^bk%As=>Ecv+kq&CeROb zdg!3h_yVWKm&0ep>_F+5P8Xt=-hFMpMPlVP$f7hj0m7`b*MlO7eWc~RHmb&A!vL553 z5;3N<*&-J^|01bN8ft3gfMB)JGa*!9{qDU{H98zUm^wW4FXt`Q5#*JEEN{<<86{jrQp*`fM8pu{-LkRQQp2t6=xDKxkhg?fubrH3_1gOyK2 zuksR!9B)<-rW2VN);DinN7B4uYMO03s6ZepUK^6Q{Icz?kdDDJ_);FjOT*v>X^Sfxw`1U;jP+y(l@EqC`LQ?NOLa zq27LNkf@Bh?tsSv9jXsJ%x&J~vgkokQUCh&i|g`wZEbA_I&pNds1BNXdsR@^wU@8p za{mDg{LrtJlx1XxI=jP@OxWk9nKgNU}Ma4^i!f!H#8{hF|(2O4kse%Gkx zyOKtL-W%&{+V2dv;ISqD2lGQS0Ea{Wwxa>^Iu_S~N^t;!g7zwnak=bzMCSDG)-)|l z8GwR?K7M>pGc5@W9HLMwa;nb$hO4BFo)(e=2T*?_S71wj%JGupvXu#bkH&{=sDI@d zv8-V~KSG+UF!1QqidtzuuO$q?XrxyTk|4Jm1F-h^es%UYlWhC@x|$jzoOtX5OGrme zI%Vh<-2Zw*{e=?DQS*0IOXlK~#Q z(B%c(Us9-YkdY5f+i@~w5gMrlTI}%GPzxu@<7xrr!tefVTu7x^g;`yVAY#pj)7#P+ zwoe^#ZDuMC8vWU}_wJ!)2DuBwFzS#EpTL{f8S&YF+Z@&hbd5OS!bw^#cN91}-XR2k zA9dU^#iIb)uv|cOo<9dk2?_|xw{NHO=YvUb%;?TzOs(ki$&$g6-tm1eEfYPZY-fVd zlGld=knkxtq&=yWm$(W8zk=gEq;`)PoyGLHeEXq5a19Kyx#SC{tXK0hZ$DCL5q;o3Lqm(>Ce71Xr06L56uNmzm{{Io$+5r6dr!bzz zkW<9c%5I>We8>fVKM8!}um1OS@R!qW|FY}()Z^NcAfqYe9DD2Lnrz8me`plNrcIyW z&A1fA`E%K`w>)+$DsNU)<(}33&GWS4Ltb8EQ}_Kk({W+0$R9qZ4>ERD6EMi9Av>Vb zQXlwOxz}U($98Px2q=;&ilTP5_BK}1qVw>U<Mn82$IT_b#&9{_;Acdq`0GVYQdTJ)+<4L|bG`{tPf7Y! z3|un(od2(V#FLidR8n_3iVW!8Sz?~QCI*g4t1zB~xlNu~u8!1iXTIGSDk@rwd*>A~ z6gZMIy0{;7B7V*JFpkEP^FEwPG19I&VlPTLSx0n?I8Aejhe|x5t@mf|{zFp*z=0?0 zZ^^n`lhxl~C>Ui%+R)K)tQd3Sf4_}*Q5^rhulTJkC7$7lYaz$0-cQw%uD+OLrxGA7 z{~^!QgZTu0fB!D}izy7(6flJr@I9XdcoVz$qWR+o10qk59)vJKB{ze;`SKx{gu}yy zt-WJ%sgWxKhlSL)LZDNA<`ITDjlB2qy}hfm-+uNdPJqFGv-Kmu2QX+Dvu?9DuRpY} zuZZz(((;L+>Rt|1YHSiruQiV6=uDdL)jmjjfn>pT-JId{!F+B;>-T-)5)wX*80a55 z@|@$!zroT|xiC&l4JIciS-S6B5-5Cn!nEzy)rzCnWa7adg0K68Q-jAa8Scx6P|lmW z7Z~<=_{km|0SVwJiv*4@pcffl2MTMt=RWwTFmH7Q40mzYMV6KEEki3mp9DNRWyze) z)7;o75HD`>zmHLt-}b++VrpCOwB^TaId#Spz02RFaz+oKpwIqxj(92mJ@hZk>bGu9 zq!#)0Sc+Fh^kxO5CT7*kWh7$kfM{&%Z|lBzp!5xkO!oBl10{dx!Z=~efyu<>57GND zx(^X7#``@s|MQe^piZS%~Q zU)D&;GFuit`cZK1Afq+{7DyPXgPM#kF%s&=vH#JR?t7x_TKV&5%e!&DBCaBx^%HbiH$!j zU9}^@cc=-GNDf%b7eO-3>1e)M;^|1kG5(q(0G+jAH)DMtkMcO3pJ~Eosm69VjBCby1Lpk^RY?CV9J_+wN1({N}B79kK`XH z`WOpFr@l%3X;*HdVj8z_Zd~EBIj%H^&%X#^EAL#PEPsZg(`kAS|v$+7K0P| z{rhV%aKb<#PIZV$1(O)X3m2#kc>SF zotwAq<5-hlsWsU6lvlcVB4iM-DH06w)>$+KB=wT>R8=7dhB06uL~)>>GMgf^?hk-r zs1ORs$k!cZUS)Q-@cU6)`J$R9fh>op-LLJy+1Gn71G~tr%YD1rb3B1TaWK0ef3@R^ zQ(1m={tr>K@-2hRMLijR9r}_!582%*Df)&*9a~tz7 zAD*4p$MRAVXj-|ebolbr7i!tZR9oGi^u@k|*a*NJ1r?R=@2YwE_=Ztcp5?vP5dLR= zIQ;qZN0f6YXw|>04x3aRLpV{@^j0RHAnAr|J<*CJx&K~UwXb(QfQ}y*B znO^JTf2W+w5>bKidCmr)pP2&^=2|?A*#QfoY6i{(3Gmax8Aov!^Z#B(^vYL;}a8~G2Pf&`{3GSwn#DqA8C~lj*(}vcBb8Hl zpyoKDe<$a*WHRm87KDjiQ`wHK#+2b-&!{)C-1!Ht1G9)xJRoBbh zt7{XeIn1j60HK^VPy!=rJO;$WM|^wdn?m%BCKD~!N{-C>d?q;4UsW$ACnkG8a$Y@f zgPOv5rtcnDDxbf6nHx*XZ0hV3|233P4~j{F=lZHSgK;;z(r(NdiDp5h&z*>m(7GoE zkF8n;L%?%TPLk?*zk|{_dh;#)@sidZ**-XLBHr@EATTF=Hcy!)a+h&JERS zV-hIgJaq%zi@A{A@zp}dajs*>2Jn?hQ1_vhFUMSy=qT=Gcpkw788c4|GrLmMtN^qD zy3A9pc;0dAcYwiPcHHh;T_1uXBln>xL)&c%?+N@udc9krrhU-skc%d*)|$tv5~Aeh zM|u_i^q145ie5hLpy3cQ-tBS!A6b~XhH*bLU1vpqQ|yDAly6;Z$dTI`U#^miY}w+$ zcfHMb?Ad&rJ^$fn5yk_SpD4ANKRwHg9nG_zZ9Cn3z+km0%4IM}bzCazO)Y47;c+qDnT?0>I0)Vhf(M|%w_Ft@YHDgAF+~7@ zM==2A!wrlyF}$U+3tVrz(Ro{BKpj1`(YJ8hj)OIV~Pxv+JG3^3}#ia zfo>9q*httOqrLg`=1SUj8k#CYew)coVd+1==s}4htX6@3{D(Ol!_w|pYa0GG&{f3l z%yHuNlN6c?;}}KjOALl>~DLVoXfLEB%u5fJ*RH;0L>7$BxxH=LD4SC?AS}k_rhsRvvtl zo?ZzGXVz7)EIyjP-=fE6kkYJVZ~xw|~U5qptP*IqW|X+)0T%6*;M0>)I4dMGOa}46H7XxOU52ok%_d z!aW1{D|8fzcrG4G#0+4A@XMjxzWpV18^O?`ihgV^NxyHOf~{?qV9~4i_<) z-v%7+UeFTn5bk%%x?CpQO1vlj6QQ5258I70M6DLLUE6lii;?P~MC2hxk1uZ$6_V7m zZZ;o59LFIWLiz_!6ugl;3yq3*pl-J&w37Sb)a6T|-p!+*2i~b&vZ>|Lz3PIBHmKtI z_+qF3ga0a%0Jkrgz#ff_jm;6tU3gQxm2>%kVLPpkF{DNX0-z9Oih%Q!F8CHditn7nOc{)XcQ?N7 z?)8LyH~#y=E~#FK#6pX~~C_$5mP!;t>o~iVxpTwc|5nYSn2QVe>bgqV!ROK4zMx5q-B<#2L&129Yf3m*vLjVX6EO|=T~v= zfnF2Zj%bw$jZXr41EcKN@}DpJtBe{ofRY=l1CW<2oLA|g54pK?F?#~fH@mrg zIHHq<-SduHY$y9UpUAcR;<|t4{&s50FE>ubH;+F&(N>e3BC=~$2eYRo=MT%wA}Yph zwAqrcqS6ZeR&?d!6rzx+XtvdX6|v?JN|?c>Yt|ySgy^LI9!-gZB;84<9ivTgffMha zes3CRJF+c!>`;ix8cQXL390Gx^@8H!*kNo(Nc4A3oY}}fb z@kguXn>Xhvx4%nh9V@u=o_WOW&rdnoe+_ZIVrF|{tHqi|ODFeQT;0H!!=i=F79#1O zrUZ_IM*-d+XujC&Tk5jDY+w)q`aAv|<|F!K{`>aqx%6);0*$fejt>8?EzR7&kBEq9 zY4?>t$P&0II@D9qn0LnzyJ1O z(En)2?=tB>H8F7mEI6Xp9c?;{!avmH8AxV`bNTKC+^1Aqw2V=fd7Ypt?O@lx`SNWC7WS{? zLX7Zcb8;4JBG|qNhkyMQpNcO(`y|s{{!bAcE`dtE)GE+<68Yt4Y0B=R30|Hf0b0w# zFGf&scz;#5A;Wq^X3@ zrn%42itHTdLlCT<=qYMXiM`QnE8$usjVl5($KxIf0A3MeH0O$4W)ti(P^!XE-t0(E z5axS0#QQMzxQd1eWC_f&-ou+o+U#i$I2r6nSnLhL4R)d|2y3=zc|0?_038!O67D%0 zg(e87Dk<|L49HR-blXRifs@;#zw0d0{O|1FY*jrDryTBI2s!LaPi}l>y1b&t{2MdX z0EPG)x1~dQ66P2vtU82(R}~G~VkC6c5H^8`6Q?#t+T*#k=X`WAO!u7YoE;McQJ8_# z#a5WSUpsOePqc~|=*N-4!KaQN&!DBF+bMhcH1*@hw&p_Oj{^Ak8@0aNEOcWoSrlLW z8M|;Q-R)8Tr5cuCyWTp%lJvxXI}5*ibQQxm7Yj7X^{rC|9LVm?yB;9v{?V5gHV(+u zqv7X<`PXcM*n?=J-qvFw^jtqk2J7ks)(Jizx^9$s>o6~K7rqY zf&b9o$pht6UPbLS(RHTa13Z;*&anGFWOqz~#hPe7&tNDG=81e5CvpqH;RI(vN|FU+ zHB7O<3WmK)@L=)HzTf@^cLSCYC@<;qt&_BaZ4eLvvjpJ^Z3ofN(uS-SN{~{iK^mT zdgzt9P4~*Een4HFw98mdl#U z#=T9t4SD61g$|*;RJ_`=X{K*f0@Jy14rP5aUIEvh*tx zydR_CR_kcZDi%S2)!6S`uI2wm^^cvE&(5JJ9j& zIvGsJum{F}C)?~BOF*SyKeebc87dN@5ke^>PkHbfxEl!20|Op>jRmo24~c2?ty>rw z&tq8D(A_QBf6|G2lo0JkOj}*eV09we4BRYaV|2=7+L2G}$(RPfD=2WCJTCE~qx?;j zR=j}2#pkzQ-x|oQ-`ty+VadEOshe30joQl;qTZBGZ)WLK>%Qn1z5^!T8st#EEJ6n- zwo1gd@6VuD-MP{S*0=0eLU(PwMfzEm^w0xt!|heSk5Kk-)@9vxwOZ}@Fq+q8wbb5Y zRTPp_RM#|}e6i`sA*plw&zNr)IrKDCRF*P@hKkYM$aw#?$XnyjpYy71PpHtd8p z$LQjOw<4?M!i$jKCp;uw>&>L&+ODg*pg@IQMUJD*K>-P(6uJ+C_^zRm&U_l zVocbXS?QVf^hHhsTt!95gCqOX0CEL2Dyq{=T0o$2@W$NCn8WZ!jPAm-nx9DqGMLDQ>!LWBT=ODqw0V{;xYr`Fb zx)q_$%1I|n@^@%F`s01sKIu94_~i9@x>ZZIx3wj}3jx_?X{G263Z-s`=8O66e+2KA z7MQf?((FAc!Lfg>G@C|%QXqfeMZM;6@%6Er?lV0!5XB7~f5A~J_$KWQ5a}H0)3GAS zn>V`77I;)nUd{82ZNIH^O=tG~fsJpOp5^93o^4u`A6IM#bL)MpK2S4h^_JYHbiT-V zaCgJZhiR{!zJ;=OAVd&hnOH|?-5tN+5|5>#DmaN@AmtQq`e$xPzrNi>`(aP-dS033 zj)|rE4O3B;rLw)c8Pf(W0k7A!PKBFvWKO4lZ0NIB9515gJ58&m@lNmEK=@+ZOIu}* z!kVInJK6M$(c@|#N~towmsbga*YL8aXn$Uh(|$QMIW;vpP`S6goUZlfsqIXCf-21z z{*gM0+)BIAuh3zeBtKsiG>iNmD_lTA%~v}1FXjEapxfWhse{HiN~2%Pdw;>VnqYf@ z5=^^wOJ29#PB!wHLu{W65-*iN&@hoj zb=>Vbo{n{mfzZnQzm$K>JNoV$nEu`Eb#-Q2vB2`KzlHtnBhno~#gt^KI=A^5Ve^pN z^-rUJBX2FXCzba={<-5yyPd3ic3q3QeKo7qt5;+F)sDTJ2IQURyBfNF1f;EH{%qM4 z^HI*!om-W}P`PNTaOaV5rEBbYd3g-1tgHm$fT=oQZNFc?ZV)9pxHq9n<(pr+=Fw+^ z$`}G%z%u+@=cH3yW~i&1CxprH2Li!;#B&98=2CRaV|Qn;q+yxNh`~8_1+B;w>m~g{5{zu9%QNs%e5F>Q9vf8@3O7u26@yT*>ga`sF3O?V1+x2(e zLh)GrwWd6SZ|alsAHM73de>%+mI6fodeJ1lduP+|)hI}T15%(?I1M1vNlUd$O zkycz^p1l`hTiUdCE@OG)Z|@?9>BE(6?jOdU|B5UQ-krK}N4Qg_)H8c5vgbtpLiX}T z{HEFE5?O+KfQF5(?C%gC(E#V<=58U`$8(if)>L3((?2?Num)Vq` zg#0>F2T%d6ht*sClFsq%nonH+oqjg?NPuldD33c&+y`3~54!XAL~kHd_=ALmXaSR& z3yeWoT*nKU@KBPQX*Pc;J#7D}y#gJt*rGKsmvp$(DsW>zDdl2+&9~Q$L76ouLIvP{Q`{ z>Wcn~lEj<9UIVNnSkR5!ZMCR`zW(D_sg>K*WJEWMV#)@9v^jTk@%mENS!(&|zF=&k zB))pJ6)T7L;2Z*l>D=ohUVmy0h|Zgcae!n9+C2t}37+!gDb4=CYA;KivbD7Zwkzto zkosZkgbmpC+abOE2~!7;!ge>z>cIqDT_!dos8F~N zjF8T0G|Bp2>yGH;ND$v)9)Ctvm4;V0pD;Bu$h+S(jD&vZ#ED%!Jv}2*T>-^8lDK=B z^=bjfEjAlA_mO%@S4_wYFw{)BLo$de}bum+Ut-`(CeU zd8KeYYF|3%M43|RxI>#eJ5(cLYh}_$otyHOqYa6Xs|GKz`=N+kI?x>-09_;EChBWm zeb>>$#5F)G0&fQTFChm)u!HgwNPO!Njk@Y;Syk2gP=otQWxV>ueo4wvgpfRO?$Bd` zyDPa*bw+D*r|{UTiC#2DMksNfiaWkJC5{Wy{1l|w(itDVmv7%vq3p*p3h^u8-%aGM zOgVJg4xK-tn^C$v`h+{T)A-`WC^~w2hP^wviSwj>x1m>|->%@`_WSMO!d}J-ohSB` z`;FF5%9sA;Y6?~ptqg2qc|C2cwg-6K&*j@9zj}z!8y@bBO(v0+i}C#JKYpa{>Nud( zc=#!?rd<7v#eHwsIVY6Rkh*uO_P^>+Dj#Wb+ivmkKE0OP;g`b&q|GFEhwpCe{t=j5 zn7k!#{^*egEeFaru`l>4S-_FeT`}Wr0lxTBC(`#;?;wU+GC+oBMiN7Q0>bZnWJrWK z+`XxuBH|BVUx9wQbd48S3u&(cvlQYYL6t)9lCx77i1A0nU#Sm8lOMYHVf{f|%+6^! zwa$i)SIxRa#xL#V5$73^s1t^FMP^#I_^s4<>WJ^s={fK!7o|iY8fSX@o=`0f@Sbk2TC?147_L3yX`|~{N2kF0z47=2Z-c`Qrl)K#w&4)|3hv@`6$_2 zA`KtPc?xM87unNCK6M57`6c`a66y83W?ka=v8ts@h~k>~Q@>ADkM?qdr?<_W2elW7 zZmdg^pt;KliSE)!RInxoJNu4Z8T$A)|Nhyt6+aoh8}SeMy{ygM7fX5D zf7NHJlv<^6o&UIeAkay{{(^!19^TBOyNwmxf+=)J1w#WB5>E{rPIU8wmF6`CCr<5ZpaXXz3oRNFcQvY6jbZ9v0_R^Ji^;h=DU*D7!dPE^%HZ$y& zmf02Z#hEox{Jj;I)-eFt_YZD$m#3GibIquFy75;3mt`>fB%{yeZ{~Gso6A|QP5aIz za2cU?2A%+#A}J7b7HY+h%V+l-r|{l_3vf!nXHjBatmVj4;udb><=8SvcP`0p{Z&2*bzE% zJ!@+|^uR=j1nd(3?j0@oz$0U0I~<#_#Nqd8-_fSS?5iyAJE)YxX5dHtzW zT}0ooG}QyWl3=1DM7DMTWfB?jU+}5jYQWc<>fhlw#CrvonBjGg5|(_81)lT z)@6OMJ=cS@VaFM89xGsC@7LR_4_uUjgm{H;xY|OjcPGdP80PBC0v*O;=%u)5t3pbH z&DHkV=)S)c#H#~xG_#oL#Y$u!C|^H1`oiT*mlIZ?i61|^G8jVaAFs?smAzfZ2z+q` z4kaNdk!TaRetta~Cx?6Ox!N3OgpZJqjPcH6&FOEI*WYcx`p{`jO<7@-9=zh{iv{~F z@@i*#s1p2=xpsh=wDoku1|6OJapTQ_@1@ipOJ;sKnO(;p?VefRmKfW}(%jDCQ#e#K-Pxg3Li6YgTxczQH~n?mWp|kp8h_#5PLXr2xAJ&>!7O4hJSPQ`^f7b&l(29-mODsnz=gobV+#p3!)$+krgU(0+(JU=)Z?s@ zcqHl)TS6#%NJ&sbJurK5hXMz5WOTF~1Cw`lL+AYx{4jTnHIQ4UMJmIyYaetba8i^g zTSxPBBq@`l4arOsGOp%ZfC0mj6^cNs5 zTS#D;BL{#8rLiA2B#JjT)<{-&m@oHv$p9tw2JiTK30qVx`Dt40kU#W@j!57_zCe-) zP*5P!9XmEcLC_YPkMGHjm{|`+JX=kfwAlEY{Ihv&eS}>_~aq_&jlA zdhoICv2YV6g~96S{0XlRSHviueF0U2`vS-@v*ALahA4t24Z(iKSLW{)g4=`t3Cua? zQ&8qALtx7?DG9dgKUw5jguJd~AVKE&v`eI$c%SBF;hdC!gwP*gZlQpR57TDJ7m8=? zi(pczRr+&QA~&DhrPp;2I%#W<@oP^p(Lmn;D)N+C=!i_n`Azx|)D2jUQg;LNNro1O zK)Nx{d3d|)12L(h2*eZqk*T=u9&|&W`84gpN9=NHEk9oiEVk5t&87nF9{UV*LDcLC zKr~Nbu8ZYTELr0}>DHHEk>V4+u{$W^-ghSKm5sY`^DiuSH?C$>h@l>6a6T+UtMy^c zfO33lNpUfiB56$dOrE2WTC`N99pc=Q@q`U#Xe%?0CEg8i0|0RG7q_;p<#$Q zWj>lbaGnM5NV?tU>sDGbJ$-;e5C90EQ)Z&92NNs4v{d?Fp5fz^&!6S6g@`4jL&Cy) zQME3QTGXHeoK@XiP$ljgC5ae@_nsq%YyB(*DH$4hnfBfRC!4bM)?m`}-QK z1Evkc=bH_G}rU~>>1{y~lbzl0~qtXSE^@(dCX0Z@5a3>*%VQ}$B& zmAS#NnLt^8ka*>8!O+rCQ26pP?fXg^k~AEmD)9ga3ItMhLkV_k2nh~0j|DX}cNnu8p`RzYi|2_s@IMYb=1|^v^|v~*$-Y(*OJK;dpSXJX5rd0&!0oTZ*nBoT z?(bIMZsjP4XS(_}_JQW%0zI4=&~^sh`qtRMGJ8n$h84W|B(e$$536olG|HYR1!Cpk z?2JMb8SCJYBc|1l%}aY9_1B-+Ik1PG(e;mk*V3f2q?hr-RYo7dBmAya%|mw3NtX@d zoNW7ej`ssC-7dMOLN~)mA2>}>INp~w$YA%WV4)w_-5e*T=U%7wiZ#*Z5mUODdS6un z7wAFcsEDLE7MJ=S`RIzu zt{Qn)2`#lfm6`Tb!48L*pJsCCQHYz(II1u#>TZ$!_?+f^VWOsNyejvcdg~`+lVQ|2aZ~L{`DWN zbs8H!x8BsUIWI4_XY{JWA@;G9tSmY#xeL9@%n&!`E@X4b`q`&K2)c^ifq#fVu88k(0 zdFkZ$6Mf1m+5lqC1XdSH=d&M-RH1jG4?oV(iD)i7Y<#8v02^vY`!g!*VX46mYF;9Y zjvC)Cx%cqK7%jkwQLfCurOYz#n|vW) z>Fztju~>Zo_)n-TA+!2l5((hqB);xy47M8xs!WV19mGBqF@NUSr<@uszsCW^e$y)@ z{^&Y{%PLUE&h&8h%nt2L%+#7&FZg-DO2D_XH_l^ub5pjmr9xnb$+t_a_2!)0Nm0xJ zrU2;bi;wc4P$}^Y?baAkTT(|yM{KEAaD+(S2X81enEl9(y@{@wJTo00@6XOUN_c&^ zvgdIB8jXTPqF8dK*p8@ndVhgLDaCs+f7>9m{o%tt?BiEriw^`)2-{Jhcu8qydbdvN z^Ss;;8W1cP@k3JMUPcBldJBrb9vLduh;Y}h*%R~YNsmv(KV#GMpuF+_cW}1+89BLmd5NH+V_3>~(v%8tnY(AY+<>g! zGiXb^#B|PFUVbr>LTyiOeOg%>gS@2-gNguIEQiXgT6-(0&n#bWtAWQtBq$6s0gztO z)I9Z8bbtrZ6|oRgI4Z}>To@OmvyYJNQz#~Ps2n{N@sHZwXBUnT_zhHHF6|-5 zA|Rd#3J4mG5lRxS z^Rpr42~%-j2I|0+i}W{Xej9 zNSIR63Y>TpSB!N9o)@o_)J7=V=_u^7?riYe;IUd?+1(+rgf~`!REGGkD3r}DEy)c; zVv7R$Nu&zPPP`#}pA^>UP=Sh20fpw+*w|r->wW^yso!1}cI0JcWev6m2>U+S9hZQ- z7Ok0mPa+i_E+^4;B{#4&Nl8gOfp@@j6`R;&?}OltYNH$J1&Tg&6fh>z4{daug?8?cs@SyYAN8%490>_%KG={n zm=v&hNcO1uK&>&w{zc78p4K-~Mm~w@?X`f*7bDCd`@8Iv-o6FU2(j( z2=Hbf^l-Vf+5X@sEBQu0iIukk!ctOK4=68RMNdaU9>_VUe44#smYM08?(lOp0Kqi_ z-yXb%7LpWe<#Mzc?_leu%=rKb1as#{!7M`@t+`{V$!&mr-U6uVt+n62eLG1)5bBr` z*q$Ew2lzs-HPf5PG@bFme?6n*vQd#`SK;Pl;#+#2%L+q;d>w;ONe8KNd9c6&l0py; zK&XNBJ~PO;_luZ- z7ZDdfhsbqpYqJY<`OM)dvQ~Nhn4}7zWS1?nRnER%uc$!eP80<-1k@*s3X~Q>0PZ5@oLu0PBIZ5NmkpBZKQhox?@z ztVzVlo6gFEZZIDPVPs@Az)I46M2x_VsQ|cTo4FH zs48YU7y8rWFm}!z=5Qa+YAFIWh2R=p(Qb^;xGJIq!VVaK zpG*g+9Tac$Dm%F5+PGk=^#bHCQVF+Aes+dk1Iw*iF*K~HGQH;q312w^Gsd5A*z?A! z@%i%tTTpRSPDfRZy&8A_{@admlt2VNqTELZ5v3?jGzDTt+XAW>L)>6WasbGK$`EUq z;cWPx3r_;FWbl9%Kn$oyFQ4TJ4P6ar&{dB-Cm!3yQ=hmsNnJ-tYyG#c4em^n-!a6oRh;7dKo z%-n!jO+04aSkzsDu@RQdKDVHfQ)C1;S+`ID7-Q2N&-0WaEe=$(tC1uU**ch+fj}~5 z#?tae>ldd|fk={u24enB%lci3-J;|(GkTf6XyY4$RF1wUnea?j1m*30%VlHQDTo)+ z7^FGzB|O&$#Rb8*3R`HiEgjIkY!$a|4#XHvVuM6f2&f(jhDCaiq@1*cYa21*oB5@a zSAgVbFpg`M0fG<}7)a$}9(cRa+z%rHwN zdPMGn0Y*M(C#kAlJ?2vpfRzN2flH%q4sex5o5GdmXV2yX>7yH2t3^-*xQ*)TIFN`I z?LM?0Pn>Y{!0}j!vbho`3(`eigi7pc45S+ES+_D)E&mz@zE?<8b{nT@5ErSInNEp8 zjB;;F%IX_RXk9R}Qe74&2T2_<+4I&d7P8N<`LKNVfD%tIHfT2R?D%A5IU$ZmR#J>@ z&g0JuRPVJG*Icholquq;6q_=RXIka^~?-dy+LRqr6gKHnhyp|rx#5GMu!WJq(IfSdRZ z5(ok)Cc9a^m>imO+8YIkpL6&H^Qy`US69~;XftPzd{HOQ0F4;r;eX5EE(E@rr}y^YyZzY++&jqnd}h5$E#17tfv5IeYNeyH6MkWF73 zZU{-Td5APn#VK#>FhslJynH~CVG3uuPj>VxAC8QvDOa=wz(Z^UI}jvK6==MPISQ=g zrcxmkcJEois7ywa$P0ll0 zd{-S8TDc(KekdQkC6LUleajG2q8KlM<4bwfh{7>etHWv2u8m-Fx08B~f=C04dO9vCkEz$@qgs2E zltPI6XM9G-r9;f~HRO|o1PJsp#@w`6L_B9)0Qo4eD8uqkdphfWbKi0blk@;(ZmKpf z_Q3->)G5e`eH*Cnu}SgTO9F}(?7ztjkPurN{CPm(JjPujN^PVb;2pWXlTE_vUah5y zt~=dSSio!DL}H{zPzHds_tVqaKyh18;e5NhQk4sJ*~O}#WT+U4fsp>K626v*|0}Re zYx0HG1*PJ#NY%v@q!z)5W~S&Old^=ITVP+C03SekK}-)B+4m4TQqt^%o5BXW0v#-J z&`S`FG5i2T*afh;*{P&8!j=QMV*miMR%Gn?XyC$@!v|IfY}el_G(0p^SWbwu1EqCLBS%^U>RRn<{*-gzRiYIJ(rmiMQSQBl`{%Tne+Y`j#X=QI@^xht^( zgx_)Y?9*BgY;O}NEh$ra-0KlXNp>ueH+cy75;;Zc-@O8HgP2o;C-t+zw{<~o@)Cw4=vFL7 z|Jl3hCw)a)=3BhbON%;DLWBnmfpnbEz=G4vB_Iu!4hLX*K#I>=L$|V?cP==13!!Ag zDUMdNA9^2W6E;7YUNmKO6=iP$xe%-sfNjc=XU@D3U!(`|z}&bOjg{ynQm;{nVqhT! z(hpzKO`^^9(}G~w!MJ@6D}9he(23^p+^ZmXS+wMGyxOtE@shDuc;I4h?DLqk&AhR) zgq1>@DW~~Z(8x*WPtro+iN8kcXjdtWJ^2D$NVBt1lz4IOG?H+(ww znxF4kpnd5O0+PZB)?B98rASpb)T|9$Ot`)Pz_qqp80NaKhun0zZGy^UbQqAo6r=G- zxo@rU3aRs`VVfT6r@^z+5K**4$jzC?1^YPCS|CL=q5}4;^s!s_{<)%N z9KnFX7oZyKq99zrj|9jDn1jqP!a@ys1rr&*X0s`|p5Dnuwi3=k6o3d0%Fa5XEEBW#jL-piCNb&}b!rt_Gl1ItnzD1TI6zkR)C(u3ZV^IC-$b;k|X;x%t8p z`4;nsm_g8retHq4b1U%dFt!M#a&JQ#6OywJV}vpRdWLL{FDeUCl7kuh?Tuxm_?Oc! zIwB$?1AwOS$;faJQX7=;ZG~6Ss|`d?-J&`BM5N6dn$P&(ipA$02QJRDK$wvoBO_b$ zC)oK6K9GozGM=D7`w}Vm%}r?TE(DT8gn$%cL`@9iP-2jXfuaq-H-u&kdT%TgKw?2R z<|=rOq&B2@lUHszibvGvikAO430^mdReK-@l zU!5uEB;J{XDFE(QDitpMHpLvyqy;4&xe|3J;D-uM_+jOv)94S<%}G!LzM-dggBm4$ zK@{Crk8PR27l~Ru9pFW>o5lT(;|O3_>qMvg7CoicT2EpH$ha1?14&tln*w{og=kZu z@FUEc{_J7K0HMAAK!$IS5*Yn1WJ+H=&+OVjVmt~*hD)s?`IxCEjAR@CAWMdg#!f&Q z=t~&`?WiA4Hq3b@6OWXT5I<(l)#BbS&dKQ}D)swoZL(9-Qd70JH;;^s@uGPHxDM)& zNPY-c5cnx%m2KL;PeI}0n_v_wKtd;K=5Y7$$IauwjX4LywZ2iwS3Ba6tl`Fx%6rSf z2ygV*&ju&h$09{-`>JO>`ZNd6crc;q^7`IAjPJ~M@d^ns;#TINK;8+dC|Lv$(vvpn zAQH?)4-c`h{lyns1SfCgKgGbSQd7HJa(cM15%&K}hja;F`;9>+_C2jyyM76yZUu(5>#8BmV|s4^?AO@G8||5ZPLl}) z(ea$;9esj@sViB$g5s)v`oMk&RR;wFHP#V4h{C;n`*LiL#T62+kFjEq52M~zyrHY1 zxPEGl!aT`Msqh#Iee4=)UPniVE!5@|kF@v|k6;sqgSuA54)RD?e;sv`#!(0o>%h}i z5%#$^tlit`iADgd1_q?C#i(afr^a5JGpWHaZ+~i>BsXw`Qlu35gkbD+;hdwg(tPv_gx8q~h@9a@|p5fO-qb z6-eI~-l-!SLo;guY6cX*3*O$K3IY(gpb-wzRV>EOR{S*KLnwgIbyN!RK4yzK*-a>!&kp-m?GPI4maZAB#>!Sy#<+OL4s$dMp`0 z_z1gc21FsI1A}VX$i@LofP$(!-Gmc65bxVa$M3=0pK`1>BoIwun{>Qu1v*Re5*|^N z#yct9S^J*P^fIprtK$YK+@5NcYT{mT~ zrLnHkdIzM$)6rjP*IrpU9zJwH1TY-}>*?&<;%4v^w5(PtFV}deuCz)aXTfP$S2@#% z1c60_u^8ucp1Yi1h^C418U%9z6NXC^tmNqE=))3Mz!^}kG)p;K=ySq`2OS&pLaFMbw6L0NPngcq7eiopZfe3od**m21a+hQ{tCVxDV?*W4K>l%SJeou^J9R1Q7u<}H0yuJhfa z>1)g8dXH;_A!Pqatu!R_l*xTl*M=loqT;!ip=-Lql(LUJhHk0r3SDzAHi4L$DJDrJ74sNv@mR%8TnMj}-hM$h%AveLY!A9V4S;gYKVRbo~13Ygq3a zuH^KeUq3ra>A0NO=b21iox%*K(L7CGvK`6phnR7ZX-SVR(P|MsLDjaQIutBq`NXNY zbEU*A&+8~zF0K@(PK}>RcJH>9i+{h=CuD5DierS0z|{i@<55@7F*v+_KjJ*M!065O zznUoza<5#P)&Kr3@HNP5XD-j`pDJ465X3v^@ySzY#$;;vN`RkAl2^WRl%G-9>AWdP z?iXGGDqr}ojPKzYgvZ|J(<-lkaPy=UsO6Qk})IeN7A}Kqid+u;GTGi0V`^*~xKU zpF-yT`hslhx2HsTa7I@j;_-LUh$k=_b_%@M@Y!?p1U77Ue6rYv6^khzHF~3GtlgVF z$5=vN#mzw1!c=7Jy)-0Q@d+R3eF)=J$_n znPuNO(h^kpD|AF_>i3=avNgQ4r~p5R_U!|!eQya@n0)MF7=3oZ+1c4oZy!q?(0Zg8 z^Lv|_USWFXir8N_FB=;jXClxsbTzeqFiLmrh-*nxM?yvPUw4c@xSiODd)ebin{l(jICx(lT!C~^D z$0TEX1jU}kk4mrLy=gyg-u6tTdiu<52op?(H#s)H+Og2v$l76p!SAK=ex{qt{^6hN z=KTzPn6Cb$dq`1(AFB~`58n@Z*}9EJX~SpqPK5C=?315Y z4d_B$OX0r%AKlxz?BKd`k;f7tVR1H-7U-rvM>kb#Q||BY_I8bMg-U)I&+xy?Wz-(@ zRis_*UmqO*hwt#;{J1>$I|rU@&&>`Ty=z{Wm}U|JS?y`^{ngWR|k}7qGq+6lUeG-Xs3=Pq!t4>(AAVNBtjP zNbHvL_Ov^NVVe}n{+svz%IkKNGSlOAee~*~| zjUWI2>)rnS=KK#1vh^z$FQkC?`9#jGqsM8^0-QK{1%~e58T{7$t10xm{yS$pgloRD z_vTDRRi|Wiw1zv>8!Pv!ObN__W;Xw!%=TA6|1Zwr|HiZZm+w}QnV#Vi^RLGh+`rH3 z>ywqg4==L3|M7*#(cy*i5|W}M|3Roc>^1hjmO4{+EbKJp@9(!IC@cAYeq0kl$?p$^ zzv4fVJ7$v8|Ni(VsTtj08H|$B|LKo&qm8refz^EejXSLMP{iM)#h6uDi<_a~hUNev zOx`A9vI%yH8`EQF8c>c2c#MkYbV1SR_JRQ2^VwaMvydW(*uRR|lF=kYfeah;*WOLG z^$_`D`Y#R!oCQPz60+{-%}tbC4(Gq2>HkFv`L80tJ3`C<-{j2yvsLm-xBlPf&VMD+ zk2{xCXa<3bMMnXSR~?fxPduH!kMs_-`3}ylO-m^Y?#8J}skE_(>DqrUpN^PiH+5Ze z7L?TT#q*T2Zg%DN-`_3t)S!vn;q!<|crrP-xzC(~&*PToUvH3i#sB>28?SI&D6oq~ z0Ne}8jkOp266yAL>wQ+&Vo7c&x#8gt0$E^PS`@>o#rbKEKK_0|fsx}5*F>F)7_&^S zK2(dD{SvqP;x*0i_}t1h!`;#Qb`RahR9tE}$HZgZbC=YiGY>#@h* z70_2b>D{g?tJ)U$_l)g#lD2-OZ>}Wozsyxu)J800Nk7HPJT$an(aq&T?*azvrG;}n zg9=7HdM%|Wnf-FHk77)X)_B~r;WZ3Y4P@>ZoHowxicO7K9#1m1^pU}~)ndAH>#o=z z{42mo8~!c8DQw<)vx{AbMI=J!%bK)yUp?Eand?~=+%yXPL=Ht|rga9f-m!6|pXKKA zg9lT*rcZ#9x$~+s$NT!*=T%uc4;1*UHpRQHfjsEN?_-x=NVjhCaGAUkPB#+eEjK$+#ThIdkw#fE zXGb}-_RtGazTCV#y!Bjh?gT)gqkdFQwH%U`~{9{%p-%QgI;Mej%tmNjOKhu=BaS#t2^oyJXLQ9W!8OWD}h zNEw?f3C!=EX56>Wn|{I4*UJ+HpVl<=GaU-wT=8Y~&CJa?F~!nh&ouKKGZ|;UjE+4$ z$}Z~}5#{DQRFEROL5w_Vx7w6kjiUu z8MoZ7y{_IRWSIFx@ZsXa21m>4N6$;zb}B`#?Up$vlj*OwInBknBMT(xS5C9K2TIj1 z^gbxw+t@X3G$|`tZ1+Jbv{-YlShHUG>xt-raQ%@&9j^~{vu9FI_zHVbe>jbcoh{hp zZ|~pmy*}az+sEOL`~5U;=x_32-p5c`{t%3ErseUi`{;0a5n`r{ku43Mt`AEv>|A2= zqk65Ad$rxo%H|PUWvvKlTe~b<(>T+~s(QJ>80#7SrB9by%-Hai%T8KEicd53pXu}v zTff_ph09{jdu3jW_vQ};SM}t+UoPW%F?V_N;b-+9`TSh;_g_8@>7Si&3%tA6|3|R! zndVOy+`E4CJ51EWLD>4a$K_jfTMyoqx|TV$*O2z3$Fg49omMzgl}B4+&lyoz?lo)Q zJX0=_x;8ndDW>VHeBO#!<4)2 zuiCTPT^cm}E}9n&t!2>{;HK%zhH)>S>>8@ewB26ySR)R%fHuQK>(#!uf6bQEtqcqG zKjglBcrCQvk~T2QG(6ri=N7Fy%(CW;2EBP`+TPMNb2kH)S*;uBP6-w@`NCl6LDilc zg#t~i>P&NLOs{&K{>Pkm9l_E`mTs;!RqQghw=P94x*0%jJI~Y|76W?i8tqLFw+wW| z%tbKC&E4>+rk{H~shK?%TC1jZs5L)cS3{JMT~c2EAiJ>aIImggokjNRY-l&9;R|Uc z(f4uf_KX|$7xUbQSfOc`a_Tpxwar@A&kSmMJ$(EIdX9X(p5_9pG_kY$ruj9ZWlx!% zA$G3W+8^|KT1@iqE#i2Sch~E-!L(E5sq@e(4h6K#UAmCcnVNBCI$lcl2i72^cfw?e z?Mqvwl>xuT=EP?%EDV+%crvzf*j`h%xY%nt0($UXMya-wZ3j2VE!Ea8$qUicvaK`_ z$+qNwCqGh`RE{@d+%uLq)5_%~-+oIesnh6mo8t2QczZ^klfs5YFX>M_NldUzNyHVa z-+0tCrYSeKt4AV{e>?y3tisR2UeoFuHf(%doKv#K`B%UG>&dFJ#vPg08mOJ$N=$M3 zCRXW>G=`R+&668{XP-^0oc11Qnjk#y^ba28|*zEVgWZw7GFxZjpVmbg?F_Eq-Rki+1l*??G|Px_9pe*EC$;$huK= z?)r>)!;tm&^DT|r{0o9}r}>V_yz(D-VZ*Mm1aNzggMlyB%wTA(=f00VEPrShof6g3 z|1w1Fsg0T3n@o%S5!un8owomOn9^}`Ho58I7!m8Q(hEM(rQ4c{-mSm)TDv)^x?Q3n z66y!^={|1zxVNb#DoHMyb#|rD2p_M8t zxbokWrw!(L&E+-pW=TAtjUPCr(<|SpJG>Zz;m?92)x|7(LtdkR{b+=h0AmN zwXGBRH|=>?_NL;-;b-Tb)mw70ZY)mn$a>upNiA#KmicJ5?@)C5QLnC8RWA2i{T{<^ z@0fy%f7q?!T&JOYS~<&Ox|H9mt&7%DzJEi_tCm%TssklKnv@b{+;$)4*+VT;d#Aq2 zIlpgkYB~!z(9MJ9QCWVGEhV90ncP@vam7yueJQu=*HZXJ_uB5Vo{dR6K2Xur65A(} z9-gyg{9K;(^sqQ1mt3P&WBW~$$B#75rwDG@=KIQD)H^Kp-J0^D+t5!&DofC%yNtvh zyLHxD@am{_(wU~1uY;pHc^WA>ce-Lc4YLZrxJ5R1-}y1Dw{=EvhMb3ePDCMG<3_3Wl;yzaV3ucdltevKLpCV+Nh;jrVp zS5}zUM84cWhu55KWS3jR=Z??g*VFprE>6IM&h$WZkLRb)cGnZ@RQ8=)@bhTZtPLDxnjiGzAVs-}8?>(lQXzTWW`nE1MDK1fsIqF%baF31<`ko*eyF4IihUrLRP>TC*|)w-5){D} zA)RB|b_wY}Hg*+rdIq-H7N&NE>)Z+z*$tDg*Ag1o6O!Tf=5HiSm%cJjyGK>SHzpTN zR)4LD6trpD7#oV;7Qf*;)I$}ZWRIIND-z=_&aVvuiqbkCbHYv-9tBf0i7vp14r0< zx`ci3Q=<+h4f!P7Yx!-ak1s5Fv^|`{Cg!?=sd=26Yv#vg#+c#en3fJ|OU@xXFd|1rW#Q&xrdtt;Z7s1EIggU(c1vWazkD!yaBz#27YAQP zwi?A!(?|5Nnaz~@v~sw$G;L*=psue*d`HEgqV!0$V*RJvQnzn~4YWHOey7d-q8-uE zQMElGqBr+O*==SvFT1=TW4Ywiq}H;4Ws;E>!b&d~HH(jtkZdx!EGZ`Mb7HLCCl4DT zuW=@?;=I|aJT0vg3Lt~JG4{5#O>^}PILMX)VPafr+#$(nX=Nr&cgfr3Ef+54S<$wiUVB=4`1+ZN8cnYvVcL)I?*?TZKf|LR zw>wRTH@IhZ9DN_iSvba&cJzpD!Q}H{%XRJ4`8{HQNZa2$#bIPId#NDu%B`^5uk8Cj zYsA=pf42$(`xoNJB`=IUd}HuuWS|`Zhpw@;;XnkKm|83&Q%UFL7d|lQvKEQj^VI2> zTPl-nzvoC3mx$YYi)h!ur?M^KCq&jfT)rUNi)&?dUU5|FLKP8;q}>9a(|w=)X>;c=KDt-*jO$nXNh#r4%Ben^w<=M)6_|F zG%xMLwV(n1ZQGu;H>FWx`)4MZygECsa}CRRjmb?@trWM3_RXK%)DW>ZJOvLUY|=Rl znoHD18m*gWR_0w8mY98$N7*c|;o#FEvfb=g(`atr`x|2;>YC#{bD#WAESsMHZH^mv zgcNjszAyg64W`9gij=%pxAs^u*s_M2@E&IE?y>UojNP`)tf&{?M5Nd^A$aGf zs1Ms(KG%_5+spPeGT!S8yAmM1e5K=i`<}$4`phP)4uY;?|#dQ0y82GY9#TEvxzjZ7@xhMPh zqWZJel0S8Fj?>i#xHO&JF7jhFugC!I*D-c>f$dbLH(9PDbp}S8_?MCkb1CCjW=(7G zsO<;EEIgsdT2V$!$TgwqaL`XlOodAyFbiDVATpE|;VfI+FncYi=}xe8Lw!SY<#5i~ zp0gd64b2w(B3C=vMr(UQqgfjPIpKnX7)DYT~rUBqgxK0Ip!t5`WM>mwc*|X<7q(bipS~+qz=B*i8)wMySY; zwW#cz=KBw{61K^-uc7oarvpc#f4=jO)Ygr!I$N}kN2$EqVK0(vOul>jRvttLC;J0M2|oCSadQit>J`mUaB9r4?4eFfWX32;KK?FAn-4MJ`_kt2J&~XZW`>(q3!mYDb?FhC zRk5s3pB=EVA)3+f(wandHs4p67O`N#f`_fVO2U`{f#Uam)z3|=^Y{OCTzR=PhP|Dx z&t>-5v}X@nj$v@s&s(8ULM~?M3_PxALc%=#Y>(%Dq1EJhPaKI^XMmB$r>X0Brf$Rv zAd3QH|6Z>H;biUF;L)^_XR#ngRO13P;;Ryr2d|J6(br#AF!Mv&$9*F*VAwr-cEskV z4~xD}w;L#d_YbW)PS&W&lb)1V^&aI>A7+p3+}!eJnGSEMPNjiTJX8C7eiu zYkN)$vhqw_%QrSZ>JYLfS{PRrO9Q1{{DRu=W5+jBc6;WB9r&T(u0CVCOZF05(-|tg zFf8_y!~CK(e^lPts9ve;H&->a@w8;!S#@n~BWDFa9>t*>^BJw)0SHlJ+(ktr;h7(1 zB`3_w3*&2fyl;$reS0qTh_-f3oGc6>BVZ~?bq1BD$*Kzka=5Sgf}Y4(G)fdTAE01{ zSN^$}cRJd)LA)ePSg4mE%mmNITkOndnCVQPis6L7>LDge;{23t3Lc2Y>}8lyX=~$A zVKv=p8*FjC8-U;mlWqFNi!q{zT!U5G_!FkfyIHsT7eI(}2YggKeT=>V{d|wd)GqiT z$*boc$DkE()2XAg&YSn_iGU8}*mM)s2}7;ZJ*LG$^Z|p@jRW8u6e7^Yj6L%phQiVV z@>#*qCckv-IhH&wa|65)tES8=&z@nvxM8_+v=m_JvVBhurbU)1++ z3B3kg^iYK&6Kp9TbH*r5-pn^9gj?u+;88;^6vGmrZh+RKF4J*4#!Gm->4)3=04#&l zDvOx5`d`wBSJbXy)O5)9U~-O66gGv;@%@hVf-?KxfH)e+Ceofng);$EvyM`nD?aOk zRI1|Yx)*dWLchD5|JG;e8W)HLFy1ks<+~rK?&ennVFV3AC7A{VDsBhH7a10@N!o1! zopUs^yPa5Kf^61cku^M?ucF05o&9zK`G&?Eh(4C><0_vn-uN>XCE2-anlirW=(E(b zE-tQ}W&bF$xqQ;=;QF|^Y4(=Th`;iWyo^W1QH#RA78DlRW;HcU9s5FtDHRkHh&O=y zd;uy8=&$;<4jM&5@C7eyFibNJ**?NTf@UBzEbKiPVjkZVc@`(F;!}ZMrJ>Ihw;sm) zkO*aQIPdI?1&`eZ11U6OWD_k*%gfJzj7A)J4{>h894IW_`hGGJ6>AzY4fuxlYv(7# zr|gE>eCj!a(0nmH6Jx|;0K97Nj`Y`7M-2>`I@GW04u6UmJSek_iRlcO*HC`MKHHX> zn#wNcc@Iog3XwXJ36tQE5E5_VF*u@S*t9LEIHC{<-$kewAwhyRzsAhVKNf0H6_^0! z=jTJl0eRdWhi+z2EP#mMJrfrN3vs+^8FbEldliOzxBnjG&@`%$`|@Q7$ZTJ#tLfiD zOt^H}G90R_)~+prI|-aPPa~c|uoQ(+O7PzzFOQisU)o_EbQ6PbF($_JjT{bSU2~M9CwY&VUG$AuRYsH1l<_3gW0oS2;H!|@%#6_cR- zpFNWvsZa#tb�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

aeSAwgNl8gd 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 literal 0 HcmV?d00001 diff --git a/docs/ug.md b/docs/ug.md index b1b2000..11cf079 100644 --- a/docs/ug.md +++ b/docs/ug.md @@ -22,6 +22,7 @@ You can right-click, select **Add Node**, go to **Data Analysis**, and look for | **Pandas Index** | Extract row labels (index) | | **Pandas Select Columns** | Select specific columns from a DataFrame | | **Pandas Select Rows** | Filter rows based on conditions | +| **Pandas Loc Row Series** | Select a row by row label (index) | | **Pandas Loc Cell Str** | Select a cell by row label (index) and column label (index) | | **Pandas Join** | Join two DataFrames | | **Pandas Head** | Extract the first few rows | @@ -29,7 +30,8 @@ You can right-click, select **Add Node**, go to **Data Analysis**, and look for | **Pandas Show Text** | Display Text | | **Pandas Summary** | Extract DataFrame statistics | | **Pandas Sort** | Sort DataFrame by a column | -| **Pandas To String** | Convert DataFrame to a string | +| **Pandas Series To String** | Convert Series to a displayable string | +| **Pandas To String** | Convert DataFrame to a displayable string | | **MPL Bar Chart** | Generate a bar chart | | **MPL Line Plot** | Generate a line plot | | **MPL Scatter Plot** | Generate a scatter plot | @@ -64,6 +66,10 @@ Use **Pandas Select Columns** for selecting columns, **Pandas Select Rows** to s ![Pandas select subset](images/subset.jpg) +You can use **Pandas Loc Row Series** to select a row by row label (index). This node returns a JSON-serialized Series object. Data type of the labels needs to be specified as shown below: + +![Pandas Loc Row Series](images/loc_row_series.png) + ## Selecting a cell by row label (index) and column label (index) Use **Pandas Loc Cell Str** for selecting a cell by row label (index) and column label (index). Data type of the labels needs to be specified as shown below: @@ -120,6 +126,9 @@ Use **Pandas Sort**. ## Convert DataFrame to a string Use **Pandas To String**. This node is to convert the DataFrame to a displayable string, and this truncates the data when the data is large. This can be used to display the data content in a text display node (e.g. Show Text node). However, you can use Show DataFrame nodes to display the DataFrame content, so you do not normally need to use this. +## Convert Series to a string +Use **Pandas Series To String**. This node converts a Pandas Series to a displayable string. You can use this as an input to the **Pandas Show Text** node. + ## Displaying charts or plots Use one of the below: | Node | Purpose | diff --git a/examples/workflows/loc_row_series.json b/examples/workflows/loc_row_series.json new file mode 100644 index 0000000..8535167 --- /dev/null +++ b/examples/workflows/loc_row_series.json @@ -0,0 +1 @@ +{"last_node_id":18,"last_link_id":16,"nodes":[{"id":14,"type":"PandasSeriesToString","pos":[-75.9743423461914,1615.0836181640625],"size":[210,39.39631271362305],"flags":{},"order":6,"mode":0,"inputs":[{"name":"series_json","type":"STRING","link":12,"widget":{"name":"series_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":[13],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasSeriesToString"},"widgets_values":[""]},{"id":10,"type":"PandasShowDataFrame","pos":[-332.0985412597656,1870.44482421875],"size":[210,116.62158966064453],"flags":{},"order":4,"mode":0,"inputs":[{"name":"dataframe_json","type":"STRING","link":7,"widget":{"name":"dataframe_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[""," A B\n0 1 10\n1 2 2345678\n2 3 30"]},{"id":8,"type":"PandasShowText","pos":[175.51785278320312,1615.8155517578125],"size":[210,101.80709075927734],"flags":{},"order":8,"mode":0,"inputs":[{"name":"text","type":"STRING","link":13,"widget":{"name":"text"}}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasShowText"},"widgets_values":["","A 2\nB 123456\nName: France, dtype: int64"]},{"id":16,"type":"PandasSeriesToString","pos":[-49.06276321411133,2046.5435791015625],"size":[210,39.39631271362305],"flags":{},"order":7,"mode":0,"inputs":[{"name":"series_json","type":"STRING","link":14,"widget":{"name":"series_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":[16],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasSeriesToString"},"widgets_values":[""]},{"id":17,"type":"PandasShowText","pos":[201.8267822265625,2044.7362060546875],"size":[210,101.80709075927734],"flags":{},"order":9,"mode":0,"inputs":[{"name":"text","type":"STRING","link":16,"widget":{"name":"text"}}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasShowText"},"widgets_values":["","A 2\nB 2345678\nName: 1, dtype: int64"]},{"id":4,"type":"PandasShowDataFrame","pos":[-331.5325012207031,1436.6846923828125],"size":[210,116.62158966064453],"flags":{},"order":2,"mode":0,"inputs":[{"name":"dataframe_json","type":"STRING","link":2,"widget":{"name":"dataframe_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":null,"shape":6,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasShowDataFrame"},"widgets_values":[""," A B\nUS 1 10\nFrance 2 123456\nGermany 3 30"]},{"id":3,"type":"PandasCreateWithIndex","pos":[-594.9833374023438,1436.66015625],"size":[210,136.70285034179688],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[2,11],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasCreateWithIndex"},"widgets_values":["index,A,B\nUS,1,10\nFrance,2,123456\nGermany,3,30",0]},{"id":9,"type":"PandasCreate","pos":[-609.8991088867188,1870.20849609375],"size":[210,113.97640228271484],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[7,15],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasCreate"},"widgets_values":["A,B\n1,10\n2,2345678\n3,30"]},{"id":13,"type":"PandasLocRowSeries","pos":[-337.280517578125,1615.083251953125],"size":[221.5128936767578,82.3223648071289],"flags":{},"order":3,"mode":0,"inputs":[{"name":"dataframe_json","type":"STRING","link":11,"widget":{"name":"dataframe_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":[12],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasLocRowSeries"},"widgets_values":["","France","string"]},{"id":15,"type":"PandasLocRowSeries","pos":[-323.39080810546875,2047.4111328125],"size":[219.60301208496094,89.9618911743164],"flags":{},"order":5,"mode":0,"inputs":[{"name":"dataframe_json","type":"STRING","link":15,"widget":{"name":"dataframe_json"}}],"outputs":[{"name":"STRING","type":"STRING","links":[14],"slot_index":0,"localized_name":"STRING"}],"properties":{"Node name for S&R":"PandasLocRowSeries"},"widgets_values":["","1","int"]}],"links":[[2,3,0,4,0,"STRING"],[7,9,0,10,0,"STRING"],[11,3,0,13,0,"STRING"],[12,13,0,14,0,"STRING"],[13,14,0,8,0,"STRING"],[14,15,0,16,0,"STRING"],[15,9,0,15,0,"STRING"],[16,16,0,17,0,"STRING"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.7853889628731393,"offset":[968.8282590918203,-1332.2955501507915]},"node_versions":{"data-analysis":"29af129ba3913df6cabbb3b7536c61317426759e"},"ue_links":[]},"version":0.4} \ No newline at end of file diff --git a/modules/pandas_wrapper/pandas_loc_row_series.py b/modules/pandas_wrapper/pandas_loc_row_series.py new file mode 100644 index 0000000..d9d4fb2 --- /dev/null +++ b/modules/pandas_wrapper/pandas_loc_row_series.py @@ -0,0 +1,53 @@ +from typing import Any, Dict +from io import StringIO +import pandas as pd +from .utils import series_to_jsons + +class PandasLocRowSeries: + """ + PandasLocRowSeries: + A class for selecting a row from a pandas DataFrame and output as a Series. + """ + + @classmethod + def INPUT_TYPES(cls) -> Dict[str, Any]: + """ + Defines the input types for the `select_row` function. + + Returns: + Dict[str, Any]: A dictionary specifying required input types. + """ + return { + "required": { + "dataframe_json": ("STRING", {"multiline": True}), + "row_index": ("STRING", {"default": ""}), + "row_index_type":(("string", "int"),) + } + } + + RETURN_TYPES: tuple = ("STRING",) + FUNCTION: str = "select_row" + CATEGORY: str = "Data Analysis" + + def select_row(self, dataframe_json: str, + row_index: str, + row_index_type: str) -> tuple: + """ + Selects a specific row using a row label (row index) from a pandas DataFrame, + and returns the JSON serialized Series object. + + Args: + dataframe_json (str): A JSON string representation of the DataFrame. + row_index (str): The row index (row label) for the row. + row_index_type (str): The data type of the row index. + + Returns: + tuple: A tuple containing the value of the row in string. The string is + a JSON string containing the serialized Pandas Series object. + """ + # Deserialize JSON string to DataFrame + df = pd.read_json(StringIO(dataframe_json)) + row_index = int(row_index) if row_index_type == "int" else row_index + + value = df.loc[row_index] + return (series_to_jsons(value),) diff --git a/modules/pandas_wrapper/pandas_series_to_string.py b/modules/pandas_wrapper/pandas_series_to_string.py new file mode 100644 index 0000000..b5b6257 --- /dev/null +++ b/modules/pandas_wrapper/pandas_series_to_string.py @@ -0,0 +1,42 @@ +from typing import Any, Dict +from io import StringIO +import pandas as pd +from .utils import jsons_to_series + +class PandasSeriesToString: + """ + PandasSeriesToString: + A class for converting a pandas Series to a string representation. + """ + + @classmethod + def INPUT_TYPES(cls) -> Dict[str, Any]: + """ + Defines the input types for the `to_string` function. + + Returns: + Dict[str, Any]: A dictionary specifying required input types. + """ + return { + "required": { + "series_json": ("STRING", {"multiline": True}), + } + } + + RETURN_TYPES: tuple = ("STRING",) + FUNCTION: str = "series_to_string" + CATEGORY: str = "Data Analysis" + + def series_to_string(self, series_json: str) -> tuple: + """ + Converts a Pandas Series to a string representation. + + Args: + series_json (str): A JSON string representation of the Series. + + Returns: + tuple: A tuple containing the string representation of the Series. + """ + # Deserialize JSON string to DataFrame + series = jsons_to_series(series_json) + return (str(series),) diff --git a/modules/pandas_wrapper/utils.py b/modules/pandas_wrapper/utils.py index 7e95a27..77aff4d 100644 --- a/modules/pandas_wrapper/utils.py +++ b/modules/pandas_wrapper/utils.py @@ -1,4 +1,5 @@ import json +import numpy as np import pandas as pd def series_to_jsons(series: pd.Series) -> str: @@ -11,13 +12,13 @@ def series_to_jsons(series: pd.Series) -> str: Returns: str: A JSON string representing the Series, including its data, index, and name. """ - array = [x.item() if hasattr(x, "item") else x for x in series.tolist()] # Convert NumPy types to Python types + array = [x.item() if hasattr(x, "item") else x for x in series.array.tolist()] # Convert NumPy types to Python types index = [x.item() if hasattr(x, "item") else x for x in series.index.tolist()] # Convert index to Python types name = series.name d = {"array": array, "index": index, "name": name} - return json.dumps(d) + return json.dumps(d, cls=NpEncoder) # See license for NpEncoder(json.JSONEncoder) below def jsons_to_series(s: str) -> pd.Series: """ @@ -61,3 +62,23 @@ def jsons_to_index(s: str) -> pd.Index: """ d = json.loads(s) return pd.Index(d["index"], name=d.get("name")) # Restore index with name + + +class NpEncoder(json.JSONEncoder): + """ + Source: https://stackoverflow.com/questions/50916422/python-typeerror-object-of-type-int64-is-not-json-serializable + Author: Jie Yang, Tommy + Licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/) + """ + def default(self, obj): + if isinstance(obj, np.integer): + return int(obj) + if isinstance(obj, np.floating): + return float(obj) + if isinstance(obj, np.bool_): + return bool(obj) + if isinstance(obj, np.ndarray): + return obj.tolist() + return super(NpEncoder, self).default(obj) + + diff --git a/pyproject.toml b/pyproject.toml index b283524..196a872 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "data-analysis" description = "Data analysis custom modules for ComfyUI - Use Pandas & Matplotlib within ComfyUI" -version = "1.0.9" +version = "1.0.10" license = {file = "LICENSE"} [project.urls] diff --git a/tests/pandas/utils_index_json_test.py b/tests/pandas/utils_index_json_test.py index 7397364..ad81d68 100644 --- a/tests/pandas/utils_index_json_test.py +++ b/tests/pandas/utils_index_json_test.py @@ -2,6 +2,7 @@ import os import sys import unittest import json +import numpy as np import pandas as pd PROJECT_ROOT = os.path.realpath(os.path.join(__file__, "..", "..", "..")) diff --git a/tests/pandas/utils_series_json_test.py b/tests/pandas/utils_series_json_test.py index be5d8c1..08faf87 100644 --- a/tests/pandas/utils_series_json_test.py +++ b/tests/pandas/utils_series_json_test.py @@ -2,6 +2,7 @@ import os import sys import unittest import json +import numpy as np import pandas as pd PROJECT_ROOT = os.path.realpath(os.path.join(__file__, "..", "..", "..")) @@ -15,13 +16,20 @@ class TestSeriesJsonConversion(unittest.TestCase): def setUp(self): """Set up test data""" self.series_int = pd.Series([10, 20, 30], index=["a", "b", "c"], name="test_series_int") + self.series_np_int64 = pd.Series(np.array([10, 20, 30], dtype=np.int64), + index=["a", "b", "c"], + name="test_series_np_int64") + self.series_np_int64_2 = pd.Series(np.array([10, 20, 30], dtype=np.int64), + index=np.array([1, 2, 3], dtype=np.int64), + name="test_series_np_int64_2") self.series_float = pd.Series([1.1, 2.2, 3.3], index=["x", "y", "z"], name="test_series_float") self.series_str = pd.Series(["apple", "banana", "cherry"], index=[0, 1, 2], name="test_series_str") self.series_mixed = pd.Series([1, "text", 3.5], index=["one", "two", "three"], name="test_series_mixed") def test_series_to_jsons_and_back(self): """Test conversion from Series to JSON and back""" - for series in [self.series_int, self.series_float, self.series_str, self.series_mixed]: + for series in [self.series_int, self.series_np_int64, self.series_np_int64_2, + self.series_float, self.series_str, self.series_mixed]: with self.subTest(series=series): json_str = series_to_jsons(series) reconstructed_series = jsons_to_series(json_str)