Ë
    ðmxi³A  ã                  óJ  — U d dl mZ d dlmZmZmZ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 d dlmZmZmZmZm Z m!Z! d dl"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/m0Z0 d d	l1m2Z2 e
r‰d d
l3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9Z:d dl;Z<d dl=Z>d dl?m@Z@mAZA d dlBmCZCmDZD d dlEmFZF d dlGmHZH d dlmIZI d dlJmKZKmLZL d dl$mMZMmNZN d dlOmPZP d dlQmRZR d dl1mSZS d dlTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZb eZcdedd<   g d¢Ze ed«      ZfdZgdedd<    ed«      Zh G d „ d!e'eh   eeh   e e!   eeehe!f   «      Zi G d"„ d#ed$   ed%eejef   f   ed&   eeieee!f   eeeee!f   «      Zk G d'„ d(eieee!f   eeee!f   «      Zl G d)„ d*ekeeed+f   eledd+f   e%eeeeef   «      Zmy),é    )Úannotations)ÚIteratorÚMappingÚSequenceÚSized)Úchain)ÚTYPE_CHECKINGÚAnyÚLiteralÚProtocolÚTypeVarÚoverload)
ÚCompliantDataFrameAnyÚCompliantExprT_contraÚCompliantLazyFrameAnyÚCompliantNamespaceAnyÚCompliantSeriesTÚ
EagerExprTÚEagerSeriesTÚNativeDataFrameTÚNativeLazyFrameTÚNativeSeriesT)ÚArrowConvertibleÚDictConvertibleÚ
FromNativeÚNumpyConvertibleÚ
ToNarwhalsÚToNarwhalsT_co)Úassert_never)ÚValidateBackendVersionÚVersionÚ_StoresNativeÚcheck_columns_existÚis_boolean_selectorÚis_compliant_seriesÚis_index_selectorÚis_rangeÚis_sequence_likeÚis_sized_multi_index_selectorÚis_slice_indexÚis_slice_none)ÚMultiOutputExpressionError)ÚBytesIO)ÚPath)Ú
ModuleTypeN)ÚSelfÚ	TypeAlias)ÚCompliantGroupByÚDataFrameGroupBy)ÚEagerNamespace)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚImplementationÚ_LimitedContext)Ú	DataFrame)ÚDType)ÚColumnNotFoundError)ÚAsofJoinStrategyÚ
IntoSchemaÚJoinStrategyÚMultiColSelectorÚMultiIndexSelectorÚPivotAggÚSingleIndexSelectorÚSizedMultiIndexSelectorÚSizedMultiNameSelectorÚSizeUnitÚUniqueKeepStrategyÚ_2DArrayÚ_SliceIndexÚ
_SliceNamer1   Ú
Incomplete)ÚCompliantDataFrameÚCompliantFrameÚCompliantLazyFrameÚEagerDataFrameÚTú2dict[str, CompliantSeriesT] | dict[str, list[Any]]Ú_ToDictÚ_NativeFrameTc                  ó˜  — e Zd ZU dZded<   ded<   ded<   d"d„Zd#d	„Zd$d
„Zd%d„Ze	d&d„«       Z
ed'd„«       Zed(d„«       Zed)d„«       Zd)d„Zd*d„Zd+d„Zd,d„Zd-d„Z	 	 	 	 	 	 d.d„Zd/d„Z	 	 	 	 	 	 	 	 	 	 	 	 d0d„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d„Zd2d„Zd3d„Zd4d„Z	 	 	 	 	 	 	 	 d5d„Z	 	 	 	 	 	 	 	 d6d„Z	 	 	 	 	 	 	 	 	 	 d7d„Zd3d„Zd8d „Zy!)9rN   z)Common parts of `DataFrame`, `LazyFrame`.rT   Ú_native_framer9   Ú_implementationr!   Ú_versionc                 ó   — y ©N© ©Úselfs    úT/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_compliant/dataframe.pyÚ__native_namespace__z#CompliantFrame.__native_namespace__g   ó   � ó    c                 ó   — y rZ   r[   r\   s    r^   Ú__narwhals_namespace__z%CompliantFrame.__narwhals_namespace__h   r`   ra   c                 ó   — y rZ   r[   )r]   Údfs     r^   Ú_with_nativezCompliantFrame._with_nativei   r`   ra   c                 ó   — y rZ   r[   )r]   Úversions     r^   Ú_with_versionzCompliantFrame._with_versionj   r`   ra   c               ó   — y rZ   r[   ©ÚclsÚdataÚcontexts      r^   Úfrom_nativezCompliantFrame.from_nativek   ó   € ØWZra   c                 ó   — y rZ   r[   r\   s    r^   ÚcolumnszCompliantFrame.columnsm   ó   € Ø(+ra   c                ó   — | j                   S rZ   )rV   r\   s    r^   ÚnativezCompliantFrame.nativeo   s   € à×!Ñ!Ð!ra   c                 ó   — y rZ   r[   r\   s    r^   ÚschemazCompliantFrame.schemas   s   € Ø-0ra   c                 ó   — y rZ   r[   r\   s    r^   Úcollect_schemazCompliantFrame.collect_schemav   r`   ra   c                ó   — y rZ   r[   )r]   rr   Ústricts      r^   ÚdropzCompliantFrame.dropw   r`   ra   c                 ó   — y rZ   r[   ©r]   Úsubsets     r^   Ú
drop_nullszCompliantFrame.drop_nullsx   r`   ra   c                 ó   — y rZ   r[   ©r]   rr   s     r^   ÚexplodezCompliantFrame.explodey   r`   ra   c                 ó   — y rZ   r[   )r]   Ú	predicates     r^   ÚfilterzCompliantFrame.filterz   r`   ra   c                ó   — y rZ   r[   ©r]   ÚkeysÚdrop_null_keyss      r^   Úgroup_byzCompliantFrame.group_by{   s   € ð
 9<ra   c                 ó   — y rZ   r[   )r]   Úns     r^   ÚheadzCompliantFrame.head�   r`   ra   c                ó   — y rZ   r[   )r]   ÚotherÚhowÚleft_onÚright_onÚsuffixs         r^   ÚjoinzCompliantFrame.join‚   ó   € ð ra   c                ó   — y rZ   r[   )r]   r�   r’   r“   Úby_leftÚby_rightÚstrategyr”   s           r^   Ú	join_asofzCompliantFrame.join_asof‹   s   € ð ra   c                 ó   — y rZ   r[   )r]   Úmappings     r^   ÚrenamezCompliantFrame.rename–   r`   ra   c                 ó   — y rZ   r[   ©r]   Úexprss     r^   ÚselectzCompliantFrame.select—   r`   ra   c                 ó   — y)z)`select` where all args are column names.Nr[   )r]   Úcolumn_namess     r^   Úsimple_selectzCompliantFrame.simple_select˜   ó   € àra   c                ó   — y rZ   r[   )r]   Ú
