Ë
    ðmxif  ã                  óÎ  — U d dl mZ d dlmZmZmZmZ d dlmZ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 d dlmZmZmZmZmZ d dlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d d	l)m*Z* d d
l+m,Z, erˆd dlm-Z- d dl.m/Z/ d dlm0Z0 d dl1Z2d dl3Z4d dl5m6Z6m7Z7m8Z8 d dl9m:Z:m;Z; d dl<m=Z= d dl>m?Z?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZFmGZG d dlmHZHmIZI d dlJmKZKmLZL d dlMmNZN d dlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW  ed«      ZX ed«      ZYdZZde[d<   	  e\g d¢«      Z] edej–                  ej˜                  «      Z^ G d „ d!e
e^   «      Z_ G d"„ d#e_ej–                     «      Z` G d$„ d%e_ej˜                     «      Zay)&é    )Úannotations)ÚIteratorÚMappingÚSequenceÚSized)ÚTYPE_CHECKINGÚAnyÚGenericÚLiteralÚTypeVarÚcastÚoverloadN)ÚPolarsNamespace)ÚPolarsSeries)ÚFROM_DICTS_ACCEPTS_MAPPINGSÚcatch_polars_exceptionÚextract_args_kwargsÚnarwhals_to_native_dtypeÚnative_to_narwhals_dtype)ÚImplementationÚ_into_arrow_tableÚconvert_str_slice_to_int_sliceÚgenerate_temporary_column_nameÚis_boolean_selectorÚis_compliant_seriesÚis_index_selectorÚis_rangeÚis_sequence_likeÚis_slice_indexÚis_slice_noneÚparse_columns_to_dropÚrequires)Úis_numpy_array_1d)ÚColumnNotFoundError)ÚIterable)Ú
ModuleType)ÚCallable)ÚSelfÚ	TypeAliasÚTypeIs)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)Ú
PolarsExpr)ÚPolarsGroupByÚPolarsLazyGroupBy)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚVersionÚ_LimitedContext)Ú	DataFrameÚ	LazyFrame)ÚDType)Ú
IntoSchemaÚJoinStrategyÚMultiColSelectorÚMultiIndexSelectorÚPivotAggÚSingleIndexSelectorÚUniqueKeepStrategyÚ_2DArrayÚTÚRzCallable[..., R]r)   ÚMethod)ÚcloneÚ
drop_nullsÚestimated_sizeÚexplodeÚfilterÚgather_everyÚheadÚ	is_uniqueÚitemÚ	iter_rowsÚ	join_asofÚrenameÚrowÚrowsÚsampleÚselectÚsink_parquetÚsortÚtailÚto_arrowÚ	to_pandasÚwith_columnsÚ	write_csvÚwrite_parquetÚNativePolarsFramec                  óÜ  — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ej
                  Zded<   ddœ	 	 	 	 	 	 	 d(d„Zd)d„Ze	d*d„«       Z
e	d+d„«       Ze	d,d„«       Zd-d„Zd.d„Zd/d„Zd0d„Zed1d„«       Zd2d„Zd3d„Zddd œ	 	 	 	 	 	 	 	 	 d4d!„Ze	d5d"„«       Z	 	 	 	 	 	 	 	 	 	 	 	 d6d#„Z	 	 	 	 	 	 	 	 d7d$„Z	 	 	 	 	 	 	 	 	 	 d8d%„Zd5d&„Zd9d'„Zy):ÚPolarsBaseFrameúMethod[Self]rE   rG   rH   rI   rJ   rN   rO   rS   rU   rV   rY   r\   Ú_native_framer4   Ú_versionF)Úvalidate_backend_versionc               óF   — || _         || _        |r| j                  «        y y ©N)r`   ra   Ú_validate_backend_version)ÚselfÚdfÚversionrb   s       úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_polars/dataframe.pyÚ__init__zPolarsBaseFrame.__init__{   s'   € ð  ˆÔØˆŒÙ#Ø×*Ñ*Õ,ð $ó    c                ó8   — | j                   j                  «       }y)z½Raise if installed version below `nw._utils.MIN_VERSIONS`.

        **Only use this when moving between backends.**
        Otherwise, the validation will have taken place already.
        N©Ú_implementationÚ_backend_version)rf   Ú_s     ri   re   z)PolarsBaseFrame._validate_backend_version‡   s   € ð × Ñ ×1Ñ1Ó3‰rk   c                ó6   — | j                   j                  «       S rd   rm   ©rf   s    ri   ro   z PolarsBaseFrame._backend_version�   s   € à×#Ñ#×4Ñ4Ó6Ð6rk   c                ó   — | j                   S rd   )r`   rr   s    ri   ÚnativezPolarsBaseFrame.native“   s   € à×!Ñ!Ð!rk   c                ó.   — | j                   j                  S rd   )rt   Úcolumnsrr   s    ri   rv   zPolarsBaseFrame.columns—   s   € à�{‰{×"Ñ"Ð"rk   c                ó.   — t        | j                  ¬«      S ©N)rh   )r   ra   rr   s    ri   Ú__narwhals_namespace__z&PolarsBaseFrame.__narwhals_namespace__›   s   € Ü t§}¡}Ô5Ð5rk   c                ó´   — | j                   t        j                  u r| j                   j                  «       S dt	        | j                   «      › �}t        |«      ‚)NzExpected polars, got: )rn   r   ÚPOLARSÚto_native_namespaceÚtypeÚAssertionError)rf   Úmsgs     ri   Ú__native_namespace__z$PolarsBaseFrame.__native_namespace__ž   sN   € Ø×Ñ¤>×#8Ñ#8Ñ8Ø×'Ñ'×;Ñ;Ó=Ð=à&¤t¨D×,@Ñ,@Ó'AÐ&BÐCˆÜ˜SÓ!Ð!rk   c                ó<   — | j                  || j                  ¬«      S rx   )Ú	__class__ra   )rf   rg   s     ri   Ú_with_nativezPolarsBaseFrame._with_native¥   s   € Ø�~‰~˜b¨$¯-©-ˆ~Ó8Ð8rk   c                ó<   — | j                  | j                  |¬«      S rx   )r‚   rt   )rf   rh   s     ri   Ú_with_versionzPolarsBaseFrame._with_version¨   s   € Ø�~‰~˜dŸk™k°7ˆ~Ó;Ð;rk   c              ó*   —  | ||j                   ¬«      S rx   )ra   )ÚclsÚdataÚcontexts      ri   Úfrom_nativezPolarsBaseFrame.from_native«   s   € á�4 ×!1Ñ!1Ô2Ð2rk   c                óR   — | j                   | j                  j                  |Ž «      S rd   )rƒ   rt   rS   )rf   Úcolumn_namess     ri   Úsimple_selectzPolarsBaseFrame.simple_select¯   s%   € Ø× Ñ Ð!3 §¡×!3Ñ!3°\Ð!BÓCÐCrk   c                ó    —  | j                   |Ž S rd   )rS   )rf   Úexprss     ri   Ú	aggregatezPolarsBaseFrame.aggregate²   s   € Øˆt�{‰{˜EÐ"Ð"rk   N)Úmaintain_orderÚorder_byc               óÒ  — |r„|r‚t        d| j                  d¬«      }| j                  j                  |«      j	                  |d¬«      j                  |xs | j                  |¬«      j	                  |«      j                  |«      }nQ|r-| j                  j	                  |«      j                  ||¬«      }n"| j                  j                  |||xs d¬«      }| j                  |«      S )Né   Ú
