§
    {Øjòk  ã                  óÂ  — d dl mZ d dlZd dlmZmZmZ d dl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mZmZmZ 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"m#Z#m$Z$ d dl%m&Z& erId dl'm(Z(m)Z) d dl*m+c m,Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dlm;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZA d#d„ZBd#d„ZCd#d„ZDd$d„ZE G d „ d!ed"         e
d"         ¦  «        ZFdS )%é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚcast)ÚDepthTrackingExprÚLazyExpr©ÚDaskExprDateTimeNamespace©ÚDaskExprListNamespace©ÚDaskExprStringNamespace)Úadd_row_indexÚalign_series_full_broadcastÚmake_group_by_kwargsÚnarwhals_to_native_dtype)Úevaluate_nodesÚ!evaluate_output_names_and_aliases)Ú"window_kwargs_to_pandas_equivalent)Úget_dtype_backendÚnative_to_narwhals_dtype)Ú
NO_DEFAULTÚImplementationÚgenerate_temporary_column_nameÚlength_changing_hintÚnot_implemented©ÚInvalidOperationError)ÚCallableÚSequence)ÚSelf)Ú
AliasNamesÚ	EvalNamesÚ
EvalSeriesÚNarwhalsAggregation)ÚDaskLazyFrame©ÚDaskNamespace)Ú	NoDefault)ÚVersionÚ_LimitedContext)ÚFillNullStrategyÚ	IntoDTypeÚModeKeepStrategyÚRollingInterpolationMethodÚattrÚstrÚreturnr   c                ó   ‡ — ˆ fd„S )Nc                ó8   •‡— |                       ˆˆfd„¦  «        S )Nc                óT   •—  t          | ‰¦  «        di ‰¤Ž                     ¦   «         S ©N© )ÚgetattrÚ	to_series©Úexprr0   Úkwargss    €€úˆ/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/narwhals/_dask/expr.pyú<lambda>z6simple_aggregation.<locals>.<lambda>.<locals>.<lambda>9   s.   ø€ Ð(•W˜T 4Ñ(Ô(Ð2Ð2¨6Ð2Ð2×<Ò<Ñ>Ô>€ ó    ©Ú_with_callable©Úselfr<   r0   s    `€r=   r>   z$simple_aggregation.<locals>.<lambda>8   s'   øø€  $×"5Ò"5Ø>Ð>Ð>Ð>Ð>ñ#ô #€ r?   r7   ©r0   s   `r=   Úsimple_aggregationrE   6   ó   ø€ ðð ð ð ð r?   c                ó   ‡ — ˆ fd„S )Nc                ó8   •‡— |                       ˆˆfd„¦  «        S )Nc                ó0   •—  t          | ‰¦  «        di ‰¤ŽS r6   ©r8   r:   s    €€r=   r>   z1simple_method.<locals>.<lambda>.<locals>.<lambda>@   s"   ø€ Ð(•W˜T 4Ñ(Ô(Ð2Ð2¨6Ð2Ð2€ r?   r@   rB   s    `€r=   r>   zsimple_method.<locals>.<lambda>?   s'   øø€  $×"5Ò"5Ø2Ð2Ð2Ð2Ð2ñ#ô #€ r?   r7   rD   s   `r=   Úsimple_methodrK   =   rF   r?   c                ó   ‡ — ˆ fd„S )Nc                ó0   •— |                       ‰|¦  «        S ©N)Ú
_binary_op)rC   Úotherr0   s     €r=   r>   zsimple_binary.<locals>.<lambda>F   s   ø€ ˜tŸš¨t°UÑ;Ô;€ r?   r7   rD   s   `r=   Úsimple_binaryrQ   D   s   ø€ à;Ð;Ð;Ð;Ð;r?   ÚopúCallable[..., dx.Series]c                ó   ‡ — ˆ fd„S )Nc                ó0   •— |                       ‰|¦  «        S rN   )Ú_reverse_binary_op)rC   rP   rR   s     €r=   r>   z&trivial_binary_right.<locals>.<lambda>K   s   ø€ ˜t×6Ò6°r¸5ÑAÔA€ r?   r7   )rR   s   `r=   Útrivial_binary_rightrW   I   s   ø€ àAÐAÐAÐAÐAr?   c                  óþ  — e Zd ZU ej        Zded<    ed¦  «        Z ed¦  «        Z	 ed¦  «        Z
 ed¦  «        Z ed¦  «        Z ed¦  «        Z ed	¦  «        Z ed
¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed„ ¦  «        Z ed„ ¦  «        Z ed„ ¦  «        Z ed„ ¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z  ed¦  «        Z! ed¦  «        Z" ed¦  «        Z# ed¦  «        Z$ ed¦  «        Z% ed¦  «        Z& e'd ¦  «        Z( e'd!¦  «        Z) e'd"¦  «        Z* e'd#¦  «        Z+ e'd$¦  «        Z, e'd%¦  «        Z- e'd&¦  «        Z. e'd'¦  «        Z/dªd2„Z0d«d6„Z1d¬d8„Z2d­d:„Z3e4d®d@„¦   «         Z5e4d¯dC„¦   «         Z6	 d°d±dH„Z7d²dJ„Z8d³dN„Z9d´dQ„Z:dµdS„Z;d¶dT„Z<d¶dU„Z=d­dV„Z>d·dX„Z?d¸d[„Z@d¸d\„ZAd¸d]„ZBd¸d^„ZCd¸d_„ZDd¹dc„ZEd¹dd„ZFdºdf„ZGdºdg„ZHd­dh„ZId­di„ZJd»dl„ZKd¼dr„ZLd½du„ZMd¾dv„ZNd¿dw„ZOd­dx„ZPd­dy„ZQd­dz„ZRdÀd„ZSd­d€„ZTd­d�„ZUd­d‚„ZVd¶dƒ„ZWd­d„„ZXdÁd‡„ZYdÂd‰„ZZdÃdŒ„Z[d­d�„Z\dÄd�„Z]d­d�„Z^d­d‘„Z_d­d’„Z`d­d“„ZadÅd–„ZbdÆdž„ZceddÇd „¦   «         ZeeddÈd¢„¦   «         ZfeddÉd¤„¦   «         Zg eh¦   «         Zi eh ejd¥d¦¬§¦  «        ¬¨¦  «        Zk eh¦   «         Zl eh¦   «         Zm eh¦   «         Zn eh¦   «         ZodMed©<   dDS )ÊÚDaskExprr   Ú_implementationÚ__add__Ú__sub__Ú__mul__Ú__truediv__Ú__pow__Ú__mod__Ú__eq__Ú__ne__Ú__gt__Ú__ge__Ú__lt__Ú__le__Ú__and__Ú__or__c                ó   — | |z
  S rN   r7   ©ÚxÚys     r=   r>   zDaskExpr.<lambda>d   ó
   € °°Q±€ r?   c                ó   — | |z  S rN   r7   rj   s     r=   r>   zDaskExpr.<lambda>e   s
   € °Q¸±U€ r?   c                ó   — | |z  S rN   r7   rj   s     r=   r>   zDaskExpr.<lambda>f   s
   € °°A±€ r?   c                ó   — | |z  S rN   r7   rj   s     r=   r>   zDaskExpr.<lambda>g   rm   r?   ÚallÚanyÚcountÚkurtosisÚmaxÚmeanÚminÚskewÚstdÚsumÚvarÚ
__invert__Ú__neg__ÚabsÚdiffÚdropnaÚisnaÚroundÚuniqueÚcallú$EvalSeries[DaskLazyFrame, dx.Series]Úevaluate_output_namesúEvalNames[DaskLazyFrame]Úalias_output_namesúAliasNames | NoneÚversionr*   r2   ÚNonec               ó>   — || _         || _        || _        || _        d S rN   )Ú_callÚ_evaluate_output_namesÚ_alias_output_namesÚ_version)rC   r„   r†   rˆ   rŠ   s        r=   Ú__init__zDaskExpr.__init__|   s&   € ð ˆŒ
Ø&;ˆÔ#Ø#5ˆÔ ØˆŒˆˆr?   Údfr&   úSequence[dx.Series]c                ó,   — |                       |¦  «        S rN   )r�   )rC   r’   s     r=   Ú__call__zDaskExpr.__call__‰   s   € Ø�zŠz˜"‰~Œ~Ðr?   r(   c                ó0   — ddl m}  || j        ¬¦  «        S )Nr   r'   )rŠ   )Únarwhals._dask.namespacer(   r�   )rC   r(   s     r=   Ú__narwhals_namespace__zDaskExpr.__narwhals_namespace__Œ   s)   € Ø:Ð:Ð:Ð:Ð:Ð:àˆ} T¤]Ð3Ñ3Ô3Ð3r?   r!   c                ó`   ‡ — dˆ fd„}‰                       |‰ j        ‰ j        ‰ j        ¬¦  «        S )Nr’   r&   r2   úlist[dx.Series]c                ó.   •— d„  ‰| ¦  «        D ¦   «         S )Nc                ó4   — g | ]}|j         d          d          ‘ŒS )r   )Úloc)Ú.0Úresults     r=   ú
<listcomp>z4DaskExpr.broadcast.<locals>.func.<locals>.<listcomp>•   s#   € Ð<Ð<Ð<¨�F”J˜q”M !Ô$Ð<Ð<Ð<r?   r7   )r’   rC   s    €r=   Úfuncz DaskExpr.broadcast.<locals>.func’   s!   ø€ ð =Ð<°4°4¸±8´8Ð<Ñ<Ô<Ð<r?   ©r†   rˆ   rŠ   ©r’   r&   r2   rš   ©Ú	__class__rŽ   r�   r�   ©rC   r¡   s   ` r=   Ú	broadcastzDaskExpr.broadcast‘   sR   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð
 �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   Úclsú