descendingÚ
nulls_lastÚbys       r^   ÚsortzCompliantFrame.sortœ   ó   € àra   c                ó   — y rZ   r[   )r]   r   ÚkeepÚorder_bys       r^   ÚuniquezCompliantFrame.uniqueŸ   ó   € ð ra   c                 ó   — y rZ   r[   )r]   ÚonÚindexÚvariable_nameÚ
value_names        r^   ÚunpivotzCompliantFrame.unpivot¦   r±   ra   c                 ó   — y rZ   r[   r    s     r^   Úwith_columnszCompliantFrame.with_columns­   r`   ra   c                 ó   — y rZ   r[   ©r]   Únamer¯   s      r^   Úwith_row_indexzCompliantFrame.with_row_index®   r`   ra   N)Úreturnr/   )r¾   r
   )re   rT   r¾   r0   )rh   r!   r¾   r0   )rm   rT   rn   r:   r¾   r0   )r¾   úSequence[str])r¾   rT   )r¾   zMapping[str, DType])rr   r¿   r{   Úboolr¾   r0   )r   úSequence[str] | Noner¾   r0   )rr   r¿   r¾   r0   )r…   z"CompliantExprT_contra | Incompleter¾   r0   )r‰   ú/Sequence[str] | Sequence[CompliantExprT_contra]rŠ   rÀ   r¾   z-CompliantGroupBy[Self, CompliantExprT_contra])r�   Úintr¾   r0   )r�   r0   r‘   r@   r’   rÁ   r“   rÁ   r”   Ústrr¾   r0   )r�   r0   r’   rÄ   r“   rÄ   r˜   rÁ   r™   rÁ   rš   r>   r”   rÄ   r¾   r0   )r�   zMapping[str, str]r¾   r0   ©r¡   r   r¾   r0   )r¤   rÄ   r¾   r0   )rª   rÄ   r¨   zbool | Sequence[bool]r©   rÀ   r¾   r0   )r   rÁ   r®   rH   r¯   rÁ   r¾   r0   )
