Ë
    ðmxi/'  ã            
      ó6  — d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
Zd dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZ d dlmZ er d dl m!Z!m"Z" d dl#m$Z$m%Z%m&Z& d dlm'Z' d dl(m)Z)m*Z*  G d„ deeeeejV                  df   «      Z,y)é    )ÚannotationsN)Úreduce)Úchain)ÚTYPE_CHECKINGÚLiteral©ÚArrowDataFrame©Ú	ArrowExpr)ÚArrowSelectorNamespace©ÚArrowSeries)Úcast_to_comparable_string_types)ÚEagerNamespace)Úcombine_alias_output_namesÚcombine_evaluate_output_names)ÚImplementation)ÚIteratorÚSequence)ÚChunkedArrayAnyÚ
IncompleteÚ	ScalarAny)ÚVersion)Ú	IntoDTypeÚNonNestedLiteralc                  ó  — e Zd Zej                  Zedd„«       Zedd„«       Zedd„«       Z	dd„Z
	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zed d„«       Z	 	 	 	 	 	 	 	 d!d„Zdd„Z	 d"	 	 	 	 	 	 	 d#d„Zy)$ÚArrowNamespacec                ó   — t         S ©Nr   ©Úselfs    úP/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_arrow/namespace.pyÚ
_dataframezArrowNamespace._dataframe$   s   € äÐó    c                ó   — t         S r   r
   r    s    r"   Ú_exprzArrowNamespace._expr(   s   € äÐr$   c                ó   — t         S r   r   r    s    r"   Ú_serieszArrowNamespace._series,   s   € äÐr$   c               ó   — || _         y r   )Ú_version)r!   Úversions     r"   Ú__init__zArrowNamespace.__init__0   s	   € Øˆ�r$   c                ó   — d„ |D «       S )Nc              3  ój   K  — | ]+  }|j                   r|j                  d    n|j                  –— Œ- y­w)r   N)Ú
