Ë
    7Ò^jÓS  ã            
      óÄ  — U d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZ d dlZd dlmZ d dlmZ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"m#Z# e	r d dl$m%Z%m&Z& d dlm'Z' d dl(m)Z)m*Z* d dl+m,Z,m-Z-m.Z. e
Z/de0d<   	 ed    Z1de0d<   ed   Z2de0d<   ee1e2f   Z3de0d<   d Z4de0d<   dZ5de0d<    G d„ deeeeee f   «      Z6 G d„ deee f   «      Z7y)é    )ÚannotationsN©Úreduce)Úchain)ÚTYPE_CHECKINGÚAnyÚLiteralÚProtocolÚcastÚoverload)ÚEagerNamespace)Úcombine_alias_output_namesÚcombine_evaluate_output_names©ÚPandasLikeDataFrame©ÚPandasLikeExpr)ÚPandasSelectorNamespace©ÚPandasLikeSeries)ÚNativeDataFrameTÚNativeSeriesT)Úis_dtype_pyarrowÚis_non_nullable_boolean)ÚIterableÚSequence)Ú	TypeAlias)ÚImplementationÚVersion)ÚCorrelationMethodÚ	IntoDTypeÚPythonLiteralr   Ú
IncompleteÚ	_Verticalé   Ú_HorizontalÚAxisÚVERTICALÚ
HORIZONTALc                  óP  — e Zd Zedd„«       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ed#d„«       Zd$d„Z	 	 	 	 d%d„Zd$d„Z	 	 	 	 	 	 	 	 d&d„Zdd„Zdd„Z	 d'	 	 	 	 	 	 	 d(d„Z	 	 	 	 	 	 	 	 d)d„Zd*d„Zy)+ÚPandasLikeNamespacec                ó   — t         S ©Nr   ©Úselfs    új/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/narwhals/_pandas_like/namespace.pyÚ
_dataframezPandasLikeNamespace._dataframe4   s   € ä"Ð"ó    c                ó   — t         S r-   r   r.   s    r0   Ú_exprzPandasLikeNamespace._expr8   s   € äÐr2   c                ó   — t         S r-   r   r.   s    r0   Ú_serieszPandasLikeNamespace._series<   s   € äÐr2   c                ó,   — t        j                  | «      S r-   )r   Úfrom_namespacer.   s    r0   Ú	selectorszPandasLikeNamespace.selectors@   s   € ä&×5Ñ5°dÓ;Ð;r2   c                ó    — || _         || _        y r-   )Ú_implementationÚ_version)r/   ÚimplementationÚversions      r0   Ú__init__zPandasLikeNamespace.__init__D   s   € Ø-ˆÔØˆ�r2   c                óf   ‡— dˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                ó8   •‡ — ˆ fd„‰D «       }t        d„ |«      gS )Nc              3  ó<   •K  — | ]  } |‰«      D ]  }|–— Œ Œ y ­wr-   © )Ú.0r4   ÚsÚdfs      €r0   ú	<genexpr>z=PandasLikeNamespace.coalesce.<locals>.func.<locals>.<genexpr>J   s!   øè ø€ Ò>˜E±E¸"³IÒ>¨q”aÐ>�aÑ>ùs   ƒc                ó*   — | j                  |d d ¬«      S )N©ÚstrategyÚlimit©Ú	fill_null)ÚxÚys     r0   ú<lambda>z<PandasLikeNamespace.coalesce.<locals>.func.<locals>.<lambda>L   s   €  A§K¡K°¸DÈ KÓ$M€ r2   r   )rF   ÚseriesÚexprss   ` €r0   Úfuncz*PandasLikeNamespace.coalesce.<locals>.funcI   s"   ù€ Û> UÔ>ˆFäÑMÈvÓVðð r2   ©rS   Úevaluate_output_namesÚalias_output_namesÚcontext©rF   r   Úreturnzlist[PandasLikeSeries]©r4   Ú_from_callabler   r   ©r/   rR   rS   s    ` r0   ÚcoalescezPandasLikeNamespace.coalesceH   s<   ø€ õ	ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                ój   ‡ ‡‡‡— dˆˆ ˆfd„Št        ˆfd„d„ d ‰ j                  ‰ j                  ¬«      S )Nc                ó´  •— t        ‰t        t        t        f«      rÒ	 dd l}dd l}ddlm} t        ‰t        «      rt        ‰«      n‰}‰r |‰‰j                  «      nd }|j                  |g|¬«      }‰j                  j                  «       }	|	j                  |j                  j                  |«      d| j                   j"                  dd ¬«      }
‰j$                  j'                  |
‰¬«      S ‰j$                  j)                  ‰gd| j                   j"                  dd ‰¬	«      }‰r|j+                  ‰«      S |S # t        $ r}d}t        |«      |‚d }~ww xY w)
Nr   zqNested structures require pyarrow to be installed for pandas backend. Please install pyarrow: pip install pyarrow)Únarwhals_to_native_dtype)ÚtypeÚliteralr%   ©ÚnameÚindex)rW   )Údatard   re   rW   )Ú
isinstanceÚlistÚtupleÚdictÚpandasÚpyarrowÚImportErrorÚnarwhals._arrow.utilsr`   r<   Úarrayr;   Úto_native_namespaceÚSeriesÚarraysÚArrowExtensionArrayÚ_native_framere   r6   Úfrom_nativeÚfrom_iterabler   )rF   ÚpdÚpaÚexcÚmsgÚ_to_arrow_dtypeÚarray_valueÚpa_dtypeÚpa_arrayÚnsÚpandas_series_nativeÚpandas_like_seriesÚdtyper/   Úvalues               €€€r0   Ú_lit_pandas_seriesz3PandasLikeNamespace.lit.<locals>._lit_pandas_seriesW   sX  ø€ Ü˜%¤$¬¬tÐ!4Ô5ð4Û'Û(õô .8¸¼uÔ-Eœd 5œkÈ5�ÙDI™?¨5°$·-±-Ô@Èt�ØŸ8™8 [ M¸˜8ÓA�ð ×)Ñ)×=Ñ=Ó?�Ø')§y¡yØ—I‘I×1Ñ1°(Ó;Ø"Ø×*Ñ*×0Ñ0°°1Ð5ð (1ó (Ð$ð —|‘|×/Ñ/Ð0DÈdÐ/ÓSÐSà!%§¡×!;Ñ!;Ø�WØØ×&Ñ&×,Ñ,¨Q¨qÐ1Øð	 "<ó "Ðñ Ø)×.Ñ.¨uÓ5Ð5Ø%Ð%øôC #ò 4ðFð ô & cÓ*°Ð3ûð4ús   žD; Ä;	EÅEÅEc                ó   •—  ‰| «      gS r-   rC   )rF   r„   s    €r0   rP   z)PandasLikeNamespace.lit.<locals>.<lambda>€   s   ø€ Ñ*¨2Ó.Ð/€ r2   c                ó   — dgS )Nrb   rC   ©Ú_dfs    r0   rP   z)PandasLikeNamespace.lit.<locals>.<lambda>�   s   € ¨y¨k€ r2   ©rU   rV   r=   r>   )rF   r   rY   r   ©r   r;   r<   )r/   rƒ   r‚   r„   s   ```@r0   ÚlitzPandasLikeNamespace.litV   s1   û€ ÷&	&ôP Û/Ù"9Ø#Ø×/Ñ/Ø—M‘Mô
ð 	
r2   c                óT   ‡ — t        ˆ fd„d„ d ‰ j                  ‰ j                  ¬«      S )Nc                ón   •— ‰j                   j                  t        | j                  «      gddg‰¬«      gS )NÚlenr   )rd   re   rW   )r6   rv   rŽ   rt   )rF   r/   s    €r0   rP   z)PandasLikeNamespace.len.<locals>.<lambda>‰   s:   ø€ Ø—‘×*Ñ*Ü˜×)Ñ)Ó*Ð+°%À¸sÈDð +ó ð€ r2   c                ó   — dgS )NrŽ   rC   r‡   s    r0   rP   z)PandasLikeNamespace.len.<locals>.<lambda>Ž   s   € ¨u¨g€ r2   r‰   rŠ   r.   s   `r0   rŽ   zPandasLikeNamespace.len‡   s-   ø€ Üóñ
 #6Ø#Ø×/Ñ/Ø—M‘Mô

ð 
	
r2   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-   rC   ©rD   ÚexprrF   s     €r0   rG   zCPandasLikeNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>—   s   øè ø€ Ò$@°$¡T¨"§XÑ$@ùó   ƒc              3  óB   K  — | ]  }|j                  d dd«      –— Œ y­w)r   NrL   ©rD   rE   s     r0   rG   zCPandasLikeNamespace.sum_horizontal.<locals>.func.<locals>.<genexpr>˜   s   è ø€ ÒD¸A˜QŸ[™[¨¨D°$×7ÑDùó   ‚)r   rv   r   ÚoperatorÚadd)rF   ÚitÚnative_seriesrR   s   `  €r0   rS   z0PandasLikeNamespace.sum_horizontal.<locals>.func–   s7   ù€ Ü×$Ñ$Ó$@¸%Ô$@Ó@ˆBÙDÀÔDˆMÜœ8Ÿ<™<¨Ó7Ð8Ð8r2   rT   rX   rZ   r\   s    ` r0   Úsum_horizontalz"PandasLikeNamespace.sum_horizontal•   s<   ø€ õ	9ð
 �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c               ój   ‡‡— dˆˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óð   •— ‰D ��cg c]  } || «      D ]  }|‘Œ Œ }}}‰st        d„ |D «       «      rd}t        |«      ‚‰r	d„ |D «       n
t        |«      }t        t        j
                  |«      gS c c}}w )Nc              3  óŽ   K  — | ]=  }|j                   j                  d k(  xr |j                  «       j                  «       –— Œ? y­w©ÚobjectN©Únativer‚   Úis_nullÚanyr—   s     r0   rG   zCPandasLikeNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>§   ó7   è ø€ ò (ØEF�—‘—‘ (Ñ*Ò@¨q¯y©y«{¯©Ó/@Ó@ñ(ùó   ‚AAzwCannot use `ignore_nulls=False` in `all_horizontal` for non-nullable NumPy-backed pandas Series when nulls are present.c              3  ó\   K  — | ]$  }t        |«      r|n|j                  d dd«      –— Œ& y­w)TN©r   rM   r—   s     r0   rG   zCPandasLikeNamespace.all_horizontal.<locals>.func.<locals>.<genexpr>¯   s4   è ø€ ò ð ô 1°Ô3‘A¸¿¹ÀTÈ4ÐQUÓ9VÓVñùó   ‚*,)r¦   Ú
ValueErrorÚiterr   r™   Úand_©rF   r4   rE   rQ   rz   r›   rR   Úignore_nullss         €€r0   rS   z0PandasLikeNamespace.all_horizontal.<locals>.func¥   sŒ   ø€ Ø%*×>˜E±E¸"³IÒ>¨q’aÐ>�aÐ>ˆFÑ>Ù¤Cñ (ØJPô(ô %ð
 P�Ü  “oÐ%ñ  ñð $õô ˜&“\ð ô œ8Ÿ=™=¨"Ó-Ð.Ð.ùó# ?ó   ‡A2rT   rX   rZ   ©r/   r°   rR   rS   s    `` r0   Úall_horizontalz"PandasLikeNamespace.all_horizontal¢   s<   ù€ ö	/ð( �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c               ój   ‡‡— dˆˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óð   •— ‰D ��cg c]  } || «      D ]  }|‘Œ Œ }}}‰st        d„ |D «       «      rd}t        |«      ‚‰r	d„ |D «       n
t        |«      }t        t        j
                  |«      gS c c}}w )Nc              3  óŽ   K  — | ]=  }|j                   j                  d k(  xr |j                  «       j                  «       –— Œ? y­wr¡   r£   r—   s     r0   rG   zCPandasLikeNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>Å   r§   r¨   zwCannot use `ignore_nulls=False` in `any_horizontal` for non-nullable NumPy-backed pandas Series when nulls are present.c              3  ó\   K  — | ]$  }t        |«      r|n|j                  d dd«      –— Œ& y­w)FNrª   r—   s     r0   rG   zCPandasLikeNamespace.any_horizontal.<locals>.func.<locals>.<genexpr>Í   s4   è ø€ ò ð ô 1°Ô3‘A¸¿¹ÀUÈDÐRVÓ9WÓWñùr«   )r¦   r¬   r­   r   r™   Úor_r¯   s         €€r0   rS   z0PandasLikeNamespace.any_horizontal.<locals>.funcÃ   sŒ   ø€ Ø%*×>˜E±E¸"³IÒ>¨q’aÐ>�aÐ>ˆFÑ>Ù¤Cñ (ØJPô(ô %ð
 P�Ü  “oÐ%ñ  ñð $õô ˜&“\ð ô œ8Ÿ<™<¨Ó,Ð-Ð-ùó# ?r±   rT   rX   rZ   r²   s    `` r0   Úany_horizontalz"PandasLikeNamespace.any_horizontalÀ   s<   ù€ ö	.ð( �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                óf   ‡— dˆfd„}| j                   j                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc                óÜ   •— ‰D ��cg c]  } || «      D ]  }|‘Œ Œ }}}d„ |D «       }d„ |D «       }t        t        j                  |«      t        t        j                  |«      z  gS c c}}w )Nc              3  óD   K  — | ]  }|j                  d dd¬«      –— Œ y­w)r   NrI   rL   r—   s     r0   rG   zDPandasLikeNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>á   s   è ø€ ÒVÀA�a—k‘k !¨d¸$�k×?ÑVùs   ‚ c              3  óB   K  — | ]  }d |j                  «       z
  –— Œ y­w)r%   N)r¥   r—   s     r0   rG   zDPandasLikeNamespace.mean_horizontal.<locals>.func.<locals>.<genexpr>â   s   è ø€ Ò<¨!�a˜!Ÿ)™)›+•oÑ<ùr˜   )r   r™   rš   )rF   r4   rE   Úexpr_resultsrQ   Únon_narR   s         €r0   rS   z1PandasLikeNamespace.mean_horizontal.<locals>.funcß   sd   ø€ Ø+0×D %¹%À»)ÒD°QšAÐD˜AÐDˆLÑDÙVÈÔVˆFÙ<¨|Ô<ˆFÜœ8Ÿ<™<¨Ó0´6¼(¿,¹,ÈÓ3OÑOÐPÐPùó Es   ‡A(rT   rX   rZ   r\   s    ` r0   Úmean_horizontalz#PandasLikeNamespace.mean_horizontalÞ   s=   ø€ õ	Qð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó6  •‡ — t        t        j                  ˆ fd„‰D «       «      «      }t        ‰j	                  d„ |D «       d¬«      j
                  j                  d¬«      ‰j                  ‰j                  ¬«      j                  |d   j                  «      gS )	Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr-   rC   r“   s     €r0   rG   zCPandasLikeNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>î   ó   øè ø€ Ò-I¸4©d°2¯hÑ-Iùr•   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr-   ©Úto_framer—   s     r0   rG   zCPandasLikeNamespace.min_horizontal.<locals>.func.<locals>.<genexpr>ò   ó   è ø€ Ò6¨!˜Ÿ™ŸÑ6ùó   ‚Ú