type[Self]Úevaluate_column_namesÚcontextr+   c              ó8   ‡— dˆfd„} | |‰d |j         ¬¦  «        S )Nr’   r&   r2   rš   c                ó¢   •‡ — 	 ˆ fd„ ‰‰ ¦  «        D ¦   «         S # t           $ r)}‰                       ‰‰ ¦  «        ¦  «        x}r||‚‚ d }~ww xY w)Nc                ó*   •— g | ]}‰j         |         ‘ŒS r7   )Ú_native_frame)rž   Úcolumn_namer’   s     €r=   r    z<DaskExpr.from_column_names.<locals>.func.<locals>.<listcomp>¨   s1   ø€ ð ð ð à#ð Ô$ [Ô1ðð ð r?   )ÚKeyErrorÚ_check_columns_exist)r’   ÚeÚerrorrª   s   `  €r=   r¡   z(DaskExpr.from_column_names.<locals>.func¦   s’   øø€ ððð ð ð à'<Ð'<¸RÑ'@Ô'@ðñ ô ð øõ ð ð ð Ø×3Ò3Ð4IÐ4IÈ"Ñ4MÔ4MÑNÔNÐN�5ð 'Ø QÐ&Øøøøøðøøøs   „ ›
A¥$A	Á	Ar¢   r£   )r�   )r¨   rª   r«   r¡   s    `  r=   Úfrom_column_nameszDaskExpr.from_column_namesž   sK   ø€ ð		ð 		ð 		ð 		ð 		ð 		ð ˆsØØ"7Ø#ØÔ$ð	
ñ 
ô 
ð 	
r?   Úcolumn_indicesÚintc               ó^   ‡— dˆfd„} | ||                       ‰¦  «        d |j        ¬¦  «        S )Nr’   r&   r2   rš   c                ó"   •‡ — ˆ fd„‰D ¦   «         S )Nc                ó<   •— g | ]}‰j         j        d d …|f         ‘ŒS rN   )ÚnativeÚiloc)rž   Úir’   s     €r=   r    z>DaskExpr.from_column_indices.<locals>.func.<locals>.<listcomp>»   s*   ø€ ÐAÐAÐA¨Q�B”I”N 1 1 1 a 4Ô(ÐAÐAÐAr?   r7   )r’   r¶   s   `€r=   r¡   z*DaskExpr.from_column_indices.<locals>.funcº   s   øø€ ØAÐAÐAÐA°.ÐAÑAÔAÐAr?   r¢   r£   )Ú_eval_names_indicesr�   )r¨   r«   r¶   r¡   s     ` r=   Úfrom_column_indiceszDaskExpr.from_column_indices¸   s_   ø€ ð	Bð 	Bð 	Bð 	Bð 	Bð 	Bð ˆsØØ"%×"9Ò"9¸.Ñ"IÔ"IØ#ØÔ$ð	
ñ 
ô 
ð 	
r?   NÚexpression_argsúdict[str, Self] | NonerS   c               óh   ‡ ‡‡— dˆˆˆ fd„}‰                       |‰ j        ‰ j        ‰ j        ¬¦  «        S )Nr’   r&   r2   rš   c                óÂ   •‡ — g }‰                      ‰ ¦  «        }ˆ fd„‰pi                      ¦   «         D ¦   «         }|D ] } ‰|fi |¤Ž}|                     |¦  «         Œ!|S )Nc                óB   •— i | ]\  }}|‰                      |¦  «        “ŒS r7   ©Ú_evaluate_single_output_expr)rž   ÚkeyÚvaluer’   s      €r=   ú
<dictcomp>z9DaskExpr._with_callable.<locals>.func.<locals>.<dictcomp>Î   s=   ø€ ð #ð #ð #á�C˜ð �R×4Ò4°UÑ;Ô;ð#ð #ð #r?   )r�   ÚitemsÚappend)	r’   Únative_resultsÚnative_series_listÚother_native_seriesÚnative_seriesÚresult_nativer„   rÀ   rC   s	   `     €€€r=   r¡   z%DaskExpr._with_callable.<locals>.funcË   s™   øø€ Ø.0ˆNØ!%§¢¨B¡¤Ðð#ð #ð #ð #à#2Ð#8°b×"?Ò"?Ñ"AÔ"Að#ñ #ô #Ðð "4ð 5ð 5�Ø $  ]Ð JÐ JÐ6IÐ JÐ J�Ø×%Ò% mÑ4Ô4Ð4Ð4Ø!Ð!r?   r¢   r£   r¤   )rC   r„   rÀ   r¡   s   ``` r=   rA   zDaskExpr._with_callableÄ   s^   øøø€ ð
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð 
	"ð �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   r¡   c               ó†   ‡‡— | j         Š‰€d n	‰€‰nˆˆfd„} t          | ¦  «        | j        | j        || j        ¬¦  «        S )Nc                ó,   •—  ‰ ‰| ¦  «        ¦  «        S rN   r7   )Úoutput_namesÚcurrent_alias_output_namesr¡   s    €€r=   r>   z3DaskExpr._with_alias_output_names.<locals>.<lambda>å   s   ø€  d dÐ+EÐ+EÀlÑ+SÔ+SÑ&TÔ&T€ r?   )r„   r†   rˆ   rŠ   )r�   Útyper�   rŽ   r�   )rC   r¡   rˆ   rÔ   s    ` @r=   Ú_with_alias_output_namesz!DaskExpr._with_alias_output_namesÞ   sr   øø€ Ø%)Ô%=Ð"ð ˆ|ð ˆDð *Ð1ð �àTÐTÐTÐTÐTð 	ð �t�D‰zŒzØ”Ø"&Ô"=Ø1Ø”Mð	
