Ë
    z�hŒf  ã                  óþ  — U d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d d	lm
Z
 d d
lmZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z  d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d dl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m+Z+ d dl,Z-d dl.Z/d d#l0m1Z1 d d$l0m2Z2 d d%l0m3Z3 d d&l4m5Z5 d d'l6m7Z7 d d(l6m8Z8 d d)l9m:Z: d d*l;m<Z< d d+l=m>Z> d d,l?m@Z@ d d-l?mAZA d d.l?mBZB d d/l?mCZC d d0l?mDZD d d1l?mEZE d d2l?mFZF d d3l?mGZG d d4lmHZH d d5lmIZI  e+d6«      ZJ e+d7«      ZKd8ZLd9eMd:<   	  eNg d;¢«      ZO G d<„ d=«      ZP G d>„ d?«      ZQy)@é    )Úannotations)ÚTYPE_CHECKING)ÚAny)ÚIterator)ÚLiteral)ÚMapping)ÚSequence)ÚSized)Úcast)ÚoverloadN)ÚPolarsNamespace)ÚPolarsSeries)Úcatch_polars_exception)Úextract_args_kwargs)Únative_to_narwhals_dtype)Úis_numpy_array_1d)ÚColumnNotFoundError)ÚImplementation)Ú_into_arrow_table)Úconvert_str_slice_to_int_slice)Úis_compliant_series)Úis_index_selector)Úis_range)Úis_sequence_like)Úis_slice_index)Úis_slice_none)Úparse_columns_to_drop)Úparse_version)Úrequires)Úvalidate_backend_version)Ú
ModuleType)ÚCallable)ÚTypeVar)ÚSelf)Ú	TypeAlias)ÚTypeIs)Ú
PolarsExpr©ÚPolarsGroupBy©ÚPolarsLazyGroupBy)ÚIntoArrowTable)ÚDType©ÚSchema)ÚCompliantDataFrame)ÚCompliantLazyFrame)ÚJoinStrategy)ÚMultiColSelector)ÚMultiIndexSelector)ÚPivotAgg)ÚSingleIndexSelector)Ú_2DArray)ÚVersion)Ú_FullContextÚ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ÚsortÚtailÚto_arrowÚ	to_pandasÚuniqueÚwith_columnsÚ	write_csvÚwrite_parquetc                  óÐ  — 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<   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$<   	 	 	 	 	 	 	 	 dTd%„ZedUd&„«       Ze	 	 	 	 	 	 	 	 dVd'„«       ZedWd(„«       Z	edXd)„«       Z
e	 	 	 	 	 	 	 	 dYd*„«       ZedZd+„«       Zd[d,„Zd\d-„Zd]d.„Zd^d/„Zd_d0„Zd`d1„Zedad2„«       Zedbd3„«       Zedcd4„«       Z	 	 	 	 ddd5„Zded6„Zdfd7„Zdfd8„Zdgd9„Z	 dhd:d;œ	 	 	 	 	 did<„Zdhd:d;œdjd=„Zdkd>„Zedld?„«       Z	 	 	 	 dmd@„ZdndA„ZdodB„Z dpdC„Z!dqdD„Z"edrdE„«       Z#edkdF„«       Z$d:dGœ	 	 	 dsdH„Z%edtdI„«       Z&edudJ„«       Z&	 	 	 	 dvdK„Z&	 	 	 	 	 	 dwdL„Z'dxdM„Z(dydN„Z)	 	 	 	 	 	 	 	 	 	 dzdO„Z* e+jX                  dP«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 d{dQ„«       Z-dZdR„Z.	 	 	 	 	 	 	 	 	 	 	 	 d|dS„Z/y:)}ÚPolarsDataFrameúMethod[Self]r=   z)Method[CompliantDataFrame[Any, Any, Any]]Úcollectr>   zMethod[int | float]r?   r@   rA   rB   zMethod[Any]rE   z?Method[Iterator[tuple[Any, ...]] | Iterator[Mapping[str, Any]]]rF   zMethod[PolarsSeries]rD   rG   rH   zMethod[tuple[Any, ...]]rI   z?Method[Sequence[tuple[Any, ...]] | Sequence[Mapping[str, Any]]]rJ   rK   rL   rM   zMethod[pa.Table]rO   zMethod[pd.DataFrame]rP   rQ   rR   rS   zMethod[None]rT   r   Ú_evaluate_aliasesc               ó˜   — || _         || _        t        j                  | _        || _        t        | j                  | j                  «       y ©N©Ú_native_frameÚ_backend_versionr   ÚPOLARSÚ_implementationÚ_versionr    ©ÚselfÚdfÚbackend_versionÚversions       úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/narwhals/_polars/dataframe.pyÚ__init__zPolarsDataFrame.__init__†   ó?   € ð  ˆÔØ /ˆÔÜ-×4Ñ4ˆÔØˆŒÜ  ×!5Ñ!5°t×7LÑ7LÕMó    c         	     óÄ   — |j                   dk\  rt        j                  |«      }n)t        dt        j                  t        ||«      «      «      }| j                  ||¬«      S )N)é   é   úpl.DataFrame©Úcontext)r^   ÚplÚ	DataFramer   Ú
from_arrowr   Úfrom_native)ÚclsÚdatarp   Únatives       rg   rs   zPolarsDataFrame.from_arrow�   sO   € à×#Ñ# vÒ-Ü—\‘\ $Ó'‰Fä˜.¬"¯-©-Ô8IÈ$ÐPWÓ8XÓ*YÓZˆFØ�‰˜v¨wˆÓ7Ð7rj   c              ó�   — ddl m} |� ||«      j                  «       n|}| j                  t	        j
                  ||«      |¬«      S ©Nr   r.   ro   )Únarwhals.schemar/   Ú	to_polarsrt   rq   Ú	from_dict©ru   rv   rp   Úschemar/   Ú	pl_schemas         rg   r|   zPolarsDataFrame.from_dict—   s>   € õ 	+à28Ð2D‘F˜6“N×,Ñ,Ô.È&ˆ	Ø�‰œrŸ|™|¨D°)Ó<ÀgˆÓNÐNrj   c                ó6   — t        | t        j                  «      S r[   )Ú
isinstancerq   rr   ©Úobjs    rg   Ú
_is_nativezPolarsDataFrame._is_native¥   ó   € ä˜#œrŸ|™|Ó,Ð,rj   c              ó@   —  | ||j                   |j                  ¬«      S ©N©re   rf   ©r^   ra   ©ru   rv   rp   s      rg   rt   zPolarsDataFrame.from_native©   ó"   € áØ '×":Ñ":ÀG×DTÑDTô
ð 	
rj   c              ó°   — ddl m} t        |t        |f«      r ||«      j	                  «       n|}| j                  t        j                  ||«      |¬«      S ry   )rz   r/   r�   r   r{   rt   rq   Ú
from_numpyr}   s         rg   r�   zPolarsDataFrame.from_numpy¯   sR   € õ 	+ô ˜&¤7¨FÐ"3Ô4ñ �6‹N×$Ñ$Ô&àð 	ð
 �‰œrŸ}™}¨T°9Ó=ÀwˆÓOÐOrj   c                ó   — | j                   S r[   ©r]   ©rc   s    rg   rw   zPolarsDataFrame.nativeÁ   ó   € à×!Ñ!Ð!rj   c                 ó   — y)NrV   © r�   s    rg   Ú__repr__zPolarsDataFrame.__repr__Å   ó   € Ø rj   c                ó   — | S r[   r“   r�   s    rg   Ú__narwhals_dataframe__z&PolarsDataFrame.__narwhals_dataframe__È   ó   € Øˆrj   c                óD   — t        | j                  | j                  ¬«      S r‡   ©r   r^   ra   r�   s    rg   Ú__narwhals_namespace__z&PolarsDataFrame.__narwhals_namespace__Ë   ó   € ÜØ ×1Ñ1¸4¿=¹=ô
ð 	
rj   c                ó´   — | j                   t        j                  u r| j                   j                  «       S dt	        | j                   «      › �}t        |«      ‚©NzExpected polars, got: ©r`   r   r_   Úto_native_namespaceÚtypeÚAssertionError©rc   Úmsgs     rg   Ú__native_namespace__z$PolarsDataFrame.__native_namespace__Ð   óN   € Ø×Ñ¤>×#8Ñ#8Ñ8Ø×'Ñ'×;Ñ;Ó=Ð=à&¤t¨D×,@Ñ,@Ó'AÐ&BÐCˆÜ˜SÓ!Ð!rj   c                óR   — | j                  | j                  | j                  |¬«      S r‡   ©Ú	__class__rw   r^   ©rc   rf   s     rg   Ú_with_versionzPolarsDataFrame._with_version×   ó)   € Ø�~‰~Ø�K‰K¨×)>Ñ)>Èð ó 
ð 	
rj   c                óR   — | j                  || j                  | j                  ¬«      S r‡   ©r©   r^   ra   ©rc   rd   s     rg   Ú_with_nativezPolarsDataFrame._with_nativeÜ   ó)   € Ø�~‰~Ø × 5Ñ 5¸t¿}¹}ð ó 
ð 	
rj   c                 ó   — y r[   r“   ©rc   rƒ   s     rg   Ú_from_native_objectz#PolarsDataFrame._from_native_objectá   s   € ØCFrj   c                 ó   — y r[   r“   r³   s     rg   r´   z#PolarsDataFrame._from_native_objectä   s   € Ø>Arj   c                 ó   — y r[   r“   r³   s     rg   r´   z#PolarsDataFrame._from_native_objectç   s   € Ø03rj   c                ó¬   — t        |t        j                  «      rt        j                  || ¬«      S | j                  |«      r| j                  |«      S |S ©Nro   )r�   rq   ÚSeriesr   rt   r„   r°   r³   s     rg   r´   z#PolarsDataFrame._from_native_objectê   sG   € ô �cœ2Ÿ9™9Ô%Ü×+Ñ+¨C¸Ô>Ð>Ø�?‰?˜3ÔØ×$Ñ$ SÓ)Ð)àˆ
rj   c                ó,   — t        | j                  «      S r[   )Úlenrw   r�   s    rg   Ú__len__zPolarsDataFrame.__len__ô   s   € Ü�4—;‘;ÓÐrj   c                óV   — | j                  | j                  j                  |«      «      S r[   )r°   rw   rC   ©rc   Úns     rg   rC   zPolarsDataFrame.head÷   ó"   € Ø× Ñ  §¡×!1Ñ!1°!Ó!4Ó5Ð5rj   c                óV   — | j                  | j                  j                  |«      «      S r[   )r°   rw   rN   r¾   s     rg   rN   zPolarsDataFrame.tailú   rÀ   rj   c                óv   ‡ ‡— ‰t         vr'‰ j                  j                  › d‰› d�}t        |«      ‚dˆˆ fd„}|S )Nú has not attribute 'ú'.c                 óF  •— t        | |«      \  }}	 ‰j                   t        ‰j                  ‰«      |i |¤Ž«      S # t        j
                  j                  $ r#}|›d‰j                  › d�}t        |«      |‚d }~wt        $ r}t        |‰j                  «      d ‚d }~ww xY w)Nz+

Hint: Did you mean one of these columns: ú?)r   r´   Úgetattrrw   rq   Ú
exceptionsr   ÚcolumnsÚ	Exceptionr   r^   )ÚargsÚkwargsÚposÚkwdsÚer¤   Úattrrc   s         €€rg   Úfuncz)PolarsDataFrame.__getattr__.<locals>.func  s¢   ø€ Ü+¨D°&Ó9‰IˆC�ðQØ×/Ñ/Ð0J´¸¿¹ÀTÓ0JÈCÐ0XÐSWÑ0XÓYÐYøÜ—=‘=×4Ñ4ò 6Ø˜ÐJÈ4Ï<É<È.ÐXYÐZ�Ü)¨#Ó.°AÐ5ûÜò QÜ,¨Q°×0EÑ0EÓFÈDÐPûðQús!   ’*= ½B ÁA8Á8B ÂBÂB ©rË   r   rÌ   r   Úreturnr   ©ÚINHERITED_METHODSr©   Ú__name__ÚAttributeError©rc   rÐ   r¤   rÑ   s   ``  rg   Ú__getattr__zPolarsDataFrame.__getattr__ý   sB   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	Qð ˆrj   N)Úcopyc               óÈ   — | j                   dk  r|�d}t        |«      ‚| j                   dk  r| j                  j                  |«      S | j                  j                  |«      S )N)r   é   é   z;`copy` in `__array__` is only supported for Polars>=0.20.28)r^   ÚNotImplementedErrorrw   Ú	__array__)rc   ÚdtyperÚ   r¤   s       rg   rß   zPolarsDataFrame.__array__  s_   € ð × Ñ  ;Ò.°4Ð3CØOˆCÜ% cÓ*Ð*Ø× Ñ  ;Ò.Ø—;‘;×(Ñ(¨Ó/Ð/Ø�{‰{×$Ñ$ UÓ+Ð+rj   c               ó6   — | j                   j                  «       S r[   )rw   Úto_numpy)rc   rà   rÚ   s      rg   râ   zPolarsDataFrame.to_numpy  s   € Ø�{‰{×#Ñ#Ó%Ð%rj   c           
     ó   — | j                   dk  rW| j                  j                  j                  «       D ��ci c]'  \  }}|t	        || j
                  | j                   «      “Œ) c}}S | j                  j                  «       }|j                  «       D ��ci c]'  \  }}|t	        || j
                  | j                   «      “Œ) c}}S c c}}w c c}}w ©N©rl   )r^   rw   r~   Úitemsr   ra   Úcollect_schema)rc   Únamerà   Úcollected_schemas       rg   rç   zPolarsDataFrame.collect_schema  sÍ   € Ø× Ñ  4Ò'ð
 $(§;¡;×#5Ñ#5×#;Ñ#;Ó#=÷	ñ  �D˜%ð Ô.Ø˜4Ÿ=™=¨$×*?Ñ*?óñ óð ð  $Ÿ{™{×9Ñ9Ó;Ðð
 $4×#9Ñ#9Ó#;÷	ñ  �D˜%ð Ô.Ø˜4Ÿ=™=¨$×*?Ñ*?óñ óð ùóùós   ·,CÂ,C
c                ó.   — | j                   j                  S r[   )rw   Úshaper�   s    rg   rë   zPolarsDataFrame.shape,  s   € à�{‰{× Ñ Ð rj   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•t        |«      st!        |«      rH|j                  | j"                  t%        |j&                  |j(                  |j*                  «         «      }nët        |«      r"|d d …|j                  j-                  «       f   }n¾|d d …|f   }n´t        |t$        «      r9|j                  | j"                  t%        t/        || j"                  «      Ž    «      }nkt        |«      r*|j                  |j                  j-                  «       «      }n6t1        |«      r|j                  |«      }ndt3        |«      › �}	t5        |	«      ‚t        |«      sˆt        |t6        «      r||gd d …f   }nmt        |t$        t8        f«      r
||d d …f   }nMt        |«      r||j                  d d …f   }n.t1        |«      r
||d d …f   }ndt3        |«      › �}	t5        |	«      ‚| j;                  |«      S )N)r   rÜ   é   r   z'Unreachable code, got unexpected type: )r^   r   rw   Ú__getitem__r´   r�   ÚtupleÚlistr   Útolistr   r
   r»   rL   r   r   r   rÉ   ÚsliceÚstartÚstopÚstepÚto_listr   r   r¡   r¢   ÚintÚranger°   )
