§
    Šhþ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	 d dl
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mZ d dl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%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 er�d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9Z:d dl;Z<d dl=m>Z>m?Z?m@Z@ d dlAmBZBmCZC d dlDmEZE d dlFmGZG d dlHmIZI d dlJmKZK d dlLmMZM d dlNmOZOmPZP d dl$mQZQmRZR d dlSmTZT d dlUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa ede:jb        f         Zcdedd<    ee ejf        d¦  «         ejf        d¦  «         ejf        d ¦  «         ejf        d!¦  «         ejf        d"¦  «         ejf        d#¦  «         ejf        d$¦  «         ejf        d%¦  «         ejf        d&¦  «         ejf        d'¦  «         ejf        d(¦  «         ejf        d)¦  «         ejf        d*¦  «         ejf        d+¦  «         ejf        d,¦  «         ejf        d-¦  «         ejf        d.¦  «         ejf        d/¦  «         ejf        d0¦  «         ejf        d1¦  «        g¦  «        Zgd2edd3<    G d4„ d5ed6         ¦  «        ZhdS )7é    )Úannotations)ÚIterableÚIteratorÚMappingÚSequence)ÚchainÚproduct)ÚTYPE_CHECKINGÚAnyÚCallableÚLiteralÚcastÚoverloadN)ÚEagerDataFrame)ÚPANDAS_TO_NUMPY_DTYPE_MISSINGÚPandasLikeSeries)	Úalign_and_extract_nativeÚget_dtype_backendÚimport_array_moduleÚiter_dtype_backendsÚnative_to_narwhals_dtypeÚobject_native_to_narwhals_dtypeÚrenameÚselect_columns_by_nameÚ	set_index)Úassert_never)	ÚImplementationÚ_into_arrow_tableÚ_remap_full_join_keysÚcheck_column_names_are_uniqueÚexclude_column_namesÚgenerate_temporary_column_nameÚparse_columns_to_dropÚscale_bytesÚ
zip_strict©Úis_pandas_like_dataframe)ÚInvalidOperationErrorÚ
ShapeError)ÚBytesIO)ÚPath)Ú
ModuleType)ÚSelfÚ	TypeAliasÚTypeIs)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)ÚPandasLikeExpr©ÚPandasLikeGroupBy©ÚPandasLikeNamespace)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚVersionÚ_LimitedContext)ÚDType)ÚAsofJoinStrategyÚDTypeBackendÚ
IntoSchemaÚJoinStrategyÚPivotAggÚSizedMultiIndexSelectorÚSizedMultiNameSelectorÚSizeUnitÚUniqueKeepStrategyÚ_2DArrayÚ_SliceIndexÚ
_SliceName.r.   ÚConstructorÚfloat64Úfloat32Úint64Úint32Úint16Úint8Úuint64Úuint32Úuint16Úuint8Úboolzdatetime64[s]zdatetime64[ms]zdatetime64[us]zdatetime64[ns]ztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]Úobjectzfrozenset[np.dtype[Any]]ÚCLASSICAL_NUMPY_DTYPESc                  ój  — e Zd Zddœdéd„Zedêd„¦   «         Ze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,œdõd.„Zdöd2„Zed3„ ¦   «         Zd÷d6„Zdød7d8œdùd<„Zdúd?„ZdûdA„ZdüdD„ZdýdE„ZdþdF„ZdÿdH„Ze�d dJ„¦   «         Ze�ddN„¦   «         Z e�ddQ„¦   «         Z e�ddS„¦   «         Z �ddT„Z �ddV„Z!e!Z"�ddY„Z#e�dd[„¦   «         Z$�dd\„Z%�dd^„Z&�dda„Z'�d	dd„Z(�d
dh„Z)�ddj„Z*�ddm„Z+�ddo„Z,�ddp„Z-�dds„Z.�ddv„Z/�dd{„Z0�dd„Z1�dd„„Z2�dd‰„Z3�ddŽ„Z4�dd�„Z5�dd�„Z6�dd‘„Z7�dd’„Z8�dd“„Z9�dd—„Z:�ddš„Z;�ddŸ„Z<�dd¡„Z=�dd¢„Z>d7d£œ�dd§„Z?	 død7d¨œ�dd­„Z@e�dd¯„¦   «         ZA�dd²„ZBdød7d8œdùd³„ZC�dd´„ZD�d d¶„ZE�d!d¹„ZFe�d"dº„¦   «         ZGe�d!d»„¦   «         ZG�d#d¾„ZG�d$d¿„ZH�d%dÄ„ZIdðdÅ„ZJ�d&dÇ„ZK�d'dË„ZLe�d(dÎ„¦   «         ZMe�d)dÑ„¦   «         ZN�d*dÕ„ZO�d+d×„ZP�d,dÚ„ZQ�d-dÜ„ZR�d.dÞ„ZS�d/dß„ZT�d0dä„ZU�d1dç„ZV�d2dè„ZWd7S (3  ÚPandasLikeDataFrameF©Úvalidate_backend_versionÚnative_dataframer   Úimplementationr   Úversionr;   Úvalidate_column_namesrU   r[   ÚreturnÚNonec               óŒ   — || _         || _        || _        |rt          |j        ¦  «         |r|                      ¦   «          d S d S ©N)Ú_native_frameÚ_implementationÚ_versionr    ÚcolumnsÚ_validate_backend_version)Úselfr\   r]   r^   r_   r[   s         úV/var/www/histauto/venv/lib/python3.11/site-packages/narwhals/_pandas_like/dataframe.pyÚ__init__zPandasLikeDataFrame.__init__f   s`   € ð .ˆÔØ-ˆÔØˆŒØ ð 	DÝ)Ð*:Ô*BÑCÔCÐCØ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ó    Údatar8   Úcontextr<   r-   c              óÞ  — |j         }t          ||¦  «        }|                     ¦   «         r|                     ¦   «         }n—|                     ¦   «         r1|                     ¦   «         dk    rddlm} nddlm}  ||¦  «        }nR| 	                    ¦   «         r-| 
                    ¦   «         j                             |¦  «        }nd}t          |¦  «        ‚|                      ||¬¦  «        S )N)r   é   r   r   )Ú
from_arrowzCcongratulations, you entered unreachable code - please report a bug©rn   )re   r   Ú	is_pandasÚ	to_pandasÚis_modinÚ_backend_versionÚmodin.pandas.iorq   Úmodin.pandas.utilsÚis_cudfÚto_native_namespaceÚ	DataFrameÚAssertionErrorÚfrom_native)Úclsrm   rn   r]   ÚtblÚnativeÚmpd_from_arrowÚmsgs           rj   rq   zPandasLikeDataFrame.from_arroww   s  € à Ô0ˆÝ  gÑ.Ô.ˆØ×#Ò#Ñ%Ô%ð 	&Ø—]’]‘_”_ˆFˆFØ×$Ò$Ñ&Ô&ð 	&ð ×.Ò.Ñ0Ô0°JÒ>Ð>ØHÐHÐHÐHÐHÐHÐHðð ð ð ð ð ð $�^ CÑ(Ô(ˆFˆFØ×#Ò#Ñ%Ô%ð 	&Ø#×7Ò7Ñ9Ô9ÔC×NÒNÈsÑSÔSˆFˆFàWˆCÝ  Ñ%Ô%Ð%Ø�Š˜v¨wˆÑ7Ô7Ð7rl   úMapping[str, Any]ÚschemaúIntoSchema | Nonec              óª  — ddl m} |j        }|                     ¦   «         }t	          d|j        ¦  «        }t	          d|j        ¦  «        }i }	d }
|                     ¦   «         D ]T\  }}t          ||¦  «        r:t          j
        ||¬¦  «        }|
€|}
||	|<   Œ5t          |
|¦  «        d         |	|<   ŒO||	|<   ŒU|	s|s|                     |	¦  «        }n|                     d„ |D ¦   «         ¦  «        }|rJd }|	rt          |j        |¦  «        }|                      ||¦  «                             |¦  «        ¦  «        }|  
                    ||¬¦  «        S )Nr   ©ÚSchemaztype[pd.Series[Any]]útype[pd.DataFrame]rr   é   c                ó   — i | ]}|g “ŒS © rŒ   ©Ú.0Úcols     rj   ú
<dictcomp>z1PandasLikeDataFrame.from_dict.<locals>.<dictcomp>­   ó   € Ð)DÐ)DÐ)D°c¨#¨rÐ)DÐ)DÐ)Drl   )Únarwhals.schemarˆ   re   rz   r   ÚSeriesr{   ÚitemsÚ
isinstancer   r}   r   Ú	from_dictr   ÚdtypesÚastypert   )r~   rm   rn   r„   rˆ   r]   Únsr“   r{   Úaligned_dataÚ	left_mostÚnameÚseriesÚ	compliantr€   Úbackends                   rj   r–   zPandasLikeDataFrame.from_dict�   sŽ  € ð 	+Ð*Ð*Ð*Ð*Ð*à Ô0ˆØ×/Ò/Ñ1Ô1ˆÝÐ,¨b¬iÑ8Ô8ˆÝÐ-¨r¬|Ñ<Ô<ˆ	Ø8:ˆØ-1ˆ	Ø ŸJšJ™LœLð 		,ð 		,‰LˆD�&Ý˜& &Ñ)Ô)ð ,Ý,Ô8¸ÈÐQÑQÔQ�	ØÐ$Ø )�IØ)/�L Ñ&Ð&å)AÀ)ÈYÑ)WÔ)WÐXYÔ)Z�L Ñ&Ð&à%+�˜TÑ"Ð"Øð 	F˜vð 	FØ×(Ò(¨Ñ6Ô6ˆFˆFà×(Ò(Ð)DÐ)D¸VÐ)DÑ)DÔ)DÑEÔEˆFØð 	FØ59ˆGØð MÝ-¨f¬m¸^ÑLÔL�Ø—]’] 6 6¨&¡>¤>×#;Ò#;¸GÑ#DÔ#DÑEÔEˆFØ�Š˜v¨wˆÑ7Ô7Ð7rl   úSequence[Mapping[str, Any]]c              ó¦  — ddl m} |j        }|                     ¦   «         }t	          d|j        ¦  «        }|s|s|                     |¦  «        }n|                     d„ |D ¦   «         ¦  «        }|rJd }	|rt          |j	        |¦  «        }	| 
                     ||¦  «                             |	¦  «        ¦  «        }|                      ||¬¦  «        S )Nr   r‡   r‰   c                ó   — i | ]}|g “ŒS rŒ   rŒ   r�   s     rj   r�   z2PandasLikeDataFrame.from_dicts.<locals>.<dictcomp>Æ   r‘   rl   rr   )r’   rˆ   re   rz   r   r{   Úfrom_recordsr–   r   r—   r˜   rt   r}   )