row_index_)ÚprefixF)Ú
nulls_last)Úkeep)r˜   r‘   )r   rv   rt   Úwith_row_indexrU   ÚuniqueÚdroprƒ   )rf   Úsubsetr˜   r‘   r’   ÚtokenÚress          ri   rš   zPolarsBaseFrame.uniqueµ   sÊ   € ñ ™Ü2°1°d·l±lÈ<ÔXˆEà—‘×*Ñ*¨5Ó1ß‘�h¨5�Ó1ß‘˜Ò. $§,¡,°T�Ó:ß‘�e“ß‘�e“ñ ñ Ø—+‘+×"Ñ" 8Ó,×3Ñ3°FÀÐ3ÓF‰Cà—+‘+×$Ñ$Ø˜T°.Ò2IÀEð %ó ˆCð × Ñ  Ó%Ð%rk   c                ó"   — | j                  «       S rd   )Úcollect_schemarr   s    ri   ÚschemazPolarsBaseFrame.schemaÎ   s   € à×"Ñ"Ó$Ð$rk   c          	     ó¤   — | j                   dk  r|dk(  rdn|}| j                  | j                  j                  |j                  ||||¬«      «      S )N)r   é   é   ÚfullÚouter©ÚotherÚhowÚleft_onÚright_onÚsuffix)ro   rƒ   rt   Újoin)rf   r¨   r©   rª   r«   r¬   Ú
how_natives          ri   r­   zPolarsBaseFrame.joinÒ   sa   € ð ×-Ñ-°Ò;ÀÀvÂ‰GÐTWð 	ð × Ñ Ø�K‰K×ÑØ—l‘lØØØ!Øð ó ó
ð 	
rk   c               óÔ   — | j                   dk  r-| j                  | j                  j                  |||¬«      «      S | j                  | j                  j                  |||¬«      «      S )N©é   r   r   )ÚkÚbyÚ
descending©r²   r³   Úreverse)ro   rƒ   rt   Útop_k)rf   r²   r³   r¶   s       ri   r·   zPolarsBaseFrame.top_kè   sn   € ð × Ñ  9Ò,Ø×$Ñ$Ø—‘×!Ñ!ØØØ&ð "ó óð ð × Ñ  §¡×!2Ñ!2°Q¸2ÀwÐ!2Ó!OÓPÐPrk   c                óØ   — | j                   dk  r.| j                  | j                  j                  ||||¬«      «      S | j                  | j                  j	                  ||||¬«      «      S )Nr°   )Úid_varsÚ
value_varsÚvariable_nameÚ
value_name)ÚonÚindexr»   r¼   )ro   rƒ   rt   ÚmeltÚunpivot)rf   r½   r¾   r»   r¼   s        ri   rÀ   zPolarsBaseFrame.unpivotõ   s}   € ð × Ñ  9Ò,Ø×$Ñ$Ø—‘× Ñ Ø!Ø!Ø"/Ø)ð	 !ó óð ð × Ñ Ø�K‰K×ÑØ˜U°-ÈJð  ó ó
ð 	
rk   c           	     óì   — | j                   }| j                  dk  r|j                  n|j                  «       }|j	                  «       D ��ci c]  \  }}|t        || j                  «      “Œ c}}S c c}}w )N©r±   )rt   ro   r¡   r    Úitemsr   ra   )rf   rg   r¡   ÚnameÚdtypes        ri   r    zPolarsBaseFrame.collect_schema  si   € Ø�[‰[ˆØ"×3Ñ3°dÒ:�—’À×@QÑ@QÓ@Sˆð  &Ÿ|™|›~÷
á��eð Ô*¨5°$·-±-Ó@Ñ@ó
ð 	
ùó 
s   Á!A0c                ó4  — | j                   }|€|j                  |«      }nh|j                  t        j                  t        j
                  «       «      j                  |¬«      j                  |«      t        j                  «       «      }| j                  |«      S )N)r’   )
