§
    cŠtjc¶  ã                  óÜ  — U d dl mZ d dlmZ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 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!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. d dl/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z6 er”d dl7m8Z8 d dl9m:Z: d dl;m<Z< d dlm=Z= d dl>Z?d dl@ZAd dlBmCZCmDZD d dlEmFZFmGZG d dlHmIZI d dlJmKZK d dlLmMZM d dlNmOZO d dlPmQZQ d dlRmSZSmTZT d dl&mUZUmVZV d dlWmXZX d dlYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe ede?jf        f         Zgdehd<    ei ejj        d ¦  «         ejj        d!¦  «         ejj        d"¦  «         ejj        d#¦  «         ejj        d$¦  «         ejj        d%¦  «         ejj        d&¦  «         ejj        d'¦  «         ejj        d(¦  «         ejj        d)¦  «         ejj        d*¦  «         ejj        d+¦  «         ejj        d,¦  «         ejj        d-¦  «         ejj        d.¦  «         ejj        d/¦  «         ejj        d0¦  «         ejj        d1¦  «         ejj        d2¦  «         ejj        d3¦  «        g¦  «        Zkd4ehd5<    G d6„ d7ed8         ¦  «        ZldS )9é    )Úannotations)ÚCallableÚIterableÚIteratorÚMappingÚSequence)ÚchainÚproduct)ÚTYPE_CHECKINGÚAnyÚLiteralÚcastÚoverloadN)ÚEagerDataFrame)ÚPANDAS_TO_NUMPY_DTYPE_MISSINGÚPandasLikeSeries)Úalign_and_extract_nativeÚbroadcast_series_to_indexÚget_dtype_backendÚimport_array_moduleÚiter_dtype_backendsÚnarwhals_to_native_dtypeÚ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©Úis_pandas_like_dataframe)ÚInvalidOperationErrorÚ
ShapeError)Úcol)ÚBytesIO)ÚPath)Ú
ModuleType)Ú	TypeAlias)ÚSelfÚTypeIs)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)ÚPandasLikeExpr©ÚPandasLikeGroupBy©ÚPandasLikeNamespace)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚVersionÚ_LimitedContext)ÚDType)ÚAsofJoinStrategyÚDTypeBackendÚ	IntoDTypeÚ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                  óf  — 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�d.dâ„ZU�d/då„ZV�d0dæ„ZWd7S (1  ÚPandasLikeDataFrameF©Úvalidate_backend_versionÚnative_dataframer   Úimplementationr   Úversionr=   Úvalidate_column_namesrW   r]   ÚreturnÚNonec               óŒ   — || _         || _        || _        |rt          |j        ¦  «         |r|                      ¦   «          d S d S ©N)Ú_native_frameÚ_implementationÚ_versionr"   ÚcolumnsÚ_validate_backend_version)Úselfr^   r_   r`   ra   r]   s         ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/_pandas_like/dataframe.pyÚ__init__zPandasLikeDataFrame.__init__i   s`   € ð .ˆÔØ-ˆÔØˆŒØ ð 	DÝ)Ð*:Ô*BÑCÔCÐCØ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ó    Údatar:   Úcontextr>   r0   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©rp   )rg   r    Ú	is_pandasÚ	to_pandasÚis_modinÚ_backend_versionÚmodin.pandas.iors   Úmodin.pandas.utilsÚis_cudfÚto_native_namespaceÚ	DataFrameÚAssertionErrorÚfrom_native)Úclsro   rp   r_   ÚtblÚnativeÚmpd_from_arrowÚmsgs           rl   rs   zPandasLikeDataFrame.from_arrowz   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Ð7rn   úMapping[str, Any]Úschemaú%Mapping[str, IntoDType | None] | Nonec              ó  ‡— ‰j         }|                     ¦   «         }t          d|j        ¦  «        }t          d|j        ¦  «        }i }d }	|                     ¦   «         D ]T\  }
}t          ||¦  «        r:t          j        |‰¬¦  «        }|	€|}	|||
<   Œ5t          |	|¦  «        d         ||
<   ŒO|||
<   ŒU|s|s| 
                    |¦  «        }n| 
                    d„ |D ¦   «         ¦  «        }|rƒ|rt          |j        |¦  «        }n&d„ t          t          |¦  «        ¦  «        D ¦   «         }ˆfd„t          |                     ¦   «         |d¬	¦  «        D ¦   «         }|                     |¦  «        }|                      |‰¬¦  «        S )
Nztype[pd.Series[Any]]útype[pd.DataFrame]rt   é   c                ó   — i | ]}|g “ŒS © rŒ   ©Ú.0r+   s     rl   ú
<dictcomp>z1PandasLikeDataFrame.from_dict.<locals>.<dictcomp>®   ó   € Ð)DÐ)DÐ)D°c¨#¨rÐ)DÐ)DÐ)Drn   c              3  ó   K  — | ]}d V — Œd S re   rŒ   ©rŽ   Ú_s     rl   ú	<genexpr>z0PandasLikeDataFrame.from_dict.<locals>.<genexpr>´   ó"   è è € Ð=Ð= Q˜DÐ=Ð=Ð=Ð=Ð=Ð=rn   c           	     ó\   •— i | ](\  \  }}}|®
|t          ||‰j        ‰j        ¬¦  «        “Œ)S ©N)r_   r`   ©r   rg   rh   ©rŽ   ÚkeyÚdtypeÚbackendrp   s       €rl   r�   z1PandasLikeDataFrame.from_dict.<locals>.<dictcomp>µ   óY   ø€ ð 	ð 	ð 	ñ ,‘\�c˜5 7ØÐ$ð Õ-ØØØ#*Ô#:Ø#Ô,ð	ñ ô ð %Ð$Ð$rn   F©Ústrict)rg   r|   r   ÚSeriesr}   ÚitemsÚ
isinstancer   r   r   Ú	from_dictr   ÚdtypesÚrangeÚlenÚzipÚastype)r€   ro   rp   r†   r_   Úpdxr    r}   Úaligned_dataÚ	left_mostÚnameÚseriesÚ	compliantr‚   ÚbackendsÚnative_schemas     `             rl   r£   zPandasLikeDataFrame.from_dict’   sÇ  ø€ ð !Ô0ˆØ×0Ò0Ñ2Ô2ˆÝÐ,¨c¬jÑ9Ô9ˆÝÐ-¨s¬}Ñ=Ô=ˆ	Ø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Øð 	2àð >Ý.¨v¬}¸nÑMÔM��à=Ð=­%µ°F±´Ñ*<Ô*<Ð=Ñ=Ô=�ð	ð 	ð 	ð 	õ 03°6·<²<±>´>À8ÐTYÐ/ZÑ/ZÔ/Zð	ñ 	ô 	ˆMð —]’] =Ñ1Ô1ˆFØ�Š˜v¨wˆÑ7Ô7Ð7rn   úSequence[Mapping[str, Any]]c              ó  ‡— ‰j         }|                     ¦   «         }t          d|j        ¦  «        }|s|s|                     |¦  «        }n|                     d„ |D ¦   «         ¦  «        }|rƒ|rt          |j        |¦  «        }n&d„ t          t          |¦  «        ¦  «        D ¦   «         }ˆfd„t          |                     ¦   «         |d¬¦  «        D ¦   «         }	|                     |	¦  «        }|                      |‰¬¦  «        S )Nr‰   c                ó   — i | ]}|g “ŒS rŒ   rŒ   r�   s     rl   r�   z2PandasLikeDataFrame.from_dicts.<locals>.<dictcomp>Ñ   r�   rn   c              3  ó   K  — | ]}d V — Œd S re   rŒ   r’   s     rl   r”   z1PandasLikeDataFrame.from_dicts.<locals>.<genexpr>×   r•   rn   c           	     ó\   •— i | ](\  \  }}}|®
|t          ||‰j        ‰j        ¬¦  «        “Œ)S r—   r˜   r™   s       €rl   r�   z2PandasLikeDataFrame.from_dicts.<locals>.<dictcomp>Ø   r�   rn   Frž   rt   )rg   r|   r   r}   Úfrom_recordsr£   r   r¤   r¥   r¦   r§   r¡   r¨   r   )
r€   ro   rp   r†   r_   Únsr}   r‚   r¯   r°   s
     `       rl   Ú
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Øð 	2àð >Ý.¨v¬}¸nÑMÔM��à=Ð=­%µ°F±´Ñ*<Ô*<Ð=Ñ=Ô=�ð	ð 	ð 	ð 	õ 03°6·<²<±>´>À8ÐTYÐ/ZÑ/ZÔ/Zð	ñ 	ô 	ˆMð —]’] =Ñ1Ô1ˆFØ�Š˜v¨wˆÑ7Ô7Ð7rn   ÚobjúTypeIs[Any]c                ó    — t          | ¦  «        S re   r'   )r¹   s    rl   Ú
_is_nativezPandasLikeDataFrame._is_nativeå   s   € å'¨Ñ,Ô,Ð,rn   c              ó4   —  | ||j         |j        d¬¦  «        S )NT©r_   r`   ra   )rg   rh   )r€   ro   rp   s      rl   r   zPandasLikeDataFrame.from_nativeé   s-   € àˆsØØ"Ô2ØÔ$Ø"&ð	
ñ 
ô 
ð 	
rn   rI   ú.Mapping[str, IntoDType] | Sequence[str] | Nonec              óÌ  ‡— ddl m} |j        Š‰                     ¦   «         j        }t          |t          |f¦  «        roˆfd„|                     ¦   «         D ¦   «         } |||                     ¦   «         ¬¦  «         	                     ||¦  «         
                    |¦  «        ¦  «        }n! |||                      ||¦  «        ¬¦  «        }|                      ||¬¦  «        S )Nr   )ÚSchemac              3  ó8   •K  — | ]}t          |‰¦  «        V — Œd S re   )r   )rŽ   Únative_typer_   s     €rl   r”   z1PandasLikeDataFrame.from_numpy.<locals>.<genexpr>   sA   øè è € ð *ð *àõ " +¨~Ñ>Ô>ð*ð *ð *ð *ð *ð *rn   ©ri   rt   )Únarwhals.schemarÁ   rg   r|   r}   r¢   r   ÚvaluesÚkeysr¨   rv   Ú_numpy_column_namesr   )	r€   ro   rp   r†   rÁ   r}   Úitr‚   r_   s	           @rl   Ú
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Ð7rn   c                ó   — | S re   rŒ   ©rk   s    rl   Ú__narwhals_dataframe__z*PandasLikeDataFrame.__narwhals_dataframe__  ó   € Øˆrn   c                ó   — | S re   rŒ   rÌ   s    rl   Ú__narwhals_lazyframe__z*PandasLikeDataFrame.__narwhals_lazyframe__  rÎ   rn   r8   c                ó<   — ddl m}  || j        | j        ¬¦  «        S )Nr   r7   )r`   )Únarwhals._pandas_like.namespacer8   rg   rh   )rk   r8   s     rl   Ú__narwhals_namespace__z*PandasLikeDataFrame.__narwhals_namespace__  s/   € ØGÐGÐGÐGÐGÐGà"Ð" 4Ô#7ÀÄÐOÑOÔOÐOrn   r.   c                óÔ   — | j         t          j        t          j        t          j        hv r| j                              ¦   «         S dt          | j         ¦  «        › �}t          |¦  «        ‚)Nz!Expected pandas/modin/cudf, got: )rg   r   ÚPANDASÚMODINÚCUDFr|   Útyper~   ©rk   r„   s     rl   Ú__native_namespace__z(PandasLikeDataFrame.__native_namespace__  sf   € ØÔÝÔ!ÝÔ ÝÔð$
ð 
ð 
ð
 Ô'×;Ò;Ñ=Ô=Ð=àNµ$°tÔ7KÑ2LÔ2LÐNÐNˆÝ˜SÑ!Ô!Ð!rn   Úintc                ó*   — t          | j        ¦  «        S re   )r¦   r‚   rÌ   s    rl   Ú__len__zPandasLikeDataFrame.__len__!  s   € Ý�4”;ÑÔÐrn   c                óH   — |                       | j        | j        |d¬¦  «        S )NFr¾   )Ú	__class__r‚   rg   )rk   r`   s     rl   Ú_with_versionz!PandasLikeDataFrame._with_version$  s.   € Ø�~Š~ØŒKØÔ/ØØ"'ð	 ñ 