r~   rm   rn   r„   rˆ   r]   r™   r{   r€   rŸ   s
             rj   Ú
from_dictszPandasLikeDataFrame.from_dictsµ   sî   € ð 	+Ð*Ð*Ð*Ð*Ð*à Ô0ˆØ×/Ò/Ñ1Ô1ˆÝÐ-¨r¬|Ñ<Ô<ˆ	Øð 	F�vð 	FØ×+Ò+¨DÑ1Ô1ˆFˆFà×(Ò(Ð)DÐ)D¸VÐ)DÑ)DÔ)DÑEÔEˆFØð 	FØ59ˆGØð MÝ-¨f¬m¸^ÑLÔL�Ø—]’] 6 6¨&¡>¤>×#;Ò#;¸GÑ#DÔ#DÑEÔEˆFØ�Š˜v¨wˆÑ7Ô7Ð7rl   ÚobjúTypeIs[Any]c                ó    — t          | ¦  «        S rc   r&   )r¥   s    rj   Ú
_is_nativezPandasLikeDataFrame._is_nativeÎ   s   € å'¨Ñ,Ô,Ð,rl   c              ó4   —  | ||j         |j        d¬¦  «        S )NT©r]   r^   r_   )re   rf   )r~   rm   rn   s      rj   r}   zPandasLikeDataFrame.from_nativeÒ   s-   € àˆsØØ"Ô2ØÔ$Ø"&ð	
ñ 
ô 
ð 	
rl   rG   ú!IntoSchema | Sequence[str] | Nonec              óÌ  ‡— ddl m} |j        Š‰                     ¦   «         j        }t          |t          |f¦  «        roˆfd„|                     ¦   «         D ¦   «         } |||                     ¦   «         ¬¦  «         	                     ||¦  «         
                    |¦  «        ¦  «        }n! |||                      ||¦  «        ¬¦  «        }|                      ||¬¦  «        S )Nr   r‡   c              3  ó8   •K  — | ]}t          |‰¦  «        V — Œd S rc   )r   )rŽ   Únative_typer]   s     €rj   ú	<genexpr>z1PandasLikeDataFrame.from_numpy.<locals>.<genexpr>é   sA   øè è € ð *ð *àõ " +¨~Ñ>Ô>ð*ð *ð *ð *ð *ð *rl   ©rg   rr   )r’   rˆ   re   rz   r{   r•   r   ÚvaluesÚkeysr˜   rt   Ú_numpy_column_namesr}   )	r~   rm   rn   r„   rˆ   r{   Úitr€   r]   s	           @rj   Ú
from_numpyzPandasLikeDataFrame.from_numpyÛ   s   ø€ ð 	+Ð*Ð*Ð*Ð*Ð*à Ô0ˆØ!/×!CÒ!CÑ!EÔ!EÔ!Oˆ	Ý�f�w¨Ð/Ñ0Ô0ð 		Tð*ð *ð *ð *à#)§=¢=¡?¤?ð*ñ *ô *ˆBð �Y˜t¨V¯[ª[©]¬]Ð;Ñ;Ô;×BÒBØ��v‘”×(Ò(¨Ñ,Ô,ñô ˆFˆFð �Y˜t¨S×-DÒ-DÀTÈ6Ñ-RÔ-RÐSÑSÔSˆFØ�Š˜v¨wˆÑ7Ô7Ð7rl   c                ó   — | S rc   rŒ   ©ri   s    rj   Ú__narwhals_dataframe__z*PandasLikeDataFrame.__narwhals_dataframe__ô   ó   € Øˆrl   c                ó   — | S rc   rŒ   r·   s    rj   Ú__narwhals_lazyframe__z*PandasLikeDataFrame.__narwhals_lazyframe__÷   r¹   rl   r6   c                ó<   — ddl m}  || j        | j        ¬¦  «        S )Nr   r5   )r^   )Únarwhals._pandas_like.namespacer6   re   rf   )ri   r6   s     rj   Ú__narwhals_namespace__z*PandasLikeDataFrame.__narwhals_namespace__ú   s/   € ØGÐGÐGÐGÐGÐGà"Ð" 4Ô#7ÀÄÐOÑOÔOÐOrl   r,   c                óÔ   — | j         t          j        t          j        t          j        hv r| j                              ¦   «         S dt          | j         ¦  «        › �}t          |¦  «        ‚)Nz!Expected pandas/modin/cudf, got: )re   r   ÚPANDASÚMODINÚCUDFrz   Útyper|   ©ri   r‚   s     rj   Ú__native_namespace__z(PandasLikeDataFrame.__native_namespace__ÿ   sf   € ØÔÝÔ!ÝÔ ÝÔð$
ð 
ð 
ð
 Ô'×;Ò;Ñ=Ô=Ð=àNµ$°tÔ7KÑ2LÔ2LÐNÐNˆÝ˜SÑ!Ô!Ð!rl   Úintc                ó*   — t          | j        ¦  «        S rc   )Úlenr€   r·   s    rj   Ú__len__zPandasLikeDataFrame.__len__
  s   € Ý�4”;ÑÔÐrl   c                óH   — |                       | j        | j        |d¬¦  «        S )NFrª   )Ú	__class__r€   re   )ri   r^   s     rj   Ú_with_versionz!PandasLikeDataFrame._with_version  s.   € Ø�~Š~ØŒKØÔ/ØØ"'ð	 ñ 
ô 
ð 	
rl   T©r_   Údfc               óH   — |                       || j        | j        |¬¦  «        S )Nrª   )rË   re   rf   )ri   rÎ   r_   s      rj   Ú_with_nativez PandasLikeDataFrame._with_native  s.   € Ø�~Š~ØØÔ/Ø”MØ"7ð	 ñ 
ô 
ð 	
rl   Úotherr   úpd.Series[Any]c                ór  — | j         j        }|j        r8|j         } t          |¦  «        |j        d         ||j        |j        ¬¦  «        S t          |¦  «        x}t          |¦  «        x}k    rd|› d|› d�}t          |¦  «        ‚|j         j        |urt          |j         ||j
        ¬¦  «        S |j         S )Nr   )ÚindexÚdtyperœ   zExpected object of length z, got: ú.)r]   )r€   rÔ   Ú
_broadcastrÃ   ÚilocrÕ   rœ   rÈ   r)   r   re   )ri   rÑ   rÔ   ÚsÚ	len_otherÚlen_idxr‚   s          rj   Ú_extract_comparandz&PandasLikeDataFrame._extract_comparand  s¿   € Ø”Ô!ˆØÔð 	OØ”ˆAØ•4˜‘7”7˜1œ6 !œ9¨E¸¼ÀqÄvÐNÑNÔNÐNÝ˜U™œÐ#ˆIµC¸±J´JÐ)>¨Ò?Ð?ØK¨wÐKÐK¸yÐKÐKÐKˆCÝ˜S‘/”/Ð!ØŒ<Ô UÐ*Ð*Ý˜Uœ\¨5ÀÔAVÐWÑWÔWÐWØŒ|Ðrl   c                óD   — t           rdd l}|S t          | j        ¦  «        S ©Nr   )r
   Únumpyr   re   )ri   Únps     rj   Ú_array_funcsz PandasLikeDataFrame._array_funcs)  s,   € åð 	ØÐÐÐàˆIÝ" 4Ô#7Ñ8Ô8Ð8rl   rœ   Ústrc                óD   — t          j        | j        |         | ¬¦  «        S ©Nrr   ©r   r}   r€   )ri   rœ   s     rj   Ú
get_columnzPandasLikeDataFrame.get_column1  s   € ÝÔ+¨D¬K¸Ô,=ÀtÐLÑLÔLÐLrl   N©ÚcopyrÕ   rè   úbool | Nonec               ó0   — |                       ||¬¦  «        S )N©rÕ   rè   )Úto_numpy)ri   rÕ   rè   s      rj   Ú	__array__zPandasLikeDataFrame.__array__4  s   € Ø�}Š} 5¨tˆ}Ñ4Ô4Ð4rl   Úrowsú'SizedMultiIndexSelector[pd.Series[Any]]c                ó    — t          |t          ¦  «        rt          |¦  «        n|}|                      | j        j        |d d …f         ¦  «        S rc   ©r•   ÚtupleÚlistrÐ   r€   rØ   )ri   rî   r”   s      rj   Ú_gatherzPandasLikeDataFrame._gather7  sF   € Ý(¨­uÑ5Ô5Ð?•�T‘
”
�
¸4ˆØ× Ò  ¤Ô!1°%¸¸¸°(Ô!;Ñ<Ô<Ð<rl   ú_SliceIndex | rangec                ó”   — |                       | j        j        t          |j        |j        |j        ¦  «        d d …f         d¬¦  «        S ©NFrÍ   )rÐ   r€   rØ   ÚsliceÚstartÚstopÚstep)ri   rî   s     rj   Ú_gather_slicez!PandasLikeDataFrame._gather_slice;  sJ   € Ø× Ò ØŒKÔ�U 4¤:¨t¬y¸$¼)ÑDÔDÀaÀaÀaÐGÔHØ"'ð !ñ 
ô 
ð 	
rl   rg   rI   c                ó>  — |j         �$| j        j                             |j         ¦  «        nd }|j        �'| j        j                             |j        ¦  «        dz   nd }t          |||j        ¦  «        }|                      | j        j        d d …|f         d¬¦  «        S )NrŠ   FrÍ   )	rù   r€   rg   Úget_locrú   rø   rû   rÐ   rØ   )ri   rg   rù   rú   Úselectors        rj   Ú_select_slice_namez&PandasLikeDataFrame._select_slice_nameA  s®   € ð Œ}Ð(ð ŒKÔ×'Ò'¨¬Ñ6Ô6Ð6àð 	ð Œ|Ð'ð ŒKÔ×'Ò'¨¬Ñ5Ô5¸Ñ9Ð9àð 	õ
 ˜  g¤lÑ3Ô3ˆØ× Ò ØŒKÔ˜Q˜Q˜Q ˜[Ô)Àð !ñ 