rt   r™   rS   ÚplÚ	int_rangeÚlenÚoverÚaliasÚallrƒ   )rf   rÄ   r’   ÚframeÚresults        ri   r™   zPolarsBaseFrame.with_row_index  su   € Ø—‘ˆØÐØ×)Ñ)¨$Ó/‰Fà—\‘\Ü—‘œRŸV™V›XÓ&×+Ñ+°XÐ+Ó>×DÑDÀTÓJÌBÏFÉFËHóˆFð × Ñ  Ó(Ð(rk   )rg   r\   rh   r4   rb   ÚboolÚreturnÚNone)rÐ   rÑ   )rÐ   ztuple[int, ...])rÐ   r\   )rÐ   z	list[str])rÐ   r   )rÐ   r&   )rg   r\   rÐ   r(   )rh   r4   rÐ   r(   )rˆ   r\   r‰   r5   rÐ   r(   )rŒ   ÚstrrÐ   r(   )r�   r	   rÐ   r(   )
rœ   úSequence[str] | Noner˜   r?   r‘   úbool | Noner’   rÓ   rÐ   r(   ©rÐ   zdict[str, DType])r¨   z"PolarsBaseFrame[NativePolarsFrame]r©   r:   rª   rÓ   r«   rÓ   r¬   rÒ   rÐ   r(   ©r²   Úintr³   zstr | Iterable[str]r¶   zbool | Sequence[bool]rÐ   r(   )
r½   rÓ   r¾   rÓ   r»   rÒ   r¼   rÒ   rÐ   r(   )rÄ   rÒ   r’   rÓ   rÐ   r(   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r{   rn   rj   re   Úpropertyro   rt   rv   ry   r€   rƒ   r…   ÚclassmethodrŠ   r�   r�   rš   r¡   r­   r·   rÀ   r    r™   © rk   ri   r^   r^   j   sø  … ØÓØÓØÓØÓØ
ÓØÓØÓØÓØ
ÓØ
ÓØÓà$Ó$Ø$×+Ñ+€OØÓð */ñ
-àð
-ð ð	
-ð
 #'ð
-ð 
ó
-ó4ð ò7ó ð7ð ò"ó ð"ð ò#ó ð#ó6ó"ó9ó<ð ò3ó ð3óDó#ð '+Ø)-ñ&à$ð&ð !ð	&ð
 $ð&ð 'ð&ð 
ó&ð2 ò%ó ð%ð
à1ð
ð ð	
ð
 &ð
ð 'ð
ð ð
ð 
ó
ð,QØðQØ0ðQØ;PðQà	óQð
à ð
ð $ð
ð ð	
ð
 ð
ð 
ó
ó,
ô	)rk   r^   c                  óø  ‡ — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ed<d„«       Ze	 	 	 	 	 	 	 	 d=d„«       Ze	 	 	 	 	 	 	 	 d>d„«       Zed?d„«       Z	e	 	 	 	 	 	 	 	 d@d„«       Z
dAd„ZdBd„ZdCd „ZedDd!„«       ZedEd"„«       ZedFd#„«       Z	 	 	 	 dGd$„ZdHd%„ZdId&„Z	 dJd'd(œ	 	 	 	 	 dKd)„ZdJd'd(œdLd*„ZedMd+„«       Z	 	 	 	 dNd,„ZdOd-„ZdPd.„Z	 dJd'd/œ	 	 	 	 	 dQd0„ZedRd1„«       ZedSd2„«       Z	 	 	 	 dTd3„Z	 	 	 	 	 	 dUd4„ZdVd5„Z ej<                  d6«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 dWd7„«       ZdXd8„Z 	 	 	 	 	 	 	 	 	 	 	 	 dYˆ fd9„Z!	 	 	 	 	 	 	 	 dZˆ fd:„Z"d[d;„Z#ˆ xZ$S )\ÚPolarsDataFramer_   rD   zMethod[CompliantDataFrameAny]ÚcollectzMethod[int | float]rF   rI   z?Method[Iterator[tuple[Any, ...]] | Iterator[Mapping[str, Any]]]rM   zMethod[PolarsSeries]rK   zMethod[tuple[Any, ...]]rP   z?Method[Sequence[tuple[Any, ...]] | Sequence[Mapping[str, Any]]]rQ   rR   zMethod[pa.Table]rW   zMethod[pd.DataFrame]rX   zMethod[Any]rZ   úMethod[None]r[   c         	     óà   — |j                   j                  «       dk\  rt        j                  |«      }n)t	        dt        j
                  t        ||«      «      «      }| j                  ||¬«      S )N)r±   é   úpl.DataFrame©r‰   )rn   ro   rÇ   r6   r   Ú
from_arrowr   rŠ   )r‡   rˆ   r‰   rt   s       ri   rç   zPolarsDataFrame.from_arrow0  sX   € à×"Ñ"×3Ñ3Ó5¸Ò?Ü—\‘\ $Ó'‰Fä˜.¬"¯-©-Ô8IÈ$ÐPWÓ8XÓ*YÓZˆFØ�‰˜v¨wˆÓ7Ð7rk   c         	     óÜ   — |r<|j                  «       D ��ci c]   \  }}||�t        ||j                  «      nd “Œ" c}}nd }| j                  t	        j
                  ||«      |¬«      S c c}}w ©Nræ   )rÃ   r   ra   rŠ   rÇ   Ú	from_dict)r‡   rˆ   r‰   r¡   ÚkeyrÅ   Ú	pl_schemas          ri   rê   zPolarsDataFrame.from_dict8  sz   € ñ  ð %+§L¡L£N÷	ñ !�S˜%ð ØÐ$ô .¨e°W×5EÑ5EÔFàñôð ð 	ð �‰œrŸ|™|¨D°)Ó<ÀgˆÓNÐNùós   –%A(c         	     ó¨  — |r<|j                  «       D ��ci c]   \  }}||�t        ||j                  «      nd “Œ" c}}nd }|st        j                  |¬«      }nat
        st        |d   t        «      rt        j                  ||«      }n1|xs t        |d   «      }t        j                  d„ |D «       |d¬«      }| j                  ||¬«      S c c}}w )N)r¡   r   c              3  óN   K  — | ]  }t        |j                  «       «      –— Œ y ­wrd   )ÚtupleÚvalues)Ú.0rP   s     ri   ú	<genexpr>z-PolarsDataFrame.from_dicts.<locals>.<genexpr>g  s   è ø€ Ò5¨”�s—z‘z“|×$Ñ5ùs   ‚#%rP   )r¡   Úorientræ   )rÃ   r   ra   rÇ   r6   r   Ú
