§
    cŠtjD  ã                  óä  — 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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/m0Z0m1Z1 d d	l2m3Z3 e
r�d d
l4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl	m:Z: d dl;Z<d dl=Z>d dl?Z@d dlAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZI d dlmJZJ d dlKmLZLmMZM d dl%mNZNmOZO d dlPmQZQ d dlRmSZS d dl2mTZT d dlUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZc eZddeed<   dZfdeed<   g d¢Zg ed ¦  «        Zhd!Zideed"<    ed#¦  «        Zj G d$„ d%e(ej         eej         e!e"         eeeje"f         ¦  «        Zk G d&„ d'e d(         ed)eelef         f         ed*         eekeee"f         eeeee"f         ¦  «        Zm G d+„ d,ekeee"f         eeee"f         ¦  «        Zn G d-„ d.emeeed/f         enedd/f         e&eeeeef         ¦  «        ZodS )0é    )Úannotations)ÚIteratorÚMappingÚSequenceÚSized)Úchain)ÚTYPE_CHECKINGÚAnyÚFinalÚ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)Ú
ModuleType)Ú	TypeAliasN)ÚSelf)ÚCompliantGroupByÚDataFrameGroupBy)ÚEagerNamespace)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚImplementationÚ_LimitedContext)Ú	DataFrame)ÚDType)ÚColumnNotFoundError)ÚAsofJoinStrategyÚ	IntoDTypeÚJoinStrategyÚMultiColSelectorÚMultiIndexSelectorÚPivotAggÚSingleIndexSelectorÚSizedMultiIndexSelectorÚSizedMultiNameSelectorÚSizeUnitÚUniqueKeepStrategyÚ_2DArrayÚ_SliceIndexÚ
_SliceNamer1   Ú
IncompleteFr   ÚMYPY)Ú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<   dVd
„ZdWd„ZdXd„ZdYd„Ze	dZd„¦   «         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dad&„Zdbd+„Zdcd.„Zddd6„Zded;„Zdfd>„ZdgdA„ZdhdC„ZdidH„ZdjdL„ZdkdQ„ZdgdR„ZdldT„ZdUS )mrP   z)Common parts of `DataFrame`, `LazyFrame`.rV   Ú_native_framer:   Ú_implementationr"   Ú_versionÚreturnr0   c                ó   — d S ©N© ©Úselfs    ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/_compliant/dataframe.pyÚ__native_namespace__z#CompliantFrame.__native_namespace__j   ó   € € € ó    r
   c                ó   — d S r]   r^   r_   s    ra   Ú__narwhals_namespace__z%CompliantFrame.__narwhals_namespace__k   rc   rd   Údfr2   c                ó   — d S r]   r^   )r`   rg   s     ra   Ú_with_nativezCompliantFrame._with_nativel   rc   rd   Úversionc                ó   — d S r]   r^   )r`   rj   s     ra   Ú_with_versionzCompliantFrame._with_versionm   rc   rd   ÚdataÚcontextr;   c              ó   — d S r]   r^   ©Úclsrm   rn   s      ra   Úfrom_nativezCompliantFrame.from_nativen   ó   € ØWZÐWZrd   úSequence[str]c                ó   — d S r]   r^   r_   s    ra   ÚcolumnszCompliantFrame.columnsp   ó   € Ø(+¨rd   c                ó   — | j         S r]   )rX   r_   s    ra   ÚnativezCompliantFrame.nativer   s   € àÔ!Ð!rd   úMapping[str, DType]c                ó   — d S r]   r^   r_   s    ra   ÚschemazCompliantFrame.schemav   s   € Ø-0¨Srd   c                ó   — d S r]   r^   r_   s    ra   Úcollect_schemazCompliantFrame.collect_schemay   rc   rd   rv   ÚstrictÚboolc               ó   — d S r]   r^   )r`   rv   r   s      ra   ÚdropzCompliantFrame.dropz   rc   rd   ÚsubsetúSequence[str] | Nonec                ó   — d S r]   r^   ©r`   rƒ   s     ra   Ú