horizontal©Úhowr%   ©Úaxis©r=   r>   r   )rh   r   rv   r   Úconcatrt   Úminr;   r<   Úaliasrd   ©rF   rQ   rR   r/   s   ` €€r0   rS   z0PandasLikeNamespace.min_horizontal.<locals>.funcí   s~   ù€ Üœ%×-Ñ-Ó-IÀ5Ô-IÓIÓJˆFä Ø—K‘KÙ6¨vÔ6¸Lð  ó ç#‘m§C¡C¨Q C£KØ#'×#7Ñ#7Ø ŸM™Mô÷ ‘%˜˜q™	Ÿ™Ó'ðð r2   rT   rX   rZ   r\   s   `` r0   Úmin_horizontalz"PandasLikeNamespace.min_horizontalì   ó<   ù€ ö
	ð �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó6  •‡ — t        t        j                  ˆ fd„‰D «       «      «      }t        ‰j	                  d„ |D «       d¬«      j
                  j                  d¬«      ‰j                  ‰j                  ¬«      j                  |d   j                  «      gS )	Nc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr-   rC   r“   s     €r0   rG   zCPandasLikeNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>  rÄ   r•   c              3  ó<   K  — | ]  }|j                  «       –— Œ y ­wr-   rÆ   r—   s     r0   rG   zCPandasLikeNamespace.max_horizontal.<locals>.func.<locals>.<genexpr>  rÈ   rÉ   rÊ   rË   r%   rÍ   rÏ   r   )rh   r   rv   r   rÐ   r¤   Úmaxr;   r<   rÒ   rd   rÓ   s   ` €€r0   rS   z0PandasLikeNamespace.max_horizontal.<locals>.func  s~   ù€ Üœ%×-Ñ-Ó-IÀ5Ô-IÓIÓJˆFä Ø—K‘KÙ6¨vÔ6¸Lð  ó ç‘fŸS™S a˜S›[Ø#'×#7Ñ#7Ø ŸM™Mô÷ ‘%˜˜q™	Ÿ™Ó'ðð r2   rT   rX   rZ   r\   s   `` r0   Úmax_horizontalz"PandasLikeNamespace.max_horizontal   rÕ   r2   c                óJ   — | j                   j                  «       j                  S )zvConcatenate pandas objects along a particular axis.

        Return the **native** equivalent of `pd.concat`.
        )r;   rp   rÐ   r.   s    r0   Ú_concatzPandasLikeNamespace._concat  s   € ð ×#Ñ#×7Ñ7Ó9×@Ñ@Ð@r2   c               ó²   — | j                   j                  «       r'| j                  dk  r| j                  |t        d¬«      S | j                  |t        ¬«      S )N©é   F©rÎ   ÚcopyrÍ   )r;   Ú	is_pandasÚ_backend_versionrÝ   r(   ©r/   Údfss     r0   Ú_concat_diagonalz$PandasLikeNamespace._concat_diagonal  sI   € Ø×Ñ×)Ñ)Ô+°×0EÑ0EÈÒ0LØ—<‘< ¬(¸�<Ó?Ð?Ø�|‰|˜C¤hˆ|Ó/Ð/r2   c               ó   — | j                   j                  «       rQt        j                  «       5  t        j                  ddt
        ¬«       | j                  |t        ¬«      cd d d «       S | j                   j                  «       r'| j                  dk  r| j                  |t        d¬«      S | j                  |t        ¬«      S # 1 sw Y   Œ xY w)NÚignorezDThe behavior of array concatenation with empty entries is deprecated)ÚmessageÚcategoryrÍ   rß   Frá   )