rc   rE   rJ   rÉ   Úrows_nativeÚcolumns_nativeÚselectorÚselectedrw   r¤   s
             rg   rî   zPolarsDataFrame.__getitem__0  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Ô-Ü% gÔ.´(¸7Ô2CØ!'§¡Ø ŸL™L¬¨w¯}©}¸g¿l¹lÈGÏLÉLÓ)YÑZó"™ô -¨WÔ5Ø!'ª¨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Ó,Ð,rj   c                óR   — | j                   | j                  j                  |Ž «      S r[   ©r°   rw   rL   ©rc   Úcolumn_namess     rg   Úsimple_selectzPolarsDataFrame.simple_selectq  ó%   € Ø× Ñ Ð!3 §¡×!3Ñ!3°\Ð!BÓCÐCrj   c                ó    —  | j                   |Ž S r[   ©rL   ©rc   Úexprss     rg   Ú	aggregatezPolarsDataFrame.aggregatet  ó   € Øˆt�{‰{˜EÐ"Ð"rj   c                ób   — t        j                  | j                  j                  |«      | ¬«      S r¸   )r   rt   rw   Ú
get_column©rc   rè   s     rg   r
  zPolarsDataFrame.get_columnw  s$   € Ü×'Ñ'¨¯©×(>Ñ(>¸tÓ(DÈdÔSÐSrj   c              #  ó|   K  — | j                   j                  «       D ]  }t        j                  || ¬«      –— Œ y ­wr¸   )rw   Úiter_columnsr   rt   )rc   Úseriess     rg   r  zPolarsDataFrame.iter_columnsz  s7   è ø€ Ø—k‘k×.Ñ.Ó0ò 	AˆFÜ×*Ñ*¨6¸4Ô@Ó@ñ	Aùs   ‚:<c                ó.   — | j                   j                  S r[   ©rw   rÉ   r�   s    rg   rÉ   zPolarsDataFrame.columns~  ó   € à�{‰{×"Ñ"Ð"rj   c           
     ó¼   — | j                   j                  j                  «       D ��ci c]'  \  }}|t        || j                  | j
                  «      “Œ) c}}S c c}}w r[   ©rw   r~   ræ   r   ra   r^   )rc   rè   rà   s      rg   r~   zPolarsDataFrame.schema‚  sT   € ð  $Ÿ{™{×1Ñ1×7Ñ7Ó9÷
á��eð Ô*¨5°$·-±-À×AVÑAVÓWÑWó
ð 	
ùó 
s   ¨,A)Úbackendc               ó  — |�|t         j                  u r/t        j                  | j                  j                  «       | ¬«      S |t         j                  u rCdd l}ddlm	} | j                  } ||j                  d«      t        |«      | j                  ¬«      S |t         j                  u rUdd l}dd lm} ddlm}  ||j'                  | j                  j)                  «       «      t        |«      | j                  ¬«      S t*        ‚)Nro   r   )ÚDuckDBLazyFramerd   rˆ   )ÚDaskLazyFrame)r   r_   ÚPolarsLazyFramert   rw   ÚlazyÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframer  Útabler   ra   ÚDASKÚdaskÚdask.dataframeÚ	dataframeÚnarwhals._dask.dataframer  Úfrom_pandasrP   r¢   )rc   r  r  r  rd   r  Úddr  s           rg   r  zPolarsDataFrame.lazy‰  sÖ   € ð ˆ?˜g¬×)>Ñ)>Ñ>Ü"×.Ñ.¨t¯{©{×/?Ñ/?Ó/AÈ4Ð.ÓPÐPØœ×-Ñ-Ñ-ÛåBð —‘ˆBÙ"Ø—‘˜TÓ"Ü -¨fÓ 5ØŸ™ôð ð
 œ×+Ñ+Ñ+ÛÝ'å>á Ø—‘˜tŸ{™{×4Ñ4Ó6Ó7Ü -¨dÓ 3ØŸ™ôð ô
 Ðrj   c                ó   — y r[   r“   ©rc   Ú	as_seriess     rg   Úto_dictzPolarsDataFrame.to_dict§  s   € ØORrj   c                ó   — y r[   r“   r&  s     rg   r(  zPolarsDataFrame.to_dictª  s   € ØMPrj   c          	     óì   — |rQ| j                   j                  «       j                  «       D ��ci c]  \  }}|t        j                  || ¬«      “Œ c}}S | j                   j                  d¬«      S c c}}w )Nro   F)r'  )rw   r(  ræ   r   rt   )rc   r'  rè   Úcols       rg   r(  zPolarsDataFrame.to_dict­  so   € ñ ð "&§¡×!4Ñ!4Ó!6×!<Ñ!<Ó!>÷á�D˜#ð ”l×.Ñ.¨s¸DÔAÑAóð ð
 —;‘;×&Ñ&°Ð&Ó7Ð7ùós   ®"A0c               ó$   — ddl m}  || ||¬«      S )Nr   r(   ©Údrop_null_keys)Únarwhals._polars.group_byr)   )rc   Úkeysr.  r)   s       rg   Úgroup_byzPolarsDataFrame.group_by¸  s   € õ 	<á˜T 4¸ÔGÐGrj   c                óÈ   — | j                   dk  r*| j                  | j                  j                  |«      «      S | j                  | j                  j	                  |«      «      S ©N)r   rÜ   é   ©r^   r°   rw   Úwith_row_countÚwith_row_indexr  s     rg   r7  zPolarsDataFrame.with_row_index¿  óP   € Ø× Ñ  :Ò-Ø×$Ñ$ T§[¡[×%?Ñ%?ÀÓ%EÓFÐFØ× Ñ  §¡×!;Ñ!;¸DÓ!AÓBÐBrj   c               ór   — t        | ||¬«      }| j                  | j                  j                  |«      «      S )N)Úcompliant_framerÉ   Ústrict)r   r°   rw   Údrop)rc   rÉ   r;  Úto_drops       rg   r<  zPolarsDataFrame.dropÄ  s5   € Ü'Ø ¨'¸&ô
ˆð × Ñ  §¡×!1Ñ!1°'Ó!:Ó;Ð;rj   c                óØ   — | j                   dk  r.| j                  | j                  j                  ||||¬«      «      S | j                  | j                  j	                  ||||¬«      «      S ©N©rl   r   r   )Úid_varsÚ
value_varsÚvariable_nameÚ
value_name)ÚonÚindexrC  rD  ©r^   r°   rw   ÚmeltÚunpivot©rc   rE  rF  rC  rD  s        rg   rI  zPolarsDataFrame.unpivotÊ  ó}   € ð × Ñ  9Ò,Ø×$Ñ$Ø—‘× Ñ Ø!Ø!Ø"/Ø)ð	 !ó óð ð × Ñ Ø�K‰K×ÑØ˜U°-ÈJð  ó ó
ð 	
rj   rå   c               ó¸   — 	 | j                   j                  ||||||¬«      }| j                  |«      S # t        $ r}t        || j                  «      d ‚d }~ww xY w)N)rF  ÚvaluesÚaggregate_functionÚsort_columnsÚ	separator)rw   ÚpivotrÊ   r   r^   r´   )	rc   rE  rF  rM  rN  rO  rP  ÚresultrÏ   s	            rg   rQ  zPolarsDataFrame.pivotà  so   € ð
	MØ—[‘[×&Ñ&ØØØØ#5Ø)Ø#ð 'ó ˆFð ×'Ñ'¨Ó/Ð/øô ò 	MÜ(¨¨D×,AÑ,AÓBÈÐLûð	Mús   ‚!4 ´	A½AÁAc                ó   — | j                   S r[   )rw   r�   s    rg   r{   zPolarsDataFrame.to_polarsø  s   € Ø�{‰{Ðrj   c          	     óö   — | j                   dk  r|dk(  rdn|}	 | j                  | j                  j                  |j                  ||||¬«      «      S # t        $ r}t        || j                   «      d ‚d }~ww xY w©N)r   rÜ   é   ÚfullÚouter)ÚotherÚhowÚleft_onÚright_onÚsuffix)r^   r°   rw   ÚjoinrÊ   r   )rc   rY  rZ  r[  r\  r]  Ú
how_nativerÏ   s           rg   r^  zPolarsDataFrame.joinû  sŽ   € ð ×-Ñ-°Ò;ÀÀvÂ‰GÐTWð 	ð	MØ×$Ñ$Ø—‘× Ñ ØŸ,™,Ø"Ø#Ø%Ø!ð !ó óð øô ò 	MÜ(¨¨D×,AÑ,AÓBÈÐLûð	Mús   š8A Á	A8ÁA3Á3A8)rd   rn   re   útuple[int, ...]rf   r8   rÓ   ÚNone)rv   r,   rp   r9   rÓ   r$   )rv   zMapping[str, Any]rp   r9   r~   z#Mapping[str, DType] | Schema | NonerÓ   r$   )rƒ   zpl.DataFrame | AnyrÓ   zTypeIs[pl.DataFrame])rv   rn   rp   r9   rÓ   r$   )rv   r7   rp   r9   r~   z3Mapping[str, DType] | Schema | Sequence[str] | NonerÓ   r$   )rÓ   rn   ©rÓ   Ústr©rÓ   r$   ©rÓ   r   ©rÓ   r!   ©rf   r8   rÓ   r$   )rd   rn   rÓ   r$   )rƒ   z	pl.SeriesrÓ   r   )rƒ   rn   rÓ   r$   )rƒ   r:   rÓ   r:   )rƒ   zpl.Series | pl.DataFrame | TrÓ   zSelf | PolarsSeries | T)rÓ   r÷   )r¿   r÷   rÓ   r$   ©rÐ   rc  rÓ   r   r[   )rà   z
Any | NonerÚ   úbool | NonerÓ   r7   )rà   r   rÚ   ri  rÓ   r7   ©rÓ   zdict[str, DType])rÓ   ztuple[int, int])rE   z]tuple[SingleIndexSelector | MultiIndexSelector[PolarsSeries], MultiColSelector[PolarsSeries]]rÓ   r   ©r   rc  rÓ   r$   ©r  r   rÓ   r$   )rè   rc  rÓ   r   ©rÓ   zIterator[PolarsSeries]©rÓ   z	list[str])r  úImplementation | NonerÓ   zCompliantLazyFrame[Any, Any])r'  zLiteral[True]rÓ   zdict[str, PolarsSeries])r'  zLiteral[False]rÓ   zdict[str, list[Any]])r'  ÚboolrÓ   z.dict[str, PolarsSeries] | dict[str, list[Any]])r0  ú$Sequence[str] | Sequence[PolarsExpr]r.  rp  rÓ   r)   ©rè   rc  rÓ   r$   ©rÉ   úSequence[str]r;  rp  rÓ   r$   ©
rE  úSequence[str] | NonerF  rv  rC  rc  rD  rc  rÓ   r$   )rE  rt  rF  rv  rM  rv  rN  zPivotAgg | NonerO  rp  rP  rc  rÓ   r$   ©rY  r$   rZ  r2   r[  rv  r\  rv  r]  rc  rÓ   r$   )0rÖ   Ú
__module__Ú__qualname__Ú__annotations__rh   Úclassmethodrs   r|   Ústaticmethodr„   rt   r�   Úpropertyrw   r”   r—   r›   r¥   r«   r°   r   r´   r¼   rC   rN   rÙ   rß   râ   rç   rë   rî   r  r  r
  r  rÉ   r~   r  r(  r1  r7  r<  rI  r   re   rQ  r{   r^  r“   rj   rg   rV   rV   h   s
  … ØÓØ6Ó6ØÓØ'Ó'ØÓØÓØÓØ
ÓØNÓNØ#Ó#ØÓØÓØ	 Ó Ø
IÓIØÓØÓØ
ÓØÓØ#Ó#ØÓØÓð ÓØÓð ÓðNØðNØ4CðNØNUðNà	óNð ò8ó ð8ð ðOàðOð
 ðOð 4ðOð 
òOó ðOð ò-ó ð-ð ò
ó ð
ð
 ðPàðPð
 ðPð DðPð 
òPó ðPð" ò"ó ð"ó!óó
ó
"ó
ó

ð
 ÚFó ØFàÚAó ØAàÚ3ó Ø3ðØ/ðà	 óó ó6ó6óð$ #'ð,Ø?Cñ,Øð,Ø1<ð,à	ó,ð&Àõ &óð" ò!ó ð!ð?-ð
ð?-ð 
ó?-óBDó#óTóAð ò#ó ð#ð ò
ó ð
ð 37ñØ/ðà	%óð< ÚRó ØRàÚPó ØPð	8Ø ð	8à	7ó	8ðHØ8ðHØMQðHà	óHóCó
<ð
à ð
ð $ð
ð ð	
ð
 ð
ð 
ó
ð, €X×Ñ˜dÓ#ð0àð0ð $ð	0ð
 %ð0ð ,ð0ð ð0ð ð0ð 
ò0ó $ð0ó.ðMàðMð ð	Mð
 &ðMð 'ðMð ðMð 
ôMrj   rV   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<   ded<   	 	 	 	 	 	 	 	 d)d„Zed*d„«       Zed+d„«       Zd,d„Z	d-d„Z
d.d„Zd/d„Zd0d„Zd1d„Zd2d„Zd3d„Zed4d„«       Zed5d„«       Zed6d„«       Zd6d„Z	 	 	 	 	 	 d7d „Z	 	 	 	 	 	 d8d!„Zd9d"„Zd:d#„Z	 	 	 	 	 	 	 	 	 	 d;d$„Zd<d%„Zd=d&„Z	 	 	 	 	 	 	 	 	 	 	 	 d>d'„Zy()?r  rW   r>   r@   rA   rB   rC   rG   rH   rL   rM   rN   rQ   rR   r   Ú_evaluate_exprrY   c               ó˜   — || _         || _        t        j                  | _        || _        t        | j                  | j                  «       y r[   r\   rb   s       rg   rh   zPolarsLazyFrame.__init__'  ri   rj   c                ó6   — t        | t        j                  «      S r[   )r�   rq   Ú	LazyFramer‚   s    rg   r„   zPolarsLazyFrame._is_native0  r…   rj   c              ó@   —  | ||j                   |j                  ¬«      S r‡   r‰   rŠ   s      rg   rt   zPolarsLazyFrame.from_native4  r‹   rj   c                 ó   — y)Nr  r“   r�   s    rg   r”   zPolarsLazyFrame.__repr__:  r•   rj   c                ó   — | S r[   r“   r�   s    rg   Ú__narwhals_lazyframe__z&PolarsLazyFrame.__narwhals_lazyframe__=  r˜   rj   c                óD   — t        | j                  | j                  ¬«      S r‡   rš   r�   s    rg   r›   z&PolarsLazyFrame.__narwhals_namespace__@  rœ   rj   c                ó´   — | j                   t        j                  u r| j                   j                  «       S dt	        | j                   «      › �}t        |«      ‚rž   rŸ   r£   s     rg   r¥   z$PolarsLazyFrame.__native_namespace__E  r¦   rj   c                óR   — | j                  || j                  | j                  ¬«      S r‡   r®   r¯   s     rg   r°   zPolarsLazyFrame._with_nativeL  r±   rj   c                óR   — | j                  | j                  | j                  |¬«      S r‡   r¨   rª   s     rg   r«   zPolarsLazyFrame._with_versionQ  r¬   rj   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r[   )r   r°   rÇ   rw   rq   rÈ   r   rc  )rË   rÌ   rÍ   rÎ   rÏ   rÐ   rc   s        €€rg   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   ``  rg   rÙ   zPolarsLazyFrame.__getattr__V  sA   ù€ ØÔ(Ñ(Ø—^‘^×,Ñ,Ð-Ð-AÀ$ÀÀrÐJˆCÜ  Ó%Ð%ö	9ð ˆrj   c              #  ór   K  — | j                  | j                  «      j                  «       E d {  –—†  y 7 Œ­wr[   )rX   r`   r  r�   s    rg   Ú_iter_columnszPolarsLazyFrame._iter_columnsd  s'   è ø€ Ø—<‘< × 4Ñ 4Ó5×BÑBÓD×DÒDús   ‚-7¯5°7c                ó   — | j                   S r[   r�   r�   s    rg   rw   zPolarsLazyFrame.nativeg  r‘   rj   c                ó.   — | j                   j                  S r[   r  r�   s    rg   rÉ   zPolarsLazyFrame.columnsk  r  rj   c           
     óÀ   — | j                   j                  }|j                  «       D ��ci c]'  \  }}|t        || j                  | j
                  «      “Œ) c}}S c c}}w r[   r  )rc   r~   rè   rà   s       rg   r~   zPolarsLazyFrame.schemao  sV   € à—‘×#Ñ#ˆð  &Ÿ|™|›~÷