isinstanceÚdictÚ
from_dictsrï   rŠ   )	r‡   rˆ   r‰   r¡   rë   rÅ   rì   rt   rv   s	            ri   rö   zPolarsDataFrame.from_dictsM  sÎ   € ñ  ð %+§L¡L£N÷	ñ !�S˜%ð ØÐ$ô .¨e°W×5EÑ5EÔFàñôð ð 	ñ Ü—\‘\¨Ô3‰FÝ(¬J°t¸A±wÄÔ,EÜ—]‘] 4¨Ó3‰FàÒ1¤5¨¨a©£>ˆGÜ—\‘\Ù5°Ô5¸gÈeôˆFð �‰˜v¨wˆÓ7Ð7ùó's   –%Cc                ó6   — t        | t        j                  «      S rd   )rô   rÇ   r6   ©Úobjs    ri   Ú
_is_nativezPolarsDataFrame._is_nativel  ó   € ä˜#œrŸ|™|Ó,Ð,rk   c              ó°   — ddl m} t        |t        |f«      r ||«      j	                  «       n|}| j                  t        j                  ||«      |¬«      S )Nr   )ÚSchemaræ   )Únarwhals.schemarý   rô   r   Ú	to_polarsrŠ   rÇ   Ú
from_numpy)r‡   rˆ   r‰   r¡   rý   rì   s         ri   r   zPolarsDataFrame.from_numpyp  sR   € õ 	+ô ˜&¤7¨FÐ"3Ô4ñ �6‹N×$Ñ$Ô&àð 	ð
 �‰œrŸ}™}¨T°9Ó=ÀwˆÓOÐOrk   c                ó<   — | j                   j                  | d¬«      S )Nr¥   ©Úlevel)ra   Ú	dataframerr   s    ri   Úto_narwhalszPolarsDataFrame.to_narwhals‚  ó   € Ø�}‰}×&Ñ& t°6Ð&Ó:Ð:rk   c                 ó   — y)Nrà   rÞ   rr   s    ri   Ú__repr__zPolarsDataFrame.__repr__…  ó   € Ø rk   c                ó   — | S rd   rÞ   rr   s    ri   Ú__narwhals_dataframe__z&PolarsDataFrame.__narwhals_dataframe__ˆ  ó   € Øˆrk   c                 ó   — y rd   rÞ   ©rf   rù   s     ri   Ú_from_native_objectz#PolarsDataFrame._from_native_object‹  s   € ØCFrk   c                 ó   — y rd   rÞ   r  s     ri   r  z#PolarsDataFrame._from_native_objectŽ  s   € Ø>Ark   c                 ó   — y rd   rÞ   r  s     ri   r  z#PolarsDataFrame._from_native_object‘  s   € Ø03rk   c                ó¬   — t        |t        j                  «      rt        j                  || ¬«      S | j                  |«      r| j                  |«      S |S ré   )rô   rÇ   ÚSeriesr   rŠ   rú   rƒ   r  s     ri   r  z#PolarsDataFrame._from_native_object”  sG   € ô �cœ2Ÿ9™9Ô%Ü×+Ñ+¨C¸Ô>Ð>Ø�?‰?˜3ÔØ×$Ñ$ SÓ)Ð)àˆ
rk   c                ó,   — t        | j                  «      S rd   )rÉ   rt   rr   s    ri   Ú__len__zPolarsDataFrame.__len__ž  s   € Ü�4—;‘;ÓÐrk   c                óv   ‡ ‡— ‰t         vr'‰ j                  j                  › d‰› d�}t        |«      ‚dˆˆ fd„}|S )Nú has not attribute 'ú'.c                 ó0  •— t        | |«      \  }}	 ‰j                   t        ‰j                  ‰«      |i |¤Ž«      S # t        j
                  j                  $ r#}|›d‰j                  › d�}t        |«      |‚d }~wt        $ r}t        |«      d ‚d }~ww xY w)Nz+