ñ 
ô 
ð 	
r?   ú%Callable[[dx.Series, Any], dx.Series]rP   r   c                ó4   — |                       |d|i¬¦  «        S )NrP   ©rÀ   r@   )rC   r„   rP   s      r=   Ú_with_binaryzDaskExpr._with_binaryî   s"   € ð ×"Ò" 4¸'À5Ð9IÐ"ÑJÔJÐJr?   Úop_namer1   c                ó6   ‡— |                       ˆfd„|¦  «        S )Nc                ó6   •—  t          | ‰¦  «        |¦  «        S rN   rJ   )r;   rP   rÛ   s     €r=   r>   z%DaskExpr._binary_op.<locals>.<lambda>ô   s   ø€ Ð5KµW¸TÀ7Ñ5KÔ5KÈEÑ5RÔ5R€ r?   )rÚ   )rC   rÛ   rP   s    ` r=   rO   zDaskExpr._binary_opó   s$   ø€ Ø× Ò Ð!RÐ!RÐ!RÐ!RÐTYÑZÔZÐZr?   Úoperator_funcc                ó\   ‡— |                       ˆfd„|¦  «                             d¦  «        S )Nc                ó   •—  ‰|| ¦  «        S rN   r7   )r;   rP   rÞ   s     €r=   r>   z-DaskExpr._reverse_binary_op.<locals>.<lambda>ú   s   ø€   ¨e°TÑ :Ô :€ r?   Úliteral)rÚ   Úalias)rC   rÞ   rP   s    ` r=   rV   zDaskExpr._reverse_binary_opö   s8   ø€ ð × Ò Ø:Ð:Ð:Ð:¸Eñ
ô 
ç
Š%�	Ñ
Ô
ð	r?   c                óp   ‡ ‡‡— dd„Šdˆˆˆ fd	„}‰                       |‰ j        ‰ j        ‰ j        ¬
¦  «        S )Nr’   r&   Úseriesú	dx.SeriesrP   r2   c                ó„   — t          | ||¦  «        \  }}|                     |¦  «                             |dk    d ¦  «        S ©Nr   ©r   Ú__floordiv__Úwhere©r’   rä   rP   s      r=   Ú	_floordivz(DaskExpr.__floordiv__.<locals>._floordivþ   sA   € õ 8¸¸FÀEÑJÔJ‰MˆF�EØ×'Ò'¨Ñ.Ô.×5Ò5°e¸q²jÀ$ÑGÔGÐGr?   rš   c                ód   •‡ ‡— ‰                       ‰¦  «        Šˆˆ ˆfd„ ‰‰ ¦  «        D ¦   «         S )Nc                ó*   •— g | ]} ‰‰|‰¦  «        ‘ŒS r7   r7   )rž   rä   rì   r’   Úother_seriess     €€€r=   r    z7DaskExpr.__floordiv__.<locals>.func.<locals>.<listcomp>  s'   ø€ ÐOÐOÐO¸F�I�I˜b &¨,Ñ7Ô7ÐOÐOÐOr?   rÅ   )r’   rï   rì   rP   rC   s   `@€€€r=   r¡   z#DaskExpr.__floordiv__.<locals>.func  s@   øøø€ Ø×:Ò:¸5ÑAÔAˆLØOÐOÐOÐOÐOÐOÀdÀdÈ2ÁhÄhÐOÑOÔOÐOr?   r¢   ©r’   r&   rä   rå   rP   rå   r2   rå   r£   r¤   )rC   rP   r¡   rì   s   `` @r=   ré   zDaskExpr.__floordiv__ý   s~   øøø€ ð	Hð 	Hð 	Hð 	Hð	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   c                ó–   ‡ ‡‡— dd„Šdˆˆˆ fd	„}‰                       |‰ j        ‰ j        ‰ j        ¬
¦  «                             d¦  «        S )Nr’   r&   rä   rå   rP   r2   c                ó„   — t          | ||¦  «        \  }}|                     |¦  «                             |dk    d ¦  «        S rç   rè   rë   s      r=   Ú
_rfloordivz*DaskExpr.__rfloordiv__.<locals>._rfloordiv  sA   € õ 8¸¸FÀEÑJÔJ‰MˆF�EØ×&Ò& vÑ.Ô.×5Ò5°fÀ²kÀ4ÑHÔHÐHr?   rš   c                ód   •‡ ‡— ‰                       ‰¦  «        Šˆˆ ˆfd„ ‰‰ ¦  «        D ¦   «         S )Nc                ó*   •— g | ]} ‰‰|‰¦  «        ‘ŒS r7   r7   )rž   rä   ró   r’   Úother_natives     €€€r=   r    z8DaskExpr.__rfloordiv__.<locals>.func.<locals>.<listcomp>  s'   ø€ ÐPÐPÐP¸V�J�J˜r 6¨<Ñ8Ô8ÐPÐPÐPr?   rÅ   )r’   rö   ró   rP   rC   s   `@€€€r=   r¡   z$DaskExpr.__rfloordiv__.<locals>.func  s@   øøø€ Ø×:Ò:¸5ÑAÔAˆLØPÐPÐPÐPÐPÐPÀtÀtÈBÁxÄxÐPÑPÔPÐPr?   r¢   rá   rð   r£   )r¥   rŽ   r�   r�   râ   )rC   rP   r¡   ró   s   `` @r=   Ú__rfloordiv__zDaskExpr.__rfloordiv__  s�   øøø€ ð	Ið 	Ið 	Ið 	Ið	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qð 	Qð �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
÷
 Š%�	Ñ