ô 
ð 	
rn   T©ra   Údfc               óH   — |                       || j        | j        |¬¦  «        S )Nr¾   )rß   rg   rh   )rk   râ   ra   s      rl   Ú_with_nativez PandasLikeDataFrame._with_native,  s.   € Ø�~Š~ØØÔ/Ø”MØ"7ð	 ñ 
ô 
ð 	
rn   Úotherr   úpd.Series[Any]c                ó‚  — | j         j        }|j        r@|j         }|j                             ¦   «         }t          |||t          |¦  «        ¬¦  «        S t          |¦  «        x}t          |¦  «        x}k    rd|› d|› d�}t          |¦  «        ‚|j         j        |urt          |j         ||j
        ¬¦  «        S |j         S )N)Ú	is_nestedÚseries_classzExpected object of length z, got: ú.)r_   )r‚   ÚindexÚ
_broadcastr›   rè   r   rØ   r¦   r*   r   rg   )rk   rå   rë   r‚   rè   Ú	len_otherÚlen_idxr„   s           rl   Ú_extract_comparandz&PandasLikeDataFrame._extract_comparand4  sÐ   € Ø”Ô!ˆØÔð 	Ø”\ˆFØœ×-Ò-Ñ/Ô/ˆIÝ,Ø˜¨ÅÀfÁÄðñ ô ð õ ˜U™œÐ#ˆIµC¸±J´JÐ)>¨Ò?Ð?ØK¨wÐKÐK¸yÐKÐKÐKˆCÝ˜S‘/”/Ð!ØŒ<Ô UÐ*Ð*Ý˜Uœ\¨5ÀÔAVÐWÑWÔWÐWØŒ|Ðrn   c                óD   — t           rdd l}|S t          | j        ¦  «        S ©Nr   )r   Únumpyr   rg   )rk   Únps     rl   Ú_array_funcsz PandasLikeDataFrame._array_funcsD  s,   € åð 	ØÐÐÐàˆIÝ" 4Ô#7Ñ8Ô8Ð8rn   r¬   Ústrc                óD   — t          j        | j        |         | ¬¦  «        S ©Nrt   ©r   r   r‚   )rk   r¬   s     rl   Ú
get_columnzPandasLikeDataFrame.get_columnL  s   € ÝÔ+¨D¬K¸Ô,=ÀtÐLÑLÔLÐLrn   N©Úcopyr›   rû   úbool | Nonec               ó0   — |                       ||¬¦  «        S )N©r›   rû   )Úto_numpy)rk   r›   rû   s      rl   Ú	__array__zPandasLikeDataFrame.__array__O  s   € Ø�}Š} 5¨tˆ}Ñ4Ô4Ð4rn   Úrowsú'SizedMultiIndexSelector[pd.Series[Any]]c                ó    — t          |t          ¦  «        rt          |¦  «        n|}|                      | j        j        |d d …f         ¦  «        S re   ©r¢   ÚtupleÚlisträ   r‚   Úiloc)rk   r  r¡   s      rl   Ú_gatherzPandasLikeDataFrame._gatherR  sF   € Ý(¨­uÑ5Ô5Ð?•�T‘
”
�
¸4ˆØ× Ò  ¤Ô!1°%¸¸¸°(Ô!;Ñ<Ô<Ð<rn   ú_SliceIndex | rangec                ó”   — |                       | j        j        t          |j        |j        |j        ¦  «        d d …f         d¬¦  «        S ©NFrá   )rä   r‚   r  ÚsliceÚstartÚstopÚstep)rk   r  s     rl   Ú_gather_slicez!PandasLikeDataFrame._gather_sliceV  sJ   € Ø× Ò ØŒKÔ�U 4¤:¨t¬y¸$¼)ÑDÔDÀaÀaÀaÐGÔHØ"'ð !ñ 
ô 
ð 	
rn   ri   rK   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‚   ri   Úget_locr  r  r  rä   r  )rk   ri   r  r  Úselectors        rl   Ú_select_slice_namez&PandasLikeDataFrame._select_slice_name\  s®   € ð Œ}Ð(ð ŒKÔ×'Ò'¨¬Ñ6Ô6Ð6àð 	ð Œ|Ð'ð ŒKÔ×'Ò'¨¬Ñ5Ô5¸Ñ9Ð9àð 	õ
 ˜  g¤lÑ3Ô3ˆØ× Ò ØŒKÔ˜Q˜Q˜Q ˜[Ô)Àð !ñ 
ô 
ð 	
rn   c                óX   — |                       | j        j        d d …|f         d¬¦  «        S r  ©rä   r‚   r  ©rk   ri   s     rl   Ú_select_slice_indexz'PandasLikeDataFrame._select_slice_indexl  s6   € Ø× Ò ØŒKÔ˜Q˜Q˜Q ˜ZÔ(Àð !ñ 
ô 
ð 	
rn   c                ó¤   — t          |t          ¦  «        rt          |¦  «        n|}|                      | j        j        d d …|f         d¬¦  «        S r  r  r  s     rl   Ú_select_multi_indexz'PandasLikeDataFrame._select_multi_indexq  sV   € õ $.¨gµuÑ#=Ô#=ÐJ•$�w‘-”-�-À7ˆØ× Ò ØŒKÔ˜Q˜Q˜Q ˜ZÔ(Àð !ñ 
ô 
ð 	
rn   ú&SizedMultiNameSelector[pd.Series[Any]]c                óT   — |                       | j        j        d d …|f         ¦  «        S re   )rä   r‚   Úlocr  s     rl   Ú_select_multi_namez&PandasLikeDataFrame._select_multi_namey  s'   € Ø× Ò  ¤¤°°°°G°Ô!<Ñ=Ô=Ð=rn   ú	list[str]c                ó>   — | j         j                             ¦   «         S re   )r‚   ri   ÚtolistrÌ   s    rl   ri   zPandasLikeDataFrame.columns}  s   € àŒ{Ô"×)Ò)Ñ+Ô+Ð+rn   ÚnamedúLiteral[True]úlist[dict[str, Any]]c               ó   — d S re   rŒ   ©rk   r"  s     rl   r  zPandasLikeDataFrame.rows�  s   € ØEHÀSrn   úLiteral[False]úlist[tuple[Any, ...]]c               ó   — d S re   rŒ   r&  s     rl   r  zPandasLikeDataFrame.rows„  s   € ØGJÀsrn   ú,list[tuple[Any, ...]] | list[dict[str, Any]]c               ó   — d S re   rŒ   r&  s     rl   r  zPandasLikeDataFrame.rows‡  s   € ØTWÐTWrn   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     rl   ú
<listcomp>z,PandasLikeDataFrame.rows.<locals>.<listcomp>�  s(   € ÐMÐMÐM°�˜cŸjšj™lœlÑ+Ô+ÐMÐMÐMrn   T)r"  F©rë   r¬   Úrecords©Úorient)rg   r   r×   r  r  r‚   Ú
itertuplesÚto_dictr&  s     rl   r  zPandasLikeDataFrame.rowsŠ  sz   € Øð 	HàÔ#¥~Ô':Ð:Ð:àMÐM°t·y²yÀt°yÑ7LÔ7LÐMÑMÔMÐMå˜œ×.Ò.°UÀÐ.ÑFÔFÑGÔGÐGàŒ{×"Ò"¨)Ð"Ñ4Ô4Ð4rn   úIterator[PandasLikeSeries]c              #  óx   K  — | j                              ¦   «         D ]\  }}t          j        || ¬¦  «        V — Œd S r÷   )r‚   r¡   r   r   )rk   Ú_namer­   s      rl   Úiter_columnsz PandasLikeDataFrame.iter_columns•  sT   è è € Ø!œ[×.Ò.Ñ0Ô0ð 	Eð 	E‰MˆE�6Ý"Ô.¨v¸tÐDÑDÔDÐDÐDÐDÐDð	Eð 	Ern   Ú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	          ||d¬¦  «        ¦  «        V — Œ$d S )NFr0  ©rë   rž   )r‚   r4  ri   Údictr§   )rk   r"  r:  Ú	col_namesr.  s        rl   Ú	iter_rowszPandasLikeDataFrame.iter_rows›  sŸ   è è € ð
 ð 	>Ø”{×-Ò-°EÀÐ-ÑEÔEÐEÐEÐEÐEÐEÐEÐEÐEÐEàœÔ+ˆIØ”{×-Ò-°EÐ-Ñ:Ô:ð >ð >�Ý�3˜y¨#°eÐ<Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=Ð=ð>ð >rn   ú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 )rX   )r   rh   rg   r   r‚   )rŽ   r+   Únative_dtypesrk   s     €€rl   r�   z.PandasLikeDataFrame.schema.<locals>.<dictcomp>ª  s„   ø€ ð 	
ð 	
ð 	
ð ð ð ˜SÔ! XÒ-Ð-õ *Ø˜cÔ" D¤M°4Ô3Gñô ð õ 1Ø”˜CÔ  $¤-°Ô1Eñô ð	
ð 	
ð 	
rn   )r‚   r¤   ri   )rk   rD  s   `@rl   r†   zPandasLikeDataFrame.schema§  sE   øø€ àœÔ*ˆð	
ð 	
ð 	
ð 	
ð 	
ð ”{Ô*ð	
ñ 	
ô 	
ð 		
rn   c                ó   — | j         S re   )r†   rÌ   s    rl   Úcollect_schemaz"PandasLikeDataFrame.collect_schemaµ  s
   € ØŒ{Ðrn   Úcolumn_namesc                ó|   — |                       t          | j        t          |¦  «        | j        ¦  «        d¬¦  «        S r  )rä   r   r‚   r  rg   )rk   rG  s     rl   Úsimple_selectz!PandasLikeDataFrame.simple_select¹  s>   € Ø× Ò Ý" 4¤;µ°\Ñ0BÔ0BÀDÔDXÑYÔYØ"'ð !ñ 
ô 
ð 	
rn   Úexprsr4   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Ž   Úss     rl   r/  z.PandasLikeDataFrame.select.<locals>.<listcomp>Æ  s   € Ð*HÐ*HÐ*H¸¨1¬8Ð*HÐ*HÐ*Hrn   T)	Ú_evaluate_exprsrä   rØ   r‚   Ú_align_full_broadcastrÓ   Ú_concat_horizontalri   r¬   )rk   rJ  Ú
new_seriesÚ	namespacerâ   s        rl   ÚselectzPandasLikeDataFrame.select¿  s·   € Ø)�TÔ)¨5Ð1ˆ
Øð 	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Ð Ñ@Ô@Ð@rn   Ú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)rk   rU  ÚplxÚmasks       rl   Ú
drop_nullszPandasLikeDataFrame.drop_nullsË  s‘   € Øˆ>Ø×$Ò$Ø”×"Ò"¨Ð"Ñ*Ô*À%ð %ñ ô ð ð ×)Ò)Ñ+Ô+ˆØ×"Ò" 7 3¤7¨FÐ#3×#;Ò#;Ñ#=Ô#=ÈDÐ"ÑQÔQÐQˆØ�{Š{˜4Ñ Ô Ð rn   ÚunitrG   úint | floatc                ó~   — | j                              d¬¦  «                             ¦   «         }t          ||¬¦  «        S )NT)Údeep)rb  )r‚   Úmemory_usageÚsumr&   )rk   rb  Úszs      rl   Úestimated_sizez"PandasLikeDataFrame.estimated_sizeÔ  s9   € ØŒ[×%Ò%¨4Ð%Ñ0Ô0×4Ò4Ñ6Ô6ˆÝ˜2 DÐ)Ñ)Ô)Ð)rn   Úorder_byc                óˆ  — |                       ¦   «         }|€h| j                             t          | ¦  «        ¦  «        }|j                             |j                             || | j        j	        |¬¦  «        ¦  «        }n�t          dt          |d         ¦  «                             d¬¦  «                             |¦  «        ¦  «        }|                     g |¬¦  «        |                     dd ¦  «                             ¦   «         z
                       |¦  «        }|                      ||                     ¦   «         ¦  «        S )N)rp   rë   r¬   r4   r   Úordinal)Úmethod)Úpartition_byrj  rŠ   )rÓ   rô   Úaranger¦   Ú_exprÚ_from_seriesÚ_seriesÚfrom_iterabler‚   rë   r   Únw_colÚrankÚ_to_compliant_exprÚoverÚlitÚ	broadcastÚaliasrT  Úall)rk   r¬   rj  r_  ro   Ú	row_indexru  s          rl   Úwith_row_indexz"PandasLikeDataFrame.with_row_indexØ  s  € Ø×)Ò)Ñ+Ô+ˆØÐØÔ$×+Ò+­C°©I¬IÑ6Ô6ˆDØœ	×.Ò.Ø”×)Ò)Ø $¨d¬kÔ.?Àdð *ñ ô ñô ˆIˆIõ Ø Ý�x ”{Ñ#Ô#×(Ò(°	Ð(Ñ:Ô:×MÒMÈcÑRÔRñô ˆDð
 —	’	 r°H�	Ñ=Ô=Ø—'’'˜!˜TÑ"Ô"×,Ò,Ñ.Ô.ñ/çŠe�D‰kŒkð ð �{Š{˜9 c§g¢g¡i¤iÑ0Ô0Ð0rn   rë   útuple[Any, ...]c                óT   — t          d„ | j        j        |         D ¦   «         ¦  «        S )Nc              3  ó   K  — | ]}|V — Œd S re   rŒ   )rŽ   Úxs     rl   r”   z*PandasLikeDataFrame.row.<locals>.<genexpr>í  s"   è è € Ð8Ð8˜1�QÐ8Ð8Ð8Ð8Ð8Ð8rn   )r  r‚   r  )rk   rë   s     rl   r.  zPandasLikeDataFrame.rowì  s)   € ÝÐ8Ð8 ¤Ô 0°Ô 7Ð8Ñ8Ô8Ñ8Ô8Ð8rn   Ú	predicatec                ó¤   — |                       |¦  «        }|                      |¦  «        }|                      | j        j        |         d¬¦  «        S r  )Ú_evaluate_single_output_exprrï   rä   r‚   r  )rk   r‚  r`  Úmask_natives       rl   r^  zPandasLikeDataFrame.filterï  sS   € Ø×0Ò0°Ñ;Ô;ˆØ×-Ò-¨dÑ3Ô3ˆØ× Ò ØŒKŒO˜KÔ(Àð !ñ 
ô 
ð 	
rn   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¬   rM  s     rl   r�   z4PandasLikeDataFrame.with_columns.<locals>.<dictcomp>ú  s   € Ð4PÐ4PÐ4PÀ1°Q´V¸QÐ4PÐ4PÐ4Prn   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S re   )rï   )rŽ   rN  rk   s     €rl   r”   z3PandasLikeDataFrame.with_columns.<locals>.<genexpr>  s1   øè è € ÐSÐS¸˜×0Ò0°Ñ3Ô3ÐSÐSÐSÐSÐSÐSrn   Frá   )rO  r¦   r‚   ri   rï   ÚpopÚappendÚextendrÆ   rÓ   rQ  r¬   rä   )	rk   rJ  ri   Úname_columnsÚ	to_concatr¬   r­   rS  râ   s	   `        rl   Úwith_columnsz PandasLikeDataFrame.with_columnsö  s-  ø€ Ø&�$Ô&¨Ð.ˆØð 	�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ÐArn   ÚmappingúMapping[str, str]c                ó`   — |                       t          | j        || j        ¬¦  «        ¦  «        S )N©ri   r_   )rä   r   r‚   rg   )rk   r�  s     rl   r   zPandasLikeDataFrame.rename
  s1   € Ø× Ò Ý�4”;¨ÀÔ@TÐUÑUÔUñ