Hint: Did you mean one of these columns: ú?)
r   r  Úgetattrrt   rÇ   Ú
exceptionsr$   rv   Ú	Exceptionr   )ÚargsÚkwargsÚposÚkwdsÚer   Úattrrf   s         €€ri   Úfuncz)PolarsDataFrame.__getattr__.<locals>.func¦  s—   ø€ Ü+¨D°&Ó9‰IˆC�ð:Ø×/Ñ/Ð0J´¸¿¹ÀTÓ0JÈCÐ0XÐSWÑ0XÓYÐYøÜ—=‘=×4Ñ4ò 6Ø˜ÐJÈ4Ï<É<È.ÐXYÐZ�Ü)¨#Ó.°AÐ5ûÜò :Ü,¨QÓ/°TÐ9ûð:ús!   ’*= ½BÁA8Á8BÂBÂB©r  r	   r  r	   rÐ   r	   ©ÚINHERITED_METHODSr‚   rØ   ÚAttributeError©rf   r#  r   r$  s   ``  ri   Ú__getattr__zPolarsDataFrame.__getattr__¡  sA   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	:ð ˆrk   N)Úcopyc               óÈ   — | j                   dk  r|�d}t        |«      ‚| j                   dk  r| j                  j                  |«      S | j                  j                  |«      S )N)r   r£   é   z=`copy` in `__array__` is only supported for 'polars>=0.20.28')ro   ÚNotImplementedErrorrt   Ú	__array__)rf   rÅ   r+  r   s       ri   r/  zPolarsDataFrame.__array__²  s_   € ð × Ñ  ;Ò.°4Ð3CØQˆCÜ% cÓ*Ð*Ø× Ñ  ;Ò.Ø—;‘;×(Ñ(¨Ó/Ð/Ø�{‰{×$Ñ$ UÓ+Ð+rk   c               ó6   — | j                   j                  «       S rd   )rt   Úto_numpy)rf   rÅ   r+  s      ri   r1  zPolarsDataFrame.to_numpy¼  s   € Ø�{‰{×#Ñ#Ó%Ð%rk   c                ó.   — | j                   j                  S rd   )rt   Úshaperr   s    ri   r3  zPolarsDataFrame.shape¿  s   € à�{‰{× Ñ Ð rk   c           	     óŒ  — |\  }}| j                   dkD  rbt        |«      r|j                  n|}t        |«      r|j                  n|}||f}| j                  j                  |«      }| j	                  |«      S t        |t        «      rt        |«      n|}t        |t        «      rt        |«      n|}t        |«      r|j                  «       }| j                  }t        |«      �s¾t        |t        «      rt        |«      dk(  r| j                  «       S t        |«      r, |j                  d„ t        |j                   |«      D «       Ž }�nYt#        |«      ršt%        |«      st'        |«      rH|j                  | j                   t)        |j*                  |j,                  |j.                  «         «      }nðt        |t0        «      r"|d d …|j                  j3                  «       f   }n¾|d d …|f   }n´t        |t(        «      r9|j                  | j                   t)        t5        || j                   «      Ž    «      }nkt        |«      r*|j                  |j                  j3                  «       «      }n6t7        |«      r|j                  |«      }ndt9        |«      › �}	t;        |	«      ‚t        |«      sˆt        |t<        «      r||gd d …f   }nmt        |t(        t>        f«      r
||d d …f   }nMt        |«      r||j                  d d …f   }n.t7        |«      r
||d d …f   }ndt9        |«      › �}	t;        |	«      ‚| jA                  |«      S )N)r   r£   é   r   c              3  ó,   K  — | ]  \  }}|sŒ	|–— Œ y ­wrd   rÞ   )rñ   ÚcolrS   s      ri   rò   z.PolarsDataFrame.__getitem__.<locals>.<genexpr>à  s   è ø€ ÒX¡+ # vÒQWœ#ÑXùs   ‚
�z'Unreachable code, got unexpected type: )!ro   r   rt   Ú__getitem__r  rô   rï   Úlistr#   Útolistr    r   rÉ   rS   r   Úziprv   r   r   r   ÚsliceÚstartÚstopÚstepr   Úto_listr   r   r}   r~   r×   Úrangerƒ   )
rf   rL   rQ   rv   Úrows_nativeÚcolumns_nativeÚselectorÚselectedrt   r   s
             ri   r8  zPolarsDataFrame.__getitem__Ã  s®  € ð ‰ˆˆgØ× Ñ  ;Ò.Ü)<¸TÔ)B˜$Ÿ+š+ÈˆKÜ/BÀ7Ô/K˜WŸ^š^ÐQXˆNØ" NÐ2ˆHØ—{‘{×.Ñ.¨xÓ8ˆHØ×+Ñ+¨HÓ5Ð5ô
 ",¨D´%Ô!8”4˜”:¸dˆDÜ'1°'¼5Ô'A”d˜7”mÀwˆGÜ  Ô)Ø!Ÿ.™.Ó*�à—[‘[ˆFÜ  Õ)Ü˜g¤uÔ-´#°g³,À!Ò2CØŸ;™;›=Ð(Ü& wÔ/Ø*˜VŸ]™]ÙX´°V·^±^ÀWÓ1MÔXð’Fô ' wÔ/Ü% gÔ.´(¸7Ô2CØ!'§¡Ø ŸL™L¬¨w¯}©}¸g¿l¹lÈGÏLÉLÓ)YÑZó"™ô
 $ G¬\Ô:Ø!'ª¨7¯>©>×+AÑ+AÓ+CÐ(CÑ!D™à!'ª¨7¨
Ñ!3™Ü ¬Ô/Ø#Ÿ]™]ØŸ™Ü!Ô#AÀ'È4Ï<É<Ó#XÐYñó‘Fô
 )¨Ô1Ø#Ÿ]™]¨7¯>©>×+AÑ+AÓ+CÓD‘FÜ% gÔ.Ø#Ÿ]™]¨7Ó3‘FàCÄDÈÃMÀ?ÐS�CÜ(¨Ó-Ð-ä  Ô&Ü˜d¤CÔ(Ø# T FªA IÑ.‘FÜ ¤u¬e nÔ5Ø# Dª! G™_‘FÜ(¨Ô.Ø# D§K¡K² NÑ3‘FÜ% dÔ+Ø# Dª! G™_‘FàCÄDÈÃJÀ<ÐP�CÜ(¨Ó-Ð-à×$Ñ$ VÓ,Ð,rk   c                ób   — t        j                  | j                  j                  |«      | ¬«      S ré   )r   rŠ   rt   Ú