Ô
ð	r?   c                óJ   ‡ ‡— ddl mŠ dˆˆ fd„}‰                      |¦  «        S )Nr   r   Úsrå   r2   c                óÜ   •— t          | j        ‰j        t          j        ¦  «        }|                     ¦   «         sd} ‰|¦  «        ‚|                      ¦   «                              ¦   «         S )Nz<`median` operation not supported for non-numeric input type.)r   Údtyper�   r   ÚDASKÚ
is_numericÚmedian_approximater9   )rù   rû   Úmsgr   rC   s      €€r=   r¡   zDaskExpr.median.<locals>.func$  sc   ø€ Ý,¨Q¬W°d´mÅ^ÔEXÑYÔYˆEØ×#Ò#Ñ%Ô%ð 1ØT�Ø+Ð+¨CÑ0Ô0Ð0Ø×'Ò'Ñ)Ô)×3Ò3Ñ5Ô5Ð5r?   )rù   rå   r2   rå   )Únarwhals.exceptionsr   rA   )rC   r¡   r   s   ` @r=   ÚmedianzDaskExpr.median!  sO   øø€ Ø=Ð=Ð=Ð=Ð=Ð=ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð ×"Ò" 4Ñ(Ô(Ð(r?   Únc                ó4   ‡— |                       ˆfd„¦  «        S )Nc                ó.   •— |                       ‰¦  «        S rN   )Úshift)r;   r  s    €r=   r>   z DaskExpr.shift.<locals>.<lambda>.  s   ø€ °·
²
¸1±´€ r?   r@   )rC   r  s    `r=   r  zDaskExpr.shift-  s!   ø€ Ø×"Ò"Ð#=Ð#=Ð#=Ð#=Ñ>Ô>Ð>r?   ÚreverseÚboolc               óT   — |rd}t          |¦  «        ‚|                      d„ ¦  «        S )Nz:`cum_sum(reverse=True)` is not supported with Dask backendc                ó*   — |                       ¦   «         S rN   )Úcumsum©r;   s    r=   r>   z"DaskExpr.cum_sum.<locals>.<lambda>6  ó   € °·²±´€ r?   ©ÚNotImplementedErrorrA   ©rC   r  rÿ   s      r=   Úcum_sumzDaskExpr.cum_sum0  s5   € Øð 	+àNˆCÝ% cÑ*Ô*Ð*à×"Ò"Ð#=Ð#=Ñ>Ô>Ð>r?   c               óT   — |rd}t          |¦  «        ‚|                      d„ ¦  «        S )Nz<`cum_count(reverse=True)` is not supported with Dask backendc                ó€   — |                       ¦   «                               t          ¦  «                             ¦   «         S rN   )r�   Úastyper·   r
  r  s    r=   r>   z$DaskExpr.cum_count.<locals>.<lambda>=  s*   € °$·)²)±+´+°×0EÒ0EÅcÑ0JÔ0J×0QÒ0QÑ0SÔ0S€ r?   r  r  s      r=   Ú	cum_countzDaskExpr.cum_count8  s5   € Øð 	+ØPˆCÝ% cÑ*Ô*Ð*à×"Ò"Ð#SÐ#SÑTÔTÐTr?   c               óT   — |rd}t          |¦  «        ‚|                      d„ ¦  «        S )Nz:`cum_min(reverse=True)` is not supported with Dask backendc                ó*   — |                       ¦   «         S rN   )Úcumminr  s    r=   r>   z"DaskExpr.cum_min.<locals>.<lambda>D  r  r?   r  r  s      r=   Úcum_minzDaskExpr.cum_min?  ó5   € Øð 	+ØNˆCÝ% cÑ*Ô*Ð*à×"Ò"Ð#=Ð#=Ñ>Ô>Ð>r?   c               óT   — |rd}t          |¦  «        ‚|                      d„ ¦  «        S )Nz:`cum_max(reverse=True)` is not supported with Dask backendc                ó*   — |                       ¦   «         S rN   )Úcummaxr  s    r=   r>   z"DaskExpr.cum_max.<locals>.<lambda>K  r  r?   r  r  s      r=   Úcum_maxzDaskExpr.cum_maxF  r  r?   c               óT   — |rd}t          |¦  «        ‚|                      d„ ¦  «        S )Nz;`cum_prod(reverse=True)` is not supported with Dask backendc                ó*   — |                       ¦   «         S rN   )Úcumprodr  s    r=   r>   z#DaskExpr.cum_prod.<locals>.<lambda>R  s   € °·²±´€ r?   r  r  s      r=   Úcum_prodzDaskExpr.cum_prodM  s5   € Øð 	+ØOˆCÝ% cÑ*Ô*Ð*à×"Ò"Ð#>Ð#>Ñ?Ô?Ð?r?   Úwindow_sizeÚmin_samplesÚcenterc               ó<   ‡‡‡— |                       ˆˆˆfd„¦  «        S )Nc                óX   •— |                       ‰‰‰¬¦  «                             ¦   «         S ©N)ÚwindowÚmin_periodsr$  )Úrollingrz   ©r;   r$  r#  r"  s    €€€r=   r>   z&DaskExpr.rolling_sum.<locals>.<lambda>V  s-   ø€ ˜ŸšØ"°ÀFð &ñ ô çŠc‰eŒeð r?   r@   ©rC   r"  r#  r$  s    ```r=   Úrolling_sumzDaskExpr.rolling_sumT  s;   øøø€ Ø×"Ò"ðð ð ð ð ð ñ
ô 
ð 	
r?   c               ó<   ‡‡‡— |                       ˆˆˆfd„¦  «        S )Nc                óX   •— |                       ‰‰‰¬¦  «                             ¦   «         S r'  )r*  rv   r+  s    €€€r=   r>   z'DaskExpr.rolling_mean.<locals>.<lambda>]  s-   ø€ ˜ŸšØ"°ÀFð &ñ ô çŠd‰fŒfð r?   r@   r,  s    ```r=   Úrolling_meanzDaskExpr.rolling_mean[  s;   øøø€ Ø×"Ò"ðð ð ð ð ð ñ
ô 
ð 	
r?   Úddofc               ój   ‡‡‡— |dk    r|                       ˆˆˆfd„¦  «        S d}t          |¦  «        ‚)Né   c                óX   •— |                       ‰‰‰¬¦  «                             ¦   «         S r'  )r*  r{   r+  s    €€€r=   r>   z&DaskExpr.rolling_var.<locals>.<lambda>g  ó-   ø€ ˜TŸ\š\Ø&°KÈð *ñ ô ç’#‘%”%ð r?   z5Dask backend only supports `ddof=1` for `rolling_var`©rA   r  ©rC   r"  r#  r$  r1  rÿ   s    ```  r=   Úrolling_varzDaskExpr.rolling_varb  ó\   øøø€ ð �1Š9ˆ9Ø×&Ò&ðð ð ð ð ð ñô ð ð
 FˆÝ! #Ñ&Ô&Ð&r?   c               ój   ‡‡‡— |dk    r|                       ˆˆˆfd„¦  «        S d}t          |¦  «        ‚)Nr3  c                óX   •— |                       ‰‰‰¬¦  «                             ¦   «         S r'  )r*  ry   r+  s    €€€r=   r>   z&DaskExpr.rolling_std.<locals>.<lambda>s  r5  r?   z5Dask backend only supports `ddof=1` for `rolling_std`r6  r7  s    ```  r=   Úrolling_stdzDaskExpr.rolling_stdn  r9  r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )Ú