ô 
ð 	
rn   úSequence[str]rŸ   c               ó†   — t          | ||¬¦  «        }|                      | j                             |¬¦  «        d¬¦  «        S )Nrž   rÄ   Frá   )r%   rä   r‚   Údrop)rk   ri   rŸ   Úto_drops       rl   r•  zPandasLikeDataFrame.drop  sK   € Ý'¨¨g¸fÐEÑEÔEˆØ× Ò ØŒK×Ò WÐÑ-Ô-ÀUð !ñ 
ô 
ð 	
rn   ÚbyÚ
descendingú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     rl   r/  z,PandasLikeDataFrame.sort.<locals>.<listcomp>  s   € Ð3Ð3Ð3 1˜Q˜Ð3Ð3Ð3rn   ÚlastÚfirst)Ú	ascendingÚna_positionFrá   )r‚   r¢   rW   rä   Úsort_valuesr  )rk   r˜  rš  r—  râ   r   r¡  s          rl   Ú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Ø"'ð !ñ 
ô 
ð 	
rn   Ú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 re   )Ú
is_numeric)rŽ   r�  r†   s     €rl   r”   z,PandasLikeDataFrame.top_k.<locals>.<genexpr>%  s3   øè è € Ð,PÐ,PÈ¨V°A¬Y×-AÒ-AÑ-CÔ-CÐ,PÐ,PÐ,PÐ,PÐ,PÐ,Prn   )r   Frá   )r‚   r†   r¢   rW   r{  rä   Ú	nsmallestÚnlargestr¢  r  Úhead)rk   r¤  r—  r¦  râ   r†   s        @rl   Ú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Ñ?Ô?Ø"'ð !ñ 
ô 
ð 	
rn   rœ   ú_EagerAllowedImpl | NoneÚkwargsr2   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¾   Tr\   r   )ÚArrowDataFrame)r^   r]   r`   ra   )ÚPolarsDataFrame©râ   r]   r`   zUnsupported `backend` value: )r[   r‚   rg   rh   r   rÕ   Úupdaterv   ÚPYARROWÚnarwhals._arrow.dataframer±  Úto_arrowÚPOLARSÚnarwhals._polars.dataframer²  Ú	to_polarsÚ
ValueError)rk   rœ   r¯  Úkwdsr±  r²  r„   s          rl   Ú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Ðrn   rÇ   ú(Sequence[str] | Sequence[PandasLikeExpr]Údrop_null_keysr6   c               ó*   — ddl m}  || ||¬¦  «        S )Nr   r5   )r¿  )Únarwhals._pandas_like.group_byr6   )rk   rÇ   r¿  r6   s       rl   Úgroup_byzPandasLikeDataFrame.group_byY  s/   € ð 	EÐDÐDÐDÐDÐDà Ð   t¸NÐKÑKÔKÐKrn   Úleft_onÚright_onÚsuffixúpd.DataFramec               óx   — | j                              |d¬¦  «                             |j         ||dd|f¬¦  «        S )NÚany©rU  ÚhowÚinnerÚ ©rÃ  rÄ  rÊ  Úsuffixes)r‚   r[  Úmerge)rk   rå   rÃ  rÄ  rÅ  s        rl   Ú_join_innerzPandasLikeDataFrame._join_inner`  sL   € ð Œ{×!Ò!¨°eÐ!Ñ<Ô<×BÒBØŒLØØØØ˜&�\ð Cñ 
ô 
ð 	
rn   c               ó~  ‡ ‡— ‰ j                              |j                              |d¬¦  «        d||d‰f¬¦  «        }ˆ ˆfd„t          ||d¬¦  «        D ¦   «         }‰ j        }|                     ¦   «         r1|                     ¦   «         d	k     r|                     |d¬
¦  «         |S |                     |¬¦  «        S )NrÈ  rÉ  ÚleftrÌ  ©rÊ  rÃ  rÄ  rÎ  c                óD   •— g | ]\  }}||k    ¯|‰j         vr|n|› ‰› �‘ŒS rŒ   rÄ   )rŽ   Úleft_keyÚ	right_keyrk   rÅ  s      €€rl   r/  z2PandasLikeDataFrame._join_left.<locals>.<listcomp>u  sM   ø€ ð 
ð 
ð 
á#�˜)Ø˜HÒ$Ð$ð #¨$¬,Ð6Ð6ˆIˆI¸yÐ<RÈ&Ð<RÐ<Rà$Ð$Ð$rn   Trž   ©é   r   ©ri   ÚinplacerÄ   )r‚   rÏ  r[  r§   rg   ru   rx   r•  )rk   rå   rÃ  rÄ  rÅ  Úresult_nativeÚextraÚimpls   `   `   rl   Ú
_join_leftzPandasLikeDataFrame._join_leftk  sî   øø€ ð œ×)Ò)ØŒL×Ò x°UÐÑ;Ô;ØØØØ˜&�\ð *ñ 
ô 
ˆð
ð 
ð 
ð 
ð 
å'*¨7°HÀTÐ'JÑ'JÔ'Jð
ñ 
ô 
ˆð
 Ô#ˆØ�>Š>ÑÔð 	! × 5Ò 5Ñ 7Ô 7¸&Ò @Ð @à×Ò u°dÐÑ;Ô;Ð;Ø Ð à×!Ò!¨%Ð!Ñ0Ô0Ð0rn   c               ó,  ‡— |                       ¦   «         }| j        }t          ||‰¦  «        }|j                             |¬¦  «        }t	          |j        ¦  «         t          |                     ¦   «         ¦  «        }	|t          |¦  «                                      ¦   «          	                    d¬¦  «        }
||	                              ¦   «          	                    d¬¦  «        }t          |j        ¦  «                             | j        ¦  «                             |¦  «        }||                              ˆfd„|D ¦   «         ¬¦  «        }||
                               ||          ||	dd‰f¬¦  «        }|                     |||
         |g¦  «        S )NrÄ   rŠ   rX  c                ó   •— i | ]	}||› ‰› �“Œ
S rŒ   rŒ   )rŽ   r+   rÅ  s     €rl   r�   z2PandasLikeDataFrame._join_full.<locals>.<dictcomp>“  s&   ø€ Ð@Ð@Ð@¨s�S˜SÐ* &Ð*Ð*Ð@Ð@Ð@rn   ÚouterrÌ  rÍ  )rÓ   r‚   r!   r   r"   ri   r  rÆ   ÚisnarÈ  ÚsetÚintersectionÚ
differencerÏ  Ú_concat_diagonal)rk   rå   rÃ  rÄ  rÅ  r·   Úself_nativeÚright_on_mapperÚother_nativeÚright_suffixedÚleft_null_maskÚright_null_maskÚ	to_renameÚright_null_rowsÚjoin_results       `          rl   Ú
_join_fullzPandasLikeDataFrame._join_full‚  s�  ø€ ð ×(Ò(Ñ*Ô*ˆØ”kˆÝ/°¸À6ÑJÔJˆØ”|×*Ò*°?Ð*ÑCÔCˆÝ% lÔ&:Ñ;Ô;Ð;Ý˜o×4Ò4Ñ6Ô6Ñ7Ô7ˆà$¥T¨'¡]¤]Ô3×8Ò8Ñ:Ô:×>Ò>ÀAÐ>ÑFÔFˆØ& ~Ô6×;Ò;Ñ=Ô=×AÒAÀqÐAÑIÔIˆõ ˜œÑ&Ô&×3Ò3°D´LÑAÔA×LÒLÈXÑVÔVˆ	Ø& Ô7×>Ò>Ø@Ð@Ð@Ð@°iÐ@Ñ@Ô@ð ?ñ 
ô 
ˆð " > /Ô2×8Ò8Ø˜/Ð)Ô*ØØ#ØØ˜&�\ð 9ñ 
ô 
ˆð ×"Ò"Ø˜+ nÔ5°ÐGñ
ô 
ð 	
rn   c               óV  — | j         }|                     ¦   «         }|                     ¦   «         s.|                     ¦   «         s|                     ¦   «         r¯|dk     r©t          dg | j        ¢|j        ¢R ¬¦  «        } | j        j        di |di¤Ž 	                     |j        j        di |di¤Žd||d|f¬¦  «        }|                     ¦   «         r|dk     r| 
                    |d	¬