ô 
ð 	
rl   c                óX   — |                       | j        j        d d …|f         d¬¦  «        S r÷   ©rÐ   r€   rØ   ©ri   rg   s     rj   Ú_select_slice_indexz'PandasLikeDataFrame._select_slice_indexQ  s6   € Ø× Ò ØŒKÔ˜Q˜Q˜Q ˜ZÔ(Àð !ñ 
ô 
ð 	
rl   c                ó¤   — t          |t          ¦  «        rt          |¦  «        n|}|                      | j        j        d d …|f         d¬¦  «        S r÷   rñ   r  s     rj   Ú_select_multi_indexz'PandasLikeDataFrame._select_multi_indexV  sV   € õ $.¨gµuÑ#=Ô#=ÐJ•$�w‘-”-�-À7ˆØ× Ò ØŒKÔ˜Q˜Q˜Q ˜ZÔ(Àð !ñ 
ô 
ð 	
rl   ú&SizedMultiNameSelector[pd.Series[Any]]c                óT   — |                       | j        j        d d …|f         ¦  «        S rc   )rÐ   r€   Úlocr  s     rj   Ú_select_multi_namez&PandasLikeDataFrame._select_multi_name^  s'   € Ø× Ò  ¤¤°°°°G°Ô!<Ñ=Ô=Ð=rl   ú	list[str]c                ó>   — | j         j                             ¦   «         S rc   )r€   rg   Útolistr·   s    rj   rg   zPandasLikeDataFrame.columnsb  s   € àŒ{Ô"×)Ò)Ñ+Ô+Ð+rl   ÚnamedúLiteral[True]úlist[dict[str, Any]]c               ó   — d S rc   rŒ   ©ri   r  s     rj   rî   zPandasLikeDataFrame.rowsf  s   € ØEHÀSrl   úLiteral[False]úlist[tuple[Any, ...]]c               ó   — d S rc   rŒ   r  s     rj   rî   zPandasLikeDataFrame.rowsi  s   € ØGJÀsrl   ú,list[tuple[Any, ...]] | list[dict[str, Any]]c               ó   — d S rc   rŒ   r  s     rj   rî   zPandasLikeDataFrame.rowsl  s   € ØTWÐTWrl   c               óô   — |s\| j         t          j        u r d„ |                      d¬¦  «        D ¦   «         S t	          | j                             dd ¬¦  «        ¦  «        S | j                             d¬¦  «        S )Nc                óP   — g | ]#}t          |                     ¦   «         ¦  «        ‘Œ$S rŒ   )rò   r±   )rŽ   Úrows     rj   ú
<listcomp>z,PandasLikeDataFrame.rows.<locals>.<listcomp>t  s(   € ÐMÐMÐM°�˜cŸjšj™lœlÑ+Ô+ÐMÐMÐMrl   T)r  F©rÔ   rœ   Úrecords©Úorient)re   r   rÂ   rî   ró   r€   Ú
itertuplesÚto_dictr  s     rj   rî   zPandasLikeDataFrame.rowso  sz   € Øð 	HàÔ#¥~Ô':Ð:Ð:àMÐM°t·y²yÀt°yÑ7LÔ7LÐMÑMÔMÐMå˜œ×.Ò.°UÀÐ.ÑFÔFÑGÔGÐGàŒ{×"Ò"¨)Ð"Ñ4Ô4Ð4rl   úIterator[PandasLikeSeries]c              #  óx   K  — | j                              ¦   «         D ]\  }}t          j        || ¬¦  «        V — Œd S rä   )r€   r”   r   r}   )ri   Ú_namer�   s      rj   Úiter_columnsz PandasLikeDataFrame.iter_columnsz  sT   è è € Ø!œ[×.Ò.Ñ0Ô0ð 	Eð 	E‰MˆE�6Ý"Ô.¨v¸tÐDÑDÔDÐDÐDÐDÐDð	Eð 	Erl   Úbuffer_sizeú4Iterator[tuple[Any, ...]] | Iterator[dict[str, Any]]c             #  óè   K  — |s$| j                              dd ¬¦  «        E d {V —† d S | j         j        }| j                              d¬¦  «        D ]!}t          t	          ||¦  «        ¦  «        V — Œ"d S )NFr  ©rÔ   )r€   r   rg   ÚdictÚzip)ri   r  r&  Ú	col_namesr  s        rj   Ú	iter_rowszPandasLikeDataFrame.iter_rows€  sš   è è € ð
 ð 	0Ø”{×-Ò-°EÀÐ-ÑEÔEÐEÐEÐEÐEÐEÐEÐEÐEÐEàœÔ+ˆIØ”{×-Ò-°EÐ-Ñ:Ô:ð 0ð 0�Ý�3˜y¨#Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/Ð/ð0ð 0rl   údict[str, DType]c                óP   ‡ ‡— ‰ j         j        Šˆˆ fd„‰ j         j        D ¦   «         S )Nc                ó¸   •— i | ]V}|‰|         d k    r!t          ‰|         ‰j        ‰j        ¦  «        n%t          ‰j        |         ‰j        ‰j        ¦  «        “ŒWS )rV   )r   rf   re   r   r€   )rŽ   r�   Únative_dtypesri   s     €€rj   r�   z.PandasLikeDataFrame.schema.<locals>.<dictcomp>�  s„   ø€ ð 	
ð 	
ð 	
ð ð ð ˜SÔ! XÒ-Ð-õ *Ø˜cÔ" D¤M°4Ô3Gñô ð õ 1Ø”˜CÔ  $¤-°Ô1Eñô ð	
ð 	
ð 	
rl   )r€   r—   rg   )ri   r1  s   `@rj   r„   zPandasLikeDataFrame.schemaŒ  sE   øø€ àœÔ*ˆð	
ð 	
ð 	
ð 	
ð 	
ð ”{Ô*ð	
ñ 	
ô 	
ð 		
rl   c                ó   — | j         S rc   )r„   r·   s    rj   Úcollect_schemaz"PandasLikeDataFrame.collect_schemaš  s
   € ØŒ{Ðrl   Úcolumn_namesc                ó|   — |                       t          | j        t          |¦  «        | j        ¦  «        d¬¦  «        S r÷   )rÐ   r   r€   ró   re   )ri   r4  s     rj   Úsimple_selectz!PandasLikeDataFrame.simple_selectž  s>   € Ø× Ò Ý" 4¤;µ°\Ñ0BÔ0BÀDÔDXÑYÔYØ"'ð !ñ 
ô 
ð 	
rl   Úexprsr2   c                óf  —  | j         |Ž }|s1|                       t          | j        ¦  «        ¦   «         d¬¦  «        S  |d         j        |Ž }|                      ¦   «         }|                     d„ |D ¦   «         ¦  «        }| j        j        j        |j        _        |                      |d¬¦  «        S )NFrÍ   r   c                ó   — g | ]	}|j         ‘Œ
S rŒ   )r€   ©rŽ   rÙ   s     rj   r  z.PandasLikeDataFrame.select.<locals>.<listcomp>«  s   € Ð*HÐ*HÐ*H¸¨1¬8Ð*HÐ*HÐ*Hrl   T)	Ú_evaluate_into_exprsrÐ   rÃ   r€   Ú_align_full_broadcastr¾   Ú_concat_horizontalrg   rœ   )ri   r7  Ú
new_seriesÚ	namespacerÎ   s        rj   ÚselectzPandasLikeDataFrame.select¤  s·   € Ø.�TÔ.°Ð6ˆ
Øð 	Wà×$Ò$Ð%6¥T¨$¬+Ñ%6Ô%6Ñ%8Ô%8ÐPUÐ$ÑVÔVÐVØ8�Z ”]Ô8¸*ÐEˆ
Ø×/Ò/Ñ1Ô1ˆ	Ø×)Ò)Ð*HÐ*H¸ZÐ*HÑ*HÔ*HÑIÔIˆàœ+Ô-Ô2ˆŒ
ŒØ× Ò  ¸4Ð Ñ@Ô@Ð@rl   ÚsubsetúSequence[str] | Nonec                ó  — |€0|                       | j                             d¬¦  «        d¬¦  «        S |                      ¦   «         }|                      |j        |Ž                      ¦   «         d¬¦  «         }|                      |¦  «        S )Nr   ©ÚaxisFrÍ   T)Úignore_nulls)rÐ   r€   Údropnar¾   Úany_horizontalr�   Úis_nullÚfilter)ri   rA  ÚplxÚmasks       rj   Ú
drop_nullszPandasLikeDataFrame.drop_nulls°  s‘   € Øˆ>Ø×$Ò$Ø”×"Ò"¨Ð"Ñ*Ô*À%ð %ñ ô ð ð ×)Ò)Ñ+Ô+ˆØ×"Ò" 7 3¤7¨FÐ#3×#;Ò#;Ñ#=Ô#=ÈDÐ"ÑQÔQÐQˆØ�{Š{˜4Ñ Ô Ð rl   ÚunitrE   úint | floatc                ó~   — | j                              d¬¦  «                             ¦   «         }t          ||¬¦  «        S )NT)Údeep)rN  )r€   Úmemory_usageÚsumr$   )ri   rN  Úszs      rj   Úestimated_sizez"PandasLikeDataFrame.estimated_size¹  s9   € ØŒ[×%Ò%¨4Ð%Ñ0Ô0×4Ò4Ñ6Ô6ˆÝ˜2 DÐ)Ñ)Ô)Ð)rl   Úorder_byc                ó  — |                       ¦   «         }|€jt          | ¦  «        }| j                             |¦  «        }|j                             |j                             || | j        j	        |¬¦  «        ¦  «        }n]| 
                    |d         ¦  «                             dd¬¦  «        }|                     g |¬¦  «        dz
                       |¦  «        }|                      ||                     ¦   «         ¦  «        S )N)rn   rÔ   rœ   r   ÚordinalF)ÚmethodÚ
descending)Úpartition_byrV  rŠ   )r¾   rÈ   rá   ÚarangeÚ_exprÚ_from_seriesÚ_seriesÚfrom_iterabler€   rÔ   r�   ÚrankÚoverÚaliasr@  Úall)ri   rœ   rV  rK  Úsizerm   Ú	row_indexra  s           rj   Úwith_row_indexz"PandasLikeDataFrame.with_row_index½  sê   € Ø×)Ò)Ñ+Ô+ˆØÐÝ�t‘9”9ˆDØÔ$×+Ò+¨DÑ1Ô1ˆDàœ	×.Ò.Ø”×)Ò)Ø $¨d¬kÔ.?Àdð *ñ ô ñô ˆIˆIð —7’7˜8 Aœ;Ñ'Ô'×,Ò,°IÈ%Ð,ÑPÔPˆDØŸš°¸X˜ÑFÔFÈÑJ×QÒQÐRVÑWÔWˆIØ�{Š{˜9 c§g¢g¡i¤iÑ0Ô0Ð0rl   rÔ   útuple[Any, ...]c                óT   — t          d„ | j        j        |         D ¦   «         ¦  «        S )Nc              3  ó   K  — | ]}|V — Œd S rc   rŒ   )rŽ   Úxs     rj   r¯   z*PandasLikeDataFrame.row.<locals>.<genexpr>Î  s"   è è € Ð8Ð8˜1�QÐ8Ð8Ð8Ð8Ð8Ð8rl   )rò   r€   rØ   )ri   rÔ   s     rj   r  zPandasLikeDataFrame.rowÍ  s)   € ÝÐ8Ð8 ¤Ô 0°Ô 7Ð8Ñ8Ô8Ñ8Ô8Ð8rl   Ú	predicatec                ó°   — |                       |¦  «        d         }|                      |¦  «        }|                      | j        j        |         d¬¦  «        S )Nr   FrÍ   )r;  rÜ   rÐ   r€   r	  )ri   rl  rL  Úmask_natives       rj   rJ  zPandasLikeDataFrame.filterÐ  sX   € à×(Ò(¨Ñ3Ô3°AÔ6ˆØ×-Ò-¨dÑ3Ô3ˆØ× Ò ØŒKŒO˜KÔ(Àð !ñ 
ô 
ð 	
rl   c                ó:  ‡ —  ‰ j         |Ž }|st          ‰ ¦  «        dk    r‰ S d„ |D ¦   «         }g }‰ j        j        D ]Q}||v r)‰                      |                     |¦  «        ¦  «        }n‰ j        |         }|                     |¦  «         ŒR|                     ˆ fd„|                     ¦   «         D ¦   «         ¦  «         ‰  	                    ¦   «         }| 
                    |¦  «        }‰ j        j        j        |j        _        ‰                      |d¬¦  «        S )Nr   c                ó   — i | ]
}|j         |“ŒS rŒ   )rœ   r:  s     rj   r�   z4PandasLikeDataFrame.with_columns.<locals>.<dictcomp>Ü  s   € Ð4PÐ4PÐ4PÀ1°Q´V¸QÐ4PÐ4PÐ4Prl   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S rc   )rÜ   )rŽ   rÙ   ri   s     €rj   r¯   z3PandasLikeDataFrame.with_columns.<locals>.<genexpr>å  s1   øè è € ÐSÐS¸˜×0Ò0°Ñ3Ô3ÐSÐSÐSÐSÐSÐSrl   FrÍ   )r;  rÈ   r€   rg   rÜ   ÚpopÚappendÚextendr±   r¾   r=  rœ   rÐ   )	ri   r7  rg   Úname_columnsÚ	to_concatrœ   r�   r?  rÎ   s	   `        rj   Úwith_columnsz PandasLikeDataFrame.with_columnsØ  s-  ø€ Ø+�$Ô+¨UÐ3ˆØð 	�3˜t™9œ9¨š>˜>ØˆKØ4PÐ4PÈÐ4PÑ4PÔ4PˆØˆ	à”KÔ'ð 	%ð 	%ˆDØ�|Ð#Ð#Ø×0Ò0°×1AÒ1AÀ$Ñ1GÔ1GÑHÔH��àœ TÔ*�Ø×Ò˜VÑ$Ô$Ð$Ð$Ø×ÒÐSÐSÐSÐS¸\×=PÒ=PÑ=RÔ=RÐSÑSÔSÑSÔSÐSØ×/Ò/Ñ1Ô1ˆ	Ø×)Ò)¨)Ñ4Ô4ˆàœ+Ô-Ô2ˆŒ
ŒØ× Ò  ¸5Ð ÑAÔAÐArl   ÚmappingúMapping[str, str]c                ó`   — |                       t          | j        || j        ¬¦  «        ¦  «        S )N©rg   r]   )rÐ   r   r€   re   )ri   rx  s     rj   r   zPandasLikeDataFrame.renameì  s1   € Ø× Ò Ý�4”;¨ÀÔ@TÐUÑUÔUñ
ô 
ð 	
rl   úSequence[str]Ústrictc               ó†   — t          | ||¬¦  «        }|                      | j                             |¬¦  «        d¬¦  «        S )N)r}  r°   FrÍ   )r#   rÐ   r€   Údrop)ri   rg   r}  Úto_drops       rj   r  zPandasLikeDataFrame.dropñ  sK   € Ý'¨¨g¸fÐEÑEÔEˆØ× Ò ØŒK×Ò WÐÑ-Ô-ÀUð !ñ 
ô 
ð 	
rl   ÚbyrZ  úbool | Sequence[bool]Ú
nulls_lastc               óÚ   — | j         }t          |t          ¦  «        r| }nd„ |D ¦   «         }|rdnd}|                      |                     t          |¦  «        ||¬¦  «        d¬¦  «        S )Nc                ó   — g | ]}| ‘ŒS rŒ   rŒ   )rŽ   Úds     rj   r  z,PandasLikeDataFrame.sort.<locals>.<listcomp>ý  s   € Ð3Ð3Ð3 1˜Q˜Ð3Ð3Ð3rl   ÚlastÚfirst)Ú	ascendingÚna_positionFrÍ   )r€   r•   rU   rÐ   Úsort_valuesró   )ri   rZ  rƒ  r�  rÎ   r‰  rŠ  s          rj   ÚsortzPandasLikeDataFrame.sortø  s€   € ØŒ[ˆÝ�j¥$Ñ'Ô'ð 	4Ø/9¨>ˆIˆIà3Ð3¨
Ð3Ñ3Ô3ˆIØ *Ð7�f�f°ˆØ× Ò Ø�NŠN�4 ™8œ8¨yÀkˆNÑRÔRØ"'ð !ñ 
ô 
ð 	
rl   ÚkúIterable[str]Úreversec               óÀ  ‡— | j         }| j        Št          |t          ¦  «        rot	          ˆfd„|D ¦   «         ¦  «        rT|r)|                      |                     ||¦  «        ¦  «        S |                      |                     ||¦  «        ¦  «        S |                      |                     t          |¦  «        |¬¦  «         
                    |¦  «        d¬¦  «        S )Nc              3  óL   •K  — | ]}‰|                               ¦   «         V — Œd S rc   )Ú
is_numeric)rŽ   rk  r„   s     €rj   r¯   z,PandasLikeDataFrame.top_k.<locals>.<genexpr>  s3   øè è € Ð,PÐ,PÈ¨V°A¬Y×-AÒ-AÑ-CÔ-CÐ,PÐ,PÐ,PÐ,PÐ,PÐ,Prl   )r‰  FrÍ   )r€   r„   r•   rU   rd  rÐ   Ú	nsmallestÚnlargestr‹  ró   Úhead)ri   r�  r�  r�  rÎ   r„   s        @rj   Útop_kzPandasLikeDataFrame.top_k  sÚ   ø€ ØŒ[ˆØ”ˆÝ�g�tÑ$Ô$ð 	9­Ð,PÐ,PÐ,PÐ,PÈRÐ,PÑ,PÔ,PÑ)PÔ)Pð 	9Øð >Ø×(Ò(¨¯ª°a¸Ñ)<Ô)<Ñ=Ô=Ð=Ø×$Ò$ R§[¢[°°BÑ%7Ô%7Ñ8Ô8Ð8Ø× Ò Ø�NŠN�4 ™8œ8¨wˆNÑ7Ô7×<Ò<¸QÑ?Ô?Ø"'ð !ñ 
ô 
ð 	
rl   rŸ   ú_EagerAllowedImpl | NoneÚkwargsr0   c                ó  — |€"t          | j        | j        | j        d¬¦  «        S |t          j        u rSt          j        | j        ddœ}|| j        ur|                     d¬¦  «         t          |                      ¦   «         fi |¤ŽS |t          j        u r,ddl	m
}  ||                      ¦   «         d| j        d¬¦  «        S |t          j        u r+ddlm}  ||                      ¦   «         d| j        ¬	¦  «        S d
|› �}t!          |¦  «        ‚)NFrª   TrZ   r   )ÚArrowDataFrame)r\   r[   r^   r_   )ÚPolarsDataFrame©rÎ   r[   r^   zUnsupported `backend` value: )rY   r€   re   rf   r   rÀ   Úupdatert   ÚPYARROWÚnarwhals._arrow.dataframerš  Úto_arrowÚPOLARSÚnarwhals._polars.dataframer›  Ú	to_polarsÚ
ValueError)ri   rŸ   r˜  Úkwdsrš  r›  r‚   s          rj   ÚcollectzPandasLikeDataFrame.collect  sY  € ð ˆ?Ý&Ø”Ø#Ô3ØœØ&+ð	ñ ô ð ð •nÔ+Ð+Ð+å"0Ô"7Øœ=Ø).ð$ð $ˆDð
 ˜dÔ2Ð2Ð2Ø—’°T�Ñ:Ô:Ð:Ý& t§~¢~Ñ'7Ô'7Ð@Ð@¸4Ð@Ð@Ð@à•nÔ,Ð,Ð,Ø@Ð@Ð@Ð@Ð@Ð@à!�>Ø!%§¢¡¤Ø)-ØœØ&+ð	ñ ô ð ð •nÔ+Ð+Ð+ØBÐBÐBÐBÐBÐBà"�?Ø—>’>Ñ#Ô#¸dÈDÌMðñ ô ð ð 8¨gÐ7Ð7ˆÝ˜‰oŒoÐrl   r²   ú(Sequence[str] | Sequence[PandasLikeExpr]Údrop_null_keysr4   c               ó*   — ddl m}  || ||¬¦  «        S )Nr   r3   )r¨  )Únarwhals._pandas_like.group_byr4   )ri   r²   r¨  r4   s       rj   Úgroup_byzPandasLikeDataFrame.group_by;  s/   € ð 	EÐDÐDÐDÐDÐDà Ð   t¸NÐKÑKÔKÐKrl   Úleft_onÚright_onÚsuffixúpd.DataFramec               óN   — | j                              |j         ||dd|f¬¦  «        S )NÚinnerÚ ©r¬  r­  ÚhowÚsuffixes)r€   Úmerge)ri   rÑ   r¬  r­  r®  s        rj   Ú_join_innerzPandasLikeDataFrame._join_innerB  s8   € ð Œ{× Ò ØŒLØØØØ˜&�\ð !ñ 
ô 
ð 	
rl   c               ó¾   ‡ ‡— ‰ j                              |j         d||d‰f¬¦  «        }ˆ ˆfd„t          ||¦  «        D ¦   «         }|                     |d¬¦  «         |S )NÚleftr²  ©r´  r¬  r­  rµ  c                óD   •— g | ]\  }}||k    ¯|‰j         vr|n|› ‰› �‘ŒS rŒ   r°   )rŽ   Úleft_keyÚ	right_keyri   r®  s      €€rj   r  z2PandasLikeDataFrame._join_left.<locals>.<listcomp>W  sM   ø€ ð 
ð 
ð 
á#�˜)Ø˜HÒ$Ð$ð #¨$¬,Ð6Ð6ˆIˆI¸yÐ<RÈ&Ð<RÐ<Rà$Ð$Ð$rl   T©rg   Úinplace)r€   r¶  r%   r  )ri   rÑ   r¬  r­  r®  Úresult_nativeÚextras   `   `  rj   Ú
_join_leftzPandasLikeDataFrame._join_leftM  s�   øø€ ð œ×)Ò)ØŒLØØØØ˜&�\ð *ñ 
ô 
ˆð
ð 
ð 
ð 
ð 
å'1°'¸8Ñ'DÔ'Dð
ñ 
ô 
ˆð 	×Ò 5°$ÐÑ7Ô7Ð7ØÐrl   c               ó  — t          |||¦  «        }|j                             |¬¦  «        }t          |j        ¦  «         t          |                     ¦   «         ¦  «        }| j                             |||dd|f¬¦  «        S )Nr°   Úouterr²  r³  )r   r€   r   r    rg   ró   r±   r¶  )ri   rÑ   r¬  r­  r®  Úright_on_mapperÚother_nativeÚright_suffixeds           rj   Ú
_join_fullzPandasLikeDataFrame._join_fulla  s‰   € õ 0°¸À6ÑJÔJˆØ”|×*Ò*°?Ð*ÑCÔCˆÝ% lÔ&:Ñ;Ô;Ð;Ý˜o×4Ò4Ñ6Ô6Ñ7Ô7ˆØŒ{× Ò ØØØ#ØØ˜&�\ð !ñ 
ô 
ð 	
rl   c               óÜ  — | j         }| j        }|                     ¦   «         s.|                     ¦   «         s|                     ¦   «         r|dk     ryt          dg | j        ¢|j        ¢R ¬¦  «        } | j        j        di |di¤Ž 	                     |j        j        di |di¤Žd||d|f¬¦  «        }| 
                    |d¬	¦  «         |S | j         	                    |j        d
d|f¬¦  «        S )N)rŠ   é   é   ©Ún_bytesrg   r   r±  r²  rº  Tr¾  Úcross)r´  rµ  rŒ   )re   rv   ru   ry   rs   r"   rg   r€   Úassignr¶  r  )ri   rÑ   r®  r]   Úbackend_versionÚ	key_tokenrÀ  s          rj   Ú_join_crosszPandasLikeDataFrame._join_crossq  s)  € ØÔ-ˆØÔ/ˆØ×#Ò#Ñ%Ô%ð 	!¨×)?Ò)?Ñ)AÔ)Að 	!Ø×$Ò$Ñ&Ô&ð	!Ø+:¸VÒ+CÐ+Cå6ØÐ#B T¤\Ð#B°E´MÐ#BÐ#Bðñ ô ˆIð /˜DœKÔ.Ð@Ð@°)¸Q°Ð@Ð@×FÒFØ#�”Ô#Ð5Ð5 y°! nÐ5Ð5ØØ!Ø"Ø˜f˜ð Gñ ô ˆMð ×Ò y¸$ÐÑ?Ô?Ð?Ø Ð ØŒ{× Ò  ¤°7ÀbÈ&À\Ð ÑRÔRÐRrl   c          
     ó¾   — |                       |t          |¦  «        t          t          ||¦  «        ¦  «        ¬¦  «        }| j                             |d||¬¦  «        S )N©rÑ   Úcolumns_to_selectÚcolumns_mappingr±  ©r´  r¬  r­  )Ú_join_filter_renameró   r*  r+  r€   r¶  )ri   rÑ   r¬  r­  rÆ  s        rj   Ú
_join_semizPandasLikeDataFrame._join_semi‡  si   € ð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨wÑ!7Ô!7Ñ8Ô8ð 0ñ 
ô 
ˆð
 Œ{× Ò Ø˜g¨wÀð !ñ 
ô 
ð 	
rl   c          
     óø  ‡— | j         }|                     ¦   «         r#| j                             |j        d||¬¦  «        S t	          dg | j        ¢|j        ¢R ¬¦  «        Š|                      |t          |¦  «        t          t          ||¦  «        ¦  «        ¬¦  «        }| j                             || 
                    ¦   «         rdnd‰||¬¦  «        j        ˆfd	„         }|                     ‰d
¬¦  «         |S )NÚleftantir×  rË  rÌ  rÔ  r¹  rÄ  )r´  Ú	indicatorr¬  r­  c                ó   •— | ‰         dk    S )NÚ	left_onlyrŒ   )ÚtÚindicator_tokens    €rj   ú<lambda>z0PandasLikeDataFrame._join_anti.<locals>.<lambda>­  s   ø€ ˜˜/Ô*¨kÒ9€ rl   Tr¾  )re   ry   r€   r¶  r"   rg   rØ  ró   r*  r+  rs   r	  r  )ri   rÑ   r¬  r­  r]   rÆ  rÀ  rà  s          @rj   Ú
_join_antizPandasLikeDataFrame._join_anti“  s.  ø€ ð Ô-ˆà×!Ò!Ñ#Ô#ð 	Ø”;×$Ò$Ø” *°gÈð %ñ ô ð õ 9ØÐ> ¤Ð>°´Ð>Ð>ð
ñ 
ô 
ˆð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨wÑ!7Ô!7Ñ8Ô8ð 0ñ 
ô 
ˆð
 œ×)Ò)Øà(×2Ò2Ñ4Ô4ÐA��¸'Ø%ØØð *ñ 
ô 
ô Ð9Ð9Ð9Ð9ô;ˆð 	×Ò ?¸DÐÑAÔAÐAØÐrl   rÕ  rÖ  údict[str, str]c                ó‚   — | j         }t          t          |j        ||¬¦  «        ||¬¦  «                             ¦   «         S )z®Helper function to avoid creating extra columns and row duplication.

        Used in `"anti"` and `"semi`" join's.

        Notice that a native object is returned.
        )r4  r]   r{  )re   r   r   r€   Údrop_duplicates)ri   rÑ   rÕ  rÖ  r]   s        rj   rØ  z'PandasLikeDataFrame._join_filter_rename³  sU   € ð Ô-ˆÝÝ"Ø”Ø.Ø-ðñ ô ð
 $Ø)ð