dask.arrayÚarrayrA   Úfloor©rC   Údas     r=   r@  zDaskExpr.floorz  s*   € ØÐÐÐÐÐà×"Ò" 2¤8Ñ,Ô,Ð,r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚceilrA  s     r=   rD  zDaskExpr.ceil  ó*   € ØÐÐÐÐÐà×"Ò" 2¤7Ñ+Ô+Ð+r?   rÈ   úfloat | Nonec                óˆ   ‡ ‡‡— |€t           j        n|Š|€t          d¦  «        n|Šdˆ ˆˆfd„}‰                      |¦  «        S )NÚnanr;   rå   r2   c                ó¾   •— t          d| | k    ¦  «        }|                     d¦  «        }t          | j        ‰j        ¦  «        r‰n‰}|                      ||¦  «        S )Nrå   F)r   Úfillnar   rû   rZ   Úmask)r;   rK  ÚfillrC   Úvalue_nullableÚvalue_numpys      €€€r=   r¡   zDaskExpr.fill_nan.<locals>.funcˆ  sb   ø€ å˜ T¨T¢\Ñ2Ô2ˆDØ—;’;˜uÑ%Ô%ˆDõ % T¤Z°Ô1EÑFÔFð!��à ð ð
 —9’9˜T 4Ñ(Ô(Ð(r?   ©r;   rå   r2   rå   )ÚpdÚNAÚfloatrA   )rC   rÈ   r¡   rM  rN  s   `  @@r=   Úfill_nanzDaskExpr.fill_nan„  se   øøø€ Ø"' -�œ˜°UˆØ&+ m•e˜E‘l”l�l¸ˆð		)ð 		)ð 		)ð 		)ð 		)ð 		)ð 		)ð 		)ð ×"Ò" 4Ñ(Ô(Ð(r?   úSelf | NoneÚstrategyúFillNullStrategy | NoneÚlimitú
int | Nonec                óž   ‡ ‡‡‡— ‰€‰                       ˆˆfd„¦  «        S dˆ ˆfd„}‰                      |‰ j        ‰ j        ‰ j        ¬¦  «        S )	Nc                óh   •— ‰dk    r|                       ‰¬¦  «        n|                      ‰¬¦  «        S )NÚforward)rW  )ÚffillÚbfill)r;   rW  rU  s    €€r=   r>   z$DaskExpr.fill_null.<locals>.<lambda>š  s:   ø€ à 9Ò,Ð,ð —J’J U�JÑ+Ô+Ð+àŸš¨%˜Ñ0Ô0ð r?   r’   r&   r2   rš   c                óz   •‡ ‡— ‰                       ‰¦  «        Šˆ ˆfd„ ‰‰ ¦  «        D ¦   «         }d„ |D ¦   «         S )Nc              3  ó:   •K  — | ]}t          ‰|‰¦  «        V — Œd S rN   )r   )rž   rù   r’   Ú
fill_values     €€r=   ú	<genexpr>z3DaskExpr.fill_null.<locals>.func.<locals>.<genexpr>£  s0   øè è € ÐXÐXÈ!Õ2°2°q¸*ÑEÔEÐXÐXÐXÐXÐXÐXr?   c                ó>   — g | ]\  }}|                      |¦  «        ‘ŒS r7   )rJ  )rž   rä   rL  s      r=   r    z4DaskExpr.fill_null.<locals>.func.<locals>.<listcomp>¤  s(   € ÐDÐDÐD©L¨F°D�F—M’M $Ñ'Ô'ÐDÐDÐDr?   rÅ   )r’   Úalignedr`  rC   rÈ   s   ` @€€r=   r¡   z DaskExpr.fill_null.<locals>.func¡  sQ   øøø€ Ø×8Ò8¸Ñ?Ô?ˆJØXÐXÐXÐXÐXÈtÈtÐTVÉxÌxÐXÑXÔXˆGØDÐD¸GÐDÑDÔDÐDr?   r¢   r£   )rA   r¥   rŽ   r�   r�   )rC   rÈ   rU  rW  r¡   s   ```` r=   Ú	fill_nullzDaskExpr.fill_null•  s™   øøøø€ ð ˆ=Ø×&Ò&ðð ð ð ð ñô ð ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð
 �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   Úlower_boundÚupper_boundc                ó8   — |                       d„ ||dœ¬¦  «        S )Nc                ó0   — |                       ||¬¦  «        S )N)ÚlowerÚupper©Úclip)r;   re  rf  s      r=   r>   zDaskExpr.clip.<locals>.<lambda>¯  s   € °4·9²9Ø!¨ð 4=ñ 4ô 4€ r?   )re  rf  rÙ   r@   )rC   re  rf  s      r=   rl  zDaskExpr.clip­  s6   € Ø×"Ò"ðð ð -8ÈÐTÐTð	 #ñ 
ô 
ð 	
r?   c                ó6   — |                       d„ d|i¬¦  «        S )Nc                ó.   — |                       |¬¦  «        S )N)ri  rk  )r;   re  s     r=   r>   z%DaskExpr.clip_lower.<locals>.<lambda>·  ó   €  d§i¢i°k iÑ&BÔ&B€ r?   re  rÙ   r@   )rC   re  s     r=   Ú
clip_lowerzDaskExpr.clip_lowerµ  ó-   € Ø×"Ò"ØBÐBØ*¨KÐ8ð #ñ 
ô 
ð 	
r?   c                ó6   — |                       d„ d|i¬¦  «        S )Nc                ó.   — |                       |¬¦  «        S )N)rj  rk  )r;   rf  s     r=   r>   z%DaskExpr.clip_upper.<locals>.<lambda>½  ro  r?   rf  rÙ   r@   )rC   rf  s     r=   Ú
clip_upperzDaskExpr.clip_upper»  rq  r?   c                ó.   — |                       d„ ¦  «        S )Nc                óR   — |                       d¬¦  «                             ¦   «         S )NF)r€   )Únuniquer9   r  s    r=   r>   z#DaskExpr.n_unique.<locals>.<lambda>Â  s    € °·²ÀE°Ñ0JÔ0J×0TÒ0TÑ0VÔ0V€ r?   r@   ©rC   s    r=   Ún_uniquezDaskExpr.n_uniqueÁ  s   € Ø×"Ò"Ð#VÐ#VÑWÔWÐWr?   c                ó:   ‡ — dˆ fd„}‰                       |¦  «        S )Nr;   rå   r2   c                ó¢   •— t          | j        ‰j        ‰j        ¦  «        }|                     ¦   «         r| | k    S d|› d�}t          |¦  «        ‚)Nz4`.is_nan` only supported for numeric dtypes and not z, did you mean `.is_null`?)r   rû   r�   rZ   rý   r   )r;   rû   rÿ   rC   s      €r=   r¡   zDaskExpr.is_nan.<locals>.funcÅ  s^   ø€ Ý,Ø”
˜DœM¨4Ô+?ñô ˆEð ×ÒÑ!Ô!ð $Ø˜t’|Ð#ØjÈÐjÐjÐjˆCÝ'¨Ñ,Ô,Ð,r?   rO  r@   r¦   s   ` r=   Úis_nanzDaskExpr.is_nanÄ  s7   ø€ ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð ×"Ò" 4Ñ(Ô(Ð(r?   c                ó.   — |                       d„ ¦  «        S )Nc                ó4   — | j                              ¦   «         S rN   )Úsizer9   r  s    r=   r>   zDaskExpr.len.<locals>.<lambda>Ñ  s   € °´	×0CÒ0CÑ0EÔ0E€ r?   r@   rx  s    r=   ÚlenzDaskExpr.lenÐ  s   € Ø×"Ò"Ð#EÐ#EÑFÔFÐFr?   ÚquantilerR  Úinterpolationr/   c                óh   ‡— |dk    rdˆfd„}|                       |¦  «        S d}t          |¦  «        ‚)NÚlinearr;   rå   r2   c                óŽ   •— | j         dk    rd}t          |¦  «        ‚|                      ‰d¬¦  «                             ¦   «         S )Nr3  zK`Expr.quantile` is not supported for Dask backend with multiple partitions.Údask)ÚqÚmethod)Únpartitionsr  r�  r9   )r;   rÿ   r�  s     €r=   r¡   zDaskExpr.quantile.<locals>.funcØ  sM   ø€ ØÔ# aÒ'Ð'Øg�CÝ-¨cÑ2Ô2Ð2Ø—}’}Ø vð %ñ ô ç’)‘+”+ðr?   zx`higher`, `lower`, `midpoint`, `nearest` - interpolation methods are not supported by Dask. Please use `linear` instead.rO  r6  )rC   r�  r‚  r¡   rÿ   s    `   r=   r�  zDaskExpr.quantileÓ  sZ   ø€ ð ˜HÒ$Ð$ðð ð ð ð ð ð ×&Ò& tÑ,Ô,Ð,ð IˆÝ! #Ñ&Ô&Ð&r?   c                ó4   — dd„}|                       |¦  «        S )Nr;   rå   r2   c                óB  — | j         }t          d|gd¬¦  «        }t          |                      ¦   «         |¦  «        }t	          d¬¦  «        }t          d |j        |fi |¤Ž                     |di¦  «        ¦  «        }||         }||                              |¦  «        S )Né   Ú
row_index_©Ún_bytesÚcolumnsÚprefixF©Údrop_null_keysúdx.DataFramerw   ©	Únamer   r   Úto_framer   r   ÚgroupbyÚaggÚisin)r;   Ú_nameÚ	col_tokenÚframeÚgroup_by_kwargsÚaggedÚfirst_distinct_indexs          r=   r¡   z(DaskExpr.is_first_distinct.<locals>.funcå  s²   € Ø”IˆEÝ6Ø E 7°<ðñ ô ˆIõ " $§-¢-¡/¤/°9Ñ=Ô=ˆEÝ2À%ÐHÑHÔHˆOÝØØ�”˜eÐ7Ð7 Ð7Ð7×;Ò;¸YÈÐ<NÑOÔOñô ˆEð $)¨Ô#3Ð Ø˜Ô#×(Ò(Ð)=Ñ>Ô>Ð>r?   rO  r@   r¦   s     r=   Úis_first_distinctzDaskExpr.is_first_distinctä  s,   € ð	?ð 	?ð 	?ð 	?ð ×"Ò" 4Ñ(Ô(Ð(r?   c                ó4   — dd„}|                       |¦  «        S )Nr;   rå   r2   c                óB  — | j         }t          d|gd¬¦  «        }t          |                      ¦   «         |¦  «        }t	          d¬¦  «        }t          d |j        |fi |¤Ž                     |di¦  «        ¦  «        }||         }||                              |¦  «        S )NrŒ  r�  rŽ  Fr’  r”  ru   r•  )r;   r›  rœ  r�  rž  rŸ  Úlast_distinct_indexs          r=   r¡   z'DaskExpr.is_last_distinct.<locals>.funcö  s²   € Ø”IˆEÝ6Ø E 7°<ðñ ô ˆIõ " $§-¢-¡/¤/°9Ñ=Ô=ˆEÝ2À%ÐHÑHÔHˆOÝØØ�”˜eÐ7Ð7 Ð7Ð7×;Ò;¸YÈÐ<NÑOÔOñô ˆEð #(¨	Ô"2ÐØ˜Ô#×(Ò(Ð)<Ñ=Ô=Ð=r?   rO  r@   r¦   s     r=   Úis_last_distinctzDaskExpr.is_last_distinctõ  s,   € ð	>ð 	>ð 	>ð 	>ð ×"Ò" 4Ñ(Ô(Ð(r?   c                ó4   — dd„}|                       |¦  «        S )Nr;   rå   r2   c                ó°   — | j         }t          d¬¦  «        } |                      ¦   «         j        |fi |¤Ž                     d|t
          f¬¦  «        dk    S )NFr’  r  )Úmetar3  )r–  r   r—  r˜  Ú	transformr·   )r;   r›  rž  s      r=   r¡   z DaskExpr.is_unique.<locals>.func  sf   € Ø”IˆEÝ2À%ÐHÑHÔHˆOð�—’‘”Ü˜ð3ð 3Ø"1ð3ð 3ç’˜6¨µ¨�Ñ5Ô5Øòðr?   rO  r@   r¦   s     r=   Ú	is_uniquezDaskExpr.is_unique  s,   € ð	ð 	ð 	ð 	ð ×"Ò" 4Ñ(Ô(Ð(r?   c                ó4   ‡— |                       ˆfd„¦  «        S )Nc                ó.   •— |                       ‰¦  «        S rN   )rš  )r;   rP   s    €r=   r>   z DaskExpr.is_in.<locals>.<lambda>  s   ø€ °·	²	¸%Ñ0@Ô0@€ r?   r@   )rC   rP   s    `r=   Úis_inzDaskExpr.is_in  s!   ø€ Ø×"Ò"Ð#@Ð#@Ð#@Ð#@ÑAÔAÐAr?   c                ó.   — |                       d„ ¦  «        S )Nc                ór   — |                       ¦   «                              ¦   «                              ¦   «         S rN   )r�   rz   r9   r  s    r=   r>   z%DaskExpr.null_count.<locals>.<lambda>  s$   € °·	²	±´·²Ñ0AÔ0A×0KÒ0KÑ0MÔ0M€ r?   r@   rx  s    r=   Ú