¦  «         |S | 
                    |¬¦  «        S | j         	                    |j        dd|f¬¦  «        S )N)rŠ   é   é   ©Ún_bytesri   r   rË  rÌ  rÓ  r×  TrÙ  rÄ   Úcross)rÊ  rÎ  rŒ   )rg   rx   rw   r{   ru   r$   ri   r‚   ÚassignrÏ  r•  )rk   rå   rÅ  rÝ  Úbackend_versionÚ	key_tokenrÛ  s          rl   Ú_join_crosszPandasLikeDataFrame._join_cross¢  s[  € ØÔ#ˆØ×/Ò/Ñ1Ô1ˆØ�MŠM‰OŒOð 	9˜tŸ|š|™~œ~ð 	9Ø�NŠNÑÔð	9Ø!0°6Ò!9Ð!9å6ØÐ#B T¤\Ð#B°E´MÐ#BÐ#Bðñ ô ˆIð /˜DœKÔ.Ð@Ð@°)¸Q°Ð@Ð@×FÒFØ#�”Ô#Ð5Ð5 y°! nÐ5Ð5ØØ!Ø"Ø˜f˜ð Gñ ô ˆMð �~Š~ÑÔð % O°fÒ$<Ð$<à×"Ò"¨9¸dÐ"ÑCÔCÐCØ$Ð$Ø ×%Ò%¨iÐ%Ñ8Ô8Ð8àŒ{× Ò  ¤°7ÀbÈ&À\Ð ÑRÔRÐRrn   c               óì   — |                       |t          |¦  «        t          t          ||d¬¦  «        ¦  «        ¬¦  «        }| j                             |d¬¦  «                             |d||¬¦  «        S )NFrž   ©rå   Úcolumns_to_selectÚcolumns_mappingrÈ  rÉ  rË  ©rÊ  rÃ  rÄ  )Ú_join_filter_renamer  r>  r§   r‚   r[  rÏ  )rk   rå   rÃ  rÄ  ré  s        rl   Ú
_join_semizPandasLikeDataFrame._join_semiº  s‚   € ð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨w¸uÐ!EÑ!EÔ!EÑFÔFð 0ñ 
ô 
ˆð
 Œ{×!Ò!¨°eÐ!Ñ<Ô<×BÒBØ˜g¨wÀð Cñ 
ô 
ð 	
rn   c               óÔ  ‡— | j         }|                     ¦   «         r8| j                             |j                             |d¬¦  «        d||¬¦  «        S t          dg | j        ¢|j        ¢R ¬¦  «        Š|                      |t          |¦  «        t          t          ||d¬¦  «        ¦  «        ¬	¦  «        }| j                             |                     |d¬¦  «        |                     ¦   «         rd
nd‰||¬¦  «        j        ˆfd„         }|                     ¦   «         r1|                     ¦   «         dk     r|                     ‰d¬¦  «         |S |                     ‰¬¦  «        S )NrÈ  rÉ  Úleftantirÿ  ró  rô  Trž   rü  rÒ  rá  )rÊ  Ú	indicatorrÃ  rÄ  c                ó   •— | ‰         dk    S )NÚ	left_onlyrŒ   )ÚtÚindicator_tokens    €rl   ú<lambda>z0PandasLikeDataFrame._join_anti.<locals>.<lambda>ã  s   ø€ ˜˜/Ô*¨kÒ9€ rn   r×  rÙ  rÄ   )rg   r{   r‚   rÏ  r[  r$   ri   r   r  r>  r§   ru   r  rx   r•  )rk   rå   rÃ  rÄ  rÝ  ré  rÛ  r  s          @rl   Ú
_join_antizPandasLikeDataFrame._join_antiÆ  s•  ø€ ð Ô#ˆà�<Š<‰>Œ>ð 	Ø”;×$Ò$Ø”×#Ò#¨7¸Ð#Ñ>Ô>ØØØ!ð	 %ñ ô ð õ 9ØÐ> ¤Ð>°´Ð>Ð>ð
ñ 
ô 
ˆð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨w¸tÐ!DÑ!DÔ!DÑEÔEð 0ñ 
ô 
ˆð
 œ×)Ò)Ø×Ò w°EÐÑ:Ô:àŸ.š.Ñ*Ô*Ð7��°Ø%ØØð *ñ 