r³   rÁ   r´   rÁ   rµ   rÄ   r¶   rÄ   r¾   r0   )r¼   rÄ   r¯   r¿   r¾   r0   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r_   rc   rf   ri   Úclassmethodro   Úpropertyrr   ru   rw   ry   r|   r€   rƒ   r†   r‹   rŽ   r•   r›   rž   r¢   r¥   r«   r°   r·   r¹   r½   r[   ra   r^   rN   rN   [   sÅ  … ñ 4à Ó Ø#Ó#ØÓã5Û0Û:Û:ØÚZó ØZØÚ+ó Ø+Øò"ó ð"ð Ú0ó Ø0ã8ÛHÛCÛ:ÛPð<à=ð<ð ð	<ð
 
7ó<ó (ðàðð ð	ð
 &ðð 'ðð ðð 
óð
àð
ð ð	
ð
 ð
ð &ð
ð 'ð
ð #ð
ð ð
ð 
ó
ó >Û@óðØðØ$9ðØGKðà	óðà$ðð !ð	ð
 'ðð 
óðà ðð $ðð ð	ð
 ðð 
óó GÜMra   rN   c                  ó*  — e Zd Zd%d„Zed&d„«       Ze	 	 	 	 	 	 	 	 d'd„«       Ze	 	 	 	 	 	 	 	 d(d„«       Ze	 	 	 	 	 	 	 	 d)d„«       Zd*d„Z		 	 	 	 d+d„Z
ed,d„«       Zd%d	„Zd-d
„Zd.d„Zd/d„Z	 	 	 	 	 	 d0d„Zd1d„Zd2d„Z	 	 	 	 	 	 d3d„Zd4d„Z	 	 	 	 	 	 d5d„Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 d6d„Zd7d„Z	 	 	 	 d8d„Z	 	 	 	 	 	 	 	 	 	 d9d„Zd:d„Zd;d„Zd<d„Zed=d„«       Zed>d„«       Z	 	 	 	 d?d„Zddœ	 	 	 	 	 	 	 	 	 d@d„Z dAd „Z!edBd!„«       Z"edCd"„«       Z"dDd#„Z"dCd$„Z#y)ErM   c                 ó   — y rZ   r[   r\   s    r^   Ú__narwhals_dataframe__z)CompliantDataFrame.__narwhals_dataframe__¹   r`   ra   c               ó   — y rZ   r[   rk   s      r^   Ú
from_arrowzCompliantDataFrame.from_arrowº   rp   ra   c               ó   — y rZ   r[   ©rl   rm   rn   rw   s       r^   Ú	from_dictzCompliantDataFrame.from_dict¼   r–   ra   c               ó   — y rZ   r[   rÓ   s       r^   Ú
from_dictszCompliantDataFrame.from_dictsÅ   r–   ra   c               ó   — y rZ   r[   rÓ   s       r^   Ú
from_numpyzCompliantDataFrame.from_numpyÎ   r–   ra   c                ó   — y rZ   r[   )r]   ÚdtypeÚcopys      r^   Ú	__array__zCompliantDataFrame.__array__×   r`   ra   c                 ó   — y rZ   r[   )r]   Úitems     r^   Ú__getitem__zCompliantDataFrame.__getitem__Ø   r±   ra   c                 ó   — y rZ   r[   r\   s    r^   ÚshapezCompliantDataFrame.shapeà   rs   ra   c                 ó   — y rZ   r[   r\   s    r^   ÚclonezCompliantDataFrame.cloneâ   r`   ra   c                 ó   — y rZ   r[   )r]   Úunits     r^   Úestimated_sizez!CompliantDataFrame.estimated_sizeã   r`   ra   c                 ó   — y rZ   r[   )r]   r�   Úoffsets      r^   Úgather_everyzCompliantDataFrame.gather_everyä   r`   ra   c                 ó   — y rZ   r[   )r]   r¼   s     r^   Ú
get_columnzCompliantDataFrame.get_columnå   r`   ra   c                ó   — y rZ   r[   rˆ   s      r^   r‹   zCompliantDataFrame.group_byæ   s   € ð
 '*ra   c                 ó   — y rZ   r[   )r]   ÚrowÚcolumns      r^   rÞ   zCompliantDataFrame.itemì   r`   ra   c                 ó   — y rZ   r[   r\   s    r^   Úiter_columnszCompliantDataFrame.iter_columnsí   r`   ra   c                ó   — y rZ   r[   )r]   ÚnamedÚbuffer_sizes      r^   Ú	iter_rowszCompliantDataFrame.iter_rowsî   ó   € àBEra   c                 ó   — y rZ   r[   r\   s    r^   Ú	is_uniquezCompliantDataFrame.is_uniqueñ   r`   ra   c                ó   — y rZ   r[   )r]   ÚbackendÚsessions      r^   ÚlazyzCompliantDataFrame.lazyò   ó   € à #ra   c                ó   — y rZ   r[   )r]   r³   r´   ÚvaluesÚaggregate_functionÚsort_columnsÚ	separators          r^   ÚpivotzCompliantDataFrame.pivotõ   s   € ð ra   c                 ó   — y rZ   r[   )r]   r´   s     r^   rî   zCompliantDataFrame.rowÿ   r`   ra   c                ó   — y rZ   r[   )r]   ró   s     r^   ÚrowszCompliantDataFrame.rows   rö   ra   c                ó   — y rZ   r[   )r]   r�   ÚfractionÚwith_replacementÚseeds        r^   ÚsamplezCompliantDataFrame.sample  ó   € ð ra   c                 ó   — y rZ   r[   r\   s    r^   Úto_arrowzCompliantDataFrame.to_arrow  r`   ra   c                 ó   — y rZ   r[   r\   s    r^   Ú	to_pandaszCompliantDataFrame.to_pandas  r`   ra   c                 ó   — y rZ   r[   r\   s    r^   Ú	to_polarszCompliantDataFrame.to_polars  r`   ra   c                ó   — y rZ   r[   ©r]   Ú	as_seriess     r^   Úto_dictzCompliantDataFrame.to_dict  s   € ØSVra   c                ó   — y rZ   r[   r  s     r^   r  zCompliantDataFrame.to_dict  s   € ØMPra   c                ó   — y rZ   r[   r  s     r^   r  zCompliantDataFrame.to_dict  s   € à=@ra   N)Úmaintain_orderc                ó   — y rZ   r[   )r]   r   r®   r  r¯   s        r^   r°   zCompliantDataFrame.unique  r  ra   c                 ó   — y rZ   r[   r»   s      r^   r½   z!CompliantDataFrame.with_row_index  r`   ra   c                 ó   — y rZ   r[   ©r]   Úfiles     r^   Ú	write_csvzCompliantDataFrame.write_csv  s   € Ø,/ra   c                 ó   — y rZ   r[   r  s     r^   r  zCompliantDataFrame.write_csv   s   € Ø=@ra   c                 ó   — y rZ   r[   r  s     r^   r  zCompliantDataFrame.write_csv"  r`   ra   c                 ó   — y rZ   r[   r  s     r^   Úwrite_parquetz CompliantDataFrame.write_parquet#  r`   ra   ©r¾   r0   )rm   r6   rn   r:   r¾   r0   )rm   zMapping[str, Any]rn   r   rw   ú.IntoSchema | Mapping[str, DType | None] | Noner¾   r0   )rm   zSequence[Mapping[str, Any]]rn   r:   rw   r%  r¾   r0   )rm   rI   rn   r:   rw   z!IntoSchema | Sequence[str] | Noner¾   r0   )rÚ   r
   rÛ   úbool | Noner¾   rI   )rÞ   zetuple[SingleIndexSelector | MultiIndexSelector[CompliantSeriesT], MultiColSelector[CompliantSeriesT]]r¾   r0   )r¾   ztuple[int, int])rå   rG   r¾   zint | float)r�   rÃ   rè   rÃ   r¾   r0   )r¼   rÄ   r¾   r   )r‰   rÂ   rŠ   rÀ   r¾   zDataFrameGroupBy[Self, Any])rî   ú