drop_nullszCompliantFrame.drop_nulls{   rc   rd   c                ó   — d S r]   r^   ©r`   rv   s     ra   ÚexplodezCompliantFrame.explode|   rc   rd   Ú	predicateú"CompliantExprT_contra | Incompletec                ó   — d S r]   r^   )r`   r‹   s     ra   ÚfilterzCompliantFrame.filter}   rc   rd   Úkeysú/Sequence[str] | Sequence[CompliantExprT_contra]Údrop_null_keysú-CompliantGroupBy[Self, CompliantExprT_contra]c               ó   — d S r]   r^   ©r`   r�   r‘   s      ra   Úgroup_byzCompliantFrame.group_by~   s	   € ð
 9<¸rd   ÚnÚintc                ó   — d S r]   r^   )r`   r–   s     ra   ÚheadzCompliantFrame.head„   rc   rd   ÚotherÚhowrA   Úleft_onÚright_onÚsuffixÚstrc               ó   — d S r]   r^   )r`   rš   r›   rœ   r�   rž   s         ra   ÚjoinzCompliantFrame.join…   ó	   € ð ˆsrd   Úby_leftÚby_rightÚstrategyr?   c               ó   — d S r]   r^   )r`   rš   rœ   r�   r£   r¤   r¥   rž   s           ra   Ú	join_asofzCompliantFrame.join_asofŽ   s	   € ð ˆsrd   ÚmappingúMapping[str, str]c                ó   — d S r]   r^   )r`   r¨   s     ra   ÚrenamezCompliantFrame.rename™   rc   rd   Úexprsr   c                ó   — d S r]   r^   ©r`   r¬   s     ra   ÚselectzCompliantFrame.selectš   rc   rd   Úcolumn_namesc                ó   — dS )z)`select` where all args are column names.Nr^   )r`   r°   s     ra   Úsimple_selectzCompliantFrame.simple_select›   ó   € àˆrd   ÚbyÚ
descendingúbool | Sequence[bool]Ú
nulls_lastc               ó   — d S r]   r^   )r`   rµ   r·   r´   s       ra   ÚsortzCompliantFrame.sortŸ   ó   € àˆsrd   ÚkeeprI   Úorder_byc               ó   — d S r]   r^   )r`   rƒ   r»   r¼   s       ra   ÚuniquezCompliantFrame.unique¢   ó	   € ð ˆsrd   ÚonÚindexÚvariable_nameÚ
value_namec                ó   — d S r]   r^   )r`   rÀ   rÁ   rÂ   rÃ   s        ra   ÚunpivotzCompliantFrame.unpivot©   r¿   rd   c                ó   — d S r]   r^   r®   s     ra   Úwith_columnszCompliantFrame.with_columns°   rc   rd   Únamec                ó   — d S r]   r^   ©r`   rÈ   r¼   s      ra   Úwith_row_indexzCompliantFrame.with_row_index±   rc   rd   N)r[   r0   )r[   r
   )rg   rV   r[   r2   )rj   r"   r[   r2   )rm   rV   rn   r;   r[   r2   )r[   rt   )r[   rV   )r[   rz   )rv   rt   r   r€   r[   r2   )rƒ   r„   r[   r2   )rv   rt   r[   r2   )r‹   rŒ   r[   r2   )r�   r�   r‘   r€   r[   r’   )r–   r—   r[   r2   )rš   r2   r›   rA   rœ   r„   r�   r„   rž   rŸ   r[   r2   )rš   r2   rœ   rŸ   r�   rŸ   r£   r„   r¤   r„   r¥   r?   rž   rŸ   r[   r2   )r¨   r©   r[   r2   ©r¬   r   r[   r2   )r°   rŸ   r[   r2   )r´   rŸ   rµ   r¶   r·   r€   r[   r2   )rƒ   r„   r»   rI   r¼   r„   r[   r2   )
rÀ   r„   rÁ   r„   rÂ   rŸ   rÃ   rŸ   r[   r2   )rÈ   rŸ   r¼   rt   r[   r2   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__rb   rf   ri   rl   Úclassmethodrr   Úpropertyrv   ry   r|   r~   r‚   r‡   rŠ   rŽ   r•   r™   r¡   r§   r«   r¯   r²   r¹   r¾   rÅ   rÇ   rË   r^   rd   ra   rP   rP   ^   sÛ  € € € € € € ð 4Ð3à Ð Ð Ñ Ø#Ð#Ð#Ñ#ØÐÐÑà5Ð5Ð5Ð5Ø0Ð0Ð0Ð0Ø:Ð:Ð:Ð:Ø:Ð:Ð:Ð:ØØZÐZÐZñ „[ØZØØ+Ð+Ð+ñ „XØ+Øð"ð "ð "ñ „Xð"ð Ø0Ð0Ð0ñ „XØ0à8Ð8Ð8Ð8ØHÐHÐHÐHØCÐCÐCÐCØ:Ð:Ð:Ð:ØPÐPÐPÐPð<ð <ð <ð <ð (Ð'Ð'Ð'ðð ð ð ð
ð 
ð 
ð 
ð >Ð=Ð=Ð=Ø@Ð@Ð@Ð@ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð GÐFÐFÐFØMÐMÐMÐMÐMÐMrd   rP   c                  ó´  — e Zd Zdtd„Zedud„¦   «         Zedvd„¦   «         Zedwd„¦   «         Zedxd„¦   «         Zdyd„Z	dzd„Z
ed{d„¦   «         Zdtd„Zd|d!„Zd}d%„Zd~d)„Zdd/„Zd€d4„Zd�d6„Zd‚d:„Zdƒd;„Zd„dA„Zd…dK„Zd†dM„Zd‡dO„ZdˆdR„Zd‰dT„ZdŠdV„Zd‹dX„ZedŒd\„¦   «         Zed�d_„¦   «         ZdŽda„Zdbdcœd�di„Z d�dj„Z!ed‘dm„¦   «         Z"ed’do„¦   «         Z"d“dr„Z"d’ds„Z#dbS )”rO   r[   r2   c                ó   — d S r]   r^   r_   s    ra   Ú__narwhals_dataframe__z)CompliantDataFrame.__narwhals_dataframe__¼   rc   rd   rm   r7   rn   r;   c              ó   — d S r]   r^   rp   s      ra   Ú
from_arrowzCompliantDataFrame.from_arrow½   rs   rd   úMapping[str, Any]r   r|   ú%Mapping[str, IntoDType | None] | Nonec              ó   — d S r]   r^   ©rq   rm   rn   r|   s       ra   Ú	from_dictzCompliantDataFrame.from_dict¿   r¢   rd   úSequence[Mapping[str, Any]]c              ó   — d S r]   r^   rÜ   s       ra   Ú
from_dictszCompliantDataFrame.from_dictsÈ   r¢   rd   rJ   ú.Mapping[str, IntoDType] | Sequence[str] | Nonec              ó   — d S r]   r^   rÜ   s       ra   Ú
from_numpyzCompliantDataFrame.from_numpyÑ   r¢   rd   Údtyper
   Úcopyúbool | Nonec               ó   — d S r]   r^   )r`   rä   rå   s      ra   Ú	__array__zCompliantDataFrame.__array__Ú   rc   rd   Úitemúetuple[SingleIndexSelector | MultiIndexSelector[CompliantSeriesT], MultiColSelector[CompliantSeriesT]]c                ó   — d S r]   r^   )r`   ré   s     ra   Ú__getitem__zCompliantDataFrame.__getitem__Û   r¿   rd   útuple[int, int]c                ó   — d S r]   r^   r_   s    ra   ÚshapezCompliantDataFrame.shapeã   rw   rd   c                ó   — d S r]   r^   r_   s    ra   ÚclonezCompliantDataFrame.cloneå   rc   rd   ÚunitrH   úint | floatc                ó   — d S r]   r^   )r`   rò   s     ra   Úestimated_sizez!CompliantDataFrame.estimated_sizeæ   rc   rd   r–   r—   Úoffsetc                ó   — d S r]   r^   )r`   r–   rö   s      ra   Úgather_everyzCompliantDataFrame.gather_everyç   rc   rd   rÈ   rŸ   r   c                ó   — d S r]   r^   )r`   rÈ   s     ra   Ú