null_countzDaskExpr.null_count  s   € Ø×"Ò"Ð#MÐ#MÑNÔNÐNr?   Úorder_byúSequence[str]c                ód   ‡ ‡— dˆˆ fd„}‰                       |‰ j        ‰ j        ‰ j        ¬¦  «        S )Nr’   r&   r2   r“   c                ó2   •—  ‰ | j         ‰dddœŽ¦  «        S )NF)Ú
descendingÚ
nulls_last)Úsort)r’   r±  rC   s    €€r=   r¡   z1DaskExpr._over_without_partition_by.<locals>.func  s&   ø€ Ø�4˜˜œ °eÈÐNÐNÐNÑOÔOÐOr?   r¢   ©r’   r&   r2   r“   r¤   )rC   r±  r¡   s   `` r=   Ú_over_without_partition_byz#DaskExpr._over_without_partition_by  s_   øø€ ð	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   Úpartition_byc                ó¶  ‡ ‡‡‡	‡
‡— ‰s|sJ ‚‰                       |¦  «        S ddlm} ‰ j        Š
‰r$‰
j        �‰
j        j        sd}t          |¦  «        ‚|rd}t          |¦  «        ‚t          t          t          ‰ j         	                    ¦   «         ¦  «        ¦  «        ¦  «        Š‰d         }t          d|j        ¦  «        }	 |j        |         Šn?# t          $ r2 d|› dd	                     |j        ¦  «        › d
�}t          |¦  «        d ‚w xY wt          ||j        ¦  «        Š	dˆˆ	ˆ
ˆˆˆ fd„}‰                      |‰ j        ‰ j        ‰ j        ¬¦  «        S )Nr   )ÚPandasLikeGroupByzÁOnly elementary expressions are supported for `.over` in dask backend when `partition_by` is specified.

Please see: https://narwhals-dev.github.io/narwhals/concepts/improve_group_by_operation/z4`over` with `order_by` is not yet supported in Dask.éÿÿÿÿr%   zUnsupported function: z- in `over` context.