ô 
ô Ð9Ð9Ð9Ð9ô;ˆð �>Š>ÑÔð 	! × 5Ò 5Ñ 7Ô 7¸&Ò @Ð @à×Ò ÀÐÑEÔEÐEØ Ð à×!Ò!¨/Ð!Ñ:Ô:Ð:rn   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.
        )rG  r_   r’  )rg   r   r   r‚   Údrop_duplicates)rk   rå   rý  rþ  r_   s        rl   r   z'PandasLikeDataFrame._join_filter_renameì  sU   € ð Ô-ˆÝÝ"Ø”Ø.Ø-ðñ ô ð
 $Ø)ð
ñ 
ô 
÷ Š/Ñ
Ô
ð	rn   rÊ  rC   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ä   )rk   rå   rÊ  rÃ  rÄ  rÅ  Úresults          rl   Ú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õ ˜ÑÔÐà× Ò  Ñ(Ô(Ð(rn   Úby_leftÚby_rightÚstrategyr@   c               ó¢   — |                       ¦   «         }|                      |                     | j        |j        |||||d|f¬¦  «        ¦  «        S )NrÌ  )rÃ  rÄ  Úleft_byÚright_byÚ	directionrÎ  )rÚ   rä   Ú
merge_asofr‚   )	rk   rå   rÃ  rÄ  r  r  r  rÅ  r_  s	            rl   Ú	join_asofzPandasLikeDataFrame.join_asof$  sc   € ð ×'Ò'Ñ)Ô)ˆØ× Ò Ø�NŠNØ”Ø”ØØ!ØØ!Ø"Ø˜f˜ð ñ 	ô 	ñ
ô 
ð 	
rn   Únc                ó`   — |                       | j                             |¦  «        d¬¦  «        S r  )rä   r‚   r¬  ©rk   r  s     rl   r¬  zPandasLikeDataFrame.head?  ó+   € Ø× Ò  ¤×!1Ò!1°!Ñ!4Ô!4ÈEÐ ÑRÔRÐRrn   c                ó`   — |                       | j                             |¦  «        d¬¦  «        S r  )rä   r‚   Útailr  s     rl   r"  zPandasLikeDataFrame.tailB  r   rn   )Úmaintain_orderÚkeeprH   r#  c               óì  — dddœ                      ||¦  «        }|r|                      |¦  «        x}r|‚|rÓ|rÑt          d| j        ¦  «        } |                      |d ¬¦  «        j        |dddœŽj                             |p| j        |¬¦  «                             |¦  «        }| j	         
                    ¦   «         r5| j	                             ¦   «         dk     r|                     |d	¬