r;   Úis_cudfÚwarningsÚcatch_warningsÚfilterwarningsÚFutureWarningrÝ   r)   rã   rä   rå   s     r0   Ú_concat_horizontalz&PandasLikeNamespace._concat_horizontal!  s®   € ð ×Ñ×'Ñ'Ô)Ü×(Ñ(Ó*ñ :Ü×'Ñ'ØØbÜ*õð
 —|‘| C¬j�|Ó9÷:ñ :ð ×!Ñ!×+Ñ+Ô-°$×2GÑ2GÈ$Ò2NØ—<‘< ¬*¸5�<ÓAÐAØ�|‰|˜C¤jˆ|Ó1Ð1÷:ð :ús   ¯3CÃCc               óÒ  — |d   j                   }t        |dd  d¬«      D ]n  \  }}|j                   }t        |«      t        |«      k(  r||k(  j                  «       rŒ=d|j	                  «       › d|› d|j	                  «       › d�}t        |«      ‚ | j                  j                  «       r'| j                  dk  r| j                  |t        d	¬
«      S | j                  |t        ¬«      S )Nr   r%   )Ústartz>unable to vstack, column names don't match:
   - dataframe 0: z
   - dataframe z: ú
rß   Frá   rÍ   )ÚcolumnsÚ	enumeraterŽ   ÚallÚto_listÚ	TypeErrorr;   rã   rä   rÝ   r(   )r/   ræ   Úcols_0ÚirF   Úcols_currentrz   s          r0   Ú_concat_verticalz$PandasLikeNamespace._concat_vertical0  sç   € Ø�Q‘—‘ˆÜ˜s 1 2˜w¨aÔ0ò 
	%‰EˆAˆrØŸ:™:ˆLä�\Ó"¤c¨&£kÒ1¸ÈÑ8N×7SÑ7SÕ7Uð)Ø)/¯©Ó)9Ð(:ð ;&Ø&' S¨¨<×+?Ñ+?Ó+AÐ*BÀ"ðFð ô
   “nÐ$ð
	%ð ×Ñ×)Ñ)Ô+°×0EÑ0EÈÒ0LØ—<‘< ¬(¸�<Ó?Ð?Ø�|‰|˜C¤hˆ|Ó/Ð/r2   c               óº   ‡‡‡‡— | j                   j                  j                  «       Šdˆˆˆˆfd„}| j                  j	                  |t        ‰Ž t        ‰Ž | ¬«      S )Nc           	     ó¶  •‡— ‰D ��cg c]  } || «      D ]  }|‘Œ Œ }}}|D �cg c]  }|j                  ‰«      ‘Œ }}|D �cg c]  }|j                  «       ‘Œ }}‰s=t        t        j                  |«      }t        ˆfd„|«      j                  | d «      }|gS d„ t        ||d¬«      D «       ^}}	|j                  |j                  «       j                  ‰d|j                  j                  |j                  j                  ¬«      «      Šˆfd„|d d D «       }