int | Nonerï   zint | str | Noner¾   r
   )r¾   zIterator[CompliantSeriesT])ró   rÀ   rô   rÃ   r¾   z7Iterator[tuple[Any, ...]] | Iterator[Mapping[str, Any]])r¾   r   )rú   z_LazyAllowedImpl | Nonerû   zSparkSession | Noner¾   r   )r³   r¿   r´   rÁ   rÿ   rÁ   r   zPivotAgg | Noner  rÀ   r  rÄ   r¾   r0   )r´   rÃ   r¾   ztuple[Any, ...])ró   rÀ   r¾   z7Sequence[tuple[Any, ...]] | Sequence[Mapping[str, Any]])
r�   r'  r  zfloat | Noner	  rÀ   r
  r'  r¾   r0   )r¾   úpa.Table)r¾   zpd.DataFrame)r¾   zpl.DataFrame)r  zLiteral[True]r¾   zdict[str, CompliantSeriesT])r  zLiteral[False]r¾   zdict[str, list[Any]])r  rÀ   r¾   rR   )
r   rÁ   r®   rH   r  r&  r¯   rÁ   r¾   r0   )r¼   rÄ   r¯   rÁ   r¾   r0   )r  ÚNoner¾   rÄ   ©r  zstr | Path | BytesIOr¾   r)  )r  zstr | Path | BytesIO | Noner¾   z
str | None)$rÆ   rÇ   rÈ   rÏ   rË   rÑ   rÔ   rÖ   rØ   rÜ   rß   rÌ   rá   rã   ræ   ré   rë   r‹   rÞ   rñ   rõ   rø   rü   r  rî   r  r  r  r  r  r   r  r°   r½   r  r#  r[   ra   r^   rM   rM   ±   s¥  „ ó 2ØÚZó ØZØðàðð
 'ðð ?ðð 