ñ 
ô 
÷ Š/Ñ
Ô
ð	rl   r´  rA   c               óê  — |dk    r|                       ||¬¦  «        }nÁ|�|€t          ||¦  «        ‚|dk    r|                      ||||¬¦  «        }n�|dk    r|                      |||¬¦  «        }nn|dk    r|                      |||¬¦  «        }nO|dk    r|                      ||||¬¦  «        }n/|d	k    r|                      ||||¬¦  «        }nt          |¦  «         |                      |¦  «        S )
NrÎ  )rÑ   r®  r±  )rÑ   r¬  r­  r®  Úanti)rÑ   r¬  r­  Úsemir¹  Úfull)	rÒ  r¤  r·  râ  rÙ  rÂ  rÈ  r   rÐ   )ri   rÑ   r´  r¬  r­  r®  Úresults          rj   ÚjoinzPandasLikeDataFrame.joinÇ  s3  € ð �'Š>ˆ>Ø×%Ò%¨E¸&Ð%ÑAÔAˆFˆFàˆ_ Ð 0Ý˜W hÑ/Ô/Ð/à�GŠ^ˆ^Ø×%Ò%Ø W°xÈð &ñ ô ˆFˆFð �FŠ]ˆ]Ø—_’_¨5¸'ÈH�_ÑUÔUˆFˆFØ�FŠ]ˆ]Ø—_’_¨5¸'ÈH�_ÑUÔUˆFˆFØ�FŠ]ˆ]Ø—_’_Ø W°xÈð %ñ ô ˆFˆFð �FŠ]ˆ]Ø—_’_Ø W°xÈð %ñ ô ˆFˆFõ ˜ÑÔÐà× Ò  Ñ(Ô(Ð(rl   Úby_leftÚby_rightÚstrategyr>   c               ó¢   — |                       ¦   «         }|                      |                     | j        |j        |||||d|f¬¦  «        ¦  «        S )Nr²  )r¬  r­  Úleft_byÚright_byÚ	directionrµ  )rÅ   rÐ   Ú
merge_asofr€   )	ri   rÑ   r¬  r­  rì  rí  rî  r®  rK  s	            rj   Ú	join_asofzPandasLikeDataFrame.join_asofë  sc   € ð ×'Ò'Ñ)Ô)ˆØ× Ò Ø�NŠNØ”Ø”ØØ!ØØ!Ø"Ø˜f˜ð ñ 	ô 	ñ
ô 
ð 	
rl   Únc                ó`   — |                       | j                             |¦  «        d¬¦  «        S r÷   )rÐ   r€   r•  ©ri   rõ  s     rj   r•  zPandasLikeDataFrame.head  ó+   € Ø× Ò  ¤×!1Ò!1°!Ñ!4Ô!4ÈEÐ ÑRÔRÐRrl   c                ó`   — |                       | j                             |¦  «        d¬¦  «        S r÷   )rÐ   r€   Útailr÷  s     rj   rú  zPandasLikeDataFrame.tail	  rø  rl   )Úmaintain_orderÚkeeprF   rû  c               óR  — dddœ                      ||¦  «        }|r|                      |¦  «        x}r|‚|r†|r„t          d| j        ¦  «        } |                      |d ¬¦  «        j        |dddœŽj                             |p| j        |¬¦  «                             |¦  «        }| 	                    |d¬	¦  «         nU|r0 | j        |dddœŽj                             |p| j        |¬¦  «        }n#| j                             |p| j        |¬¦  «        }|  
                    |d¬
