Ë
    ÚÍ:jh  ã                  óä  — 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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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/m0Z0 d dl1m2Z2 d dlm3Z3 d dl4Z5d dl6Z7d dl8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZB d dlCmDZD d dlEmFZF d dlGmHZHmIZI d dlmJZJmKZK d dlLmMZMmNZN d dlOmPZP d dlQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZY  ed«      ZZ ed«      Z[dZ\de]d<   dZ^de]d <   	  e_g d!¢«      Z` ed"ejš                  ejœ                  «      Za G d#„ d$eea   «      Zb G d%„ d&ebejš                     «      Zc G d'„ d(ebejœ                     «      Zdy))é    )Úannotations)ÚIteratorÚMappingÚSequenceÚSized)ÚTYPE_CHECKINGÚAnyÚFinalÚGenericÚLiteralÚTypeVarÚcastÚoverloadN)ÚPolarsNamespace)ÚPolarsSeries)ÚFROM_DICTS_ACCEPTS_MAPPINGSÚRESPECT_JOIN_NULL_SEMI_ANTIÚ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)ÚCallableÚIterable)Ú
ModuleType)Ú	TypeAlias)ÚSelfÚTypeIs)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)Ú
PolarsExpr)ÚPolarsGroupByÚPolarsLazyGroupBy)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚVersionÚ_LimitedContext)Ú	DataFrameÚ	LazyFrame)ÚDType)Ú
IntoSchemaÚJoinStrategyÚMultiColSelectorÚMultiIndexSelectorÚPivotAggÚSingleIndexSelectorÚUniqueKeepStrategyÚ_2DArrayÚTÚRFr
   ÚMYPYz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]rH   rJ   rK   rL   rM   rQ   rR   rV   rX   rY   r\   r_   Ú_native_framer6   Ú_versionF)Úvalidate_backend_versionc               óF   — || _         || _        |r| j                  «        y y ©N)rc   rd   Ú_validate_backend_version)ÚselfÚdfÚversionre   s       úo/home/mcse/projects/srt_converter/srt-converter-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)ri   Ú_s     rl   rh   z)PolarsBaseFrame._validate_backend_versionŠ   s   € ð × Ñ ×1Ñ1Ó3‰rn   c                ó6   — | j                   j                  «       S rg   rp   ©ri   s    rl   rr   z PolarsBaseFrame._backend_version’   s   € à×#Ñ#×4Ñ4Ó6Ð6rn   c                ó   — | j                   S rg   )rc   ru   s    rl   ÚnativezPolarsBaseFrame.native–   s   € à×!Ñ!Ð!rn   c                ó.   — | j                   j                  S rg   )rw   Úcolumnsru   s    rl   ry   zPolarsBaseFrame.columnsš   s   € à�{‰{×"Ñ"Ð"rn   c                ó.   — t        | j                  ¬«      S ©N)rk   )r   rd   ru   s    rl   Ú__narwhals_namespace__z&PolarsBaseFrame.__narwhals_namespace__ž   s   € Ü t§}¡}Ô5Ð5rn   c                ó´   — | j                   t        j                  u r| j                   j                  «       S dt	        | j                   «      › �}t        |«      ‚)NzExpected polars, got: )rq   r   ÚPOLARSÚto_native_namespaceÚtypeÚAssertionError)ri   Úmsgs     rl   Ú__native_namespace__z$PolarsBaseFrame.__native_namespace__¡   sN   € Ø×Ñ¤>×#8Ñ#8Ñ8Ø×'Ñ'×;Ñ;Ó=Ð=à&¤t¨D×,@Ñ,@Ó'AÐ&BÐCˆÜ˜SÓ!Ð!rn   c                ó<   — | j                  || j                  ¬«      S r{   )Ú	__class__rd   )ri   rj   s     rl   Ú_with_nativezPolarsBaseFrame._with_native¨   s   € Ø�~‰~˜b¨$¯-©-ˆ~Ó8Ð8rn   c                ó<   — | j                  | j                  |¬«      S r{   )r…   rw   )ri   rk   s     rl   Ú_with_versionzPolarsBaseFrame._with_version«   s   € Ø�~‰~˜dŸk™k°7ˆ~Ó;Ð;rn   c              ó*   —  | ||j                   ¬«      S r{   )rd   )ÚclsÚdataÚcontexts      rl   Úfrom_nativezPolarsBaseFrame.from_native®   s   € á�4 ×!1Ñ!1Ô2Ð2rn   c                óR   — | j                   | j                  j                  |Ž «      S rg   )r†   rw   rV   )ri   Úcolumn_namess     rl   Úsimple_selectzPolarsBaseFrame.simple_select²   s%   € Ø× Ñ Ð!3 §¡×!3Ñ!3°\Ð!BÓCÐCrn   c                ó    —  | j                   |Ž S rg   )rV   )ri   Úexprss     rl   Ú	aggregatezPolarsBaseFrame.aggregateµ   s   € Øˆt�{‰{˜EÐ"Ð"rn   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   ry   rw   Úwith_row_indexrX   ÚuniqueÚdropr†   )ri   Úsubsetr›   r”   r•   ÚtokenÚress          rl   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ð × Ñ  Ó%Ð%rn   c                ó"   — | j                  «       S rg   )Úcollect_schemaru   s    rl   ÚschemazPolarsBaseFrame.schemaÑ   s   € à×"Ñ"Ó$Ð$rn   c          	     óä   — | j                   dk  r|dk(  rdn|}|j                  }|dv }|rt        s|j                  |¬«      }| j	                  | j                  j                  |||||¬«      «      S )N)r   é   é   ÚfullÚouter>   ÚantiÚsemi)rŸ   ©ÚotherÚhowÚleft_onÚright_onÚsuffix)rr   rw   r   rH   r†   Újoin)	ri   r­   r®   r¯   r°   r±   Ú
how_nativeÚother_nativeÚis_semi_or_antis	            rl   r²   zPolarsBaseFrame.joinÕ   sŠ   € ð ×-Ñ-°Ò;ÀÀvÂ‰GÐTWð 	ð —|‘|ˆØÐ!1Ð1ˆÙÕ#>Ø'×2Ñ2¸(Ð2ÓCˆLØ× Ñ Ø�K‰K×ÑØ"ØØØ!Øð ó ó
ð 	
rn   c               óÔ   — | j                   dk  r-| j                  | j                  j                  |||¬«      «      S | j                  | j                  j                  |||¬«      «      S )N©é   r   r   )ÚkÚbyÚ
descending©r¹   rº   Úreverse)rr   r†   rw   Útop_k)ri   r¹   rº   r½   s       rl   r¾   zPolarsBaseFrame.top_kï   sn   € ð × Ñ  9Ò,Ø×$Ñ$Ø—‘×!Ñ!ØØØ&ð "ó óð ð × Ñ  §¡×!2Ñ!2°Q¸2ÀwÐ!2Ó!OÓPÐPrn   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Ã   )rr   r†   rw   ÚmeltÚunpivot)ri   rÄ   rÅ   rÂ   rÃ   s        rl   rÇ   zPolarsBaseFrame.unpivotü   s}   € ð × Ñ  9Ò,Ø×$Ñ$Ø—‘× Ñ Ø!Ø!Ø"/Ø)ð	 !ó óð ð × Ñ Ø�K‰K×ÑØ˜U°-ÈJð  ó ó
ð 	
rn   c           	     óì   — | j                   }| j                  dk  r|j                  n|j                  «       }|j	                  «       D ��ci c]  \  }}|t        || j                  «      “Œ c}}S c c}}w )N©r¸   )rw   rr   r¤   r£   Úitemsr   rd   )ri   rj   r¤   ÚnameÚdtypes        rl   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•   )
rw   rœ   rV   ÚplÚ	int_rangeÚlenÚoverÚaliasÚallr†   )ri   rË   r•   ÚframeÚresults        rl   rœ   zPolarsBaseFrame.with_row_index  su   € Ø—‘ˆØÐØ×)Ñ)¨$Ó/‰Fà—\‘\Ü—‘œRŸV™V›XÓ&×+Ñ+°XÐ+Ó>×DÑDÀTÓJÌBÏFÉFËHóˆFð × Ñ  Ó(Ð(rn   )rj   r_   rk   r6   re   ÚboolÚreturnÚNone)r×   rØ   )r×   ztuple[int, ...])r×   r_   )r×   z	list[str])r×   r   )r×   r)   )rj   r_   r×   r+   )rk   r6   r×   r+   )r‹   r_   rŒ   r7   r×   r+   )r�   Ústrr×   r+   )r’   r	   r×   r+   )
rŸ   úSequence[str] | Noner›   rA   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~   rq   rm   rh   Úpropertyrr   rw   ry   r|   rƒ   r†   rˆ   Úclassmethodr�   r�   r“   r�   r¤   r²   r¾   rÇ   r£   rœ   © rn   rl   ra   ra   m   sø  … ØÓØÓØÓØÓØ
ÓØÓØÓØÓØ
ÓØ
ÓØÓà$Ó$Ø$×+Ñ+€OØÓð */ñ
-àð
-ð ð	
-ð
 #'ð
-ð 
ó
-ó4ð ò7ó ð7ð ò"ó ð"ð ò#ó ð#ó6ó"ó9ó<ð ò3ó ð3óDó#ð '+Ø)-ñ&à$ð&ð !ð	&ð
 $ð&ð 'ð&ð 
ó&ð2 ò%ó ð%ð
à1ð
ð ð	
ð
 &ð
ð 'ð
ð ð
ð 
ó
ð4QØðQØ0ðQØ;PðQà	óQð
à ð
ð $ð
ð ð	
ð
 ð
ð 
ó
ó,
ô	)rn   ra   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 )\ÚPolarsDataFramerb   rG   zMethod[CompliantDataFrameAny]ÚcollectzMethod[int | float]rI   rL   z?Method[Iterator[tuple[Any, ...]] | Iterator[Mapping[str, Any]]]rP   zMethod[PolarsSeries]rN   zMethod[tuple[Any, ...]]rS   z?Method[Sequence[tuple[Any, ...]] | Sequence[Mapping[str, Any]]]rT   rU   zMethod[pa.Table]rZ   zMethod[pd.DataFrame]r[   zMethod[Any]r]   úMethod[None]r^   c         	     óà   — |j                   j                  «       dk\  rt        j                  |«      }n)t	        dt        j
                  t        ||«      «      «      }| j                  ||¬«      S )N)r¸   é   úpl.DataFrame©rŒ   )rq   rr   rÎ   r8   r   Ú
from_arrowr   r�   )rŠ   r‹   rŒ   rw   s       rl   rî   zPolarsDataFrame.from_arrow7  sX   € à×"Ñ"×3Ñ3Ó5¸Ò?Ü—\‘\ $Ó'‰Fä˜.¬"¯-©-Ô8IÈ$ÐPWÓ8XÓ*YÓZˆFØ�‰˜v¨wˆÓ7Ð7rn   c         	     óÜ   — |r<|j                  «       D ��ci c]   \  }}||�t        ||j                  «      nd “Œ" c}}nd }| j                  t	        j
                  ||«      |¬«      S c c}}w ©Nrí   )rÊ   r   rd   r�   rÎ   Ú	from_dict)rŠ   r‹   rŒ   r¤   ÚkeyrÌ   Ú	pl_schemas          rl   rñ   zPolarsDataFrame.from_dict?  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rg   )ÚtupleÚvalues)Ú.0rS   s     rl   ú	<genexpr>z-PolarsDataFrame.from_dicts.<locals>.<genexpr>n  s   è ø€ Ò5¨”�s—z‘z“|×$Ñ5ùs   ‚#%rS   )r¤   Úorientrí   )rÊ   r   rd   rÎ   r8   r   Ú
isinstanceÚdictÚ
from_dictsrö   r�   )	rŠ   r‹   rŒ   r¤   rò   rÌ   ró   rw   ry   s	            rl   rý   zPolarsDataFrame.from_dictsT  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 rg   )rû   rÎ   r8   ©Úobjs    rl   Ú
_is_nativezPolarsDataFrame._is_natives  ó   € ä˜#œrŸ|™|Ó,Ð,rn   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         rl   r  zPolarsDataFrame.from_numpyw  sR   € õ 	+ô ˜&¤7¨FÐ"3Ô4ñ �6‹N×$Ñ$Ô&àð 	ð
 �‰œrŸ}™}¨T°9Ó=ÀwˆÓOÐOrn   c                ó<   — | j                   j                  | d¬«      S )Nr¨   ©Úlevel)rd   Ú	dataframeru   s    rl   Úto_narwhalszPolarsDataFrame.to_narwhals‰  ó   € Ø�}‰}×&Ñ& t°6Ð&Ó:Ð:rn   c                 ó   — y)Nrç   rå   ru   s    rl   Ú__repr__zPolarsDataFrame.__repr__Œ  ó   € Ø rn   c                ó   — | S rg   rå   ru   s    rl   Ú__narwhals_dataframe__z&PolarsDataFrame.__narwhals_dataframe__�  ó   € Øˆrn   c                 ó   — y rg   rå   ©ri   r   s     rl   Ú_from_native_objectz#PolarsDataFrame._from_native_object’  s   € ØCFrn   c                 ó   — y rg   rå   r  s     rl   r  z#PolarsDataFrame._from_native_object•  s   € Ø>Arn   c                 ó   — y rg   rå   r  s     rl   r  z#PolarsDataFrame._from_native_object˜  s   € Ø03rn   c                ó¬   — t        |t        j                  «      rt        j                  || ¬«      S | j                  |«      r| j                  |«      S |S rð   )rû   rÎ   ÚSeriesr   r�   r  r†   r  s     rl   r  z#PolarsDataFrame._from_native_object›  sG   € ô �cœ2Ÿ9™9Ô%Ü×+Ñ+¨C¸Ô>Ð>Ø�?‰?˜3ÔØ×$Ñ$ SÓ)Ð)àˆ
rn   c                ó,   — t        | j                  «      S rg   )rÐ   rw   ru   s    rl   Ú__len__zPolarsDataFrame.__len__¥  s   € Ü�4—;‘;ÓÐrn   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  Úgetattrrw   rÎ   Ú
exceptionsr&   ry   Ú	Exceptionr   )ÚargsÚkwargsÚposÚkwdsÚer‚   Úattrri   s         €€rl   Ú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©ri   r*  r‚   r+  s   ``  rl   Ú__getattr__zPolarsDataFrame.__getattr__¨  sA   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	:ð ˆrn   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')rr   ÚNotImplementedErrorrw   Ú	__array__)ri   rÌ   r2  r‚   s       rl   r6  zPolarsDataFrame.__array__¹  s_   € ð × Ñ  ;Ò.°4Ð3CØQˆCÜ% cÓ*Ð*Ø× Ñ  ;Ò.Ø—;‘;×(Ñ(¨Ó/Ð/Ø�{‰{×$Ñ$ UÓ+Ð+rn   c               ó6   — | j                   j                  «       S rg   )rw   Úto_numpy)ri   rÌ   r2  s      rl   r8  zPolarsDataFrame.to_numpyÃ  s   € Ø�{‰{×#Ñ#Ó%Ð%rn   c                ó.   — | j                   j                  S rg   )rw   Úshaperu   s    rl   r:  zPolarsDataFrame.shapeÆ  s   € à�{‰{× Ñ Ð rn   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¬«      D «       Ž }�nyt#        |«      r›t%        |«      st'        |«      rI|j                  | j                   t)        |j*                  |j,                  |j.                  «         «      }�nt        |t0        «      r"|d d …|j                  j3                  «       f   }nÝ|d d …|f   }nÓt        |t(        «      rXt4        rt7        || j                   «      }	nt7        || j                   «      }	|j                  | j                   t)        |	Ž    «      }nkt        |«      r*|j                  |j                  j3                  «       «      }n6t9        |«      r|j                  |«      }ndt;        |«      › �}
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.t9        |«      r
||d d …f   }ndt;        |«      › �}
t=        |
«      ‚| jC                  |«      S )N)r   r¦   é   r   c              3  ó*   K  — | ]  \  }}|r|–— Œ y ­wrg   rå   )rø   ÚcolrV   s      rl   rù   z.PolarsDataFrame.__getitem__.<locals>.<genexpr>ç  s   è ø€ ò á +  VÙ%ô  ñùs   ‚F©Ústrictz'Unreachable code, got unexpected type: )"rr   r   rw   Ú__getitem__r  rû   rö   Úlistr%   Útolistr"   r   rÐ   rV   r   Úzipry   r   r!   r   ÚsliceÚstartÚstopÚstepr   Úto_listrE   r   r    r€   r�   rÞ   Úranger†   )ri   rO   rT   ry   Úrows_nativeÚcolumns_nativeÚselectorÚselectedrw   Ú	int_slicer‚   s              rl   rA  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Ÿ]™]ñä/2°6·>±>À7ÐSXÔ/Yôð’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™Ü ¬Ô/ÝÜ$BÀ7ÈDÏLÉLÓ$Y™	ä$BÀ7ÈDÏLÉLÓ$Y˜	Ø#Ÿ]™]¨4¯<©<¼¸yÐ8IÑ+JÓK‘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Ó,Ð,rn   c                ób   — t        j                  | j                  j                  |«      | ¬«      S rð   )r   r�   rw   Ú
get_column)ri   rË   s     rl   rQ  zPolarsDataFrame.get_column  s$   € Ü×'Ñ'¨¯©×(>Ñ(>¸tÓ(DÈdÔSÐSrn   c              #  ó|   K  — | j                   j                  «       D ]  }t        j                  || ¬«      –— Œ y ­wrð   )rw   Úiter_columnsr   r�   )ri   Úseriess     rl   rS  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)re   rk   )ÚDaskLazyFrame)ÚIbisLazyFrame)ry   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)rU  Úimplementationrk   )r   r~   ÚPolarsLazyFramer�   rw   ÚlazyÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframerW  Útablerd   ÚDASKÚdask.dataframer  Únarwhals._dask.dataframerY  Úfrom_pandasr[   ÚIBISÚibisÚnarwhals._ibis.dataframerZ  Úmemtablery   Úis_spark_likeÚnarwhals._spark_like.dataframer[  Ú
ValueErrorÚ_from_compliant_dataframer�   )ri   ÚbackendrU  r`  rW  rX  ÚddrY  rh  rZ  r[  r‚   s               rl   r^  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Ð%à%×?Ñ?ØØØ&ØŸ™ð	 @ó ð ô Ðrn   c                ó   — y rg   rå   ©ri   Ú	as_seriess     rl   Úto_dictzPolarsDataFrame.to_dictR  s   € ØORrn   c                ó   — y rg   rå   rr  s     rl   rt  zPolarsDataFrame.to_dictU  s   € ØMPrn   c          	     óì   — |rQ| j                   j                  «       j                  «       D ��ci c]  \  }}|t        j                  || ¬«      “Œ c}}S | j                   j                  d¬«      S c c}}w )Nrí   F)rs  )rw   rt  rÊ   r   r�   )ri   rs  rË   r>  s       rl   rt  zPolarsDataFrame.to_dictX  so   € ñ ð "&§¡×!4Ñ!4Ó!6×!<Ñ!<Ó!>÷á�D˜#ð ”l×.Ñ.¨s¸DÔAÑAóð ð �{‰{×"Ñ"¨UÐ"Ó3Ð3ùó	s   ®"A0c               ó$   — ddl m}  || ||¬«      S )Nr   )r0   ©Údrop_null_keys)Únarwhals._polars.group_byr0   )ri   Úkeysry  r0   s       rl   Úgroup_byzPolarsDataFrame.group_byb  s   € õ 	<á˜T 4¸ÔGÐGrn   c               ór   — t        | ||¬«      }| j                  | j                  j                  |«      «      S )Nr?  )r#   r†   rw   rž   )ri   ry   r@  Úto_drops       rl   rž   zPolarsDataFrame.dropi  s0   € Ü'¨¨g¸fÔEˆØ× Ñ  §¡×!1Ñ!1°'Ó!:Ó;Ð;rn   rÉ   c               ó¢   — 	 | j                   j                  ||||||¬«      }| j	                  |«      S # t        $ r}t        |«      d ‚d }~ww xY w)N)rÅ   r÷   Úaggregate_functionÚsort_columnsÚ	separator)rw   Úpivotr$  r   r  )	ri   rÄ   rÅ   r÷   r€  r�  r‚  rÕ   r)  s	            rl   rƒ  zPolarsDataFrame.pivotm  sd   € ð
	6Ø—[‘[×&Ñ&ØØØØ#5Ø)Ø#ð 'ó ˆFð ×'Ñ'¨Ó/Ð/øô ò 	6Ü(¨Ó+°Ð5ûð	6ús   ‚!4 ´	A½A	Á	Ac                ó   — | j                   S rg   )rw   ru   s    rl   r  zPolarsDataFrame.to_polars…  s   € Ø�{‰{Ðrn   c               óh   •— 	 t         ‰| �  |||||¬«      S # t        $ r}t        |«      d ‚d }~ww xY w)Nr¬   )Úsuperr²   r$  r   )ri   r­   r®   r¯   r°   r±   r)  r…   s          €rl   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   )ri   r¹   rº   r½   r)  r…   s        €rl   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=)rS   Úcolumn)rr   r:  rm  rw   rO   )ri   rS   rŠ  r:  r‚   s        rl   rO   zPolarsDataFrame.item   sf   € à×!Ñ! GÒ+Ø�Ø�ØŸ*™*Ð$�¨Ò/ð9Ø9>¸	ðCð ô ˜S“/Ð!Ø�{‰{×Ñ C°ÐÓ7Ð7rn   )r‹   r3   rŒ   r7   r×   r+   )r‹   zMapping[str, Any]rŒ   r7   r¤   ú.IntoSchema | Mapping[str, DType | None] | Noner×   r+   )r‹   zSequence[Mapping[str, Any]]rŒ   r7   r¤   r‹  r×   r+   )r   zpl.DataFrame | Anyr×   zTypeIs[pl.DataFrame])r‹   rB   rŒ   r7   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   rC   r×   rC   )r   zpl.Series | pl.DataFrame | Tr×   zSelf | PolarsSeries | T)r×   rÞ   ©r*  rÙ   r×   r	   rg   )rÌ   z
Any | Noner2  rÛ   r×   rB   )rÌ   r	   r2  rÛ   r×   rB   )r×   ztuple[int, int])rO   z]tuple[SingleIndexSelector | MultiIndexSelector[PolarsSeries], MultiColSelector[PolarsSeries]]r×   r	   )rË   rÙ   r×   r   ©r×   zIterator[PolarsSeries])ro  z_LazyAllowedImpl | NonerU  zSparkSession | Noner×   r.   )rs  zLiteral[True]r×   zdict[str, PolarsSeries])rs  zLiteral[False]r×   zdict[str, list[Any]])rs  rÖ   r×   z.dict[str, PolarsSeries] | dict[str, list[Any]])r{  ú$Sequence[str] | Sequence[PolarsExpr]ry  rÖ   r×   r0   ©ry   úSequence[str]r@  rÖ   r×   r+   )rÄ   r’  rÅ   rÚ   r÷   rÚ   r€  zPivotAgg | Noner�  rÖ   r‚  rÙ   r×   r+   )r×   rì   )r­   zPolarsBaseFrame[pl.DataFrame]r®   r<   r¯   rÚ   r°   rÚ   r±   rÙ   r×   r+   rÝ   )rS   z
int | NonerŠ  zint | str | Noner×   r	   )%rß   rà   rá   râ   rä   rî   rñ   rý   Ústaticmethodr  r  r  r  r  r   r  r  r1  r6  r8  rã   r:  rA  rQ  rS  r^  rt  r|  rž   r$   Úbackend_versionrƒ  r  r²   r¾   rO   Ú__classcell__©r…   s   @rl   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<ð,à	ó,ð&Àõ &ð ò!ó ð!ðI-ð
ðI-ð 
óI-óV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÷8rn   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 )r]  ré   rW   c                ó6   — t        | t        j                  «      S rg   )rû   rÎ   r9   rÿ   s    rl   r  zPolarsLazyFrame._is_native²  r  rn   c                ó<   — | j                   j                  | d¬«      S )Nr^  r	  )rd   Ú	lazyframeru   s    rl   r  zPolarsLazyFrame.to_narwhals¶  r  rn   c                 ó   — y)Nr]  rå   ru   s    rl   r  zPolarsLazyFrame.__repr__¹  r  rn   c                ó   — | S rg   rå   ru   s    rl   Ú__narwhals_lazyframe__z&PolarsLazyFrame.__narwhals_lazyframe__¼  r  rn   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rg   )r   r†   r"  rw   rÎ   r#  r&   rÙ   )r%  r&  r'  r(  r)  r*  ri   s        €€rl   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-  r0  s   ``  rl   r1  zPolarsLazyFrame.__getattr__¿  sA   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	9ð ˆrn   c              #  óz   K  — | j                  t        j                  «      j                  «       E d {  –—†  y 7 Œ­wrg   )rè   r   r~   rS  ru   s    rl   Ú_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rg   )r†  r£   r$  r   )ri   r)  r…   s     €rl   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)r\  re   rk   Úvalidate_column_names)ÚArrowDataFrame)re   rk   r¥  zUnsupported `backend` value: rå   )rw   rè   r$  r   r   r~   rç   r�   ÚPANDASÚnarwhals._pandas_like.dataframer¤  r[   rd   ÚPYARROWÚnarwhals._arrow.dataframer¦  rZ   rm  )ri   ro  r&  rÕ   r)  r¤  r¦  r‚   s           rl   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   )r1   rx  )rz  r1   )ri   r{  ry  r1   s       rl   r|  zPolarsLazyFrame.group_byù  s   € õ 	@á   t¸NÔKÐKrn   c               óÌ   — | j                   dk  r*| j                  | j                  j                  |«      «      S | j                  | j                  j                  ||¬«      «      S )Nr·   r?  )rr   r†   rw   rž   )ri   ry   r@  s      rl   rž   zPolarsLazyFrame.drop   sU   € Ø× Ñ  9Ò,Ø×$Ñ$ T§[¡[×%5Ñ%5°gÓ%>Ó?Ð?Ø× Ñ  §¡×!1Ñ!1°'À&Ð!1Ó!IÓJÐJrn   )r   zpl.LazyFrame | Anyr×   zTypeIs[pl.LazyFrame])r×   zLazyFrame[pl.LazyFrame]rŒ  r�  rŽ  r�  rÜ   )ro  z_EagerAllowedImpl | Noner&  r	   r×   r-   )r{  r�  ry  rÖ   r×   r1   r‘  )rß   rà   rá   râ   r“  r  r  r  r�  r1  r¡  r£   rè   r|  rž   r•  r–  s   @rl   r]  r]  ¯  s   ø… ØÓàò-ó ð-ó;ó!óóóFõ6ð!Ø/ð!Ø;>ð!à	ó!ðFLØ8ðLØMQðLà	óL÷Krn   r]  )eÚ
__future__r   Úcollections.abcr   r   r   r   Útypingr   r	   r
   r   r   r   r   r   ÚpolarsrÎ   Únarwhals._polars.namespacer   Únarwhals._polars.seriesr   Únarwhals._polars.utilsr   r   r   r   r   r   Únarwhals._utilsr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   Únarwhals.dependenciesr%   Únarwhals.exceptionsr&   r'   r(   Útypesr)   r*   ÚpandasÚpdÚpyarrowÚpaÚtyping_extensionsr+   r,   Únarwhals._compliant.typingr-   r.   Únarwhals._polars.exprr/   rz  r0   r1   Únarwhals._spark_like.utilsr2   Únarwhals._translater3   Únarwhals._typingr4   r5   r6   r7   Únarwhals.dataframer8   r9   Únarwhals.dtypesr:   Únarwhals.typingr;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   râ   rF   Ú	frozensetr.  r_   ra   rç   r]  rå   rn   rl   ú<module>rÆ     s$  ðÞ "ç >Ó >ß W× WÓ Wã å 6Ý 0÷÷ ÷÷ ÷ õ õ 4Ý 3áß2Ý Ý ãÛß.çWÝ0ßJÝ7Ý2ßDß8ß7Ý%÷	÷ 	ó 	ñ 	�‹€AÙ�‹€Aà€€eÓ à&€ˆ	Ó &ðñ òóÐ ñ: Ð/°·±¸r¿|¹|ÓLÐ ôv)�gÐ/Ñ0ô v)ôrF8�o b§l¡lÑ3ô F8ôRTK�o b§l¡lÑ3õ TKrn   