t        t        j                  d	„ t        |
|	d¬«      D «       |«      }|gS c c}}w c c}w c c}w )
Nc                ó   •— | ‰z   |z   S r-   rC   )rN   rO   Ú	separators     €r0   rP   z>PandasLikeNamespace.concat_str.<locals>.func.<locals>.<lambda>M  s   ø€ ¨Q°©]¸QÑ->€ r2   c              3  óH   K  — | ]  \  }}|j                  | d «      –— Œ y­w©Ú N©Úzip_with)rD   rE   Únms      r0   rG   z?PandasLikeNamespace.concat_str.<locals>.func.<locals>.<genexpr>T  s&   è ø€ ò 'Ù,1¨A¨r�A—J‘J ˜s B×'ñ'ùs   ‚ "T)ÚstrictÚsep)rd   re   r‚   c              3  óD   •K  — | ]  }‰j                  | d «      –— Œ y­wr  r  )rD   r  Ú	sep_arrays     €r0   rG   z?PandasLikeNamespace.concat_str.<locals>.func.<locals>.<genexpr>_  s    øè ø€ ÒS¸b˜i×0Ñ0°"°°b×9ÑSùs   ƒ éÿÿÿÿc              3  ó,   K  — | ]  \  }}||z   –— Œ y ­wr-   rC   )rD   rE   Úvs      r0   rG   z?PandasLikeNamespace.concat_str.<locals>.func.<locals>.<genexpr>b  s   è ø€ ÒL™t˜q !�Q˜•UÑLùs   ‚)r   r¥   r   r™   r¸   r  ÚzipÚ_with_nativeÚ__native_namespace__rq   r¤   re   r‚   rš   )rF   r4   rE   r¾   rQ   Ú	null_maskÚnull_mask_resultÚresultÚ
init_valueÚvaluesÚ
separatorsr  rR   r°   r  Ústrings              @€€€€r0   rS   z,PandasLikeNamespace.concat_str.<locals>.funcF  sT  ù€ Ø+0×D %¹%À»)ÒD°QšAÐD˜AÐDˆLÑDØ.:Ö;¨�a—f‘f˜V•nÐ;ˆFÐ;Ø.:Ö;¨˜Ÿ™�Ð;ˆIÐ;áÜ#)¬(¯,©,¸	Ó#BÐ ÜÓ >ÀÓG×PÑPØ%Ð% tó�ð2 �8ˆOñ%'Ü58¸ÀÐSWÔ5Xô'Ð#�
˜Vð '×3Ñ3Ø×3Ñ3Ó5×<Ñ<Ø!Ø"Ø(×/Ñ/×5Ñ5Ø(×/Ñ/×5Ñ5ð	 =ó ó�	ó TÀIÈcÈrÀNÔS�
ÜÜ—L‘LÙL¤s¨:°vÀdÔ'KÔLØó�ð �8ˆOùó? EùÚ;ùÚ;s   ˆE¥EÁErT   rX   )r<   ÚdtypesÚStringr4   r[   r   r   )r/   r  r°   rR   rS   r  s    ``` @r0   Ú
concat_strzPandasLikeNamespace.concat_strA  s\   û€ ð —‘×%Ñ%×,Ñ,Ó.ˆ÷ 	ð  	ðD �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                ó†  •‡ ‡— 	 dd l }dd lŠdd lm} ‰j
                  j                  } |t        j                  ˆ fd„‰D «       «      Ž }|d   j                  } |j                  ˆfd„|D «       d|D �cg c]  }|j                  ‘Œ c}iŽ}	‰j                  |	g«      }