¦  «        S )NFrˆ  )ÚnoneÚanyrË  )rV  )rƒ  rZ  ©rü  Tr¾  rÍ   )ÚgetÚ_check_columns_existr"   rg   rg  rŒ  r€   rå  r‹  r  rÐ   )	ri   rA  rü  rû  rV  Úmapped_keepÚerrorÚtokenÚress	            rj   ÚuniquezPandasLikeDataFrame.unique  si  € ð  %¨WÐ5Ð5×9Ò9¸$ÀÑEÔEˆØð 	 × 9Ò 9¸&Ñ AÔ AÐA�uð 	ØˆKØð 	X˜ð 	XÝ2°1°d´lÑCÔCˆEð�×#Ò# E°DÐ#Ñ9Ô9Ü�x¨E¸eðEð Eð EäŸš¨Ð(>°$´,À[˜ÑQÔQß’˜UÑ#Ô#ð	 ð �HŠH˜U¨DˆHÑ1Ô1Ð1Ð1Øð 	XØ�$”)Ø e¸ðð ð ä—_’_ VÐ%;¨t¬|À+�_ÑNÔNð ˆCð ”+×-Ò-¨fÐ.D¸¼È;Ð-ÑWÔWˆCØ× Ò  ¸EÐ ÑBÔBÐBrl   )Úsessionú_LazyAllowedImpl | Noner  úSparkSession | Noner1   c               ó  — |                       ¦   «         }|€| S |t          j        u r0dd l}ddlm}  ||                     d¦  «        d| j        ¬¦  «        S |t          j        u r=dd l	}ddl
m}  | |j        |¦  «                             ¦   «         d| j        ¬¦  «        S |t          j        u r2dd lm} ddlm}	  |	|                     |¦  «        d| j        ¬¦  «        S |t          j        u r7dd l}
dd	lm}  ||
                     || j        ¬