_broadcastÚnative©Ú.0Úss     r"   ú	<genexpr>z0ArrowNamespace.extract_native.<locals>.<genexpr>6   s'   è ø€ ÒJ¸a˜qŸ|š|�—‘˜’°·±Ó9ÑJùs   ‚13© )r!   Úseriess     r"   Úextract_nativezArrowNamespace.extract_native3   s   € ñ KÀ6ÔJÐJr$   c                óJ   ‡ — ‰ j                  ˆ fd„d„ d ‰ j                  ¬«      S )Nc                ó^   •— t        j                  t        | j                  «      gd‰¬«      gS )NÚlen)ÚnameÚcontext)r   Úfrom_iterabler:   r0   )Údfr!   s    €r"   ú<lambda>z$ArrowNamespace.len.<locals>.<lambda>;   s(   ø€ Ü×)Ñ)¬3¨r¯y©y«>Ð*:ÀÐPTÔUð€ r$   c                ó   — dgS )Nr:   r5   ©Ú_dfs    r"   r?   z$ArrowNamespace.len.<locals>.<lambda>>   s   € ¨u¨g€ r$   ©Úevaluate_output_namesÚalias_output_namesr+   ©r&   r*   r    s   `r"   r:   zArrowNamespace.len8   s-   ø€ à�z‰zóñ #6Ø#Ø—M‘Mð ó 
ð 	
r$   c                ó`   ‡ ‡‡‡— dˆˆ ˆfd„Š‰ j                  ˆfd„d„ d ‰ j                  ¬«      S )Nc                ó`   •— t        j                  ‰gd‰¬«      }‰r|j                  ‰«      S |S )NÚliteral)Údatar;   r<   )r   r=   Úcast)Ú_Úarrow_seriesÚdtyper!   Úvalues     €€€r"   Ú_lit_arrow_seriesz-ArrowNamespace.lit.<locals>._lit_arrow_seriesD   s8   ø€ Ü&×4Ñ4Ø�W 9°dôˆLñ Ø#×(Ñ(¨Ó/Ð/ØÐr$   c                ó   •—  ‰| «      gS r   r5   )r>   rP   s    €r"   r?   z$ArrowNamespace.lit.<locals>.<lambda>M   s   ø€ Ñ)¨"Ó-Ð.€ r$   c                ó   — dgS )NrI   r5   rA   s    r"   r?   z$ArrowNamespace.lit.<locals>.<lambda>N   s   € ¨y¨k€ r$   rC   )rL   r	   Úreturnr   rF   )r!   rO   rN   rP   s   ```@r"   ÚlitzArrowNamespace.litC   s0   û€ ÷	 ð �z‰zÛ.Ù"9Ø#Ø—M‘Mð	 ó 
ð 	
r$   c               ój   ‡‡— dˆˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óŽ   •‡ — t        j                  ˆ fd„‰D «       «      }‰r	d„ |D «       }t        t        j                  |«      gS )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ©r2   Úer>   s     €r"   r4   z>ArrowNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>U   ó   øè ø€ Ò?UÈ!ÁÀ"ÇÑ?Uùó   ƒc              3  óB   K  — | ]  }|j                  d dd«      –— Œ y­w)TN©Ú	fill_nullr1   s     r"   r4   z>ArrowNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>W   s   è ø€ ÒH¸A˜!Ÿ+™+ d¨D°$×7ÑHùó   ‚)r   r=   r   ÚoperatorÚand_©r>   r6   ÚexprsÚignore_nullss   ` €€r"   Úfuncz+ArrowNamespace.all_horizontal.<locals>.funcT   s:   ù€ Ü,1×,?Ñ,?Ó?UÈuÔ?UÓ,UˆFÙÙHÀÔH�Üœ8Ÿ=™=¨&Ó1Ð2Ð2r$   ©re   rD   rE   r<   ©r>   r	   rS   zlist[ArrowSeries]©r&   Ú_from_callabler   r   ©r!   rd   rc   re   s    `` r"   Úall_horizontalzArrowNamespace.all_horizontalS   s<   ù€ ö	3ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c               ój   ‡‡— dˆˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óŽ   •‡ — t        j                  ˆ fd„‰D «       «      }‰r	d„ |D «       }t        t        j                  |«      gS )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   rX   s     €r"   r4   z>ArrowNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>c   rZ   r[   c              3  óB   K  — | ]  }|j                  d dd«      –— Œ y­w)FNr]   r1   s     r"   r4   z>ArrowNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>e   s   è ø€ ÒI¸Q˜!Ÿ+™+ e¨T°4×8ÑIùr_   )r   r=   r   r`   Úor_rb   s   ` €€r"   re   z+ArrowNamespace.any_horizontal.<locals>.funcb   s:   ù€ Ü,1×,?Ñ,?Ó?UÈuÔ?UÓ,UˆFÙÙIÀ&ÔI�Üœ8Ÿ<™<¨Ó0Ð1Ð1r$   rf   rg   rh   rj   s    `` r"   Úany_horizontalzArrowNamespace.any_horizontala   s<   ù€ ö	2ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c                óf   ‡— dˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óŠ   •‡ — t        j                  ˆ fd„‰D «       «      }d„ |D «       }t        t        j                  |«      gS )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ©r2   Úexprr>   s     €r"   r4   z>ArrowNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>q   s   øè ø€ Ò$@°$¡T¨"§XÑ$@ùr[   c              3  óD   K  — | ]  }|j                  d dd¬«      –— Œ y­w)r   N©ÚstrategyÚlimitr]   r1   s     r"   r4   z>ArrowNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>r   s   è ø€ ÒLÀA�a—k‘k !¨d¸$�k×?ÑLùs   ‚ )r   r=   r   r`   Úadd)r>   Úitr6   rc   s   `  €r"   re   z+ArrowNamespace.sum_horizontal.<locals>.funcp   s7   ù€ Ü×$Ñ$Ó$@¸%Ô$@Ó@ˆBÙLÈÔLˆFÜœ8Ÿ<™<¨Ó0Ð1Ð1r$   rf   rg   rh   ©r!   rc   re   s    ` r"   Úsum_horizontalzArrowNamespace.sum_horizontalo   s<   ø€ õ	2ð
 �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c                ó²   ‡‡— | j                   j                  j                  «       Šdˆˆfd„}| j                  j	                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                ót  •‡ — t        t        j                  ˆ fd„‰D «       «      «      }|D �cg c]  }|j                  dd d ¬«      ‘Œ }}|D �cg c]$  }d|j	                  «       j                  ‰«      z
  ‘Œ& }}t        t        j                  |«      t        t        j                  |«      z  gS c c}w c c}w )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ru   s     €r"   r4   z?ArrowNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>€   s   øè ø€ Ò4PÀ$±T¸"·XÑ4Pùr[   r   rx   é   )	Útupler   r=   r^   Úis_nullrK   r   r`   r{   )r>   Úexpr_resultsr3   r6   Únon_narc   Úint_64s   `    €€r"   re   z,ArrowNamespace.mean_horizontal.<locals>.func   s–   ù€ Ü ¤×!4Ñ!4Ó4PÈ%Ô4PÓ!PÓQˆLØIUÖVÀA�a—k‘k !¨d¸$�kÕ?ÐVˆFÐVØ<HÖI°q�a˜!Ÿ)™)›+×*Ñ*¨6Ó2Ó2ÐIˆFÐIÜœ8Ÿ<™<¨Ó0´6¼(¿,¹,ÈÓ3OÑOÐPÐPùò WùÚIs   ®B0Á)B5rf   rg   )r*   ÚdtypesÚInt64r&   ri   r   r   )r!   rc   re   r‡   s    ` @r"   Úmean_horizontalzArrowNamespace.mean_horizontal|   sU   ù€ Ø—‘×%Ñ%×+Ñ+Ó-ˆö	Qð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó"  •‡ — t        t        j                  ˆ fd„‰D «       «      «      ^}}t        t        j
                  |D �cg c]  }|j                  ‘Œ c}|j                  «      }t        ||j                  ‰j                  ¬«      gS c c}w )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ru   s     €r"   r4   z>ArrowNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>Ž   ó   øè ø€ Ò<XÈ$¹TÀ"¿XÑ<Xùr[   ©r;   r+   )