get_column)rf   rÄ   s     ri   rG  zPolarsDataFrame.get_column
  s$   € Ü×'Ñ'¨¯©×(>Ñ(>¸tÓ(DÈdÔSÐSrk   c              #  ó|   K  — | j                   j                  «       D ]  }t        j                  || ¬«      –— Œ y ­wré   )rt   Úiter_columnsr   rŠ   )rf   Úseriess     ri   rI  zPolarsDataFrame.iter_columns  s7   è ø€ Ø—k‘k×.Ñ.Ó0ò 	AˆFÜ×*Ñ*¨6¸4Ô@Ó@ñ	Aùs   ‚:<)Úsessionc               ó  — |�|t         j                  u r/t        j                  | j                  j                  «       | ¬«      S |t         j                  u r:dd l}ddlm	} | j                  } ||j                  d«      d| j                  ¬«      S |t         j                  u rHdd lm} ddlm}  ||j#                  | j                  j%                  «       «      d| j                  ¬«      S |t         j&                  u rDdd l}ddlm}	  |	|j/                  | j                  | j0                  ¬	«      d| j                  ¬«      S |j3                  «       r4dd
lm}
 |€d}t9        |«      ‚|
j;                  | ||| j                  ¬«      S t<        ‚)Nræ   r   )ÚDuckDBLazyFrameÚ_dfT)rb   rh   )ÚDaskLazyFrame)ÚIbisLazyFrame)rv   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)rK  Úimplementationrh   )r   r{   ÚPolarsLazyFramerŠ   rt   ÚlazyÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframerM  Útablera   ÚDASKÚdask.dataframer  Únarwhals._dask.dataframerO  Úfrom_pandasrX   ÚIBISÚibisÚnarwhals._ibis.dataframerP  Úmemtablerv   Úis_spark_likeÚnarwhals._spark_like.dataframerQ  Ú
ValueErrorÚ_from_compliant_dataframer~   )rf   ÚbackendrK  rV  rM  rN  ÚddrO  r^  rP  rQ  r   s               ri   rT  zPolarsDataFrame.lazy  sX  € ð ˆ?˜g¬×)>Ñ)>Ñ>Ü"×.Ñ.¨t¯{©{×/?Ñ/?Ó/AÈ4Ð.ÓPÐPØ”n×+Ñ+Ñ+ÛåBà—+‘+ˆCÙ"Ø—‘˜UÓ#¸dÈDÏMÉMôð ð ”n×)Ñ)Ñ)Ý'å>á Ø—‘˜tŸ{™{×4Ñ4Ó6Ó7Ø)-ØŸ™ôð ð
 ”n×)Ñ)Ñ)Ûå>á Ø—‘˜dŸk™k°4·<±<�Ó@Ø)-ØŸ™ôð ð × Ñ Ô"ÝIàˆØM�Ü  “oÐ%à%×?Ñ?ØØØ&ØŸ™ð	 @ó ð ô Ðrk   c                ó   — y rd   rÞ   ©rf   Ú	as_seriess     ri   Úto_dictzPolarsDataFrame.to_dictG  s   € ØORrk   c                ó   — y rd   rÞ   rh  s     ri   rj  zPolarsDataFrame.to_dictJ  s   € ØMPrk   c          	     óì   — |rQ| j                   j                  «       j                  «       D ��ci c]  \  }}|t        j                  || ¬«      “Œ c}}S | j                   j                  d¬«      S c c}}w )Nræ   F)ri  )rt   rj  rÃ   r   rŠ   )rf   ri  rÄ   r7  s       ri   rj  zPolarsDataFrame.to_dictM  so   € ñ ð "&§¡×!4Ñ!4Ó!6×!<Ñ!<Ó!>÷á�D˜#ð ”l×.Ñ.¨s¸DÔAÑAóð ð �{‰{×"Ñ"¨UÐ"Ó3Ð3ùó	s   ®"A0c               ó$   — ddl m}  || ||¬«      S )Nr   )r.   ©Údrop_null_keys)Únarwhals._polars.group_byr.   )rf   Úkeysro  r.   s       ri   Úgroup_byzPolarsDataFrame.group_byW  s   € õ 	<á˜T 4¸ÔGÐGrk   c               ór   — t        | ||¬«      }| j                  | j                  j                  |«      «      S )N©Ústrict)r!   rƒ   rt   r›   )rf   rv   ru  Úto_drops       ri   r›   zPolarsDataFrame.drop^  s0   € Ü'¨¨g¸fÔEˆØ× Ñ  §¡×!1Ñ!1°'Ó!:Ó;Ð;rk   rÂ   c               ó¢   — 	 | j                   j                  ||||||¬«      }| j	                  |«      S # t        $ r}t        |«      d ‚d }~ww xY w)N)r¾   rð   Úaggregate_functionÚsort_columnsÚ	separator)rt   Úpivotr  r   r  )	rf   r½   r¾   rð   rx  ry  rz  rÎ   r"  s	            ri   r{  zPolarsDataFrame.pivotb  sd   € ð
	6Ø—[‘[×&Ñ&ØØØØ#5Ø)Ø#ð 'ó ˆFð ×'Ñ'¨Ó/Ð/øô ò 	6Ü(¨Ó+°Ð5ûð	6ús   ‚!4 ´	A½A	Á	Ac                ó   — | j                   S rd   )rt   rr   s    ri   rÿ   zPolarsDataFrame.to_polarsz  s   € Ø�{‰{Ðrk   c               óh   •— 	 t         ‰| �  |||||¬«      S # t        $ r}t        |«      d ‚d }~ww xY w)Nr§   )Úsuperr­   r  r   )rf   r¨   r©   rª   r«   r¬   r"  r‚   s          €ri   r­   zPolarsDataFrame.join}  sI   ø€ ð	6Ü‘7‘<Ø ¨gÀÐQWð  ó ð øô ò 	6Ü(¨Ó+°Ð5ûð	6ús   ƒ —	1 ,¬1c               ód   •— 	 t         ‰| �  |||¬«      S # t        $ r}t        |«      d ‚d }~ww xY w)Nrµ   )r~  r·   r  r   )rf   r²   r³   r¶   r"  r‚   s        €ri   r·   zPolarsDataFrame.top_k�  s:   ø€ ð	6Ü‘7‘= 1¨°W�=Ó=Ð=øÜò 	6Ü(¨Ó+°Ð5ûð	6ús   ƒ •	/ž*ª/c                ó¤   — | j                   dk  r%|€#|€!| j                  x}dk7  rd|›�}t        |«      ‚| j                  j	                  ||¬«      S )N)r±   é$   )r±   r±   zfcan only call `.item()` without "row" or "column" values if the DataFrame has a single element; shape=)rP   Úcolumn)ro   r3  rc  rt   rL   )rf   rP   r‚  r3  r   s        ri   rL   zPolarsDataFrame.item•  sf   € à×!Ñ! GÒ+Ø�Ø�ØŸ*™*Ð$�¨Ò/ð9Ø9>¸	ðCð ô ˜S“/Ð!Ø�{‰{×Ñ C°ÐÓ7Ð7rk   )rˆ   r1   r‰   r5   rÐ   r(   )rˆ   zMapping[str, Any]r‰   r5   r¡   ú.IntoSchema | Mapping[str, DType | None] | NonerÐ   r(   )rˆ   zSequence[Mapping[str, Any]]r‰   r5   r¡   rƒ  rÐ   r(   )rù   zpl.DataFrame | AnyrÐ   zTypeIs[pl.DataFrame])rˆ   r@   r‰   r5   r¡   z!IntoSchema | Sequence[str] | NonerÐ   r(   )rÐ   zDataFrame[pl.DataFrame]©rÐ   rÒ   ©rÐ   r(   )rù   z	pl.SeriesrÐ   r   )rù   rå   rÐ   r(   )rù   rA   rÐ   rA   )rù   zpl.Series | pl.DataFrame | TrÐ   zSelf | PolarsSeries | T)rÐ   r×   ©r#  rÒ   rÐ   r	   rd   )rÅ   z
Any | Noner+  rÔ   rÐ   r@   )rÅ   r	   r+  rÔ   rÐ   r@   )rÐ   ztuple[int, int])rL   z]tuple[SingleIndexSelector | MultiIndexSelector[PolarsSeries], MultiColSelector[PolarsSeries]]rÐ   r	   )rÄ   rÒ   rÐ   r   ©rÐ   zIterator[PolarsSeries])re  z_LazyAllowedImpl | NonerK  zSparkSession | NonerÐ   r,   )ri  zLiteral[True]rÐ   zdict[str, PolarsSeries])ri  zLiteral[False]rÐ   zdict[str, list[Any]])ri  rÏ   rÐ   z.dict[str, PolarsSeries] | dict[str, list[Any]])rq  ú$Sequence[str] | Sequence[PolarsExpr]ro  rÏ   rÐ   r.   ©rv   úSequence[str]ru  rÏ   rÐ   r(   )r½   rŠ  r¾   rÓ   rð   rÓ   rx  zPivotAgg | Nonery  rÏ   rz  rÒ   rÐ   r(   )rÐ   rå   )r¨   zPolarsBaseFrame[pl.DataFrame]r©   r:   rª   rÓ   r«   rÓ   r¬   rÒ   rÐ   r(   rÖ   )rP   z
int | Noner‚  zint | str | NonerÐ   r	   )%rØ   rÙ   rÚ   rÛ   rÝ   rç   rê   rö   Ústaticmethodrú   r   r  r  r  r   r  r  r*  r/  r1  rÜ   r3  r8  rG  rI  rT  rj  rr  r›   r"   Úbackend_versionr{  rÿ   r­   r·   rL   Ú__classcell__©r‚   s   @ri   rà   rà     s]  ø… ØÓØ*Ó*Ø'Ó'ØÓØNÓNØ#Ó#Ø	 Ó Ø
IÓIØÓØÓØ#Ó#ð ÓØÓàò8ó ð8ð ðOàðOð
 !ðOð ?ðOð 