¦  «        d| j        ¬¦  «        S |                     ¦   «         r@ddlm} |€d}t9          |¦  «        ‚ ||                     |¦  «        | j        |d¬¦  «        S t<          ‚)Nr   )ÚDuckDBLazyFrameÚ	pandas_dfTrœ  )ÚPolarsLazyFrame)ÚDaskLazyFrame)r\   r[   r^   )ÚIbisLazyFramer°   )r[   r^   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)r^   r]   r[   )rt   r   ÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframer  Útablerf   r¡  Úpolarsr¢  r  Úfrom_pandasÚlazyÚDASKÚdask.dataframeÚ	dataframeÚnarwhals._dask.dataframer  ÚIBISÚibisÚnarwhals._ibis.dataframer  Úmemtablerg   Úis_spark_likeÚnarwhals._spark_like.dataframer  r¤  ÚcreateDataFramer|   )ri   rŸ   r  r  r  r  Úplr  Úddr  r  r  r  r‚   s                 rj   r  zPandasLikeDataFrame.lazy+  s!  € ð —N’NÑ$Ô$ˆ	Øˆ?ØˆKØ•nÔ+Ð+Ð+ØˆMˆMˆMàBÐBÐBÐBÐBÐBà"�?Ø—<’< Ñ,Ô,Ø)-Øœðñ ô ð ð
 •nÔ+Ð+Ð+ØÐÐÐàBÐBÐBÐBÐBÐBà"�?Ø!�2”> )Ñ,Ô,×1Ò1Ñ3Ô3Ø)-Øœðñ ô ð ð
 •nÔ)Ð)Ð)Ø'Ð'Ð'Ð'Ð'Ð'à>Ð>Ð>Ð>Ð>Ð>à �=Ø!#§¢°	Ñ!:Ô!:Ø)-Øœðñ ô ð ð
 •nÔ)Ð)Ð)ØˆKˆKˆKà>Ð>Ð>Ð>Ð>Ð>à �=Ø—’˜i°´�Ñ>Ô>Ø)-Øœðñ ô ð ð × Ò Ñ"Ô"ð 	ØIÐIÐIÐIÐIÐIàˆØM�Ý  ‘o”oÐ%à%Ð%Ø×'Ò'¨	Ñ2Ô2ØœØ&Ø)-ð	ñ ô ð õ Ðrl   útuple[int, int]c                ó   — | j         j        S rc   )r€   Úshaper·   s    rj   r(  zPandasLikeDataFrame.shapem  s   € àŒ{Ô Ð rl   Ú	as_seriesúdict[str, Any]c               ód   ‡ — |rˆ fd„‰ j         D ¦   «         S ‰ j                             d¬¦  «        S )Nc                óT   •— i | ]$}|t          j        ‰j        |         ‰¬ ¦  «        “Œ%S )rr   rå   ©rŽ   r�   ri   s     €rj   r�   z/PandasLikeDataFrame.to_dict.<locals>.<dictcomp>s  sC   ø€ ð ð ð àð Õ%Ô1°$´+¸cÔ2BÈDÐQÑQÔQðð ð rl   ró   r  )rg   r€   r!  )ri   r)  s   ` rj   r!  zPandasLikeDataFrame.to_dictq  sS   ø€ Øð 	ðð ð ð àœ<ðñ ô ð ð Œ{×"Ò"¨&Ð"Ñ1Ô1Ð1rl   c               óD  ‡ ‡‡— ‰ j         j        }‰€‰ j        t          j        u Š|                     t          ¦  «                             ¦   «         r9|�‰ j                              |‰¬¦  «        S ‰ j                              ‰¬¦  «        S ‰ j	        j        j
        Šˆfd„‰ j                             ¦   «         D ¦   «         }|re‰                       ‰                      ¦   «         j        |Ž j                             d¦  «        j                             d ¦  «        ¦  «        j         }n‰ j         }|�|                     |‰¬¦  «        S |D ]B}t'          |¦  «        t(          v r*t+          j        ˆˆ fd„‰ j        D ¦   «         ¦  «        }|c S ŒC|                     ‰¬¦  «        S )Nrë   rç   c                óH   •— g | ]\  }}t          |‰¦  «        r	|j        ®|‘ŒS rc   )r•   Ú	time_zone)rŽ   ÚkeyÚvalÚdtype_datetimes      €rj   r  z0PandasLikeDataFrame.to_numpy.<locals>.<listcomp>‡  sC   ø€ ð 
ð 
ð 
á��SÝ˜#˜~Ñ.Ô.ð
ð 47´=Ð3Lð à3LÐ3LÐ3Lrl   ÚUTCc                óx   •— g | ]6}‰                      |¦  «                             ‰d ¬¦  «        d d …d f         ‘Œ7S )N)rè   rÕ   )ræ   rì   )rŽ   r�   rè   ri   s     €€rj   r  z0PandasLikeDataFrame.to_numpy.<locals>.<listcomp>   sV   ø€ ð ð ð àð Ÿš¨Ñ,Ô,×5Ò5¸4ÀtÐ5ÑLÔLÈQÈQÈQÐPTÈWÔUðð ð rl   )r€   r—   re   r   rÂ   ÚisinrW   rd  rì   rf   ÚDatetimer„   r”   rw  r¾   r�   ÚdtÚconvert_time_zoneÚreplace_time_zonerâ   r   rà   Úhstackrg   )	ri   rÕ   rè   r1  Ú
to_convertrÎ   Ú	col_dtypeÚarrr3  s	   ` `     @rj   rì   zPandasLikeDataFrame.to_numpyy  sØ  øøø€ ØœÔ*ˆàˆ<àÔ'­>Ô+>Ð>ˆDà×ÒÕ4Ñ5Ô5×9Ò9Ñ;Ô;ð 	3àÐ Ø”{×+Ò+°%¸dÐ+ÑCÔCÐCØ”;×'Ò'¨TÐ'Ñ2Ô2Ð2àœÔ-Ô6ˆð
ð 
ð 
ð 
à œK×-Ò-Ñ/Ô/ð
ñ 
ô 
ˆ
ð
 ð 	Ø×"Ò"ð�×+Ò+Ñ-Ô-Ü�jð"ä×%Ò% eÑ,Ô,Ü×%Ò% dÑ+Ô+ñ	ô ô
 ð ˆBð ”ˆBàÐØ—;’; U°�;Ñ6Ô6Ð6ð 'ð 	ð 	ˆIÝ�9‰~Œ~Õ!>Ð>Ð>Ýœ9ðð ð ð ð à#'¤<ðñ ô ñô �ð �
�
�
ð ?ð �{Š{ ˆ{Ñ%Ô%Ð%rl   c                ó  — | j         t          j        u r| j        S | j         t          j        u r| j                             ¦   «         S | j         t          j        u r| j                             ¦   «         S d| j         › �}t          |¦  «        ‚)NzUnknown implementation: )	re   r   rÀ   r€   rÂ   rt   rÁ   Ú
_to_pandasr|   rÄ   s     rj   rt   zPandasLikeDataFrame.to_pandas¨  sƒ   € ØÔ¥>Ô#8Ð8Ð8Ø”;ÐØÔ¥>Ô#6Ð6Ð6Ø”;×(Ò(Ñ*Ô*Ð*ØÔ¥>Ô#7Ð7Ð7Ø”;×)Ò)Ñ+Ô+Ð+Ø?¨Ô)=Ð?Ð?ˆÝ˜SÑ!Ô!Ð!rl   úpl.DataFramec                óN   — dd l } |j        |                      ¦   «         ¦  «        S rÞ   )r  r  rt   )ri   r$  s     rj   r£  zPandasLikeDataFrame.to_polars²  s*   € ØÐÐÐàˆrŒ~˜dŸnšnÑ.Ô.Ñ/Ô/Ð/rl   Úfileústr | Path | BytesIOc                ó:   — | j                              |¦  «         d S rc   )r€   Ú
to_parquet©ri   rC  s     rj   Úwrite_parquetz!PandasLikeDataFrame.write_parquet·  s   € ØŒ×Ò˜tÑ$Ô$Ð$Ð$Ð$rl   c                ó   — d S rc   rŒ   rG  s     rj   Ú	write_csvzPandasLikeDataFrame.write_csvº  s   € Ø,/¨Crl   c                ó   — d S rc   rŒ   rG  s     rj   rJ  zPandasLikeDataFrame.write_csv½  s   € Ø=@¸Srl   ústr | Path | BytesIO | Noneú
str | Nonec                ó:   — | j                              |d¬¦  «        S )NFr)  )r€   Úto_csvrG  s     rj   rJ  zPandasLikeDataFrame.write_csvÀ  s   € ØŒ{×!Ò! $¨eÐ!Ñ4Ô4Ð4rl   c                ób   — t          j        | j                             d¬¦  «         | ¬¦  «        S )NFr   rr   )r   r}   r€   Ú
duplicatedr·   s    rj   Ú	is_uniquezPandasLikeDataFrame.is_uniqueÄ  s7   € ÝÔ+ØŒ[×#Ò#¨Ð#Ñ/Ô/Ð/¸ð
ñ 
ô 
ð 	
rl   r  ú
int | NoneÚcolumnúint | str | Nonec                ó*  — |€8|€6| j         dk    rd| j         ›�}t          |¦  «        ‚| j        j        d         S |�|€d}t          |¦  «        ‚t	          |t
          ¦  «        r| j                             |¦  «        n|}| j        j        ||f         S )N)rŠ   rŠ   zycan only call `.item()` if the dataframe is of shape (1, 1), or if explicit row/col values are provided; frame has shape )r   r   z8cannot call `.item()` with only one of `row` or `column`)r(  r¤  r€   rØ   r•   râ   rg   rÔ   )ri   r  rT  r‚   Ú_cols        rj   ÚitemzPandasLikeDataFrame.itemÉ  s¦   € Øˆ;˜6˜>ØŒz˜VÒ#Ð#ð7à(,¬
ð7ð 7ð õ
 ! ‘o”oÐ%Ø”;Ô# DÔ)Ð)àˆ;˜&˜.ØLˆCÝ˜S‘/”/Ð!å-7¸ÅÑ-DÔ-DÐPˆtŒ|×!Ò! &Ñ)Ô)Ð)È&ˆØŒ{Ô  T 	Ô*Ð*rl   c                ó^   — |                       | j                             ¦   «         d¬¦  «        S r÷   )rÐ   r€   rè   r·   s    rj   ÚclonezPandasLikeDataFrame.cloneÛ  s)   € Ø× Ò  ¤×!1Ò!1Ñ!3Ô!3È5Ð ÑQÔQÐQrl   Úoffsetc                óV   — |                       | j        j        |d |…         d¬¦  «        S r÷   r  )ri   rõ  r[  s      rj   Úgather_everyz PandasLikeDataFrame.gather_everyÞ  s,   € Ø× Ò  ¤Ô!1°&°)¸!°)Ô!<ÐTYÐ ÑZÔZÐZrl   Úonr±   ú#tuple[Sequence[str], Sequence[str]]c               ó†   — |p%|rt          | h |£|£¦  «        nt          | |¦  «        }|pt          | h |£|£¦  «        }||fS rc   )r!   )ri   r^  rÔ   r±   s       rj   Ú_pivot_into_index_valuesz,PandasLikeDataFrame._pivot_into_index_valuesá  sg   € ð ð 
àð0Õ   ~¨ ~¨f ~Ñ6Ô6Ð6å% d¨BÑ/Ô/ð 	ð
 ÐDÕ/°°m¸°m¸U°mÑDÔDˆØ�fˆ}Ðrl   Úunique_valuesútuple[str, ...]c               óP   — d\  }}}d                      | ¦  «        }|› |› |› |› |› �S )N)Ú{Ú}ú"z",")rë  )rb  ÚLBÚRBÚQÚbodys        rj   Ú_pivot_multi_on_namez(PandasLikeDataFrame._pivot_multi_on_nameð  s>   € à!‰	ˆˆB�Ø�zŠz˜-Ñ(Ô(ˆØÐ&�aÐ&˜Ð&˜qÐ& "Ð&Ð&Ð&rl   Ún_valuesÚ	separatorc               óD   ‡— |dk    rˆfd„| D ¦   «         S d„ | D ¦   «         S )NrŠ   c                ó^   •— g | ])}‰                      |¦  «                             ¦   «         ‘Œ*S rŒ   )rë  Ústrip)rŽ   r�   rn  s     €rj   r  z>PandasLikeDataFrame._pivot_single_on_names.<locals>.<listcomp>û  s1   ø€ ÐHÐHÐH°C�I—N’N 3Ñ'Ô'×-Ò-Ñ/Ô/ÐHÐHÐHrl   c                ó   — g | ]
}|d          ‘ŒS )éÿÿÿÿrŒ   r�   s     rj   r  z>PandasLikeDataFrame._pivot_single_on_names.<locals>.<listcomp>ü  s   € Ð0Ð0Ð0˜C��B”Ð0Ð0Ð0rl   rŒ   )r4  rm  rn  s     `rj   Ú_pivot_single_on_namesz*PandasLikeDataFrame._pivot_single_on_namesö  s<   ø€ ð �aŠ<ˆ<ØHÐHÐHÐH¸<ÐHÑHÔHÐHØ0Ð0 <Ð0Ñ0Ô0Ð0rl   úIterable[tuple[str, ...]]Ún_onúIterator[str]c             #  óì   K  — |dk    rF|D ]A}|| d …         }|d         }|                      ||                      |¦  «        f¦  «        V — ŒBd S |D ]"}|                      || d …         ¦  «        V — Œ#d S )NrŠ   r   )rë  rl  )ri   r4  rv  rm  rn  r�   ÚnamesÚprefixs           rj   Ú_pivot_multi_on_namesz)PandasLikeDataFrame._pivot_multi_on_namesþ  s¶   è è € ð �aŠ<ˆ<Ø#ð Qð Q�Ø˜T˜E˜F˜Fœ�Ø˜Qœ�Ø—n’n f¨d×.GÒ.GÈÑ.NÔ.NÐ%OÑPÔPÐPÐPÐPÐPðQð Qð
 $ð =ð =�Ø×/Ò/°°T°E°F°F´Ñ<Ô<Ð<Ð<Ð<Ð<ð=ð =rl   úIterable[Any]c               ó†   — |dk    r|                       |||¦  «        S t          |                      ||||¦  «        ¦  «        S )z­Reformat output column names from a native pivot operation, to match `polars`.

        Note:
            `column_names` is a `pd.MultiIndex`, but not in the stubs.
        rŠ   )rt  ró   r{  )ri   r4  rv  rm  rn  s        rj   Ú_pivot_remap_column_namesz-PandasLikeDataFrame._pivot_remap_column_names  sG   € ð �1Š9ˆ9Ø×.Ò.¨|¸XÀyÑQÔQÐQÝ�D×.Ò.¨|¸TÀ8ÈYÑWÔWÑXÔXÐXrl   Úaggregate_functionú?Literal['min', 'max', 'first', 'last', 'sum', 'mean', 'median']c          	     ód   — | j         t          j        u ri nddi} | j        j        d||||ddœ|¤ŽS )NÚobservedTF)r±   rÔ   rg   ÚaggfuncÚmarginsrŒ   )re   r   rÂ   r€   Úpivot_table)ri   r^  rÔ   r±   r  r¥  s         rj   Ú_pivot_tablez PandasLikeDataFrame._pivot_table  sd   € ð Ô&­.Ô*=Ð=Ð=ˆBˆBÀJÐPTÐCUð 	ð 'ˆtŒ{Ô&ð 