rƒ   r   r=   r   ÚpcÚmin_element_wiser0   r   r;   r*   ©r>   Úinit_seriesr6   r3   Únative_seriesrc   r!   s   `    €€r"   re   z+ArrowNamespace.min_horizontal.<locals>.func�   óx   ù€ Ü#(¬×)<Ñ)<Ó<XÐRWÔ<XÓ)XÓ#YÐ ˆK˜&Ü"Ü×#Ñ#¸Ö%?°1 a§h£hÒ%?À×ASÑASóˆMô ˜M°×0@Ñ0@È$Ï-É-ÔXðð ùò &@ó   ÁB
rf   rg   rh   r}   s   `` r"   Úmin_horizontalzArrowNamespace.min_horizontalŒ   ó<   ù€ ö	ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó"  •‡ — t        t        j                  ˆ fd„‰D «       «      «      ^}}t        t        j
                  |D �cg c]  }|j                  ‘Œ c}|j                  «      }t        ||j                  ‰j                  ¬«      gS c c}w )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ru   s     €r"   r4   z>ArrowNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>Ÿ   rŽ   r[   r�   )
rƒ   r   r=   r   r�   Úmax_element_wiser0   r   r;   r*   r’   s   `    €€r"   re   z+ArrowNamespace.max_horizontal.<locals>.funcž   r•   r–   rf   rg   rh   r}   s   `` r"   Úmax_horizontalzArrowNamespace.max_horizontal�   r˜   r$   c               ó|   — | j                   dk\  rt        j                  |d¬«      S t        j                  |d¬«      S )N)é   Údefault)Úpromote_optionsT)Úpromote)Ú_backend_versionÚpaÚconcat_tables)r!   Údfss     r"   Ú_concat_diagonalzArrowNamespace._concat_diagonal®   s6   € Ø× Ñ  EÒ)Ü×#Ñ# C¸ÔCÐCÜ×Ñ ¨TÔ2Ð2r$   c               óØ   — t        t        j                  d„ |D «       «      «      }t        t        j                  d„ |D «       «      «      }t        j
                  j                  ||¬«      S )Nc              3  ó4   K  — | ]  }|j                   –— Œ y ­wr   )Úcolumn_names©r2   r>   s     r"   r4   z4ArrowNamespace._concat_horizontal.<locals>.<genexpr>´   s   è ø€ Ò(G¸R¨¯­Ñ(Gùó   ‚c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr   )Úitercolumnsr«   s     r"   r4   z4ArrowNamespace._concat_horizontal.<locals>.<genexpr>µ   s   è ø€ Ò*JÀ¨2¯>©>×+;Ñ*Jùs   ‚)Únames)Úlistr   r=   rƒ   r¤   ÚTableÚfrom_arrays)r!   r¦   r¯   Úarrayss       r"   Ú_concat_horizontalz!ArrowNamespace._concat_horizontal³   sR   € Ü”U×(Ñ(Ñ(GÀ3Ô(GÓGÓHˆÜ”u×*Ñ*Ñ*JÀcÔ*JÓJÓKˆÜ�x‰x×#Ñ# F°%Ð#Ó8Ð8r$   c               óÊ   — |d   j                   }t        |dd  d¬«      D ]-  \  }}|j                   }||k7  sŒd|› d|› d|› d�}t        |«      ‚ t        j                  |«      S )Nr   r‚   )Ústartz>unable to vstack, column names don't match:
   - dataframe 0: z
   - dataframe z: ú
)rª   Ú	enumerateÚ	TypeErrorr¤   r¥   )r!   r¦   Úcols_0Úir>   Úcols_currentÚmsgs          r"   Ú_concat_verticalzArrowNamespace._concat_vertical¸   s‡   € Ø�Q‘×$Ñ$ˆÜ˜s 1 2˜w¨aÔ0ò 	%‰EˆAˆrØŸ?™?ˆLØ˜vÓ%ð)Ø)/¨ð 1&Ø&' S¨¨<¨.¸ð<ð ô
   “nÐ$ð	%ô ×Ñ Ó$Ð$r$   c                ó,   — t        j                  | «      S r   )r   Úfrom_namespacer    s    r"   Ú	selectorszArrowNamespace.selectorsÅ   s   € ä%×4Ñ4°TÓ:Ð:r$   c               ór   ‡ ‡‡‡— dˆˆˆ ˆfd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó,  •‡ — t        t        j                  ˆ fd„‰D «       «      «      }|d   j                  }‰	rdnd}t	         ‰