¦  «         nl|                     |¬¦  «        }nU|r0 | j        |dddœŽj                             |p| j        |¬¦  «        }n#| j                             |p| j        |¬¦  «        }|                      |d¬¦  «        S )NFrŸ  )ÚnonerÈ  ró  )rj  )rš  r˜  ©r$  r×  TrÙ  rÄ   rá   )ÚgetÚ_check_columns_existr$   ri   r}  r£  r‚   r  r¢  rg   ru   rx   r•  rä   )	rk   rU  r$  r#  rj  Úmapped_keepÚerrorÚtokenÚress	            rl   ÚuniquezPandasLikeDataFrame.uniqueE  s¯  € ð  %¨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Ñ#Ô#ð	 ð Ô$×.Ò.Ñ0Ô0ð.àÔ(×9Ò9Ñ;Ô;¸fÒDÐDà—’ °�Ñ5Ô5Ð5Ð5à—h’h u�hÑ-Ô-��Øð 	XØ�$”)Ø e¸ðð ð ä—_’_ VÐ%;¨t¬|À+�_ÑNÔNð ˆCð ”+×-Ò-¨fÐ.D¸¼È;Ð-ÑWÔWˆCØ× Ò  ¸EÐ ÑBÔBÐBrn   )Úsessionú_LazyAllowedImpl | Noner/  úSparkSession | Noner3   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]   )rv   r   ÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframer3  Útablerh   r¸  Úpolarsr¹  r5  Úfrom_pandasÚlazyÚDASKÚdask.dataframeÚ	dataframeÚnarwhals._dask.dataframer6  ÚIBISÚibisÚnarwhals._ibis.dataframer7  Úmemtableri   Úis_spark_likeÚnarwhals._spark_like.dataframer8  r»  ÚcreateDataFramer~   )rk   rœ   r/  r4  r:  r3  Úplr5  Úddr6  rE  r7  r8  r„   s                 rl   r?  zPandasLikeDataFrame.lazyj  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ØœØ&Ø)-ð	ñ ô ð õ Ðrn   útuple[int, int]c                ó   — | j         j        S re   )r‚   ÚshaperÌ   s    rl   rO  zPandasLikeDataFrame.shape¬  s   € àŒ{Ô Ð rn   Ú	as_seriesúdict[str, Any]c               ód   ‡ — |rˆ fd„‰ j         D ¦   «         S ‰ j                             d¬¦  «        S )Nc                óT   •— i | ]$}|t          j        ‰j        |         ‰¬ ¦  «        “Œ%S )rt   rø   ©rŽ   r+   rk   s     €rl   r�   z/PandasLikeDataFrame.to_dict.<locals>.<dictcomp>²  sC   ø€ ð ð ð àð Õ%Ô1°$´+¸cÔ2BÈDÐQÑQÔQðð ð rn   r  r2  )ri   r‚   r5  )rk   rP  s   ` rl   r5  zPandasLikeDataFrame.to_dict°  sS   ø€ Øð 	ðð ð ð àœ<ðñ ô ð ð Œ{×"Ò"¨&Ð"Ñ1Ô1Ð1rn   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 re   )r¢   Ú	time_zone)rŽ   rš   ÚvalÚdtype_datetimes      €rl   r/  z0PandasLikeDataFrame.to_numpy.<locals>.<listcomp>Æ  sC   ø€ ð 
ð 
ð 
á��SÝ˜#˜~Ñ.Ô.ð
ð 47´=Ð3Lð à3LÐ3LÐ3Lrn   ÚUTCc                óx   •— g | ]6}‰                      |¦  «                             ‰d ¬¦  «        d d …d f         ‘Œ7S )N)rû   r›   )rù   rÿ   )rŽ   r+   rû   rk   s     €€rl   r/  z0PandasLikeDataFrame.to_numpy.<locals>.<listcomp>ß  sV   ø€ ð ð ð àð Ÿš¨Ñ,Ô,×5Ò5¸4ÀtÐ5ÑLÔLÈQÈQÈQÐPTÈWÔUðð ð rn   )r‚   r¤   rg   r   r×   ÚisinrY   r{  rÿ   rh   ÚDatetimer†   r¡   rŽ  rÓ   r+   ÚdtÚconvert_time_zoneÚreplace_time_zonerõ   r   ró   Úhstackri   )	rk   r›   rû   rD  Ú
to_convertrâ   Ú	col_dtypeÚarrrY  s	   ` `     @rl   rÿ   zPandasLikeDataFrame.to_numpy¸  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ðð ð ð ð à#'¤<ðñ ô ñô �ð �
�
�
ð ?ð �{Š{ ˆ{Ñ%Ô%Ð%rn   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: )	rg   r   rÕ   r‚   r×   rv   rÖ   Ú
_to_pandasr~   rÙ   s     rl   rv   zPandasLikeDataFrame.to_pandasç  sƒ   € ØÔ¥>Ô#8Ð8Ð8Ø”;ÐØÔ¥>Ô#6Ð6Ð6Ø”;×(Ò(Ñ*Ô*Ð*ØÔ¥>Ô#7Ð7Ð7Ø”;×)Ò)Ñ+Ô+Ð+Ø?¨Ô)=Ð?Ð?ˆÝ˜SÑ!Ô!Ð!rn   úpl.DataFramec                óN   — dd l } |j        |                      ¦   «         ¦  «        S rñ   )r=  r>  rv   )rk   rK  s     rl   rº  zPandasLikeDataFrame.to_polarsñ  s*   € ØÐÐÐàˆrŒ~˜dŸnšnÑ.Ô.Ñ/Ô/Ð/rn   Úfileústr | Path | BytesIOc                ó:   — | j                              |¦  «         d S re   )r‚   Ú
to_parquet©rk   ri  s     rl   Úwrite_parquetz!PandasLikeDataFrame.write_parquetö  s   € ØŒ×Ò˜tÑ$Ô$Ð$Ð$Ð$rn   c                ó   — d S re   rŒ   rm  s     rl   Ú	write_csvzPandasLikeDataFrame.write_csvù  s   € Ø,/¨Crn   c                ó   — d S re   rŒ   rm  s     rl   rp  zPandasLikeDataFrame.write_csvü  s   € Ø=@¸Srn   ústr | Path | BytesIO | Noneú
str | Nonec                ó:   — | j                              |d¬¦  «        S )NFr=  )r‚   Úto_csvrm  s     rl   rp  zPandasLikeDataFrame.write_csvÿ  s   € ØŒ{×!Ò! $¨eÐ!Ñ4Ô4Ð4rn   c                ób   — t          j        | j                             d¬¦  «         | ¬¦  «        S )NFr'  rt   )r   r   r‚   Ú
duplicatedrÌ   s    rl   Ú	is_uniquezPandasLikeDataFrame.is_unique  s7   € ÝÔ+ØŒ[×#Ò#¨Ð#Ñ/Ô/Ð/¸ð
ñ 
ô 
ð 	
rn   r.  ú
int | NoneÚcolumnúint | str | Nonec                ó$  — |€5|€3| j         x}dk    rd|›�}t          |¦  «        ‚| j        j        d         S |�|€d}t          |¦  «        ‚t	          |t
          ¦  «        r| j                             |¦  «        n|}| j        j        ||f         S )N)rŠ   rŠ   zfcan only call `.item()` without "row" or "column" values if the DataFrame has a single element; shape=)r   r   z8cannot call `.item()` with only one of `row` or `column`)rO  r»  r‚   r  r¢   rõ   ri   rë   )rk   r.  rz  rO  r„   Ú_cols         rl   ÚitemzPandasLikeDataFrame.item  s¬   € Øˆ;˜6˜>ØœÐ#�¨Ò.Ð.ðGØ=BðGð Gð õ ! ‘o”oÐ%Ø”;Ô# DÔ)Ð)àˆ;˜&˜.ØLˆCÝ˜S‘/”/Ð!å-7¸ÅÑ-DÔ-DÐPˆtŒ|×!Ò! &Ñ)Ô)Ð)È&ˆØŒ{Ô  T 	Ô*Ð*rn   c                ó^   — |                       | j                             ¦   «         d¬¦  «        S r  )rä   r‚   rû   rÌ   s    rl   ÚclonezPandasLikeDataFrame.clone  s)   € Ø× Ò  ¤×!1Ò!1Ñ!3Ô!3È5Ð ÑQÔQÐQrn   Úoffsetc                óV   — |                       | j        j        |d |…         d¬¦  «        S r  r  )rk   r  r�  s      rl   Úgather_everyz PandasLikeDataFrame.gather_every  s,   € Ø× Ò  ¤Ô!1°&°)¸!°)Ô!<ÐTYÐ ÑZÔZÐZrn   ÚonrÆ   ú#tuple[Sequence[str], Sequence[str]]c               ó†   — |p%|rt          | h |£|£¦  «        nt          | |¦  «        }|pt          | h |£|£¦  «        }||fS re   )r#   )rk   r„  rë   rÆ   s       rl   Ú_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ˆ}Ðrn   Úunique_valuesútuple[str, ...]c               óP   — d\  }}}d                      | ¦  «        }|› |› |› |› |› �S )N)Ú{Ú}ú"z",")r  )rˆ  ÚLBÚRBÚQÚbodys        rl   Ú_pivot_multi_on_namez(PandasLikeDataFrame._pivot_multi_on_name.  s>   € à!‰	ˆˆB�Ø�zŠz˜-Ñ(Ô(ˆØÐ&�aÐ&˜Ð&˜qÐ& "Ð&Ð&Ð&rn   Ún_valuesÚ	separatorc               óD   ‡— |dk    rˆfd„| D ¦   «         S d„ | D ¦   «         S )NrŠ   c                ó^   •— g | ])}‰                      |¦  «                             ¦   «         ‘Œ*S rŒ   )r  Ústrip)rŽ   r+   r”  s     €rl   r/  z>PandasLikeDataFrame._pivot_single_on_names.<locals>.<listcomp>9  s1   ø€ ÐHÐHÐH°C�I—N’N 3Ñ'Ô'×-Ò-Ñ/Ô/ÐHÐHÐHrn   c                ó   — g | ]
}|d          ‘ŒS )éÿÿÿÿrŒ   r�   s     rl   r/  z>PandasLikeDataFrame._pivot_single_on_names.<locals>.<listcomp>:  s   € Ð0Ð0Ð0˜C��B”Ð0Ð0Ð0rn   rŒ   )rG  r“  r”  s     `rl   Ú_pivot_single_on_namesz*PandasLikeDataFrame._pivot_single_on_names4  s<   ø€ ð �aŠ<ˆ<ØHÐHÐHÐH¸<ÐHÑHÔHÐHØ0Ð0 <Ð0Ñ0Ô0Ð0rn   ú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  r’  )rk   rG  rœ  r“  r”  r+   ÚnamesÚprefixs           rl   Ú_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´Ñ<Ô<Ð<Ð<Ð<Ð<ð=ð =rn   ú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Š   )rš  r  r¡  )rk   rG  rœ  r“  r”  s        rl   Ú_pivot_remap_column_namesz-PandasLikeDataFrame._pivot_remap_column_namesM  sG   € ð �1Š9ˆ9Ø×.Ò.¨|¸XÀyÑQÔQÐQÝ�D×.Ò.¨|¸TÀ8ÈYÑWÔWÑXÔXÐXrn   Ú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ë   ri   ÚaggfuncÚmarginsrŒ   )rg   r   r×   r‚   Úpivot_table)rk   r„  rë   rÆ   r¥  r¼  s         rl   Ú_pivot_tablez PandasLikeDataFrame._pivot_tableY  sd   € ð Ô&­.Ô*=Ð=Ð=ˆBˆBÀJÐPTÐCUð 	ð 'ˆtŒ{Ô&ð 
ØØØØ&Øð
ð 
ð ð
ð 
ð 	
rn   úPivotAgg | Nonec               ó@  — |€| j                              |||¬¦  «        S |dk    rb| j                              g |¢|¢d¬¦  «                             t                               |d¦  «        ¦  «                             |||¬¦  «        S |                      ||||¦  «        S )N)ri   rë   rÆ   r¦   F)Úas_indexÚsize)r‚   ÚpivotÚgroupbyÚaggr>  Úfromkeysr¬  )rk   r„  rë   rÆ   r¥  s        rl   Ú_pivotzPandasLikeDataFrame._pivoto  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ÐGrn   Ú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)r˜  rš  N)rù   r.  r£  Úto_listrT  s     €rl   r”   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>•  sh   øè è € ð ð ð
 ð	 —’ Ñ$Ô$ß’‘”ß’ °5�Ñ9Ô9ß’‘”ð	ð ð ð ð ð rn   c              3  óŠ   •K  — | ]=}‰                      |¦  «                             ¦   «                              ¦   «         V — Œ>d S re   )rù   r.  r¹  rT  s     €rl   r”   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>�  sG   øè è € ÐHÐH¸c�$—/’/ #Ñ&Ô&×-Ò-Ñ/Ô/×7Ò7Ñ9Ô9ÐHÐHÐHÐHÐHÐHrn   )rœ  r“  r”  rÌ  )rg   rw   ÚNotImplementedErrorr‡  rµ  r  r
   r	   r  ri   r¤  r¦   rŸ  rä   Úreset_index)rk   r„  rë   rÆ   r¥  r¶  r”  r_   r„   r  ÚuniquesÚordered_colsri   Úremappeds   `             rl   r±  zPandasLikeDataFrame.pivot�  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Ð6rn   c                ó¤   — | j         t          j        u r| j                             d¬¦  «        S dd l}|j                             | j        ¦  «        S )NF)Úpreserve_indexr   )rg   r   r×   r‚   r·  ÚpyarrowÚTabler>  )rk   Úpas     rl   r·  zPandasLikeDataFrame.to_arrow©  sP   € ØÔ¥>Ô#6Ð6Ð6Ø”;×'Ò'°uÐ'Ñ=Ô=Ð=àÐÐÐàŒx×#Ò# D¤KÑ0Ô0Ð0rn   Úwith_replacementÚseedc               óf   — |                       | j                             |||¬¦  «        d¬¦  «        S )N)r  ÚreplaceÚrandom_stateFrá   )rä   r‚   Úsample)rk   r  rÅ  rÆ  s       rl   rÊ  zPandasLikeDataFrame.sample±  s=   € Ø× Ò ØŒK×Ò Ð,<È4ÐÑPÔPØ"'ð !ñ 