ØØØØ&Øð
ð 
ð ð
ð 
ð 	
rl   úPivotAgg | Nonec               ó@  — |€| j                              |||¬¦  «        S |dk    rb| j                              g |¢|¢d¬¦  «                             t                               |d¦  «        ¦  «                             |||¬¦  «        S |                      ||||¦  «        S )N)rg   rÔ   r±   rÈ   F)Úas_indexre  )r€   ÚpivotÚgroupbyÚaggr*  Úfromkeysr†  )ri   r^  rÔ   r±   r  s        rj   Ú_pivotzPandasLikeDataFrame._pivot1  s¢   € ð Ð%Ø”;×$Ò$¨R°uÀVÐ$ÑLÔLÐLØ Ò&Ð&à”×#Ò# M b M¨5 M¸EÐ#ÑBÔBß’•T—]’] 6¨6Ñ2Ô2Ñ3Ô3ß’˜r¨°v�Ñ>Ô>ðð
 × Ò   U¨FÐ4FÑGÔGÐGrl   Úsort_columnsc               óV  ‡ — ‰ j         }|                     ¦   «         rd}t          |¦  «        ‚‰                      |||¦  «        \  }}‰                      ||||¦  «        }	|rˆ fd„|D ¦   «         nˆ fd„|D ¦   «         }
t          t          |gt          |
¦  «        ¢R Ž ¦  «        }|	j        d d …|f         }	|	j	        }‰  
                    |t          |¦  «        t          |¦  «        |¬¦  «        }||	_	        dg|	j	        _        ‰                      |	                     ¦   «         ¦  «        S )Nzcpivot is not supported for Modin backend due to https://github.com/modin-project/modin/issues/7409.c              3  ó´   •K  — | ]R}‰                      |¦  «                             ¦   «                              d d ¬¦  «                             ¦   «         V — ŒSdS )F)rZ  rƒ  N)ræ   r  rŒ  Úto_listr-  s     €rj   r¯   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>W  sh   øè è € ð ð ð
 ð	 —’ Ñ$Ô$ß’‘”ß’ °5�Ñ9Ô9ß’‘”ð	ð ð ð ð ð rl   c              3  óŠ   •K  — | ]=}‰                      |¦  «                             ¦   «                              ¦   «         V — Œ>d S rc   )ræ   r  r’  r-  s     €rj   r¯   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>_  sG   øè è € ÐHÐH¸c�$—/’/ #Ñ&Ô&×-Ò-Ñ/Ô/×7Ò7Ñ9Ô9ÐHÐHÐHÐHÐHÐHrl   )rv  rm  rn  r²  )re   ru   ÚNotImplementedErrorra  rŽ  ró   r	   r   r	  rg   r~  rÈ   ry  rÐ   Úreset_index)ri   r^  rÔ   r±   r  r�  rn  r]   r‚   rê  ÚuniquesÚordered_colsrg   Úremappeds   `             rj   rŠ  zPandasLikeDataFrame.pivotC  sb  ø€ ð Ô-ˆØ×"Ò"Ñ$Ô$ð 	+ØwˆCÝ% cÑ*Ô*Ð*à×5Ò5°b¸%ÀÑHÔH‰ˆˆvØ—’˜R ¨Ð0BÑCÔCˆð ðIð ð ð ð ð
 ðñ ô ð ð IÐHÐHÐHÀRÐHÑHÔHð 	õ �G FÐ<­U°7©^¬^Ð<Ð<Ð<Ñ=Ô=ˆØ”˜A˜A˜A˜|˜OÔ,ˆØ”.ˆØ×1Ò1Ø�#˜b™'œ'­C°©K¬KÀ9ð 2ñ 
ô 
ˆð "ˆŒØ "˜tˆŒÔØ× Ò  ×!3Ò!3Ñ!5Ô!5Ñ6Ô6Ð6rl   c                ó¤   — | j         t          j        u r| j                             d¬¦  «        S dd l}|j                             | j        ¦  «        S )NF)Úpreserve_indexr   )re   r   rÂ   r€   r   ÚpyarrowÚTabler  )ri   Úpas     rj   r   zPandasLikeDataFrame.to_arrowk  sP   € ØÔ¥>Ô#6Ð6Ð6Ø”;×'Ò'°uÐ'Ñ=Ô=Ð=àÐÐÐàŒx×#Ò# D¤KÑ0Ô0Ð0rl   Úfractionúfloat | NoneÚwith_replacementÚseedc               óh   — |                       | j                             ||||¬¦  «        d¬¦  «        S )N)rõ  ÚfracÚreplaceÚrandom_stateFrÍ   )rÐ   r€   Úsample)ri   rõ  rž  r   r¡  s        rj   r¦  zPandasLikeDataFrame.samples  sJ   € ð × Ò ØŒK×ÒØ˜(Ð,<È4ð ñ ô ð #(ð	 !ñ 
ô 
ð 	
rl   Úvariable_nameÚ
value_namec                ód   — |                       | j                             ||||¬¦  «        ¦  «        S )N)Úid_varsÚ
value_varsÚvar_namer¨  )rÐ   r€   Úmelt)ri   r^  rÔ   r§  r¨  s        rj   ÚunpivotzPandasLikeDataFrame.unpivot‚  sB   € ð × Ò ØŒK×ÒØØØ&Ø%ð	 ñ ô ñ
ô 
ð 	
rl   c                ó2  ‡‡‡— | j         j        }|                      ¦   «         }‰D ]*}||         }||j        k    rd|› d�}t	          |¦  «        ‚Œ+t          ‰¦  «        dk    r5|                      | j                             ‰d         ¦  «        d¬¦  «        S | j        Š‰‰d                  j	                             ¦   «         Št          ˆˆfd„‰dd …         D ¦   «         ¦  «        sd}t          |¦  «        ‚| j        }ˆfd	„|D ¦   «         }‰g |¢‰d         ‘                              ‰d         ¦  «        }	ˆfd
„‰dd …         D ¦   «         }
|                      ¦   «         }|                      |                     |	g|
¢d¬¦  «        |         d¬¦  «        S )Nz-`explode` operation not supported for dtype `z`, expected List typerŠ   r   FrÍ   c              3  ó‚   •K  — | ]9}‰|         j                              ¦   «         ‰k                         ¦   «         V — Œ:d S rc   )ró   rÈ   rd  )rŽ   Úcol_nameÚanchor_seriesÚnative_frames     €€rj   r¯   z.PandasLikeDataFrame.explode.<locals>.<genexpr>§  s\   øè è € ð 
ð 
àð ˜(Ô#Ô(×,Ò,Ñ.Ô.°-Ò?×DÒDÑFÔFð
ð 
ð 
ð 
ð 
ð 
rl   z2exploded columns must have matching element countsc                ó   •— g | ]}|‰v¯|‘Œ	S rŒ   rŒ   )rŽ   Úcrg   s     €rj   r  z/PandasLikeDataFrame.explode.<locals>.<listcomp>¯  s#   ø€ ÐIÐIÐI˜q¸ÀÐ8HÐ8H˜Ð8HÐ8HÐ8Hrl   c                óh   •— g | ].}‰|                               ¦   «                              ¦   «         ‘Œ/S rŒ   )ÚexplodeÚto_frame)rŽ   r±  r³  s     €rj   r  z/PandasLikeDataFrame.explode.<locals>.<listcomp>²  sC   ø€ ð 
ð 
ð 
Ø<DˆL˜Ô"×*Ò*Ñ,Ô,×5Ò5Ñ7Ô7ð
ð 
ð 
rl   rD  )rf   r—   r3  ÚListr(   rÈ   rÐ   r€   r·  ró   rd  r)   rg   rÅ   Úconcat)ri   rg   r—   r„   Úcol_to_exploderÕ   r‚   Úoriginal_columnsÚother_columnsÚexploded_frameÚexploded_seriesrK  r²  r³  s    `          @@rj   r·  zPandasLikeDataFrame.explode’  s  øøø€ Ø”Ô%ˆà×$Ò$Ñ&Ô&ˆØ%ð 	1ð 	1ˆNØ˜>Ô*ˆEà˜œÒ#Ð#ð)ÀEð )ð )ð )ð õ ,¨CÑ0Ô0Ð0ð $õ ˆw‰<Œ<˜1ÒÐØ×$Ò$Ø”×#Ò# G¨A¤JÑ/Ô/Àuð %ñ ô ð ð ”{ˆØ$ W¨Q¤ZÔ0Ô5×9Ò9Ñ;Ô;ˆåð 
ð 
ð 
ð 
ð 
à# A B BœKð
ñ 
ô 
ñ 
ô 
ð 	"ð GˆCÝ˜S‘/”/Ð!àœ<ÐØIÐIÐIÐIÐ$4ÐIÑIÔIˆà%Ð&B¨Ð&B°w¸q´zÐ&BÔC×KÒKÈGÐTUÌJÑWÔWˆð
ð 
ð 
ð 
ØHOÐPQÐPRÐPRÌð
ñ 
ô 
ˆð ×'Ò'Ñ)Ô)ˆØ× Ò Ø�JŠJ˜Ð9¨Ð9ÀˆJÑBÔBÐCSÔTØ"'ð !ñ 
ô 
ð 	
rl   )r\   r   r]   r   r^   r;   r_   rU   r[   rU   r`   ra   )rm   r8   rn   r<   r`   r-   )rm   rƒ   rn   r<   r„   r…   r`   r-   )rm   r    rn   r<   r„   r…   r`   r-   )r¥   r   r`   r¦   )rm   r   rn   r<   r`   r-   )rm   rG   rn   r<   r„   r«   r`   r-   )r`   r-   )r`   r6   )r`   r,   )r`   rÆ   )r^   r;   r`   r-   )rÎ   r   r_   rU   r`   r-   )rÑ   r   r`   rÒ   )rœ   râ   r`   r   rc   )rÕ   r   rè   ré   r`   rG   )rî   rï   r`   r-   )rî   rõ   r`   r-   )rg   rI   r`   r-   )rg   rõ   r`   r-   )rg   rï   r`   r-   )rg   r  r`   r-   )r`   r  )r  r  r`   r  )r  r  r`   r  )r  rU   r`   r  )r`   r"  )r  rU   r&  rÆ   r`   r'  )r`   r.  )r4  râ   r`   r-   )r7  r2   r`   r-   )rA  rB  r`   r-   )rN  rE   r`   rO  )rœ   râ   rV  rB  r`   r-   )rÔ   rÆ   r`   rh  )rl  r2   r`   r-   )rx  ry  r`   r-   )rg   r|  r}  rU   r`   r-   )r�  râ   rZ  r‚  rƒ  rU   r`   r-   )r�  rÆ   r�  rŽ  r�  r‚  r`   r-   )rŸ   r—  r˜  r   r`   r0   )r²   r§  r¨  rU   r`   r4   )
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¬  rB  r­  rB  r®  râ   r`   r-   )rÑ   r-   r¬  râ   r­  râ   rì  rB  rí  rB  rî  r>   r®  râ   r`   r-   )rõ  rÆ   r`   r-   )
rA  rB  rü  rF   rû  ré   rV  rB  r`   r-   )rŸ   r	  r  r
  r`   r1   )r`   r&  )r)  rU   r`   r*  )r`   r¯  )r`   rA  )rC  rD  r`   ra   )rC  ra   r`   râ   )rC  rL  r`   rM  )r`   r   )r  rS  rT  rU  r`   r   )rõ  rÆ   r[  rÆ   r`   r-   )r^  r|  rÔ   rB  r±   rB  r`   r_  )rb  rc  r`   râ   )r4  rŽ  rm  rÆ   rn  râ   r`   r  )