get_columnzCompliantDataFrame.get_columnè   rc   rd   r�   r�   r‘   r€   úDataFrameGroupBy[Self, Any]c               ó   — d S r]   r^   r”   s      ra   r•   zCompliantDataFrame.group_byé   s	   € ð
 '* crd   Úrowú
int | NoneÚcolumnúint | str | Nonec                ó   — d S r]   r^   )r`   rý   rÿ   s      ra   ré   zCompliantDataFrame.itemï   rc   rd   úIterator[CompliantSeriesT]c                ó   — d S r]   r^   r_   s    ra   Úiter_columnszCompliantDataFrame.iter_columnsð   rc   rd   ÚnamedÚbuffer_sizeú7Iterator[tuple[Any, ...]] | Iterator[Mapping[str, Any]]c               ó   — d S r]   r^   )r`   r  r  s      ra   Ú	iter_rowszCompliantDataFrame.iter_rowsñ   ó   € àBEÀ#rd   c                ó   — d S r]   r^   r_   s    ra   Ú	is_uniquezCompliantDataFrame.is_uniqueô   rc   rd   Úbackendú_LazyAllowedImpl | NoneÚsessionúSparkSession | Noner   c               ó   — d S r]   r^   )r`   r  r  s      ra   ÚlazyzCompliantDataFrame.lazyõ   ó   € à # rd   rÀ   rt   rÁ   r„   ÚvaluesÚaggregate_functionúPivotAgg | NoneÚsort_columnsÚ	separatorc               ó   — d S r]   r^   )r`   rÀ   rÁ   r  r  r  r  s          ra   ÚpivotzCompliantDataFrame.pivotø   s	   € ð ˆsrd   útuple[Any, ...]c                ó   — d S r]   r^   )r`   rÁ   s     ra   rý   zCompliantDataFrame.row  rc   rd   ú7Sequence[tuple[Any, ...]] | Sequence[Mapping[str, Any]]c               ó   — d S r]   r^   )r`   r  s     ra   ÚrowszCompliantDataFrame.rows  r
  rd   Úwith_replacementÚseedc               ó   — d S r]   r^   )r`   r–   r   r!  s       ra   ÚsamplezCompliantDataFrame.sample  rc   rd   úpa.Tablec                ó   — d S r]   r^   r_   s    ra   Úto_arrowzCompliantDataFrame.to_arrow  rc   rd   úpd.DataFramec                ó   — d S r]   r^   r_   s    ra   Ú	to_pandaszCompliantDataFrame.to_pandas  rc   rd   úpl.DataFramec                ó   — d S r]   r^   r_   s    ra   Ú	to_polarszCompliantDataFrame.to_polars	  rc   rd   Ú	as_seriesúLiteral[True]údict[str, CompliantSeriesT]c               ó   — d S r]   r^   ©r`   r-  s     ra   Úto_dictzCompliantDataFrame.to_dict
  s   € ØSVÐSVrd   úLiteral[False]údict[str, list[Any]]c               ó   — d S r]   r^   r1  s     ra   r2  zCompliantDataFrame.to_dict  s   € ØMPÈSrd   rT   c               ó   — d S r]   r^   r1  s     ra   r2  zCompliantDataFrame.to_dict  s   € à=@¸Srd   N)Úmaintain_orderrƒ   r»   rI   r7  r¼   c               ó   — d S r]   r^   )r`   rƒ   r»   r7  r¼   s        ra   r¾   zCompliantDataFrame.unique  s	   € ð ˆsrd   c                ó   — d S r]   r^   rÊ   s      ra   rË   z!CompliantDataFrame.with_row_index  rc   rd   ÚfileÚNonec                ó   — d S r]   r^   ©r`   r:  s     ra   Ú	write_csvzCompliantDataFrame.write_csv  s   € Ø,/¨Crd   ústr | Path | BytesIOc                ó   — d S r]   r^   r=  s     ra   r>  zCompliantDataFrame.write_csv  s   € Ø=@¸Srd   ústr | Path | BytesIO | Noneú