ô 
ð 	
rn   Úvariable_nameÚ
value_namec                ód   — |                       | j                             ||||¬¦  «        ¦  «        S )N)Úid_varsÚ
value_varsÚvar_namerÌ  )rä   r‚   Úmelt)rk   r„  rë   rË  rÌ  s        rl   ÚunpivotzPandasLikeDataFrame.unpivot·  sB   € ð × Ò ØŒK×ÒØØØ&Ø%ð	 ñ ô ñ
ô 
ð 	
rn   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 re   )r  r¦   r{  )rŽ   Úcol_nameÚanchor_seriesÚnative_frames     €€rl   r”   z.PandasLikeDataFrame.explode.<locals>.<genexpr>Ü  s\   øè è € ð 
ð 
àð ˜(Ô#Ô(×,Ò,Ñ.Ô.°-Ò?×DÒDÑFÔFð
ð 
ð 
ð 
ð 
ð 
rn   z2exploded columns must have matching element countsc                ó   •— g | ]}|‰v¯|‘Œ	S rŒ   rŒ   )rŽ   Úcri   s     €rl   r/  z/PandasLikeDataFrame.explode.<locals>.<listcomp>ä  s#   ø€ ÐIÐIÐI˜q¸ÀÐ8HÐ8H˜Ð8HÐ8HÐ8Hrn   c                óh   •— g | ].}‰|                               ¦   «                              ¦   «         ‘Œ/S rŒ   )ÚexplodeÚto_frame)rŽ   rÕ  r×  s     €rl   r/  z/PandasLikeDataFrame.explode.<locals>.<listcomp>ç  sC   ø€ ð 
ð 
ð 
Ø<DˆL˜Ô"×*Ò*Ñ,Ô,×5Ò5Ñ7Ô7ð
ð 
ð 
rn   rX  )rh   r¤   rF  ÚListr)   r¦   rä   r‚   rÛ  r  r{  r*   ri   rÚ   Úconcat)rk   ri   r¤   r†   Úcol_to_exploder›   r„   Úoriginal_columnsÚother_columnsÚexploded_frameÚexploded_seriesr_  rÖ  r×  s    `          @@rl   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Ø"'ð !ñ 
ô 
ð 	
rn   )r^   r   r_   r   r`   r=   ra   rW   r]   rW   rb   rc   )ro   r:   rp   r>   rb   r0   )ro   r…   rp   r>   r†   r‡   rb   r0   )ro   r±   rp   r>   r†   r‡   rb   r0   )r¹   r   rb   rº   )ro   r   rp   r>   rb   r0   )ro   rI   rp   r>   r†   r¿   rb   r0   )rb   r0   )rb   r8   )rb   r.   )rb   rÛ   )r`   r=   rb   r0   )râ   r   ra   rW   rb   r0   )rå   r   rb   ræ   )r¬   rõ   rb   r   re   )r›   r   rû   rü   rb   rI   )r  r  rb   r0   )r  r	  rb   r0   )ri   rK   rb   r0   )ri   r	  rb   r0   )ri   r  rb   r0   )ri   r  rb   r0   )rb   r  )r"  r#  rb   r$  )r"  r'  rb   r(  )r"  rW   rb   r*  )rb   r6  )r"  rW   r:  rÛ   rb   r;  )rb   rA  )rG  rõ   rb   r0   )rJ  r4   rb   r0   )rU  rV  rb   r0   )rb  rG   rb   rc  )r¬   rõ   rj  rV  rb   r0   )rë   rÛ   rb   r~  )r‚  r4   rb   r0   )r�  r�  rb   r0   )ri   r“  rŸ   rW   rb   r0   )r—  rõ   r˜  r™  rš  rW   rb   r0   )r¤  rÛ   r—  r¥  r¦  r™  rb   r0   )rœ   r®  r¯  r   rb   r2   )rÇ   r¾  r¿  rW   rb   r6   )
rå   r0   rÃ  r“  rÄ  r“  rÅ  rõ   rb   rÆ  )rå   r0   rÅ  rõ   rb   rÆ  )rå   r0   rÃ  r“  rÄ  r“  rb   rÆ  )rå   r0   rý  r  rþ  r  rb   rÆ  )rå   r0   rÊ  rC   rÃ  rV  rÄ  rV  rÅ  rõ   rb   r0   )rå   r0   rÃ  rõ   rÄ  rõ   r  rV  r  rV  r  r@   rÅ  rõ   rb   r0   )r  rÛ   rb   r0   )
rU  rV  r$  rH   r#  rü   rj  rV  rb   r0   )rœ   r0  r/  r1  rb   r3   )rb   rM  )rP  rW   rb   rQ  )rb   rÆ  )rb   rg  )ri  rj  rb   rc   )ri  rc   rb   rõ   )ri  rr  rb   rs  )rb   r   )r.  ry  rz  r{  rb   r   )r  rÛ   r�  rÛ   rb   r0   )r„  r“  rë   rV  rÆ   rV  rb   r…  )rˆ  r‰  rb   rõ   )rG  r¥  r“  rÛ   r”  rõ   rb   r  )
rG  r›  rœ  rÛ   r“  rÛ   r”  rõ   rb   r�  )
rG  r¢  rœ  rÛ   r“  rÛ   r”  rõ   rb   r  )
r„  r“  rë   r“  rÆ   r“  r¥  r¦  rb   r   )
r„  r“  rë   r“  rÆ   r“  r¥  r­  rb   rÆ  )r„  r“  rë   rV  rÆ   rV  r¥  r­  r¶  rW   r”  rõ   rb   r0   )rb   r   )r  rÛ   rÅ  rW   rÆ  ry  rb   r0   )
r„  rV  rë   rV  rË  rõ   rÌ  rõ   rb   r0   )ri   r“  rb   r0   )XÚ__name__Ú
__module__Ú__qualname__rm   Úclassmethodrs   r£   r¸   Ústaticmethodr¼   r   rÊ   rÍ   rÐ   rÓ   rÚ   rÝ   rà   rä   rï   Úpropertyrô   rù   r   r  r  r  r  r  r  ri   r   r  r9  Ú_iter_columnsr@  r†   rF  rI  rT  ra  ri  r}  r.  r^  rŽ  r   r•  r£  r­  r½  rÂ  rÐ  rÞ  rð  rú  r  r
  r   r  r  r¬  r"  r.  r?  rO  r5  rÿ   rv   rº  rn  rp  rx  r~  r€  rƒ  r‡  r’  rš  r¡  r¤  r¬  rµ  r±  r·  rÊ  rÒ  rÛ  rŒ   rn   rl   r[   r[   f   s  € € € € € ð */ð-ð -ð -ð -ð -ð -ð" ð8ð 8ð 8ñ „[ð8ð. ð-8ð -8ð -8ñ „[ð-8ð^ ð 8ð  8ð  8ñ „[ð 8ðD ð-ð -ð -ñ „\ð-ð ð
ð 
ð 
ñ „[ð
ð ð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ñ
>ð 
>ð 
>ð 
>ð ñ
ð 
ð 
ñ „Xð
ñð ð ð ñ
ð 
ð 
ð 
ñ
Að 
Að 
Að 
Añ!ð !ð !ð !ñ*ð *ð *ð *ñ1ð 1ð 1ð 1ñ(9ð 9ð 9ð 9ñ
ð 
ð 
ð 
ñBð Bð Bð Bñ(
ð 
ð 
ð 
ñ

ð 
ð 
ð 
ñ

ð 

ð 

ð 

ñ

ð 

ð 

ð 

ñ'ð 'ð 'ð 'ñTLð Lð Lð Lñ	
ð 	
ð 	
ð 	
ñ1ð 1ð 1ð 1ñ.
ð 
ð 
ð 
ñ@Sð Sð Sð Sñ0

ð 

ð 

ð 

ñ$;ð $;ð $;ð $;ñLð ð ð ñ(")ð ")ð ")ð ")ñH
ð 
ð 
ð 
ñ6Sð Sð Sð SñSð Sð Sð Sð '+ð"Cð "Cñ "Cð "Cð "Cð "CðN ,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ñ
ð 
ð 
ð 
ñ
ð 
ð 
ð 
ñ (
ð (
ð (
ð (
ð (
ð (
rn   r[   )r   r4   r   ræ   )mÚ
__future__r   Úcollections.abcr   r   r   r   r   Ú	itertoolsr	   r
   Útypingr   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   r   r   Únarwhals._typing_compatr   Únarwhals._utilsr   r    r!   r"   r#   r$   r%   r&   Únarwhals.dependenciesr(   Únarwhals.exceptionsr)   r*   Únarwhals.functionsr+   rt  Úior,   Úpathlibr-   Útypesr.   r/   ÚpandasÚpdr=  rK  Útyping_extensionsr0   r1   Únarwhals._compliant.typingr2   r3   Únarwhals._pandas_like.exprr4   rÁ  r6   rÒ   r8   Únarwhals._spark_like.utilsr9   Únarwhals._translater:   Únarwhals._typingr;   r<   r=   r>   Únarwhals.dtypesr?   Únarwhals.typingr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   r}   rL   Ú__annotations__Ú	frozensetr›   rY   r[   rŒ   rn   rl   ú<module>r     sx  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ Xðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ;Ð :Ð :Ð :Ð :Ð :Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ ,Ð ,Ð ,Ð ,Ð ,Ð ,àð "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Ð ð ð ð ñ ð4I
ð I
ð I
ð I
ð I
ØÐPÔQñI
ô I
ð I
ð I
ð I
rn   