‰j                  }‰j                  }|j                  «       }|j                  |j                   j#                  |
«      ||d   j$                  j&                  ¬«      }‰j                  |||¬«      gS # t        $ r}d}t	        |«      |‚d }~ww xY wc c}w )Nr   zgstruct requires pyarrow to be installed for pandas backend. Please install pyarrow: pip install pyarrowc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr-   rC   r“   s     €r0   rG   z;PandasLikeNamespace.struct.<locals>.func.<locals>.<genexpr>}  ó   øè ø€ Ò/K¸T±°R·Ñ/Kùr•   c              3  óX   •K  — | ]!  }‰j                  |j                  d ¬«      –— Œ# y­w)T©Úfrom_pandasN)ro   r¤   )rD   rE   rx   s     €r0   rG   z;PandasLikeNamespace.struct.<locals>.func.<locals>.<genexpr>€  s"   øè ø€ ÒG¸1�"—(‘(˜1Ÿ8™8°�(×6ÑGùs   ƒ'*Úfield_namesrc   rÏ   )rk   rl   Úpyarrow.computeÚcomputerm   r6   Ú_align_full_broadcastr   rv   rd   Úmake_structÚchunked_arrayr<   r;   rp   rq   rr   rs   r¤   re   )rF   rw   Úpcry   rz   ÚalignrQ   rd   rE   Ústruct_arrayr  r>   Úimplr   Úresult_nativerx   rR   r/   s   `              @€€r0   rS   z(PandasLikeNamespace.struct.<locals>.funcp  s4  ú€ ð	0Û#Û$Ý,ð —L‘L×6Ñ6ˆEÙœE×/Ñ/Ó/KÀUÔ/KÓKÐLˆFØ˜!‘9—>‘>ˆDØ)˜2Ÿ>™>ÛGÀÔGðà-3Ö4¨˜QŸV›VÒ4ñˆLð ×%Ñ% | nÓ5ˆFà—m‘mˆGØ×'Ñ'ˆDØ×)Ñ)Ó+ˆBàŸI™IØ—	‘	×-Ñ-¨fÓ5ØØ˜Q‘i×&Ñ&×,Ñ,ð &ó ˆMð
 —L‘L ¸tÈW�LÓUÐVÐVøô3 ò 0ðBð ô " #Ó&¨CÐ/ûð0üò 5s   …D Á4D>Ä	D;Ä(D6Ä6D;rT   rX   rZ   r\   s   `` r0   ÚstructzPandasLikeNamespace.structo  s>   ù€ ö	Wð@ �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   c                ój   ‡ ‡— dˆˆ fd„}‰ j                   j                  |t        ‰Ž t        ‰Ž ‰ ¬«      S )Nc                óì  •‡ — 	 dd l }ddlm} ‰j                  j
                  } |t        j                  ˆ fd„‰D «       «      Ž }|D �cg c]l  }t        |j                  j                  «      r.|j                  j                  j                  j                  «       n|j                  |j                  d¬«      ‘Œn }} ||«      }	‰j                  }