òOó ðOð( ð8à)ð8ð
 !ð8ð ?ð8ð 
ò8ó ð8ð< ò-ó ð-ð ðPàðPð
 !ðPð 2ðPð 
òPó ðPó";ó!óð ÚFó ØFàÚAó ØAàÚ3ó Ø3ðØ/ðà	 óó óð$ #'ð,Ø?Cñ,Øð,Ø1<ð,à	ó,ð&Àõ &ð ò!ó ð!ðE-ð
ðE-ð 
óE-óNTóAð ,0ð4ð (,ñ	4à(ð4ð %ð	4ð
 
ó4ðl ÚRó ØRàÚPó ØPð4Ø ð4à	7ó4ðHØ8ðHØMQðHà	óHó<ð €X×Ñ˜dÓ#ð0àð0ð $ð	0ð
 %ð0ð ,ð0ð ð0ð ð0ð 
ò0ó $ð0ó.ð6à,ð6ð ð	6ð
 &ð6ð 'ð6ð ð6ð 
õ6ð 6Øð6Ø0ð6Ø;Pð6à	õ6÷8rk   rà   c                  ó–   ‡ — e Zd ZU ded<   edd„«       Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dˆ fd	„Z	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 dd„Zdd„Zˆ xZS )rS  râ   rT   c                ó6   — t        | t        j                  «      S rd   )rô   rÇ   r7   rø   s    ri   rú   zPolarsLazyFrame._is_native§  rû   rk   c                ó<   — | j                   j                  | d¬«      S )NrT  r  )ra   Ú	lazyframerr   s    ri   r  zPolarsLazyFrame.to_narwhals«  r  rk   c                 ó   — y)NrS  rÞ   rr   s    ri   r  zPolarsLazyFrame.__repr__®  r	  rk   c                ó   — | S rd   rÞ   rr   s    ri   Ú__narwhals_lazyframe__z&PolarsLazyFrame.__narwhals_lazyframe__±  r  rk   c                óv   ‡ ‡— ‰t         vr'‰ j                  j                  › d‰› d�}t        |«      ‚dˆˆ fd„}|S )Nr  r  c                 óî   •— t        | |«      \  }}	 ‰j                   t        ‰j                  ‰«      |i |¤Ž«      S # t        j
                  j                  $ r}t        t        |«      «      |‚d }~ww xY wrd   )r   rƒ   r  rt   rÇ   r  r$   rÒ   )r  r  r   r!  r"  r#  rf   s        €€ri   r$  z)PolarsLazyFrame.__getattr__.<locals>.func¹  sl   ø€ Ü+¨D°&Ó9‰IˆC�ð9Ø×(Ñ(Ð)C¬°·±¸dÓ)CÀSÐ)QÈDÑ)QÓRÐRøÜ—=‘=×4Ñ4ò 9Ü)¬#¨a«&Ó1°qÐ8ûð9ús   ’*= ½A4ÁA/Á/A4r%  r&  r)  s   ``  ri   r*  zPolarsLazyFrame.__getattr__´  sA   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	9ð ˆrk   c              #  óz   K  — | j                  t        j                  «      j                  «       E d {  –—†  y 7 Œ­wrd   )rá   r   r{   rI  rr   s    ri   Ú_iter_columnszPolarsLazyFrame._iter_columnsÂ  s'   è ø€ Ø—<‘<¤× 5Ñ 5Ó6×CÑCÓE×EÒEús   ‚1;³9´;c                ó\   •— 	 t         ‰| �  «       S # t        $ r}t        |«      d ‚d }~ww xY wrd   )r~  r    r  r   )rf   r"  r‚   s     €ri   r    zPolarsLazyFrame.collect_schemaÅ  s3   ø€ ð	6Ü‘7Ñ)Ó+Ð+øÜò 	6Ü(¨Ó+°Ð5ûð	6ús   ƒ ‘	+š&¦+c                óú  — 	  | j                   j                  d
i |¤Ž}|�|t        j
                  u rt        j                  || ¬«      S |t        j                  u r9ddl	m
}  ||j                  «       t        j                  d| j                  d¬«      S |t        j                  u r*ddlm}  ||j!                  «       d| j                  d¬«      S d	|› �}t#        |«      ‚# t        $ r}t        |«      d ‚d }~ww xY w)Nræ   r   )ÚPandasLikeDataFrameTF)rR  rb   rh   Úvalidate_column_names)ÚArrowDataFrame)rb   rh   r�  zUnsupported `backend` value: rÞ   )rt   rá   r  r   r   r{   rà   rŠ   ÚPANDASÚnarwhals._pandas_like.dataframerœ  rX   ra   ÚPYARROWÚnarwhals._arrow.dataframerž  rW   rc  )rf   re  r  rÎ   r"  rœ  rž  r   s           ri   rá   zPolarsLazyFrame.collectË  sø   € ð	6Ø(�T—[‘[×(Ñ(Ñ2¨6Ñ2ˆFð ˆ?˜g¬×)>Ñ)>Ñ>Ü"×.Ñ.¨v¸tÐ.ÓDÐDà”n×+Ñ+Ñ+ÝKá&Ø× Ñ Ó"Ü-×4Ñ4Ø)-ØŸ™Ø&+ôð ð ”n×,Ñ,Ñ,Ý@á!Ø—‘Ó!Ø)-ØŸ™Ø&+ô	ð ð .¨g¨YÐ7ˆÜ˜‹oÐøô9 ò 	6Ü(¨Ó+°Ð5ûð	6ús   ‚C  Ã 	C:Ã)C5Ã5C:c               ó$   — ddl m}  || ||¬«      S )Nr   )r/   rn  )rp  r/   )rf   rq  ro  r/   s       ri   rr  zPolarsLazyFrame.group_byî  s   € õ 	@á   t¸NÔKÐKrk   c               óÌ   — | j                   dk  r*| j                  | j                  j                  |«      «      S | j                  | j                  j                  ||¬«      «      S )Nr°   rt  )ro   rƒ   rt   r›   )rf   rv   ru  s      ri   r›   zPolarsLazyFrame.dropõ  sU   € Ø× Ñ  9Ò,Ø×$Ñ$ T§[¡[×%5Ñ%5°gÓ%>Ó?Ð?Ø× Ñ  §¡×!1Ñ!1°'À&Ð!1Ó!IÓJÐJrk   )rù   zpl.LazyFrame | AnyrÐ   zTypeIs[pl.LazyFrame])rÐ   zLazyFrame[pl.LazyFrame]r„  r…  r†  r‡  rÕ   )re  z_EagerAllowedImpl | Noner  r	   rÐ   r+   )rq  rˆ  ro  rÏ   rÐ   r/   r‰  )rØ   rÙ   rÚ   rÛ   r‹  rú   r  r  r•  r*  r™  r    rá   rr  r›   r�  rŽ  s   @ri   rS  rS  ¤  s   ø… ØÓàò-ó ð-ó;ó!óóóFõ6ð!Ø/ð!Ø;>ð!à	ó!ðFLØ8ðLØMQðLà	óL÷Krk   rS  )bÚ
__future__r   Úcollections.abcr   r   r   r   Útypingr   r	   r
   r   r   r   r   ÚpolarsrÇ   Únarwhals._polars.namespacer   Únarwhals._polars.seriesr   Únarwhals._polars.utilsr   r   r   r   r   Únarwhals._utilsr   r   r   r   r   r   r   r   r   r   r    r!   r"   Únarwhals.dependenciesr#   Únarwhals.exceptionsr$   r%   Útypesr&   r'   ÚpandasÚpdÚpyarrowÚpaÚtyping_extensionsr(   r)   r*   Únarwhals._compliant.typingr+   r,   Únarwhals._polars.exprr-   rp  r.   r/   Únarwhals._spark_like.utilsr0   Únarwhals._translater1   Únarwhals._typingr2   r3   r4   r5   Únarwhals.dataframer6   r7   Únarwhals.dtypesr8   Únarwhals.typingr9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rÛ   Ú	frozensetr'  r\   r^   rà   rS  rÞ   rk   ri   ú<module>r¾     s  ðÞ "ç >Ó >ß P× PÑ Pã å 6Ý 0÷õ ÷÷ ÷ õ õ 4Ý 3áÝ(Ý ÝãÛß9Ñ9çWÝ0ßJÝ7Ý2ßDß8ß7Ý%÷	÷ 	ó 	ñ 	�‹€AÙ�‹€Aà&€ˆ	Ó &ðñ òóÐ ñ: Ð/°·±¸r¿|¹|ÓLÐ ôr)�gÐ/Ñ0ô r)ôjB8�o b§l¡lÑ3ô B8ôJTK�o b§l¡lÑ3õ TKrk   