òó ðð ðà)ðð
 !ðð ?ðð 
òó ðð ðàðð
 !ðð 2ðð 
òó ðó Kðð
ðð 
óð Ú+ó Ø+Û Û@Û<Û<ð*à=ð*ð ð	*ð
 
%ó*ó JÛ=ðFØðFØ+.ðFà	@óFó 1ð$Ø.ð$Ø<Oð$à	ó$ð	àð	ð $ð		ð
 %ð	ð ,ð	ð ð	ð ð	ð 
ó	ó 6ðFØðFà	@óFðàðð ð	ð
 ðð ðð 
óó (Û,Û,ØÚVó ØVØÚPó ØPðAØ ðAà	;óAð '+ñà$ðð !ð	ð
 $ðð 'ðð 
óó UØÚ/ó Ø/ØÚ@ó Ø@ÛMÜDra   rM   )rI   rI   z_ToDict[CompliantSeriesT])r(  r6   c                  ó@   — e Zd Zdd„Zdd„Zd	d„Z	 	 	 	 	 	 d
d„Zdd„Zy)rO   c                 ó   — y rZ   r[   r\   s    r^   Ú__narwhals_lazyframe__z)CompliantLazyFrame.__narwhals_lazyframe__*  r`   ra   c                 ó   — y rZ   r[   r\   s    r^   Ú_iter_columnsz CompliantLazyFrame._iter_columns,  r`   ra   c                 ó   — y)zk`select` where all args are aggregations or literals.

        (so, no broadcasting is necessary).
        Nr[   r    s     r^   Ú	aggregatezCompliantLazyFrame.aggregate-  s   € ð
 	ra   c                 ó   — y rZ   r[   )r]   rú   Úkwargss      r^   ÚcollectzCompliantLazyFrame.collect4  rý   ra   c                 ó   — y rZ   r[   r  s     r^   Úsink_parquetzCompliantLazyFrame.sink_parquet7  r`   ra   Nr$  )r¾   zIterator[Any]rÅ   )rú   z_EagerAllowedImpl | Noner3  r
   r¾   r   r*  )rÆ   rÇ   rÈ   r-  r/  r1  r4  r6  r[   ra   r^   rO   rO   &  s2   „ ó 2ã1óð$Ø/ð$Ø;>ð$à	ó$ô Dra   rO   c                  óð   — e Zd Zedd„«       Z	 	 dd„Zdd„Zdd„Zddœ	 	 	 	 	 dd„Zdd„Z	dd	„Z
dd
„Zdd„Zd d„Ze	 	 	 	 	 	 d!d„«       Zd"d„Zd#d„Z	 	 	 	 d$d„Z	 	 	 	 d%d„Zd&d„Zd'd„Z	 	 	 	 d(d„Zd)d„Zy)*rP   c                ó6   — | j                   j                  «       S rZ   )rW   Ú_backend_versionr\   s    r^   r9  zEagerDataFrame._backend_versionB  s   € à×#Ñ#×4Ñ4Ó6Ð6ra   c                 ó   — y rZ   r[   r\   s    r^   rc   z%EagerDataFrame.__narwhals_namespace__F  s   € ð ra   c                ó<   — | j                   j                  | d¬«      S )NÚfull)Úlevel)rX   Ú	dataframer\   s    r^   Úto_narwhalszEagerDataFrame.to_narwhalsL  s   € Ø�}‰}×&Ñ& t°6Ð&Ó:Ð:ra   c                ó    —  | j                   |Ž S rZ   )r¢   r    s     r^   r1  zEagerDataFrame.aggregateO  s   € ð ˆt�{‰{˜EÐ"Ð"ra   T)Úvalidate_column_namesc                ó   — y rZ   r[   )r]   re   rA  s      r^   rf   zEagerDataFrame._with_nativeY  r¬   ra   c                ó0   — t        || j                  ¬«      S )N)Ú	available)r#   rr   r~   s     r^   Ú_check_columns_existz#EagerDataFrame._check_columns_exist]  s   € Ü" 6°T·\±\ÔBÐBra   c               ód   — | j                  |«      }t        |«      dk7  rd}t        |«      ‚|d   S )z6Evaluate `expr` and ensure it has a **single** output.é   z4multi-output expressions not allowed in this contextr   )Ú_evaluate_exprÚlenr,   )r]   ÚexprÚresultÚmsgs       r^   Ú_evaluate_single_output_exprz+EagerDataFrame._evaluate_single_output_expr`  s:   € ð
 ×$Ñ$ TÓ*ˆÜˆv‹;˜!ÒØHˆCÜ,¨SÓ1Ð1Ø�a‰yÐra   c                óR   ‡ — t        t        j                  ˆ fd„|D «       «      «      S )Nc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrZ   )rH  )Ú.0rJ  r]   s     €r^   ú	<genexpr>z1EagerDataFrame._evaluate_exprs.<locals>.<genexpr>o  s   øè ø€ Ò(UÀt¨×)<Ñ)<¸T×)BÑ(Uùs   ƒ)Útupler   Úfrom_iterabler    s   ` r^   Ú_evaluate_exprszEagerDataFrame._evaluate_exprsk  s!   ø€ ô ”U×(Ñ(Ó(UÈuÔ(UÓUÓVÐVra   c               ó¸   — |j                  | «      } || «      }t        |«      |D �cg c]  }|j                  ‘Œ c}x}k7  rd|› d|› �}t        |«      ‚|S c c}w )a†  Return list of raw columns.

        For eager backends we alias operations at each step.

        As a safety precaution, here we can check that the expected result names match those
        we were expecting from the various `evaluate_output_names` / `alias_output_names` calls.

        Note that for PySpark / DuckDB, we are less free to liberally set aliases whenever we want.
        z"Safety assertion failed, expected z, got )Ú_evaluate_aliasesÚlistr¼   ÚAssertionError)r]   rJ  ÚaliasesrK  ÚsÚresult_aliasesrL  s          r^   rH  zEagerDataFrame._evaluate_exprq  sj   € ð ×(Ñ(¨Ó.ˆÙ�d“ˆÜ�‹=Ø/5Ö6¨!˜qŸv›vÒ6Ð6ˆNò
ð 7°w°i¸vÀnÐEUÐVˆCÜ  Ó%Ð%Øˆùò	 7s   ¨Ac                ó   — y)z@Extract native Series, broadcasting to `len(self)` if necessary.Nr[   )r]   r�   s     r^   Ú_extract_comparandz!EagerDataFrame._extract_comparand„  r¦   ra   c               óZ   — t        |xs d„ t        | j                  d   «      D «       «      S )Nc              3  ó&   K  — | ]	  }d |› �–— Œ y­w)Úcolumn_Nr[   )rP  Úxs     r^   rQ  z5EagerDataFrame._numpy_column_names.<locals>.<genexpr>Œ  s   è ø€ ÒL°! '¨!¨¤ÑLùs   ‚rG  )rW  Úrangerá   )rm   rr   s     r^   Ú_numpy_column_namesz"EagerDataFrame._numpy_column_namesˆ  s'   € ô �GÒLÑL´u¸T¿Z¹ZÈ¹]Ó7KÔLÓMÐMra   c                 ó   — y rZ   r[   ©r]   r  s     r^   Ú_gatherzEagerDataFrame._gatherŽ  r`   ra   c                 ó   — y rZ   r[   re  s     r^   Ú_gather_slicezEagerDataFrame._gather_slice�  r`   ra   c                 ó   — y rZ   r[   r‚   s     r^   Ú_select_multi_indexz"EagerDataFrame._select_multi_index�  r¬   ra   c                 ó   — y rZ   r[   r‚   s     r^   Ú_select_multi_namez!EagerDataFrame._select_multi_name“  r¬   ra   c                 ó   — y rZ   r[   r‚   s     r^   Ú_select_slice_indexz"EagerDataFrame._select_slice_index–  r`   ra   c                 ó   — y rZ   r[   r‚   s     r^   Ú_select_slice_namez!EagerDataFrame._select_slice_name—  r`   ra   c                ó   — |\  }}| }t        |«      �sAt        |t        «      rt        |«      dk(  r|j	                  «       S t        |«      r+ |j                  d„ t        |j                  |«      D «       Ž }nÝt        |«      rat        |«      st        |«      r|j                  |«      }nªt        |«      r| j                  |j                  «      }nƒ|j                  |«      }nqt        |t         «      r|j#                  |«      }nOt        |«      r| j%                  |j                  «      }n(t'        |«      r| j%                  |«      }nt)        |«       t        |«      sžt        |t*        «      r|j-                  |g«      }|S t        |t         t.        f«      r|j1                  |«      }|S t        |«      r|j-                  |j                  «      }|S t3        |«      r|j-                  |«      }|S t)        |«       |S )Nr   c              3  ó,   K  — | ]  \  }}|sŒ	|–— Œ y ­wrZ   r[   )rP  Úcolr¢   s      r^   rQ  z-EagerDataFrame.__getitem__.<locals>.<genexpr>¦  s   è ø€ ÒW™k˜c 6ÒPV”cÑWùs   ‚
�)r+   Ú
isinstancer   rI  r¢   r$   r¥   Úziprr   r&   r*   r'   rn  r%   rj  ru   Úslicerp  rl  r(   r   rÃ   rf  rb  rh  r)   )r]   rÞ   r  rr   Ú	compliants        r^   rß   zEagerDataFrame.__getitem__˜  sÄ  € ð ‰ˆˆgØˆ	Ü˜WÕ%Ü˜'¤5Ô)¬c°'«l¸aÒ.?Ø ×'Ñ'Ó)Ð)Ü" 7Ô+Ø3˜I×3Ñ3ÙW¬S°×1BÑ1BÀGÓ-LÔWð‘	ô # 7Ô+Ü! 'Ô*¬h°wÔ.?Ø )× =Ñ =¸gÓ F‘IÜ(¨Ô1Ø $× 8Ñ 8¸¿¹Ó H‘Ià )× =Ñ =¸gÓ F‘IÜ˜G¤UÔ+Ø%×8Ñ8¸ÓA‘	Ü$ WÔ-Ø ×3Ñ3°G·N±NÓC‘	Ü! 'Ô*Ø ×3Ñ3°GÓ<‘	ä˜WÔ%ä˜TÔ"Ü˜$¤Ô$Ø%×-Ñ-¨t¨fÓ5�	ð Ðô ˜D¤5¬% .Ô1Ø%×3Ñ3°DÓ9�	ð Ðô % TÔ*Ø%×-Ñ-¨d¯k©kÓ:�	ð Ðô /¨tÔ4Ø%×-Ñ-¨dÓ3�	ð Ðô ˜TÔ"àÐra   c                ó$   — | j                  |«      S rZ   )r#  r  s     r^   r6  zEagerDataFrame.sink_parquetÆ  s   € Ø×!Ñ! $Ó'Ð'ra   N)r¾   ztuple[int, ...])r¾   zOEagerNamespace[Self, EagerSeriesT, EagerExprT, NativeDataFrameT, NativeSeriesT])r¾   úDataFrame[NativeDataFrameT])r¡   r   r¾   r0   )re   r   rA  rÀ   r¾   r0   )r   r¿   r¾   zColumnNotFoundError | None)rJ  r   r¾   r   )r¡   r   r¾   úSequence[EagerSeriesT])rJ  r   r¾   rz  )r�   r   r¾   r
   )rm   rI   rr   rÁ   r¾   z	list[str])r  ú&SizedMultiIndexSelector[NativeSeriesT]r¾   r0   )r  ú_SliceIndex | ranger¾   r0   )rr   r{  r¾   r0   )rr   z%SizedMultiNameSelector[NativeSeriesT]r¾   r0   )rr   r|  r¾   r0   )rr   rK   r¾   r0   )rÞ   z]tuple[SingleIndexSelector | MultiIndexSelector[EagerSeriesT], MultiColSelector[EagerSeriesT]]r¾   r0   r*  )rÆ   rÇ   rÈ   rÌ   r9  rc   r?  r1  rf   rE  rM  rT  rH  r]  Ústaticmethodrc  rf  rh  rj  rl  rn  rp  rß   r6  r[   ra   r^   rP   rP   :  sú   „ ð ò7ó ð7ðð
óó;ó#ð FJñØ"ðØ>Bðà	óóCó	óWóó&ð ðNØðNØ!5ðNà	òNó ðNó
 QÛCðØ=ðà	óðØ<ðà	óó MÛBð,ð
ð,ð 
ó,ô\(ra   rP   ry  )nÚ
__future__r   Úcollections.abcr   r   r   r   Ú	itertoolsr   Útypingr	   r
   r   r   r   r   Únarwhals._compliant.typingr   r   r   r   r   r   r   r   r   r   Únarwhals._translater   r   r   r   r   r   Únarwhals._typing_compatr   Únarwhals._utilsr    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Únarwhals.exceptionsr,   Úior-   Úpathlibr.   Útypesr/   ÚpandasÚpdÚpolarsÚplÚpyarrowÚpaÚtyping_extensionsr0   r1   Únarwhals._compliant.group_byr2   r3   Únarwhals._compliant.namespacer4   Únarwhals._spark_like.utilsr5   r6   Únarwhals._typingr7   r8   r9   r:   Únarwhals.dataframer;   Únarwhals.dtypesr<   r=   Únarwhals.typingr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rÊ   Ú__all__rQ   rS   rT   rN   rÄ   rM   rO   rP   r[   ra   r^   ú<module>r™     sÑ  ðÞ "ç >Ó >Ý ß K× K÷÷ ÷ ÷÷ õ 1÷÷ ÷ ó õ ;áÝÝÝ ãÛÛß1çOÝ<Ý7Ý2ßDß?Ý,Ý%Ý7÷÷ ÷ ÷ ð"  €J�	Óâ
Z€áˆCƒL€àI€ˆÓ Iá˜Ó(€ôSNØ�-Ñ Øˆ}ÑØˆ~ÑØÐ" M°>ÐAÑBô	SNôlrEØÐ+Ñ,ØÐ/°¸¸c¸Ñ1BÐBÑCØÐ1Ñ2Ø	ØÐ(Ð*:¸NÐJÑKØÐÐ4Ð6FÈÐVÑWôrEôjDØÐ(Ð*:¸NÐJÑKØÐ"Ð$4°nÐDÑEôDô(M(ØØ�jÐ"2Ð4QÐQñð �z <Ð1NÐNÑOØØˆ\˜:Ð'7¸ÐFÑGõM(ra   