str | Nonec                ó   — d S r]   r^   r=  s     ra   r>  zCompliantDataFrame.write_csv  rc   rd   c                ó   — d S r]   r^   r=  s     ra   Úwrite_parquetz CompliantDataFrame.write_parquet  rc   rd   ©r[   r2   )rm   r7   rn   r;   r[   r2   )rm   rÙ   rn   r   r|   rÚ   r[   r2   )rm   rÞ   rn   r;   r|   rÚ   r[   r2   )rm   rJ   rn   r;   r|   rá   r[   r2   )rä   r
   rå   ræ   r[   rJ   )ré   rê   r[   r2   )r[   rí   )rò   rH   r[   ró   )r–   r—   rö   r—   r[   r2   )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À   rt   rÁ   r„   r  r„   r  r  r  r€   r  rŸ   r[   r2   )rÁ   r—   r[   r  )r  r€   r[   r  )r–   r—   r   r€   r!  rþ   r[   r2   )r[   r$  )r[   r'  )r[   r*  )r-  r.  r[   r/  )r-  r3  r[   r4  )r-  r€   r[   rT   )
rƒ   r„   r»   rI   r7  ræ   r¼   r„   r[   r2   )rÈ   rŸ   r¼   r„   r[   r2   )r:  r;  r[   rŸ   ©r:  r?  r[   r;  )r:  rA  r[   rB  )$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   r2  r¾   rË   r>  rE  r^   rd   ra   rO   rO   ´   s�  € € € € € ð 2Ð1Ð1Ð1ØØZÐZÐZñ „[ØZØðð ð ñ „[ðð ðð ð ñ „[ðð ðð ð ñ „[ðð KÐJÐJÐJðð ð ð ð Ø+Ð+Ð+ñ „XØ+Ø Ð Ð Ð Ø@Ð@Ð@Ð@Ø<Ð<Ð<Ð<Ø<Ð<Ð<Ð<ð*ð *ð *ð *ð JÐIÐIÐIØ=Ð=Ð=Ð=ðFð Fð Fð Fð 1Ð0Ð0Ð0ð$ð $ð $ð $ð	ð 	ð 	ð 	ð 6Ð5Ð5Ð5ðFð Fð Fð Fð WÐVÐVÐVØ'Ð'Ð'Ð'Ø,Ð,Ð,Ð,Ø,Ð,Ð,Ð,ØØVÐVÐVñ „XØVØØPÐPÐPñ „XØPðAð Að Að Að '+ðð ð ð ð ð ð UÐTÐTÐTØØ/Ð/Ð/ñ „XØ/ØØ@Ð@Ð@ñ „XØ@ØMÐMÐMÐMØDÐDÐDÐDÐDÐDrd   rO   )rJ   rJ   z_ToDict[CompliantSeriesT])r$  r7   c                  ó6   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )rQ   r[   r2   c                ó   — d S r]   r^   r_   s    ra   Ú__narwhals_lazyframe__z)CompliantLazyFrame.__narwhals_lazyframe__&  rc   rd   úIterator[Any]c                ó   — d S r]   r^   r_   s    ra   Ú_iter_columnsz CompliantLazyFrame._iter_columns(  rc   rd   r¬   r   c                ó   — dS )zk`select` where all args are aggregations or literals.

        (so, no broadcasting is necessary).
        Nr^   r®   s     ra   Ú	aggregatezCompliantLazyFrame.aggregate)  s	   € ð
 	ˆrd   r  ú_EagerAllowedImpl | NoneÚkwargsr
   r   c                ó   — d S r]   r^   )r`   r  rQ  s      ra   ÚcollectzCompliantLazyFrame.collect0  r  rd   r:  r?  r;  c                ó   — d S r]   r^   r=  s     ra   Úsink_parquetzCompliantLazyFrame.sink_parquet3  rc   rd   NrF  )r[   rK  rÌ   )r  rP  rQ  r
   r[   r   rG  )rÍ   rÎ   rÏ   rJ  rM  rO  rS  rU  r^   rd   ra   rQ   rQ   "  sa   € € € € € ð 2Ð1Ð1Ð1à1Ð1Ð1Ð1ðð ð ð ð$ð $ð $ð $ð DÐCÐCÐCÐCÐCrd   rQ   c                  óÌ   — e Zd Zed9d„¦   «         Zd:d„Zd;d„Zd<d„Zddœd=d„Zd>d„Z	d?d„Z
d@d„ZdAd„ZdBd„ZedCd%„¦   «         ZdDd(„ZdEd*„ZdFd+„ZdGd-„ZdHd.„ZdId0„ZdJd3„ZdKd7„Zd8S )LrR   r[   útuple[int, ...]c                ó4   — | j                              ¦   «         S r]   )rY   Ú_backend_versionr_   s    ra   rY  zEagerDataFrame._backend_version>  s   € àÔ#×4Ò4Ñ6Ô6Ð6rd   úOEagerNamespace[Self, EagerSeriesT, EagerExprT, NativeDataFrameT, NativeSeriesT]c                ó   — d S r]   r^   r_   s    ra   rf   z%EagerDataFrame.__narwhals_namespace__B  s	   € ð €srd   úDataFrame[NativeDataFrameT]c                ó:   — | j                              | d¬¦  «        S )NÚfull)Úlevel)rZ   Ú	dataframer_   s    ra   Úto_narwhalszEagerDataFrame.to_narwhalsH  s   € ØŒ}×&Ò& t°6Ð&Ñ:Ô:Ð:rd   r¬   r   r2   c                ó   —  | j         |Ž S r]   )r¯   r®   s     ra   rO  zEagerDataFrame.aggregateK  s   € ð ˆtŒ{˜EÐ"Ð"rd   T)Úvalidate_column_namesrg   r   rc  r€   c               ó   — d S r]   r^   )r`   rg   rc  s      ra   ri   zEagerDataFrame._with_nativeU  rº   rd   rƒ   rt   úColumnNotFoundError | Nonec                ó.   — t          || j        ¬¦  «        S )N)Ú	available)r$   rv   r†   s     ra   Ú_check_columns_existz#EagerDataFrame._check_columns_existY  s   € Ý" 6°T´\ÐBÑBÔBÐBrd   Úexprr   c               ó„   — |                       |¦  «        }t          |¦  «        dk    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`   ri  ÚresultÚmsgs       ra   Ú_evaluate_single_output_exprz+EagerDataFrame._evaluate_single_output_expr\  sE   € ð
 ×$Ò$ TÑ*Ô*ˆÝˆv‰;Œ;˜!ÒÐØHˆCÝ,¨SÑ1Ô1Ð1Ø�aŒyÐrd   úSequence[EagerSeriesT]c                ó^   ‡ — t          t          j        ˆ fd„|D ¦   «         ¦  «        ¦  «        S )Nc              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r]   )rl  )Ú.0ri  r`   s     €ra   ú	<genexpr>z1EagerDataFrame._evaluate_exprs.<locals>.<genexpr>k  s1   øè è € Ð(UÐ(UÀt¨×)<Ò)<¸TÑ)BÔ)BÐ(UÐ(UÐ(UÐ(UÐ(UÐ(Urd   )Útupler   Úfrom_iterabler®   s   ` ra   Ú_evaluate_exprszEagerDataFrame._evaluate_exprsg  s3   ø€ õ •UÔ(Ð(UÐ(UÐ(UÐ(UÈuÐ(UÑ(UÔ(UÑUÔUÑVÔVÐVrd   c               ó²   — |                      | ¦  «        } || ¦  «        }t          |¦  «        d„ |D ¦   «         x}k    rd|› d|› �}t          |¦  «        ‚|S )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.
        c                ó   — g | ]	}|j         ‘Œ
S r^   )rÈ   )rt  Úss     ra   ú
<listcomp>z1EagerDataFrame._evaluate_expr.<locals>.<listcomp>z  s   € Ð6Ð6Ð6¨!˜qœvÐ6Ð6Ð6rd   z"Safety assertion failed, expected z, got )Ú_evaluate_aliasesÚlistÚAssertionError)r`   ri  Úaliasesrn  Úresult_aliasesro  s         ra   rl  zEagerDataFrame._evaluate_exprm  sx   € ð ×(Ò(¨Ñ.Ô.ˆØ��d‘”ˆÝ�‰=Œ=Ø6Ð6¨vÐ6Ñ6Ô6Ð6ˆNò
ð 
ð W°wÐVÐVÀnÐVÐVˆCÝ  Ñ%Ô%Ð%Øˆrd   rš   r
   c               ó   — dS )z@Extract native Series, broadcasting to `len(self)` if necessary.Nr^   )r`   rš   s     ra   Ú_extract_comparandz!EagerDataFrame._extract_comparand€  r³   rd   rm   rJ   rv   r„   ú	list[str]c               óh   — t          |p#d„ t          | j        d         ¦  «        D ¦   «         ¦  «        S )Nc              3  ó    K  — | ]	}d |› �V — Œ
dS )Úcolumn_Nr^   )rt  Úxs     ra   ru  z5EagerDataFrame._numpy_column_names.<locals>.<genexpr>ˆ  s(   è è € ÐLÐL°! ¨!  ÐLÐLÐLÐLÐLÐLrd   rk  )r~  Úrangerï   )rm   rv   s     ra   Ú_numpy_column_namesz"EagerDataFrame._numpy_column_names„  s4   € õ �GÐLÐLÐLµu¸T¼ZÈ¼]Ñ7KÔ7KÐLÑLÔLÑMÔMÐMrd   r  ú&SizedMultiIndexSelector[NativeSeriesT]c                ó   — d S r]   r^   ©r`   r  s     ra   Ú_gatherzEagerDataFrame._gatherŠ  rc   rd   ú_SliceIndex | rangec                ó   — d S r]   r^   r�  s     ra   Ú_gather_slicezEagerDataFrame._gather_slice‹  rc   rd   c                ó   — d S r]   r^   r‰   s     ra   Ú_select_multi_indexz"EagerDataFrame._select_multi_indexŒ  rº   rd   ú%SizedMultiNameSelector[NativeSeriesT]c                ó   — d S r]   r^   r‰   s     ra   Ú_select_multi_namez!EagerDataFrame._select_multi_name�  rº   rd   c                ó   — d S r]   r^   r‰   s     ra   Ú_select_slice_indexz"EagerDataFrame._select_slice_index’  rc   rd   rL   c                ó   — d S r]   r^   r‰   s     ra   Ú_select_slice_namez!EagerDataFrame._select_slice_name“  rc   rd   ré   ú]tuple[SingleIndexSelector | MultiIndexSelector[EagerSeriesT], MultiColSelector[EagerSeriesT]]c                óR  — |\  }}| }t          |¦  «        �s§t          |t          ¦  «        r't          |¦  «        dk    r|                     ¦   «         S t          |¦  «        r+ |j        d„ t          |j        |d¬¦  «        D ¦   «         Ž }�n1t          |¦  «        rtt          |¦  «        st          |¦  «        r|                     |¦  «        }nît          |¦  «        r|                      |j        ¦  «        }nÄ|                     |¦  «        }n®t          |t           ¦  «        r3t"          r|                     |¦  «        }n||                     |¦  «        }nft          |¦  «        r|                      |j        ¦  «        }n<t)          |¦  «        r|                      |¦  «        }nt"          rnt+          |¦  «         t          |¦  «        sÙt          |t,          ¦  «        r|                     |g¦  «        }n­t          |t           t0          f¦  «        r|                     |¦  «        }n{t          |¦  «        r|                     |j        ¦  «        }nQt5          |¦  «        r3t"          r|                     |¦  «        }n%|                     |¦  «        }nt+          |¦  «         |S )Nr   c              3  ó$   K  — | ]\  }}|¯|V — Œd S r]   r^   )rt  Úcolr¯   s      ra   ru  z-EagerDataFrame.__getitem__.<locals>.<genexpr>¢  s@   è è € ð ð á'˜C Ø!ðØðð ð ð ð ð rd   F)r   )r,   Ú
isinstancer   rm  r¯   r%   r²   Úziprv   r'   r+   r(   r˜  r&   r“  ry   ÚslicerN   rš  r–  r)   r    r—   rŽ  r‰  r‘  r*   )r`   ré   r  rv   Ú	compliants        ra   rì   zEagerDataFrame.__getitem__”  s¶  € ð ‰ˆˆgØˆ	Ý˜WÑ%Ô%ñ  	&Ý˜'¥5Ñ)Ô)ð *­c°'©l¬l¸aÒ.?Ð.?Ø ×'Ò'Ñ)Ô)Ð)Ý" 7Ñ+Ô+ð &Ø3˜IÔ3ðð å+.¨yÔ/@À'ÐRWÐ+XÑ+XÔ+Xðñ ô ð�	‘	õ # 7Ñ+Ô+ð &Ý! 'Ñ*Ô*ð G­h°wÑ.?Ô.?ð GØ )× =Ò =¸gÑ FÔ F�I�IÝ(¨Ñ1Ô1ð GØ $× 8Ò 8¸¼Ñ HÔ H�I�Ià )× =Ò =¸gÑ FÔ F�I�IÝ˜G¥UÑ+Ô+ð &Ýð Fà )× <Ò <¸WÑ EÔ E�I�Ià )× <Ò <¸WÑ EÔ E�I�IÝ$ WÑ-Ô-ð &Ø ×3Ò3°G´NÑCÔC�	�	Ý! 'Ñ*Ô*ð &Ø ×3Ò3°GÑ<Ô<�	�	Ýð &àå˜WÑ%Ô%Ð%å˜TÑ"Ô"ð 	#Ý˜$¥Ñ$Ô$ð #Ø%×-Ò-¨t¨fÑ5Ô5�	�	Ý˜D¥5­% .Ñ1Ô1ð #Ø%×3Ò3°DÑ9Ô9�	�	Ý$ TÑ*Ô*ð 	#Ø%×-Ò-¨d¬kÑ:Ô:�	�	Ý.¨tÑ4Ô4ð #Ýð 8à )× 1Ò 1°$Ñ 7Ô 7�I�Ià )× 1Ò 1°$Ñ 7Ô 7�I�Iå˜TÑ"Ô"Ð"àÐrd   r:  r?  r;  c                ó,   — |                       |¦  «        S r]   )rE  r=  s     ra   rU  zEagerDataFrame.sink_parquetÑ  s   € Ø×!Ò! $Ñ'Ô'Ð'rd   N)r[   rW  )r[   rZ  )r[   r\  )r¬   r   r[   r2   )rg   r   rc  r€   r[   r2   )rƒ   rt   r[   re  )ri  r   r[   r   )r¬   r   r[   rq  )ri  r   r[   rq  )rš   r   r[   r
   )rm   rJ   rv   r„   r[   r„  )r  r‹  r[   r2   )r  r�  r[   r2   )rv   r‹  r[   r2   )rv   r”  r[   r2   )rv   r�  r[   r2   )rv   rL   r[   r2   )ré   r›  r[   r2   rG  )rÍ   rÎ   rÏ   rÓ   rY  rf   ra  rO  ri   rh  rp  rx  rl  rƒ  ÚstaticmethodrŠ  rŽ  r‘  r“  r–  r˜  rš  rì   rU  r^   rd   ra   rR   rR   6  s¬  € € € € € ð ð7ð 7ð 7ñ „Xð7ðð ð ð ð;ð ;ð ;ð ;ð#ð #ð #ð #ð FJðð ð ð ð ð ðCð Cð Cð Cð	ð 	ð 	ð 	ðWð Wð Wð Wðð ð ð ð&ð ð ð ð ðNð Nð Nñ „\ðNð
 QÐPÐPÐPØCÐCÐCÐCðð ð ð ðð ð ð ð MÐLÐLÐLØBÐBÐBÐBð;ð ;ð ;ð ;ðz(ð (ð (ð (ð (ð (rd   rR   r\  )pÚ
__future__r   Úcollections.abcr   r   r   r   Ú	itertoolsr   Útypingr	   r
   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/   Útypesr0   r1   ÚpandasÚpdÚpolarsÚplÚpyarrowÚpaÚtyping_extensionsr2   Únarwhals._compliant.group_byr3   r4   Únarwhals._compliant.namespacer5   Únarwhals._spark_like.utilsr6   r7   Únarwhals._typingr8   r9   r:   r;   Únarwhals.dataframer<   Únarwhals.dtypesr=   r>   Únarwhals.typingr?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rÑ   rN   Ú__all__rS   rU   rV   rP   rŸ   rO   rQ   rR   r^   rd   ra   ú<module>rÀ     sî  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø Ð Ð Ð Ð Ð Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ;Ð :Ð :Ð :Ð :Ð :àð % ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àÐÐÐØÐÐÐØÐÐÐØ&Ð&Ð&Ð&Ð&Ð&àOÐOÐOÐOÐOÐOÐOÐOØ<Ð<Ð<Ð<Ð<Ð<Ø7Ð7Ð7Ð7Ð7Ð7Ø2Ð2Ð2Ð2Ð2Ð2ØDÐDÐDÐDÐDÐDÐDÐDØ?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø,Ð,Ð,Ð,Ð,Ð,Ø%Ð%Ð%Ð%Ð%Ð%Ø7Ð7Ð7Ð7Ð7Ð7ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"  €JÐÐÐÑà€Ð Ð Ð Ñ à
ZÐ
ZÐ
Z€à€GˆC�L„L€àI€Ð IÐ IÐ IÑ Ià�˜Ñ(Ô(€ðSNð SNð SNð SNð SNØ�-Ô Øˆ}ÔØˆ~ÔØÐ" M°>ÐAÔBñ	SNô SNð SNðlkEð kEð kEð kEð kEØÐ+Ô,ØÐ/°¸¸c¸Ô1BÐBÔCØÐ1Ô2Ø	ØÐ(Ð*:¸NÐJÔKØÐÐ4Ð6FÈÐVÔWñkEô kEð kEð\Dð Dð Dð Dð DØÐ(Ð*:¸NÐJÔKØÐ"Ð$4°nÐDÔEñDô Dð Dð(\(ð \(ð \(ð \(ð \(ØØ�jÐ"2Ð4QÐQôð �z <Ð1NÐNÔOØØˆ\˜:Ð'7¸ÐFÔGñ\(ô \(ð \(ð \(ð \(rd   