j
                  |Ž d‰iŽ\  }}t        j                  }‰
j                   |g |¢|‘­d|iŽ|‰
j                  ¬«      }|gS )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ru   s     €r"   r4   z:ArrowNamespace.concat_str.<locals>.func.<locals>.<genexpr>Í   s   øè ø€ Ò-I¸4©d°2¯hÑ-Iùr[   r   ÚskipÚ	emit_nullÚ	separatorÚnull_handlingr�   )
r°   r   r=   r;   r   r7   r�   Úbinary_join_element_wiser(   r*   )r>   r6   r;   rÈ   r|   Úseparator_scalarÚ
concat_strÚ	compliantrc   rd   r!   rÇ   s   `       €€€€r"   re   z'ArrowNamespace.concat_str.<locals>.funcÌ   s¬   ù€ Üœ%×-Ñ-Ó-IÀ5Ô-IÓIÓJˆFØ˜!‘9—>‘>ˆDá&‘¨Kð ô $CØ$�×$Ñ$ fÐ-ð$Ø9Bñ$Ñ ˆBÐ ô
 &(×%@Ñ%@ˆJØŸ™ÙÐN˜BÐNÐ 0ÒNÀÑNØØŸ™ð %ó ˆIð
 �;Ðr$   rf   rg   rh   )r!   rÇ   rd   rc   re   s   ```` r"   rË   zArrowNamespace.concat_strÉ   sA   û€ ÷	ð 	ð& �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó  •‡ — ‰j                   j                  } |t        j                  ˆ fd„‰D «       «      Ž ^}}t	        t        j                  |j                  gd„ |D «       ¢­Ž |j                  ‰j                  ¬«      gS )Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr   r5   ru   s     €r"   r4   z8ArrowNamespace.coalesce.<locals>.func.<locals>.<genexpr>é   s   øè ø€ Ò=YÈ4¹dÀ2¿hÑ=Yùr[   c              3  ó4   K  — | ]  }|j                   –— Œ y ­wr   )r0   r1   s     r"   r4   z8ArrowNamespace.coalesce.<locals>.func.<locals>.<genexpr>ì   s   è ø€ Ò5OÀ1°a·hµhÑ5Oùr¬   r�   )
r(   Ú_align_full_broadcastr   r=   r   r�   Úcoalescer0   r;   r*   )r>   Úalignr“   r6   rc   r!   s   `   €€r"   re   z%ArrowNamespace.coalesce.<locals>.funcç   sr   ù€ Ø—L‘L×6Ñ6ˆEÙ#(¬%×*=Ñ*=Ó=YÐSXÔ=YÓ*YÐ#ZÐ ˆK˜&äÜ—K‘K × 2Ñ 2ÐPÑ5OÈÔ5OÒPØ$×)Ñ)Ø ŸM™Môðð r$   rf   rg   rh   r}   s   `` r"   rÒ   zArrowNamespace.coalesceæ   s<   ù€ ö		ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r$   Nc                óŠ   — |€)t        j                  t        |«      |j                  «      n|}t	        j
                  |||«      S r   )r¤   Únullsr:   Útyper�   Úif_else)r!   ÚwhenÚthenÚ	otherwises       r"   Ú_if_then_elsezArrowNamespace._if_then_elseù   s7   € ð 7@Ð6G”B—H‘HœS ›Y¨¯	©	Ô2ÈYˆ	Ü�z‰z˜$  iÓ0Ð0r$   )rS   ztype[ArrowDataFrame])rS   ztype[ArrowExpr])rS   ztype[ArrowSeries])r+   r   rS   ÚNone)r6   r   rS   z%Iterator[ChunkedArrayAny | ScalarAny])rS   r   )rO   r   rN   zIntoDType | NonerS   r   )rc   r   rd   ÚboolrS   r   )rc   r   rS   r   )r¦   zSequence[pa.Table]rS   zpa.Table)rS   r   )rc   r   rÇ   Ústrrd   rÝ   rS   r   r   )rØ   r   rÙ   r   rÚ   zChunkedArrayAny | NonerS   r   )Ú__name__Ú