Supported functions are z, ú
r’   r&   r2   r“   c           
     óà  •‡— ‰                      ¦   «         }‰j        �9|                      t          dt	          ‰d d…         |¦  «        ¦  «        ¦  «        } t          ‰| g ¦  «        \  }}t          j        ¦   «         5  t          j        ddt          ¬¦  «         t          d¬¦  «        } | j        j        ‰fi |¤Ž}‰	dk    rLt          |¦  «        d	k    rd
}t          |¦  «        ‚ |j        ‰	fi ‰
¤Ž                     |d         ¦  «        }n! |t#          |¦  «                 j        ‰	fi ‰
¤Ž}d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        j        Šˆfd„|D ¦   «         S )NrY   r½  Úignorez.*`meta` is not specified)ÚmessageÚcategoryFr’  r  r3  z)Safety check failed, please report a bug.r   c                ó    •— g | ]
}‰|         ‘ŒS r7   r7   )rž   r–  Úresult_frames     €r=   r    z/DaskExpr.over.<locals>.func.<locals>.<listcomp>l  s   ø€ Ð;Ð;Ð;¨4�L Ô&Ð;Ð;Ð;r?   )r˜   ÚprevÚwith_columnsr   r   r   ÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningr   r»   r˜  r€  ÚAssertionErrorr©  r—  ÚlistÚ_with_native)r’   ÚplxÚ_Úaliasesrž  Úgroupedrÿ   Ú
res_nativerÄ  Údask_function_nameÚdask_kwargsr¨  Únodesrº  rC   s           @€€€€€€r=   r¡   zDaskExpr.over.<locals>.funcS  sß  øø€ Ø×-Ò-Ñ/Ô/ˆCØŒyÐ$Ø—_’_¥T¨*µnÀUÈ3ÈBÈ3ÄZÐQTÑ6UÔ6UÑ%VÔ%VÑWÔW�Ý:¸4ÀÀRÑHÔH‰JˆAˆwåÔ(Ñ*Ô*ð ð åÔ'ØÐ&AÍKðñ ô ð õ #7ÀeÐ"LÑ"LÔ"L�Ø+˜"œ)Ô+¨LÐLÐL¸OÐLÐL�Ø%¨Ò/Ð/Ý˜7‘|”| qÒ(Ð(ØI˜Ý,¨SÑ1Ô1Ð1Ø!2 Ô!2Ø*ð"ð "Ø.9ð"ð "ç’h˜w qœzÑ*Ô*ð �Jð "B ­¨g©¬Ô!7Ô!AØ*ð"ð "Ø.9ð"ð "�Jðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð$ Ÿ?š?¨:Ñ6Ô6Ô=ˆLØ;Ð;Ð;Ð;°7Ð;Ñ;Ô;Ð;s   Á>B3D=Ä=EÅEr¢   r¸  )r¹  Únarwhals._pandas_like.group_byr¼  Ú	_metadatarÅ  Úis_elementwiser  rÌ  ÚreversedÚiter_nodes_reversedr   r–  Ú_REMAP_AGGSr±   Újoinr   r<   r¥   rŽ   r�   r�   )rC   rº  r±  r¼  rÿ   Ú	leaf_nodeÚfunction_namer¡   rÓ  rÔ  r¨  rÕ  s   ``      @@@@r=   ÚoverzDaskExpr.over&  sÛ  øøøøøø€ Øð 	=ØˆOˆO�8Ø×2Ò2°8Ñ<Ô<Ð<àDÐDÐDÐDÐDÐDð Œ~ˆØð 		+ØŒIÐ!¨$¬)Ô*BÐ!ð_ð õ & cÑ*Ô*Ð*àð 	+àHˆCÝ% cÑ*Ô*Ð*å•X�d 4¤>×#EÒ#EÑ#GÔ#GÑHÔHÑIÔIÑJÔJˆØ˜"”Iˆ	ÝÐ2°I´NÑCÔCˆð	5Ø!2Ô!>¸}Ô!MÐÐøÝð 	5ð 	5ð 	5ðX¨ð Xð XØ+/¯9ª9Ð5FÔ5RÑ+SÔ+SðXð Xð Xð õ & cÑ*Ô*°Ð4ð	5øøøõ 9¸È	ÔHXÑYÔYˆð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð6 �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
s   ÃC Ã<Drû   r-   c                ó>   ‡ ‡— dˆˆ fd„}‰                       |¦  «        S )Nr;   rå   r2   c                óX   •— t          ‰‰j        ¦  «        }|                      |¦  «        S rN   )r   r�   r  )r;   Únative_dtyperû   rC   s     €€r=   r¡   zDaskExpr.cast.<locals>.funcv  s&   ø€ Ý3°E¸4¼=ÑIÔIˆLØ—;’;˜|Ñ,Ô,Ð,r?   rO  r@   )rC   rû   r¡   s   `` r=   r   zDaskExpr.castu  s=   øø€ ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð ×"Ò" 4Ñ(Ô(Ð(r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚisfiniterA  s     r=   Ú	is_finitezDaskExpr.is_finite|  s*   € ØÐÐÐÐÐà×"Ò" 2¤;Ñ/Ô/Ð/r?   Úbasec                óJ   ‡‡— dd l mŠ dˆˆfd„}|                      |¦  «        S )Nr   r;   rå   r2   c                óZ   •— ‰                      | ¦  «        ‰                      ‰¦  «        z  S rN   )Úlog)r;   ræ  rB  s    €€r=   Ú_logzDaskExpr.log.<locals>._log„  s"   ø€ Ø—6’6˜$‘<”< "§&¢&¨¡,¤,Ñ.Ð.r?   rO  )r>  r?  rA   )rC   ræ  rê  rB  s    ` @r=   ré  zDaskExpr.log�  sO   øø€ ØÐÐÐÐÐð	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð ×"Ò" 4Ñ(Ô(Ð(r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚexprA  s     r=   rì  zDaskExpr.exp‰  ó*   € ØÐÐÐÐÐà×"Ò" 2¤6Ñ*Ô*Ð*r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚsinrA  s     r=   rï  zDaskExpr.sinŽ  rí  r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚcosrA  s     r=   rñ  zDaskExpr.cos“  rí  r?   c                óB   — dd l m} |                      |j        ¦  «        S rç   )r>  r?  rA   ÚsqrtrA  s     r=   ró  zDaskExpr.sqrt˜  rE  r?   Úkeepr.   c               ó:   ‡— dˆfd„}|                       |¦  «        S )Nr;   rå   r2   c                ó¤   •— | j         }|                      ¦   «                              ¦   «         |         }‰dk    r|                     d¦  «        n|S )Nrr   r3  )r–  r—  ÚmodeÚhead)r;   r›  rŸ   rô  s      €r=   r¡   zDaskExpr.mode.<locals>.funcž  sD   ø€ Ø”IˆEØ—]’]‘_”_×)Ò)Ñ+Ô+¨EÔ2ˆFØ%)¨U¢] ]�6—;’;˜q‘>”>�>¸Ð>r?   rO  r@   )rC   rô  r¡   s    ` r=   r÷  zDaskExpr.mode�  s7   ø€ ð	?ð 	?ð 	?ð 	?ð 	?ð 	?ð
 ×"Ò" 4Ñ(Ô(Ð(r?   ÚdefaultúDaskExpr | NoDefaultÚoldúSequence[Any]ÚnewÚreturn_dtypeúIntoDType | Nonec               ó   ‡ ‡‡‡‡— ‰t           u rd}t          |¦  «        ‚t          t          ||d¬¦  «        ¦  «        Št	          |¦  «        Šd
ˆˆˆˆˆ fd„}‰                      |‰ j        ‰ j        ‰ j        ¬	¦  «        S )NzK`replace_strict` requires an explicit value for `default` for dask backend.F)Ústrictr’   r&   r2   rš   c                ó²   •‡‡— |                       ‰¦  «        Šˆˆˆfd„ ‰| ¦  «        D ¦   «         }‰r#t          ‰‰j        ¦  «        Šˆfd„|D ¦   «         S |S )Nc                óˆ   •— g | ]>}|                      ‰¦  «                             |                     ‰¦  «        ‰¦  «        ‘Œ?S r7   )Úreplacerê   rš  )rž   rä   Údefault_seriesÚmappingÚold_s     €€€r=   r    z9DaskExpr.replace_strict.<locals>.func.<locals>.<listcomp>¶  sQ   ø€ ð ð ð àð —’˜wÑ'Ô'×-Ò-¨f¯kªk¸$Ñ.?Ô.?ÀÑPÔPðð ð r?   c                ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r7   )r  )rž   Úresrâ  s     €r=   r    z9DaskExpr.replace_strict.<locals>.func.<locals>.<listcomp>½  s%   ø€ ÐDÐDÐD°S˜Ÿ
š
 <Ñ0Ô0ÐDÐDÐDr?   )rÆ   r   r�   )	r’   Úresultsr  râ  rù  r  r  rþ  rC   s	     @@€€€€€r=   r¡   z%DaskExpr.replace_strict.<locals>.func´  s�   øøø€ Ø×<Ò<¸WÑEÔEˆNðð ð ð ð ð à"˜d 2™hœhðñ ô ˆGð
 ð EÝ7¸ÀdÄmÑTÔT�ØDÐDÐDÐD¸GÐDÑDÔDÐDàˆNr?   r¢   r£   )	r   Ú