|
j                  «       j!                  t"        j$                  j'                  |	«      |d   j(                  |d   j                  j*                  ¬«      }‰j	                  ||
‰j,                  ¬«      gS # t        $ r}d}t        |«      |‚d }~ww xY wc c}w )	Nr   zelist requires pyarrow to be installed for pandas backend. Please install pyarrow: pip install pyarrow)Úbuild_list_arrayc              3  ó.   •K  — | ]  } |‰«      –— Œ y ­wr-   rC   r“   s     €r0   rG   z9PandasLikeNamespace.list.<locals>.func.<locals>.<genexpr>¥  r  r•   Tr!  rc   rÏ   )rl   rm   rn   r1  r6   r&  r   rv   r   r¤   r‚   ro   Ú	_pa_arrayÚcombine_chunksr;   rp   rq   rw   rr   rs   rd   re   r<   )rF   rx   ry   rz   r1  r*  rQ   rE   rr   r  r,  r-  rR   r/   s   `           €€r0   rS   z&PandasLikeNamespace.list.<locals>.func˜  sT  ù€ ð0Û$õ ?à—L‘L×6Ñ6ˆEÙœE×/Ñ/Ó/KÀUÔ/KÓKÐLˆFð  öð ô (¨¯©¯©Ô7ð —H‘H—N‘N×,Ñ,×;Ñ;Ô=àŸ™ !§(¡(¸˜Ó=ñ>ðˆFð ñ & fÓ-ˆFà×'Ñ'ˆDØ ×4Ñ4Ó6×=Ñ=Ü—	‘	×-Ñ-¨fÓ5Ø˜A‘Y—^‘^Ø˜Q‘i×&Ñ&×,Ñ,ð >ó ˆMð —‘˜]¸4ÈÏÉ�ÓWðð øô7 ò 0ðBð ô " #Ó&¨CÐ/ûð0üòs   „E Á	A1E1Å	E.ÅE)Å)E.rT   rX   rZ   r\   s   `` r0   rh   zPandasLikeNamespace.list—  s=   ù€ ö 	ðD �z‰z×(Ñ(ØÜ"?ÀÐ"GÜ9¸5ÐAØð	 )ó 
ð 	
r2   Nc                ó@   — |j                   }|€ ||«      S  |||«      S r-   )Úwhere)r/   ÚwhenÚthenÚ	otherwiser6  s        r0   Ú_if_then_elsez!PandasLikeNamespace._if_then_elseÁ  s(   € ð !ŸJ™JˆØ'Ð/‰u�T‹{ÐK±U¸4ÀÓ5KÐKr2   c               ó‚   ‡ ‡‡‡— dˆˆˆˆ fd„}‰ j                   j                  |t        ‰‰«      t        ‰‰«      ‰ ¬«      S )Nc                ó   •— | j                  ‰«      }| j                  ‰«      }‰j                  |j                  |j                  g«      }|j                  ‰¬«      j                  ddgf   }t        |‰j                  ‰j                  ¬«      gS )N)Úmethodr   r%   rÏ   )Ú_evaluate_single_output_exprrñ   r¤   ÚcorrÚilocr   r;   r<   )	rF   Úa_seriesÚb_seriesrˆ   r?  ÚaÚbr=  r/   s	        €€€€r0   rS   z&PandasLikeNamespace.corr.<locals>.funcÍ  s„   ø€ Ø×6Ñ6°qÓ9ˆHØ×6Ñ6°qÓ9ˆHØ×)Ñ)¨8¯?©?¸H¿O¹OÐ*LÓMˆCØ—8‘8 6�8Ó*×/Ñ/°°A°3°Ñ7ˆDä Ø¨×)=Ñ)=ÀtÇ}Á}ôðð r2   rT   rX   rZ   )r/   rC  rD  r=  rS   s   ```` r0   r?  zPandasLikeNamespace.corrÊ  sE   û€ ÷		ð 		ð �z‰z×(Ñ(ØÜ"?ÀÀ1Ó"EÜ9¸!¸QÓ?Øð	 )ó 
ð 	
r2   c               ó‚   ‡ ‡‡‡— dˆˆˆˆ fd„}‰ j                   j                  |t        ‰‰«      t        ‰‰«      ‰ ¬«      S )Nc                óÐ  •— | j                  ‰«      }| j                  ‰«      }t        d‰	j                  |j                  |j                  g«      «      }|j	                  d¬«      j                  d«      j                  «       }‰dk(  r|dk(  rd}n3|‰z
  dk  rt        d«      }n|j                  ‰¬«      j                  d	   }t        j                  |g‰	|j                  ¬