__module__Ú__qualname__r   ÚPYARROWÚ_implementationÚpropertyr#   r&   r(   r,   r7   r:   rT   rk   rq   r~   rŠ   r—   r�   r§   r´   r¾   rÁ   rË   rÒ   rÛ   r5   r$   r"   r   r      s  „ ð %×,Ñ,€Oàòó ðð òó ðð òó ðó ðKØ"ðKà	.óKó
	
ó
ó 
ó
ó
ó
ó 
ó"
ó"3ó
9ó
%ð ò;ó ð;ð
Øð
Ø,/ð
Ø?Cð
à	ó
ó:
ð. -1ð	1àð1ð ð1ð *ð	1ð
 
ô1r$   r   r   )-Ú
__future__r   r`   Ú	functoolsr   Ú	itertoolsr   Útypingr   r   Úpyarrowr¤   Úpyarrow.computeÚcomputer�   Únarwhals._arrow.dataframer	   Únarwhals._arrow.exprr   Únarwhals._arrow.selectorsr   Únarwhals._arrow.seriesr   Únarwhals._arrow.utilsr   Únarwhals._compliantr   Únarwhals._expression_parsingr   r   Únarwhals._utilsr   Úcollections.abcr   r   Únarwhals._arrow.typingr   r   r   r   Únarwhals.typingr   r   r±   r   r5   r$   r"   ú<module>r÷      sl   ðÝ "ã Ý Ý ß )ã Ý å 4Ý *Ý <Ý .Ý AÝ .÷õ +áß2çMÑMÝ'ß;ôa1Ø�> ;°	¸2¿8¹8ÐEVÐVÑWõa1r$   