ValueErrorÚdictÚziprÌ  r¥   rŽ   r�   r�   )	rC   rù  rû  rý  rþ  rÿ   r¡   r  r  s	   ``  `  @@r=   Úreplace_strictzDaskExpr.replace_strict¥  s¯   øøøøø€ ð •jÐ Ð Ø_ˆCÝ˜S‘/”/Ð!å•s˜3 ¨EÐ2Ñ2Ô2Ñ3Ô3ˆÝ�C‰yŒyˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð �~Š~ØØ"&Ô"=Ø#Ô7Ø”Mð	 ñ 
ô 
ð 	
r?   r   c                ó    — t          | ¦  «        S rN   r   rx  s    r=   r1   zDaskExpr.strÈ  s   € å& tÑ,Ô,Ð,r?   r
   c                ó    — t          | ¦  «        S rN   r	   rx  s    r=   ÚdtzDaskExpr.dtÌ  s   € å(¨Ñ.Ô.Ð.r?   r   c                ó    — t          | ¦  «        S rN   r   rx  s    r=   rÌ  zDaskExpr.listÐ  s   € å$ TÑ*Ô*Ð*r?   z.lf.select(nw.col('a').filter(nw.col('b') > 0))z&lf.filter(nw.col('b') > 0).select('a'))Ú
instead_ofÚuse)ÚhintÚstruct)
r„   r…   r†   r‡   rˆ   r‰   rŠ   r*   r2   r‹   r¸  )r2   r(   )r2   r!   )r¨   r©   rª   r‡   r«   r+   r2   r!   )r¶   r·   r«   r+   r2   r!   rN   )rÀ   rÁ   r„   rS   r2   r!   )r¡   r‰   r2   r!   )r„   r×   rP   r   r2   r!   )rÛ   r1   rP   r   r2   r!   )rÞ   rS   rP   r   r2   r!   )rP   r   r2   r!   )r  r·   r2   r!   )r  r  r2   r!   )r"  r·   r#  r·   r$  r  r2   r!   )
r"  r·   r#  r·   r$  r  r1  r·   r2   r!   )rÈ   rF  r2   r!   )rÈ   rT  rU  rV  rW  rX  r2   r!   )re  r!   rf  r!   r2   r!   )re  r!   r2   r!   )rf  r!   r2   r!   )r�  rR  r‚  r/   r2   r!   )r±  r²  r2   r!   )rº  r²  r±  r²  r2   r!   )rû   r-   r2   r!   )ræ  rR  r2   r!   )rô  r.   r2   r!   )
rù  rú  rû  rü  rý  rü  rþ  rÿ  r2   r!   )r2   r   )r2   r
   )r2   r   )pÚ__name__Ú
__module__Ú__qualname__r   rü   rZ   Ú__annotations__rQ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   rW   Ú__rsub__Ú__rtruediv__Ú__rpow__Ú__rmod__rE   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   rK   r|   r}   r~   r   Ú
drop_nullsÚis_nullr‚   rƒ   r‘   r•   r˜   r§   Úclassmethodrµ   r¿   rA   rÖ   rÚ   rO   rV   ré   r÷   r  r  r  r  r  r  r!  r-  r0  r8  r<  r@  rD  rS  rd  rl  rp  rt  ry  r|  r€  r�  r¡  r¥  rª  r­  r°  r¹  rß  r   rå  ré  rì  rï  rñ  ró  r÷  r  Úpropertyr1   r  rÌ  r   Ú	any_valuer   ÚfilterÚfirstÚrankÚlastr  r7   r?   r=   rY   rY   N   sœ  € € € € € € ð '5Ô&9€OÐ9Ð9Ð9Ñ9ð ˆm˜IÑ&Ô&€GØˆm˜IÑ&Ô&€GØˆm˜IÑ&Ô&€GØ�- Ñ.Ô.€KØˆm˜IÑ&Ô&€GØˆm˜IÑ&Ô&€GØˆ]˜8Ñ$Ô$€FØˆ]˜8Ñ$Ô$€FØˆ]˜8Ñ$Ô$€FØˆ]˜8Ñ$Ô$€FØˆ]˜8Ñ$Ô$€FØˆ]˜8Ñ$Ô$€FØˆm˜IÑ&Ô&€GØˆ]˜8Ñ$Ô$€FØ#Ð#Ð$6Ð$6Ñ7Ô7€HØ'Ð'Ð(:Ð(:Ñ;Ô;€LØ#Ð#Ð$5Ð$5Ñ6Ô6€HØ#Ð#Ð$6Ð$6Ñ7Ô7€HØ
Ð
˜UÑ
#Ô
#€CØ
Ð
˜UÑ
#Ô
#€CØÐ˜wÑ'Ô'€EØ!Ð! *Ñ-Ô-€HØ
Ð
˜UÑ
#Ô
#€CØÐ˜fÑ%Ô%€DØ
Ð
˜UÑ
#Ô
#€CØÐ˜fÑ%Ô%€DØ
Ð
˜UÑ
#Ô
#€CØ
Ð
˜UÑ
#Ô
#€CØ
Ð
˜UÑ
#Ô
#€CØ�˜|Ñ,Ô,€JØˆm˜IÑ&Ô&€GØ
ˆ-˜Ñ
Ô
€CØˆ=˜Ñ Ô €DØ�˜xÑ(Ô(€JØˆm˜FÑ#Ô#€GØˆM˜'Ñ"Ô"€EØˆ]˜8Ñ$Ô$€Fð ð  ð  ð  ðð ð ð ð4ð 4ð 4ð 4ð

ð 
ð 
ð 
ð ð
ð 
ð 
ñ „[ð
ð2 ð	
ð 	
ð 	
ñ „[ð	
ð  37ð
ð 
ð 
ð 
ð 
ð4
ð 
ð 
ð 
ð Kð Kð Kð Kð
[ð [ð [ð [ðð ð ð ð
ð 
ð 
ð 
ð$ð ð ð ð$
)ð 
)ð 
)ð 
)ð?ð ?ð ?ð ?ð?ð ?ð ?ð ?ðUð Uð Uð Uð?ð ?ð ?ð ?ð?ð ?ð ?ð ?ð@ð @ð @ð @ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð
'ð 
'ð 
'ð 
'ð
'ð 
'ð 
'ð 
'ð-ð -ð -ð -ð
,ð ,ð ,ð ,ð
)ð )ð )ð )ð"
ð 
ð 
ð 
ð0
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ðXð Xð Xð Xð
)ð 
)ð 
)ð 
)ðGð Gð Gð Gð'ð 'ð 'ð 'ð")ð )ð )ð )ð")ð )ð )ð )ð")ð )ð )ð )ðBð Bð Bð BðOð Oð Oð Oð
ð 
ð 
ð 
ðM
ð M
ð M
ð M
ð^)ð )ð )ð )ð0ð 0ð 0ð 0ð
)ð )ð )ð )ð+ð +ð +ð +ð
+ð +ð +ð +ð
+ð +ð +ð +ð
,ð ,ð ,ð ,ð
)ð )ð )ð )ð!
ð !
ð !
ð !
ðF ð-ð -ð -ñ „Xð-ð ð/ð /ð /ñ „Xð/ð ð+ð +ð +ñ „Xð+ð  �Ñ!Ô!€IØˆ_Ø!Ð!ØGØ8ð
ñ 
ô 
ðñ ô €Fð ˆOÑÔ€EØˆ?ÑÔ€DØˆ?ÑÔ€Dð "�/Ñ#Ô#€FÐ#Ð#Ð#Ñ#Ð#Ð#r?   rY   )r&   rå   )r0   r1   r2   r   )rR   rS   r2   r   )GÚ
__future__r   rÇ  Útypingr   r   r   ÚpandasrP  Únarwhals._compliantr   r   Únarwhals._dask.expr_dtr
   Únarwhals._dask.expr_listr   Únarwhals._dask.expr_strr   Únarwhals._dask.utilsr   r   r   r   Únarwhals._expression_parsingr   r   Únarwhals._pandas_like.exprr   Únarwhals._pandas_like.utilsr   r   Únarwhals._utilsr   r   r   r   r   r   r   Úcollections.abcr   r    Údask.dataframe.dask_exprÚ	dataframeÚ	dask_exprÚdxÚtyping_extensionsr!   Únarwhals._compliant.typingr"   r#   r$   r%   Únarwhals._dask.dataframer&   r—   r(   Únarwhals._typingr)   r*   r+   Únarwhals.typingr,   r-   r.   r/   rE   rK   rQ   rW   rY   r7   r?   r=   ú<module>r>     s*  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à Ð Ð Ð à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø <Ð <Ð <Ð <Ð <Ð <Ø :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð ð ð [Ð ZÐ ZÐ ZÐ ZÐ ZÐ ZÐ ZØ IÐ IÐ IÐ IÐ IÐ IØ SÐ SÐ SÐ SÐ SÐ SÐ SÐ Sðð ð ð ð ð ð ð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5àð Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2à)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø&Ð&Ð&Ð&Ð&Ð&ðð ð ð ð ð ð ð ð ð ð ð ð 7Ð6Ð6Ð6Ð6Ð6Ø6Ð6Ð6Ð6Ð6Ð6Ø*Ð*Ð*Ð*Ð*Ð*Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ðð ð ð ð<ð <ð <ð <ð
Bð Bð Bð Bð
R
$ð R
$ð R
$ð R
$ð R
$ØÐ)Ô*ØÐ2Ô3ñR
$ô R
$ð R
$ð R
$ð R
$r?   