r4  ru  rv  rÆ   rm  rÆ   rn  râ   r`   rw  )
r4  r|  rv  rÆ   rm  rÆ   rn  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Ô   rB  r±   rB  r  r‡  r�  rU   rn  râ   r`   r-   )r`   r   )
rõ  rS  rž  rŸ  r   rU   r¡  rS  r`   r-   )
r^  rB  rÔ   rB  r§  râ   r¨  râ   r`   r-   )rg   r|  r`   r-   )XÚ__name__Ú
__module__Ú__qualname__rk   Úclassmethodrq   r–   r¤   Ústaticmethodr¨   r}   rµ   r¸   r»   r¾   rÅ   rÉ   rÌ   rÐ   rÜ   Úpropertyrá   ræ   rí   rô   rü   r   r  r  r
  rg   r   rî   r%  Ú_iter_columnsr-  r„   r3  r6  r@  rM  rU  rg  r  rJ  rw  r   r  rŒ  r–  r¦  r«  r·  rÂ  rÈ  rÒ  rÙ  râ  rØ  rë  rô  r•  rú  r  r  r(  r!  rì   rt   r£  rH  rJ  rR  rX  rZ  r]  ra  rl  rt  r{  r~  r†  rŽ  rŠ  r   r¦  r®  r·  rŒ   rl   rj   rY   rY   c   s  € € € € € ð */ð-ð -ð -ð -ð -ð -ð" ð8ð 8ð 8ñ „[ð8ð. ð#8ð #8ð #8ñ „[ð#8ðJ ð8ð 8ð 8ñ „[ð8ð0 ð-ð -ð -ñ „\ð-ð ð
ð 
ð 
ñ „[ð
ð ð8ð 8ð 8ñ „[ð8ð0ð ð ð ðð ð ð ðPð Pð Pð Pð
	"ð 	"ð 	"ð 	"ð ð  ð  ð  ð
ð 
ð 
ð 
ð FJð 
ð 
ð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð ð9ð 9ñ „Xð9ðMð Mð Mð Mð5À$ð 5ð 5ð 5ð 5ð 5ð 5ð=ð =ð =ð =ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð

ð 
ð 
ð 
ð>ð >ð >ð >ð ñ,ð ,ð ,ñ „Xð,ð ÙHÐHÐHñ „XØHàÙJÐJÐJñ „XØJàÙWÐWÐWñ „XØWñ	5ð 	5ð 	5ð 	5ñEð Eð Eð Eð !€Mñ
0ð 
0ð 
0ð 
0ð ñ
ð 
ð 
ñ „Xð
ñð ð ð ñ
ð 
ð 
ð 
ñ
Að 
Að 
Að 
Añ!ð !ð !ð !ñ*ð *ð *ð *ñ1ð 1ð 1ð 1ñ 9ð 9ð 9ð 9ñ
ð 
ð 
ð 
ñBð Bð Bð Bñ(
ð 
ð 
ð 
ñ

ð 
ð 
ð 
ñ

ð 

ð 

ð 

ñ

ð 

ð 

ð 

ñ'ð 'ð 'ð 'ñTLð Lð Lð Lñ	
ð 	
ð 	
ð 	
ñð ð ð ñ(
ð 
ð 
ð 
ñ Sð Sð Sð Sñ,

ð 

ð 

ð 

ñð ð ð ñ@ð ð ð ñ(")ð ")ð ")ð ")ñH
ð 
ð 
ð 
ñ6Sð Sð Sð SñSð Sð Sð Sð '+ðCð Cñ Cð Cð Cð CðB ,0ð@ð (,ð	@ð @ñ @ð @ð @ð @ðD ñ!ð !ð !ñ „Xð!ñ2ð 2ð 2ð 2ð-&Àð -&ð -&ð -&ð -&ð -&ð -&ñ^"ð "ð "ð "ñ0ð 0ð 0ð 0ñ
%ð %ð %ð %ð Ù/Ð/Ð/ñ „XØ/àÙ@Ð@Ð@ñ „XØ@ñ5ð 5ð 5ð 5ñ
ð 
ð 
ð 
ñ
+ð +ð +ð +ð$Rð Rð Rð Rñ[ð [ð [ð [ñð ð ð ð ñ'ð 'ð 'ñ „\ð'ð
 ñ1ð 1ð 1ñ „\ð1ñ=ð =ð =ð =ñ"
Yð 
Yð 
Yð 
Yñ
ð 
ð 
ð 
ñ,Hð Hð Hð Hñ$&7ð &7ð &7ð &7ñP1ð 1ð 1ð 1ñ
ð 
ð 
ð 
ñ
ð 
ð 
ð 
ñ (
ð (
ð (
ð (
ð (
ð (
rl   rY   )r   r2   r   rÒ   )iÚ
__future__r   Úcollections.abcr   r   r   r   Ú	itertoolsr   r	   Útypingr
   r   r   r   r   r   rß   rà   Únarwhals._compliantr   Únarwhals._pandas_like.seriesr   r   Únarwhals._pandas_like.utilsr   r   r   r   r   r   r   r   r   Únarwhals._typing_compatr   Únarwhals._utilsr   r   r   r    r!   r"   r#   r$   r%   Únarwhals.dependenciesr'   Únarwhals.exceptionsr(   r)   Úior*   Úpathlibr+   Útypesr,   ÚpandasÚpdr  r$  Útyping_extensionsr-   r.   r/   Únarwhals._compliant.typingr0   r1   Únarwhals._pandas_like.exprr2   rª  r4   r½   r6   Únarwhals._spark_like.utilsr7   Únarwhals._translater8   Únarwhals._typingr9   r:   r;   r<   Únarwhals.dtypesr=   Únarwhals.typingr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   r{   rJ   Ú__annotations__Ú	frozensetrÕ   rW   rY   rŒ   rl   rj   ú<module>rá     sP  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ Xð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð ;Ð :Ð :Ð :Ð :Ð :Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aàð !9ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð àÐÐÐØÐÐÐØ9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9àWÐWÐWÐWÐWÐWÐWÐWØ9Ð9Ð9Ð9Ð9Ð9Ø@Ð@Ð@Ð@Ð@Ð@ØCÐCÐCÐCÐCÐCØ7Ð7Ð7Ð7Ð7Ð7Ø2Ð2Ð2Ð2Ð2Ð2ØDÐDÐDÐDÐDÐDÐDÐDØ8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø%Ð%Ð%Ð%Ð%Ð%ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð & c¨2¬<Ð&7Ô8€KÐ8Ð8Ð8Ñ8ð 4=°9àˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�ÑÔØˆŒ�Ñ!Ô!ØˆŒÐ!Ñ"Ô"ØˆŒÐ!Ñ"Ô"ØˆŒÐ!Ñ"Ô"ØˆŒÐ!Ñ"Ô"ØˆŒÐ"Ñ#Ô#ØˆŒÐ"Ñ#Ô#ØˆŒÐ"Ñ#Ô#ØˆŒ�ÑÔð)ñ4ô 4Ð ð ð ð ñ ð4W
ð W
ð W
ð W
ð W
ØÐPÔQñW
ô W
ð W
ð W
ð W
rl   