á��eð Ô*¨5°$·-±-À×AVÑAVÓWÑWó
ð 	
ùó 
s   ª,Ac           
     óò  — | j                   dk  rW| j                  j                  j                  «       D ��ci c]'  \  }}|t	        || j
                  | j                   «      “Œ) c}}S 	 | j                  j                  «       }|j                  «       D ��ci c]'  \  }}|t	        || j
                  | j                   «      “Œ) c}}S c c}}w # t        $ r}t        || j                   «      d ‚d }~ww xY wc c}}w rä   )	r^   rw   r~   ræ   r   ra   rç   rÊ   r   )rc   rè   rà   ré   rÏ   s        rg   rç   zPolarsLazyFrame.collect_schemaw  sù   € Ø× Ñ  4Ò'ð
 $(§;¡;×#5Ñ#5×#;Ñ#;Ó#=÷	ñ  �D˜%ð Ô.Ø˜4Ÿ=™=¨$×*?Ñ*?óñ óð ðQØ#'§;¡;×#=Ñ#=Ó#?Ð ð $4×#9Ñ#9Ó#;÷	ñ  �D˜%ð Ô.Ø˜4Ÿ=™=¨$×*?Ñ*?óñ óð ùóøô ò QÜ,¨Q°×0EÑ0EÓFÈDÐPûðQüós#   ·,CÁ(C Â,C3Ã	C0ÃC+Ã+C0c                óD  — 	  | j                   j                  d	i |¤Ž}|�|t
        j                  u rt        j                  || ¬«      S |t
        j                  u rFdd l
}ddlm}  ||j                  «       t
        j                  t        |«      | j                  d¬«      S |t
        j                   u r7dd l}ddlm}  ||j)                  «       t        |«      | j                  d¬«      S d|› �}	t+        |	«      ‚# t        $ r}t        || j                  «      d ‚d }~ww xY w)