«      gS )Nzpd.DataFramer%   rÍ   é   r   g        Únan)Úddof)r   r%   )rW   rd   )r>  r   rñ   r¤   ÚcountÚeqÚsumÚfloatÚcovr@  r   rv   rd   )
rF   rA  rB  rˆ   Únrƒ   rC  rD  rI  r/   s
         €€€€r0   rS   z%PandasLikeNamespace.cov.<locals>.funcà  sÔ   ø€ Ø×6Ñ6°qÓ9ˆHØ×6Ñ6°qÓ9ˆHÜØØ×'Ñ'¨¯©¸(¿/¹/Ð(JÓKóˆCð —	‘	˜q�	Ó!×$Ñ$ QÓ'×+Ñ+Ó-ˆAØ�qŠy˜Q !šVØ‘Ø�T‘˜Q’Ü˜e›‘àŸ™ T˜Ó*×/Ñ/°Ñ5�ä ×.Ñ.°¨wÀÈ8Ï=É=ÔYðð r2   rT   rX   rZ   )r/   rC  rD  rI  rS   s   ```` r0   rN  zPandasLikeNamespace.covß  sE   û€ ÷	ð 	ð$ �z‰z×(Ñ(ØÜ"?ÀÀ1Ó"EÜ9¸!¸QÓ?Øð	 )ó 
ð 	
r2   )rY   ztype[PandasLikeDataFrame])rY   ztype[PandasLikeExpr])rY   ztype[PandasLikeSeries])rY   r   )r=   r   r>   r   rY   ÚNone)rR   r   rY   r   )rƒ   r"   r‚   zIntoDType | NonerY   r   )rY   r   )rR   r   r°   ÚboolrY   r   )rY   z._NativeConcat[NativeDataFrameT, NativeSeriesT])ræ   zSequence[NativeDataFrameT]rY   r   )ræ   z*Sequence[NativeDataFrameT | NativeSeriesT]rY   r   )rR   r   r  Ústrr°   rQ  rY   r   r-   )r7  r   r8  r   r9  zNativeSeriesT | NonerY   r   )rC  r   rD  r   r=  r    rY   r   )rC  r   rD  r   rI  ÚintrY   r   )Ú__name__Ú
__module__Ú__qualname__Úpropertyr1   r4   r6   r9   r?   r]   r‹   rŽ   r�   r³   r¹   rÀ   rÔ   rÛ   rÝ   rç   rñ   rý   r  r.  rh   r:  r?  rN  rC   r2   r0   r+   r+   +   s{  „ ð ò#ó ð#ð òó ðð ò ó ð ð ò<ó ð<ó ó
ó/
ób
ó
ð
Ø$ð
Ø48ð
à	ó
ð<
Ø$ð
Ø48ð
à	ó
ó<
ó
ó(
ð( òAó ðAó0ð
2Ø=ð2à	ó2ó0ð",
Ø$ð,
Ø14ð,
ØDHð,
à	ó,
ó\&
óP(
ð\ +/ð	LàðLð ðLð (ð	Lð
 
óLð
Øð
Ø$2ð
Ø?Pð
à	ó
ô*
r2   r+   c                  óÀ   — e Zd Zeddœ	 	 	 	 	 	 	 d	d„«       Zeddœ	 	 	 	 	 	 	 d
d„«       Zeddœ	 	 	 	 	 	 	 dd„«       Zeddœ	 	 	 	 	 	 	 dd„«       Zddœ	 	 	 	 	 	 	 dd„Zy)Ú_NativeConcat.)râ   c                ó   — y r-   rC   ©r/   ÚobjsrÎ   râ   s       r0   Ú__call__z_NativeConcat.__call__û  ó   € ð r2   c                ó   — y r-   rC   r[  s       r0   r]  z_NativeConcat.__call__  s   € ð r2   c                ó   — y r-   rC   r[  s       r0   r]  z_NativeConcat.__call__  r^  r2   c                ó   — y r-   rC   r[  s       r0   r]  z_NativeConcat.__call__  s   € ð ,/r2   Nc                ó   — y r-   rC   r[  s       r0   r]  z_NativeConcat.__call__  s   € ð ,/r2   )r\  zIterable[NativeDataFrameT]rÎ   r$   râ   úbool | NonerY   r   )r\  zIterable[NativeSeriesT]rÎ   r$   râ   rc  rY   r   )r\  ú*Iterable[NativeDataFrameT | NativeSeriesT]rÎ   r&   râ   rc  rY   r   )r\  rd  rÎ   r'   râ   rc  rY   z NativeDataFrameT | NativeSeriesT)rT  rU  rV  r   r]  rC   r2   r0   rY  rY  ú  s$  „ Øð  ñà(ðð ð	ð
 ðð 