Nro   r   )ÚPandasLikeDataFrameF)Úimplementationre   rf   Úvalidate_column_names)ÚArrowDataFrame)re   rf   r–  zUnsupported `backend` value: r“   )rw   rX   rÊ   r   r^   r   r_   rV   rt   ÚPANDASÚpandasÚnarwhals._pandas_like.dataframer”  rP   r   ra   ÚPYARROWÚpyarrowÚnarwhals._arrow.dataframer—  rO   Ú
ValueError)
rc   r  rÌ   rR  rÏ   Úpdr”  Úpar—  r¤   s
             rg   rX   zPolarsLazyFrame.collect‹  s  € ð
	MØ(�T—[‘[×(Ñ(Ñ2¨6Ñ2ˆFð ˆ?˜g¬×)>Ñ)>Ñ>Ü"×.Ñ.¨v¸tÐ.ÓDÐDà”n×+Ñ+Ñ+ÛåKá&Ø× Ñ Ó"Ü-×4Ñ4Ü -¨bÓ 1ØŸ™Ø&+ôð ð ”n×,Ñ,Ñ,Û å@á!Ø—‘Ó!Ü -¨bÓ 1ØŸ™Ø&+ô	ð ð .¨g¨YÐ7ˆÜ˜‹oÐøôA ò 	MÜ(¨¨D×,AÑ,AÓBÈÐLûð	Mús   ‚C: Ã:	DÄDÄDc               ó$   — ddl m}  || ||¬«      S )Nr   r*   r-  )r/  r+   )rc   r0  r.  r+   s       rg   r1  zPolarsLazyFrame.group_by´  s   € õ 	@á   t¸NÔKÐKrj   c                óÈ   — | j                   dk  r*| j                  | j                  j                  |«      «      S | j                  | j                  j	                  |«      «      S r3  r5  r  s     rg   r7  zPolarsLazyFrame.with_row_index»  r8  rj   c               óÌ   — | j                   dk  r*| j                  | j                  j                  |«      «      S | j                  | j                  j                  ||¬«      «      S )Nr@  )r;  )r^   r°   rw   r<  )rc   rÉ   r;  s      rg   r<  zPolarsLazyFrame.dropÀ  sU   € Ø× Ñ  9Ò,Ø×$Ñ$ T§[¡[×%5Ñ%5°gÓ%>Ó?Ð?Ø× Ñ  §¡×!1Ñ!1°'À&Ð!1Ó!IÓJÐJrj   c                óØ   — | j                   dk  r.| j                  | j                  j                  ||||¬«      «      S | j                  | j                  j	                  ||||¬«      «      S r?  rG  rJ  s        rg   rI  zPolarsLazyFrame.unpivotÅ  rK  rj   c                óR   — | j                   | j                  j                  |Ž «      S r[   rþ   rÿ   s     rg   r  zPolarsLazyFrame.simple_selectÛ  r  rj   c                ó    —  | j                   |Ž S r[   r  r  s     rg   r  zPolarsLazyFrame.aggregateÞ  r  rj   c          	     ó¤   — | j                   dk  r|dk(  rdn|}| j                  | j                  j                  |j                  ||||¬«      «      S rU  )r^   r°   rw   r^  )rc   rY  rZ  r[  r\  r]  r_  s          rg   r^  zPolarsLazyFrame.joiná  sa   € ð ×-Ñ-°Ò;ÀÀvÂ‰GÐTWð 	ð × Ñ Ø�K‰K×ÑØ—l‘lØØØ!Øð ó ó
ð 	
rj   N)rd   úpl.LazyFramere   r`  rf   r8   rÓ   ra  )rƒ   zpl.LazyFrame | AnyrÓ   zTypeIs[pl.LazyFrame])rv   r¨  rp   r9   rÓ   r$   rb  rd  re  rf  )rd   r¨  rÓ   r$   rg  rh  rm  )rÓ   r¨  rn  rj  )r  ro  rÌ   r   rÓ   z!CompliantDataFrame[Any, Any, Any])r0  rq  r.  rp  rÓ   r+   rr  rs  ru  rk  rl  rw  )rÖ   rx  ry  rz  rh   r|  r„   r{  rt   r”   r†  r›   r¥   r°   r«   rÙ   rŽ  r}  rw   rÉ   r~   rç   rX   r1  r7  r<  rI  r  r  r^  r“   rj   rg   r  r    sâ  … ØÓØÓØÓØÓØ
ÓØÓØÓØÓØ
ÓØ
ÓØÓØÓð ÓØÓðNØðNØ4CðNØNUðNà	óNð ò-ó ð-ð ò
ó ð
ó
!óó
ó
"ó
ó

ó
óEð ò"ó ð"ð ò#ó ð#ð ò
ó ð
óð('à&ð'ð ð'ð 
+ó	'ðRLØ8ðLØMQðLà	óLóCó
Kð

à ð
ð $ð
ð ð	
ð
 ð
ð 
ó
ó,Dó#ð
àð
ð ð	
ð
 &ð
ð 'ð
ð ð
ð 
ô
rj   r  )RÚ
__future__r   Útypingr   r   r   r   r   r	   r
   r   r   Úpolarsrq   Únarwhals._polars.namespacer   Únarwhals._polars.seriesr   Únarwhals._polars.utilsr   r   r   Únarwhals.dependenciesr   Únarwhals.exceptionsr   Únarwhals.utilsr   r   r   r   r   r   r   r   r   r   r   r   r    Útypesr!   r"   r#   r™  rŸ  rœ  r   Útyping_extensionsr$   r%   r&   Únarwhals._polars.exprr'   r/  r)   r+   Únarwhals._translater,   Únarwhals.dtypesr-   rz   r/   Únarwhals.typingr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   rz  Ú	frozensetrÕ   rV   r  r“   rj   rg   ú<module>r¹     sû   ðÞ "å  Ý Ý Ý Ý Ý Ý Ý Ý ã å 6Ý 0Ý 9Ý 6Ý ;Ý 3Ý 3Ý )Ý ,Ý 9Ý .Ý ,Ý #Ý +Ý )Ý (Ý 0Ý (Ý #Ý 3áÝ ÝÝãÛÝ&Ý+Ý(å0Ý7Ý;Ý2Ý%Ý&Ý2Ý2Ý,Ý0Ý2Ý(Ý3Ý(Ý&Ý+á�‹€AÙ�‹€Aà&€ˆ	Ó &ðñ òóÐ ÷<jMñ jM÷Z`
ò `
rj   