òó ðð àUXñØ+ðØ6?ðØGRðà	òó ðð ð  ñà8ðð ð	ð
 ðð 
òó ðð ð  ñ/à8ð/ð ð	/ð
 ð/ð 
*ò/ó ð/ð !ñ/à8ð/ð ð	/ð
 ð/ð 
*ô/r2   rY  )8Ú
__future__r   r™   rí   Ú	functoolsr   Ú	itertoolsr   Útypingr   r   r	   r
   r   r   rk   rw   Únarwhals._compliantr   Únarwhals._expression_parsingr   r   Únarwhals._pandas_like.dataframer   Únarwhals._pandas_like.exprr   Únarwhals._pandas_like.selectorsr   Únarwhals._pandas_like.seriesr   Únarwhals._pandas_like.typingr   r   Únarwhals._pandas_like.utilsr   r   Úcollections.abcr   r   r   Únarwhals._utilsr   r   Únarwhals.typingr    r!   r"   r#   Ú__annotations__r$   r&   r'   r(   r)   r+   rY  rC   r2   r0   ú<module>ru     sá   ðÞ "ã Û Ý Ý ß H× Hã å .÷õ @Ý 5Ý CÝ 9ß Hß Qáß2Ý ç7ßKÑKð €
ˆIÓ Ø >ð ˜q‘z€	ˆ9Ó !Ø  ™€ˆYÓ #Ø˜) [Ð0Ñ1€€iÓ 1à€ˆ)Ó Ø€
ˆKÓ ôL
ØØØØØØð		ñôL
ô^$/�HÐ-¨}Ð<Ñ=õ $/r2   