Ë
    ÚÍ:jì¶  ã                  ó  — 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?jÌ                  f   Zgdehd<    ei ejÔ                  d «       ejÔ                  d!«       ejÔ                  d"«       ejÔ                  d#«       ejÔ                  d$«       ejÔ                  d%«       ejÔ                  d&«       ejÔ                  d'«       ejÔ                  d(«       ejÔ                  d)«       ejÔ                  d*«       ejÔ                  d+«       ejÔ                  d,«       ejÔ                  d-«       ejÔ                  d.«       ejÔ                  d/«       ejÔ                  d0«       ejÔ                  d1«       ejÔ                  d2«       ejÔ                  d3«      g«      Zkd4ehd5<    G d6„ d7ed8   «      Zly)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Ú
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                  ór  — e Zd Zddœ	 	 	 	 	 	 	 	 	 	 	 d^d„Zed_d„«       Ze	 	 	 	 	 	 	 	 d`d„«       Ze	 	 	 	 	 	 	 	 dad„«       Zedbd„«       Z	edcd„«       Z
e	 	 	 	 	 	 	 	 ddd	„«       Zded
„Zded„Zdfd„Zdgd„Zdhd„Zdid„Zddœdjd„Zdkd„Zed„ «       Zdld„Zdmddœdnd„Zdod„Zdpd„Zdqd„Zdrd„Z	 	 	 	 dsd„Zdtd„Zedud„«       Zedvd „«       Z edwd!„«       Z edxd"„«       Z dxd#„Z dyd$„Z!e!Z"	 	 	 	 	 	 dzd%„Z#ed{d&„«       Z$d{d'„Z%d|d(„Z&d}d)„Z'd~d*„Z(dd+„Z)d€d,„Z*d�d-„Z+d‚d.„Z,d}d/„Z-dƒd0„Z.d„d1„Z/d…d2„Z0d†d3„Z1	 	 	 	 	 	 d‡d4„Z2	 	 	 	 	 	 dˆd5„Z3	 	 	 	 	 	 	 	 	 	 d‰d6„Z4	 	 	 	 	 	 	 	 	 	 d‰d7„Z5	 	 	 	 	 	 	 	 	 	 d‰d8„Z6dŠd9„Z7	 	 	 	 	 	 	 	 d‹d:„Z8	 	 	 	 	 	 	 	 d‹d;„Z9	 	 	 	 	 	 	 	 dŒd<„Z:	 	 	 	 	 	 	 	 	 	 	 	 d�d=„Z;	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dŽd>„Z<d�d?„Z=d�d@„Z>ddAœ	 	 	 	 	 	 	 	 	 d�dB„Z?	 dmddCœ	 	 	 	 	 d‘dD„Z@ed’dE„«       ZAd“dF„ZBdmddœdndG„ZCd”dH„ZDd•dI„ZEd–dJ„ZFed—dK„«       ZGed–dL„«       ZGd˜dM„ZGd™dN„ZHdšdO„ZIdedP„ZJd›dQ„ZK	 	 	 	 	 	 	 	 dœdR„ZLed�dS„«       ZMe	 	 	 	 	 	 	 	 dždT„«       ZN	 	 	 	 	 	 	 	 	 	 dŸdU„ZO	 	 	 	 	 	 	 	 	 	 d dV„ZP	 	 	 	 	 	 	 	 	 	 d¡dW„ZQ	 	 	 	 	 	 	 	 	 	 d¢dX„ZR	 	 	 	 	 	 	 	 	 	 	 	 	 	 d£dY„ZSd¤dZ„ZT	 	 	 	 	 	 	 	 	 	 d¥d[„ZU	 	 	 	 	 	 	 	 	 	 d¦d\„ZVd§d]„ZWy)¨ÚPandasLikeDataFrameF©Úvalidate_backend_versionc               ó‚   — || _         || _        || _        |rt        |j                  «       |r| j                  «        y y ©N)Ú_native_frameÚ_implementationÚ_versionr"   ÚcolumnsÚ_validate_backend_version)ÚselfÚnative_dataframeÚimplementationÚversionÚvalidate_column_namesr]   s         út/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/narwhals/_pandas_like/dataframe.pyÚ__init__zPandasLikeDataFrame.__init__i   sA   € ð .ˆÔØ-ˆÔØˆŒÙ Ü)Ð*:×*BÑ*BÔCÙ#Ø×*Ñ*Õ,ð $ó    c              óš  — |j                   }t        ||«      }|j                  «       r|j                  «       }n€|j	                  «       r)|j                  «       dk\  rddlm} nddlm}  ||«      }nG|j                  «       r*|j                  «       j                  j                  |«      }nd}t        |«      ‚| j                  ||¬«      S )N)r   é   r   r   )Ú
from_arrowzCcongratulations, you entered unreachable code - please report a bug©Úcontext)ra   r    Ú	is_pandasÚ	to_pandasÚis_modinÚ_backend_versionÚmodin.pandas.ioro   Úmodin.pandas.utilsÚis_cudfÚto_native_namespaceÚ	DataFrameÚAssertionErrorÚfrom_native)ÚclsÚdatarq   rg   ÚtblÚnativeÚmpd_from_arrowÚmsgs           rj   ro   zPandasLikeDataFrame.from_arrowz   s±   € à ×0Ñ0ˆÜ  gÓ.ˆØ×#Ñ#Ô%Ø—]‘]“_‰FØ×$Ñ$Ô&ð ×.Ñ.Ó0°JÒ>ÞHõñ $ CÓ(‰FØ×#Ñ#Ô%Ø#×7Ñ7Ó9×CÑC×NÑNÈsÓS‰FàWˆCÜ  Ó%Ð%Ø�‰˜v¨wˆÓ7Ð7rl   c              ó:  — |j                   }|j                  «       }t        d|j                  «      }t        d|j                  «      }i }d }	|j                  «       D ]J  \  }
}t        ||«      r4t        j                  ||¬«      }|	€|}	|||
<   Œ3t        |	|«      d   ||
<   ŒF|||
<   ŒL |s|s|j                  |«      }n |j                  |D �ci c]  }|g “Œ c}«      }|rœ|rt        |j                  |«      }nd„ t        t        |«      «      D «       }t        |j                  «       |d¬«      D ���ci c].  \  \  }}}|�$|t!        |||j                   |j"                  ¬«      “Œ0 }}}}|j%                  |«      }| j                  ||¬«      S c c}w c c}}}w )	Nztype[pd.Series[Any]]útype[pd.DataFrame]rp   é   c              3  ó    K  — | ]  }d –— Œ y ­wr_   © ©Ú.0Ú_s     rj   ú	<genexpr>z0PandasLikeDataFrame.from_dict.<locals>.<genexpr>´   ó   è ø€ Ò= QœDÑ=ùó   ‚F©Ústrict©rg   rh   )ra   ry   r   ÚSeriesrz   ÚitemsÚ
isinstancer   r|   r   Ú	from_dictr   ÚdtypesÚrangeÚlenÚzipr   rb   Úastype)r}   r~   rq   Úschemarg   Úpdxr‘   rz   Úaligned_dataÚ	left_mostÚnameÚseriesÚ	compliantr€   r+   ÚbackendsÚkeyÚdtypeÚbackendÚnative_schemas                       rj   r”   zPandasLikeDataFrame.from_dict’   sª  € ð !×0Ñ0ˆØ×0Ñ0Ó2ˆÜÐ,¨c¯j©jÓ9ˆÜÐ-¨s¯}©}Ó=ˆ	Ø8:ˆØ-1ˆ	Ø ŸJ™J›Lò 		,‰LˆD�&Ü˜& &Ô)Ü,×8Ñ8¸ÈÔQ�	ØÐ$Ø )�IØ)/�L Ò&ä)AÀ)ÈYÓ)WÐXYÑ)Z�L Ò&à%+�˜TÒ"ð		,ñ ™vØ×(Ñ(¨Ó6‰Fà×(Ñ(¸VÖ)D°c¨#¨r©'Ò)DÓEˆFÙáÜ.¨v¯}©}¸nÓM‘á=¬%´°F³Ó*<Ô=�ô 03°6·<±<³>À8ÐTYÔ/Z÷	ð 	ñ ,‘\�c˜5 7ØÐ$ð Ô-ØØØ#*×#:Ñ#:Ø#×,Ñ,ô	ñ ð	ˆMò 	ð —]‘] =Ó1ˆFØ�‰˜v¨wˆÓ7Ð7ùò% *Eùô	s   Ã
FÄ63Fc              óL  — |j                   }|j                  «       }t        d|j                  «      }|s|s|j	                  |«      }n |j                  |D �ci c]  }|g “Œ c}«      }|rœ|rt        |j                  |«      }	nd„ t        t        |«      «      D «       }	t        |j                  «       |	d¬«      D �
��ci c].  \  \  }
}}|�$|
t        |||j                   |j                  ¬«      “Œ0 }}}
}|j                  |«      }| j                  ||¬«      S c c}w c c}}}
w )Nr„   c              3  ó    K  — | ]  }d –— Œ y ­wr_   r‡   rˆ   s     rj   r‹   z1PandasLikeDataFrame.from_dicts.<locals>.<genexpr>×   rŒ   r�   FrŽ   r�   rp   )ra   ry   r   rz   Úfrom_recordsr”   r   r•   r–   r—   r˜   r’   r   rb   r™   r|   )r}   r~   rq   rš   rg   Únsrz   r€   r+   r¡   r¢   r£   r¤   r¥   s                 rj   Ú
from_dictszPandasLikeDataFrame.from_dictsÂ   s"  € ð !×0Ñ0ˆØ×/Ñ/Ó1ˆÜÐ-¨r¯|©|Ó<ˆ	Ù‘vØ×+Ñ+¨DÓ1‰Fà×(Ñ(¸VÖ)D°c¨#¨r©'Ò)DÓEˆFÙáÜ.¨v¯}©}¸nÓM‘á=¬%´°F³Ó*<Ô=�ô 03°6·<±<³>À8ÐTYÔ/Z÷	ð 	ñ ,‘\�c˜5 7ØÐ$ð Ô-ØØØ#*×#:Ñ#:Ø#×,Ñ,ô	ñ ð	ˆMò 	ð —]‘] =Ó1ˆFØ�‰˜v¨wˆÓ7Ð7ùò% *Eùô	s   Á
DÂ?3Dc                ó   — t        | «      S r_   r'   )Úobjs    rj   Ú
_is_nativezPandasLikeDataFrame._is_nativeå   s   € ä'¨Ó,Ð,rl   c              óB   —  | ||j                   |j                  d¬«      S )NT©rg   rh   ri   )ra   rb   )r}   r~   rq   s      rj   r|   zPandasLikeDataFrame.from_nativeé   s'   € áØØ"×2Ñ2Ø×$Ñ$Ø"&ô	
ð 	
rl   c              ó†  ‡— ddl m} |j                  Š‰j                  «       j                  }t        |t        |f«      rVˆfd„|j                  «       D «       } |||j                  «       ¬«      j                   ||«      j                  |«      «      }n ||| j                  ||«      ¬«      }| j                  ||¬«      S )Nr   )ÚSchemac              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr_   )r   )r‰   Únative_typerg   s     €rj   r‹   z1PandasLikeDataFrame.from_numpy.<locals>.<genexpr>   s    øè ø€ ò *àô " +¨~×>ñ*ùs   ƒ©rc   rp   )Únarwhals.schemar±   ra   ry   rz   r“   r   ÚvaluesÚkeysr™   rs   Ú_numpy_column_namesr|   )	r}   r~   rq   rš   r±   rz   Úitr€   rg   s	           @rj   Ú
from_numpyzPandasLikeDataFrame.from_numpyò   sª   ø€ õ 	+à ×0Ñ0ˆØ!/×!CÑ!CÓ!E×!OÑ!Oˆ	Ü�fœw¨Ð/Ô0ó*à#)§=¡=£?ô*ˆBñ ˜t¨V¯[©[«]Ô;×BÑBÙ�v“×(Ñ(¨Ó,ó‰Fñ ˜t¨S×-DÑ-DÀTÈ6Ó-RÔSˆFØ�‰˜v¨wˆÓ7Ð7rl   c                ó   — | S r_   r‡   ©re   s    rj   Ú__narwhals_dataframe__z*PandasLikeDataFrame.__narwhals_dataframe__  ó   € Øˆrl   c                ó   — | S r_   r‡   r¼   s    rj   Ú__narwhals_lazyframe__z*PandasLikeDataFrame.__narwhals_lazyframe__  r¾   rl   c                óJ   — ddl m}  || j                  | j                  ¬«      S )Nr   r7   )rh   )Únarwhals._pandas_like.namespacer8   ra   rb   )re   r8   s     rj   Ú__narwhals_namespace__z*PandasLikeDataFrame.__narwhals_namespace__  s   € ÝGá" 4×#7Ñ#7ÀÇÁÔOÐOrl   c                óò   — | j                   t        j                  t        j                  t        j                  hv r| j                   j                  «       S dt        | j                   «      › �}t        |«      ‚)Nz!Expected pandas/modin/cudf, got: )ra   r   ÚPANDASÚMODINÚCUDFry   Útyper{   ©re   r‚   s     rj   Ú__native_namespace__z(PandasLikeDataFrame.__native_namespace__  sj   € Ø×ÑÜ×!Ñ!Ü× Ñ Ü×Ñð$
ñ 
ð
 ×'Ñ'×;Ñ;Ó=Ð=à1´$°t×7KÑ7KÓ2LÐ1MÐNˆÜ˜SÓ!Ð!rl   c                ó,   — t        | j                  «      S r_   )r—   r€   r¼   s    rj   Ú__len__zPandasLikeDataFrame.__len__!  s   € Ü�4—;‘;ÓÐrl   c                óT   — | j                  | j                  | j                  |d¬«      S )NFr¯   )Ú	__class__r€   ra   )re   rh   s     rj   Ú_with_versionz!PandasLikeDataFrame._with_version$  s.   € Ø�~‰~Ø�K‰KØ×/Ñ/ØØ"'ð	 ó 
ð 	
rl   T©ri   c               óT   — | j                  || j                  | j                  |¬«      S )Nr¯   )rÎ   ra   rb   )re   Údfri   s      rj   Ú_with_nativez PandasLikeDataFrame._with_native,  s.   € Ø�~‰~ØØ×/Ñ/Ø—M‘MØ"7ð	 ó 
ð 	
rl   c                ó¬  — | j                   j                  }|j                  r>|j                   }|j                  j	                  «       }t        |||t        |«      ¬«      S t        |«      x}t        |«      x}k7  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: ú.)rg   )r€   ÚindexÚ
_broadcastr£   rÕ   r   rÈ   r—   r*   r   ra   )re   ÚotherrØ   r€   rÕ   Ú	len_otherÚlen_idxr‚   s           rj   Ú_extract_comparandz&PandasLikeDataFrame._extract_comparand4  s¾   € Ø—‘×!Ñ!ˆØ×ÒØ—\‘\ˆFØŸ™×-Ñ-Ó/ˆIÜ,Ø˜¨ÄÀfÃôð ô ˜U›Ð#ˆI´C¸³JÐ)>¨Ò?Ø.¨w¨i°w¸y¸kÈÐKˆCÜ˜S“/Ð!Ø�<‰<×Ñ UÑ*Ü˜UŸ\™\¨5À×AVÑAVÔWÐWØ�|‰|Ðrl   c                óD   — t         rdd l}|S t        | j                  «      S ©Nr   )r   Únumpyr   ra   )re   Únps     rj   Ú_array_funcsz PandasLikeDataFrame._array_funcsD  s   € åÛàˆIÜ" 4×#7Ñ#7Ó8Ð8rl   c                óJ   — t        j                  | j                  |   | ¬«      S ©Nrp   )r   r|   r€   )re   rž   s     rj   Ú
get_columnzPandasLikeDataFrame.get_columnL  s   € Ü×+Ñ+¨D¯K©K¸Ñ,=ÀtÔLÐLrl   N©Úcopyc               ó(   — | j                  ||¬«      S )N©r£   rç   )Úto_numpy)re   r£   rç   s      rj   Ú	__array__zPandasLikeDataFrame.__array__O  s   € Ø�}‰} 5¨tˆ}Ó4Ð4rl   c                ó”   — t        |t        «      rt        |«      n|}| j                  | j                  j
                  |d d …f   «      S r_   ©r“   ÚtupleÚlistrÓ   r€   Úiloc)re   Úrowsr’   s      rj   Ú_gatherzPandasLikeDataFrame._gatherR  s:   € Ü(¨¬uÔ5”�T”
¸4ˆØ× Ñ  §¡×!1Ñ!1°%º°(Ñ!;Ó<Ð<rl   c                ó°   — | j                  | j                  j                  t        |j                  |j
                  |j                  «      d d …f   d¬«      S ©NFrÐ   )rÓ   r€   rð   ÚsliceÚstartÚstopÚstep)re   rñ   s     rj   Ú_gather_slicez!PandasLikeDataFrame._gather_sliceV  sI   € Ø× Ñ Ø�K‰K×ÑœU 4§:¡:¨t¯y©y¸$¿)¹)ÓDÂaÐGÑHØ"'ð !ó 
ð 	
rl   c                ó†  — |j                   �/| j                  j                  j                  |j                   «      nd }|j                  �2| j                  j                  j                  |j                  «      dz   nd }t        |||j                  «      }| j                  | j                  j                  d d …|f   d¬«      S )Nr…   FrÐ   )	rö   r€   rc   Úget_locr÷   rõ   rø   rÓ   rð   )re   rc   rö   r÷   Úselectors        rj   Ú_select_slice_namez&PandasLikeDataFrame._select_slice_name\  s¯   € ð �}‰}Ð(ð �K‰K×Ñ×'Ñ'¨¯©Ô6àð 	ð �|‰|Ð'ð �K‰K×Ñ×'Ñ'¨¯©Ó5¸Ò9àð 	ô
 ˜  g§l¡lÓ3ˆØ× Ñ Ø�K‰K×ÑšQ ˜[Ñ)Àð !ó 
ð 	
rl   c                ó^   — | j                  | j                  j                  d d …|f   d¬«      S rô   ©rÓ   r€   rð   ©re   rc   s     rj   Ú_select_slice_indexz'PandasLikeDataFrame._select_slice_indexl  s2   € Ø× Ñ Ø�K‰K×ÑšQ ˜ZÑ(Àð !ó 
ð 	
rl   c                ó˜   — t        |t        «      rt        |«      n|}| j                  | j                  j
                  d d …|f   d¬«      S rô   rí   r   s     rj   Ú_select_multi_indexz'PandasLikeDataFrame._select_multi_indexq  sH   € ô $.¨g´uÔ#=”$�w”-À7ˆØ× Ñ Ø�K‰K×ÑšQ ˜ZÑ(Àð !ó 
ð 	
rl   c                óZ   — | j                  | j                  j                  d d …|f   «      S r_   )rÓ   r€   Úlocr   s     rj   Ú_select_multi_namez&PandasLikeDataFrame._select_multi_namey  s$   € Ø× Ñ  §¡§¡²°G°Ñ!<Ó=Ð=rl   c                óJ   — | j                   j                  j                  «       S r_   )r€   rc   Útolistr¼   s    rj   rc   zPandasLikeDataFrame.columns}  s   € à�{‰{×"Ñ"×)Ñ)Ó+Ð+rl   c                ó   — y r_   r‡   ©re   Únameds     rj   rñ   zPandasLikeDataFrame.rows�  s   € ØEHrl   c                ó   — y r_   r‡   r
  s     rj   rñ   zPandasLikeDataFrame.rows„  s   € ØGJrl   c                ó   — y r_   r‡   r
  s     rj   rñ   zPandasLikeDataFrame.rows‡  s   € ØTWrl   c               ó:  — |sy| j                   t        j                  u r7| j                  d¬«      D �cg c]  }t	        |j                  «       «      ‘Œ c}S t        | j                  j                  dd ¬«      «      S | j                  j                  d¬«      S c c}w )NT)r  F©rØ   rž   Úrecords©Úorient)
ra   r   rÇ   rñ   rî   r¶   rï   r€   Ú
itertuplesÚto_dict)re   r  Úrows      rj   rñ   zPandasLikeDataFrame.rowsŠ  s}   € Ùà×#Ñ#¤~×':Ñ':Ñ:à7;·y±yÀt°yÓ7LÖM°œ˜cŸj™j›lÕ+ÒMÐMä˜Ÿ™×.Ñ.°UÀÐ.ÓFÓGÐGà�{‰{×"Ñ"¨)Ð"Ó4Ð4ùò	 Ns   ³ Bc              #  ó‚   K  — | j                   j                  «       D ]  \  }}t        j                  || ¬«      –— Œ  y ­wrä   )r€   r’   r   r|   )re   Ú_namerŸ   s      rj   Úiter_columnsz PandasLikeDataFrame.iter_columns•  s;   è ø€ Ø!Ÿ[™[×.Ñ.Ó0ò 	E‰MˆE�6Ü"×.Ñ.¨v¸tÔDÓDñ	Eùs   ‚=?c             #  ó   K  — |s&| j                   j                  dd ¬«      E d {  –—†  y | j                   j                  }| j                   j                  d¬«      D ]  }t        t	        ||d¬«      «      –— Œ y 7 ŒV­w)NFr  ©rØ   rŽ   )r€   r  rc   Údictr˜   )re   r  Úbuffer_sizeÚ	col_namesr  s        rj   Ú	iter_rowszPandasLikeDataFrame.iter_rows›  sr   è ø€ ñ
 Ø—{‘{×-Ñ-°EÀÐ-ÓE×EÑEàŸ™×+Ñ+ˆIØ—{‘{×-Ñ-°EÐ-Ó:ò >�Üœ3˜y¨#°eÔ<Ó=Ó=ñ>ð Fús   ‚#A>¥A<¦AA>c           	     ó2  — | j                   j                  }| j                   j                  D �ci c]]  }|||   dk7  r$t        ||   | j                  | j
                  «      n-t        | j                   |   | j                  | j
                  «      “Œ_ c}S c c}w )NrX   )r€   r•   rc   r   rb   ra   r   )re   Únative_dtypesr+   s      rj   rš   zPandasLikeDataFrame.schema§  s—   € àŸ™×*Ñ*ˆð —{‘{×*Ñ*ö	
ð ð ð ˜SÑ! XÒ-ô *Ø˜cÑ" D§M¡M°4×3GÑ3Gôô 1Ø—‘˜CÑ  $§-¡-°×1EÑ1Eóñ	ò	
ð 		
ùò 	
s   ¯A"Bc                ó   — | j                   S r_   )rš   r¼   s    rj   Úcollect_schemaz"PandasLikeDataFrame.collect_schemaµ  s   € Ø�{‰{Ðrl   c                óx   — | j                  t        | j                  t        |«      | j                  «      d¬«      S rô   )rÓ   r   r€   rï   ra   )re   Úcolumn_namess     rj   Úsimple_selectz!PandasLikeDataFrame.simple_select¹  s8   € Ø× Ñ Ü" 4§;¡;´°\Ó0BÀD×DXÑDXÓYØ"'ð !ó 
ð 	
rl   c                óž  —  | j                   |Ž }|s+| j                   t        | j                  «      «       d¬«      S  |d   j                  |Ž }| j                  «       }|j                  |D �cg c]  }|j                  ‘Œ c}«      }| j                  j                  j                  |j                  _        | j                  |d¬«      S c c}w )NFrÐ   r   T)	Ú_evaluate_exprsrÓ   rÈ   r€   Ú_align_full_broadcastrÃ   Ú_concat_horizontalrc   rž   )re   ÚexprsÚ
new_seriesÚ	namespaceÚsrÒ   s         rj   ÚselectzPandasLikeDataFrame.select¿  s·   € Ø)�T×)Ñ)¨5Ð1ˆ
Ùà×$Ñ$Ð%6¤T¨$¯+©+Ó%6Ó%8ÐPUÐ$ÓVÐVØ8�Z ‘]×8Ñ8¸*ÐEˆ
Ø×/Ñ/Ó1ˆ	Ø×)Ñ)¸ZÖ*H¸¨1¯8«8Ò*HÓIˆàŸ+™+×-Ñ-×2Ñ2ˆ�
‰
ŒØ× Ñ  ¸4Ð Ó@Ð@ùò +Is   Á.C
c                ó   — |€-| j                  | j                  j                  d¬«      d¬«      S | j                  «       }|j	                   |j
                  |Ž j                  «       d¬«       }| j                  |«      S )Nr   ©ÚaxisFrÐ   T)Úignore_nulls)rÓ   r€   ÚdropnarÃ   Úany_horizontalr+   Úis_nullÚfilter)re   ÚsubsetÚplxÚmasks       rj   Ú
drop_nullszPandasLikeDataFrame.drop_nullsË  s�   € Øˆ>Ø×$Ñ$Ø—‘×"Ñ"¨Ð"Ó*À%ð %ó ð ð ×)Ñ)Ó+ˆØ×"Ñ" 7 3§7¡7¨FÐ#3×#;Ñ#;Ó#=ÈDÐ"ÓQÐQˆØ�{‰{˜4Ó Ð rl   c                óp   — | j                   j                  d¬«      j                  «       }t        ||¬«      S )NT)Údeep)Úunit)r€   Úmemory_usageÚsumr&   )re   r=  Úszs      rj   Úestimated_sizez"PandasLikeDataFrame.estimated_sizeÔ  s/   € Ø�[‰[×%Ñ%¨4Ð%Ó0×4Ñ4Ó6ˆÜ˜2 DÔ)Ð)rl   c                ó<  — | j                  «       }|€q| j                  j                  t        | «      «      }|j                  j                  |j                  j                  || | j                  j                  |¬«      «      }nzt        dt        |d   «      j                  d¬«      j                  |«      «      }|j                  g |¬«      |j                  dd «      j!                  «       z
  j#                  |«      }| j%                  ||j'                  «       «      S )N)rq   rØ   rž   r4   r   Úordinal)Úmethod)Úpartition_byÚorder_byr…   )rÃ   râ   Úaranger—   Ú_exprÚ_from_seriesÚ_seriesÚfrom_iterabler€   rØ   r   Únw_colÚrankÚ_to_compliant_exprÚoverÚlitÚ	broadcastÚaliasr.  Úall)re   rž   rF  r8  r~   Ú	row_indexrM  s          rj   Úwith_row_indexz"PandasLikeDataFrame.with_row_indexØ  s÷   € Ø×)Ñ)Ó+ˆØÐØ×$Ñ$×+Ñ+¬C°«IÓ6ˆDØŸ	™	×.Ñ.Ø—‘×)Ñ)Ø $¨d¯k©k×.?Ñ.?Àdð *ó ó‰Iô Ø Ü�x ‘{Ó#×(Ñ(°	Ð(Ó:×MÑMÈcÓRóˆDð
 —	‘	 r°H�	Ó=Ø—'‘'˜!˜TÓ"×,Ñ,Ó.ñ/ç‰e�D‹kð ð �{‰{˜9 c§g¡g£iÓ0Ð0rl   c                óT   — t        d„ | j                  j                  |   D «       «      S )Nc              3  ó    K  — | ]  }|–— Œ y ­wr_   r‡   )r‰   Úxs     rj   r‹   z*PandasLikeDataFrame.row.<locals>.<genexpr>í  s   è ø€ Ò8˜1”QÑ8ùr�   )rî   r€   rð   )re   rØ   s     rj   r  zPandasLikeDataFrame.rowì  s"   € ÜÑ8 §¡× 0Ñ 0°Ñ 7Ô8Ó8Ð8rl   c                óš   — | j                  |«      }| j                  |«      }| j                  | j                  j                  |   d¬«      S rô   )Ú_evaluate_single_output_exprrÝ   rÓ   r€   r  )re   Ú	predicater9  Úmask_natives       rj   r6  zPandasLikeDataFrame.filterï  sL   € Ø×0Ñ0°Ó;ˆØ×-Ñ-¨dÓ3ˆØ× Ñ Ø�K‰K�O‰O˜KÑ(Àð !ó 
ð 	
rl   c                ó^  ‡ —  ‰ j                   |Ž }|st        ‰ «      dk(  r‰ S |D �ci c]  }|j                  |“Œ }}g }‰ j                  j                  D ]G  }||v r!‰ j                  |j                  |«      «      }n‰ j                  |   }|j                  |«       ŒI |j                  ˆ fd„|j                  «       D «       «       ‰ j                  «       }|j                  |«      }	‰ j                  j                  j                  |	j                  _        ‰ j                  |	d¬«      S c c}w )Nr   c              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr_   )rÝ   )r‰   r-  re   s     €rj   r‹   z3PandasLikeDataFrame.with_columns.<locals>.<genexpr>  s   øè ø€ ÒS¸˜×0Ñ0°×3ÑSùs   ƒFrÐ   )r'  r—   rž   r€   rc   rÝ   ÚpopÚappendÚextendr¶   rÃ   r)  rÓ   )
re   r*  rc   r-  Úname_columnsÚ	to_concatrž   rŸ   r,  rÒ   s
   `         rj   Úwith_columnsz PandasLikeDataFrame.with_columnsö  s  ø€ Ø&�$×&Ñ&¨Ð.ˆÙœ3˜t›9¨š>ØˆKØHOÖ4PÀ1°Q·V±V¸Q±YÐ4PˆÐ4PØˆ	à—K‘K×'Ñ'ò 	%ˆDØ�|Ñ#Ø×0Ñ0°×1AÑ1AÀ$Ó1GÓH‘àŸ™ TÑ*�Ø×Ñ˜VÕ$ð	%ð 	×ÑÓS¸\×=PÑ=PÓ=RÔSÔSØ×/Ñ/Ó1ˆ	Ø×)Ñ)¨)Ó4ˆàŸ+™+×-Ñ-×2Ñ2ˆ�
‰
ŒØ× Ñ  ¸5Ð ÓAÐAùò 5Qs   §D*c                ód   — | j                  t        | j                  || j                  ¬«      «      S )N©rc   rg   )rÓ   r   r€   ra   )re   Úmappings     rj   r   zPandasLikeDataFrame.rename
  s+   € Ø× Ñ Ü�4—;‘;¨À×@TÑ@TÔUó
ð 	
rl   c               óx   — t        | ||¬«      }| j                  | j                  j                  |¬«      d¬«      S )NrŽ   r´   FrÐ   )r%   rÓ   r€   Údrop)re   rc   r�   Úto_drops       rj   ri  zPandasLikeDataFrame.drop  s?   € Ü'¨¨g¸fÔEˆØ× Ñ Ø�K‰K×Ñ WÐÓ-ÀUð !ó 
ð 	
rl   c               óÔ   — | j                   }t        |t        «      r| }n|D �cg c]  }| ‘Œ }}|rdnd}| j                  |j	                  t        |«      ||¬«      d¬«      S c c}w )NÚlastÚfirst)Ú	ascendingÚna_positionFrÐ   )r€   r“   rW   rÓ   Úsort_valuesrï   )re   Ú
descendingÚ
nulls_lastÚbyrÒ   rn  Údro  s           rj   ÚsortzPandasLikeDataFrame.sort  sp   € Ø�[‰[ˆÜ�j¤$Ô'Ø/9¨>‰Ià(2Ö3 1˜QšÐ3ˆIÐ3Ù *‘f°ˆØ× Ñ Ø�N‰Nœ4 ›8¨yÀkˆNÓRØ"'ð !ó 
ð 	
ùò 4s   ¥
A%c               ó|  ‡— | j                   }| j                  Št        |t        «      rXt	        ˆfd„|D «       «      rD|r!| j                  |j                  ||«      «      S | j                  |j                  ||«      «      S | j                  |j                  t        |«      |¬«      j                  |«      d¬«      S )Nc              3  óD   •K  — | ]  }‰|   j                  «       –— Œ y ­wr_   )Ú
is_numeric)r‰   rX  rš   s     €rj   r‹   z,PandasLikeDataFrame.top_k.<locals>.<genexpr>%  s   øè ø€ Ò,PÈ¨V°A©Y×-AÑ-A×-CÑ,Pùs   ƒ )rn  FrÐ   )r€   rš   r“   rW   rS  rÓ   Ú	nsmallestÚnlargestrp  rï   Úhead)re   Úkrs  ÚreverserÒ   rš   s        @rj   Útop_kzPandasLikeDataFrame.top_k"  s¡   ø€ Ø�[‰[ˆØ—‘ˆÜ�gœtÔ$¬Ó,PÈRÔ,PÔ)PÙØ×(Ñ(¨¯©°a¸Ó)<Ó=Ð=Ø×$Ñ$ R§[¡[°°BÓ%7Ó8Ð8Ø× Ñ Ø�N‰Nœ4 ›8¨wˆNÓ7×<Ñ<¸QÓ?Ø"'ð !ó 
ð 	
rl   c                óB  — |€-t        | j                  | j                  | j                  d¬«      S |t        j
                  u rXt        j
                  | j                  ddœ}|| j                  ur|j                  d¬«       t        | j                  «       fi |¤ŽS |t        j                  u r*ddl	m
}  || j                  «       d| j                  d¬«      S |t        j                  u r)ddlm}  || j                  «       d| j                  ¬	«      S d
|› �}t!        |«      ‚)NFr¯   Tr\   r   )ÚArrowDataFrame)rf   r]   rh   ri   )ÚPolarsDataFrame©rÒ   r]   rh   zUnsupported `backend` value: )r[   r€   ra   rb   r   rÅ   Úupdaters   ÚPYARROWÚnarwhals._arrow.dataframer€  Úto_arrowÚPOLARSÚnarwhals._polars.dataframer�  Ú	to_polarsÚ
ValueError)re   r¤   ÚkwargsÚkwdsr€  r�  r‚   s          rj   ÚcollectzPandasLikeDataFrame.collect/  s  € ð ˆ?Ü&Ø—‘Ø#×3Ñ3ØŸ™Ø&+ô	ð ð ”n×+Ñ+Ñ+ä"0×"7Ñ"7ØŸ=™=Ø).ñ$ˆDð
 ˜d×2Ñ2Ñ2Ø—‘°T�Ô:Ü& t§~¡~Ó'7Ñ@¸4Ñ@Ð@à”n×,Ñ,Ñ,Ý@á!Ø!%§¡£Ø)-ØŸ™Ø&+ô	ð ð ”n×+Ñ+Ñ+ÝBá"Ø—>‘>Ó#¸dÈDÏMÉMôð ð .¨g¨YÐ7ˆÜ˜‹oÐrl   c               ó$   — ddl m}  || ||¬«      S )Nr   r5   )Údrop_null_keys)Únarwhals._pandas_like.group_byr6   )re   r·   r�  r6   s       rj   Úgroup_byzPandasLikeDataFrame.group_byY  s   € õ 	Eá   t¸NÔKÐKrl   c               ó|   — | j                   j                  |d¬«      j                  |j                   ||dd|f¬«      S )NÚany©r7  ÚhowÚinnerÚ ©Úleft_onÚright_onr•  Úsuffixes)r€   r3  Úmerge)re   rÚ   r™  rš  Úsuffixs        rj   Ú_join_innerzPandasLikeDataFrame._join_inner`  sH   € ð �{‰{×!Ñ!¨°eÐ!Ó<×BÑBØ�L‰LØØØØ˜&�\ð Có 
ð 	
rl   c               ó¦  — | j                   j                  |j                   j                  |d¬«      d||d|f¬«      }t        ||d¬«      D ��cg c]   \  }}||k7  r|| j                  vr|n|› |› �‘Œ" }}}| j
                  }	|	j                  «       r(|	j                  «       dk  r|j                  |d¬	«       |S |j                  |¬
«      S c c}}w )Nr“  r”  Úleftr—  ©r•  r™  rš  r›  TrŽ   ©é   r   ©rc   Úinplacer´   )	r€   rœ  r3  r˜   rc   ra   rr   ru   ri  )
re   rÚ   r™  rš  r�  Úresult_nativeÚleft_keyÚ	right_keyÚextraÚimpls
             rj   Ú
_join_leftzPandasLikeDataFrame._join_leftk  sê   € ð Ÿ™×)Ñ)Ø�L‰L×Ñ x°UÐÓ;ØØØØ˜&�\ð *ó 
ˆô (+¨7°HÀTÔ'J÷
á#�˜)Ø˜HÒ$ð #¨$¯,©,Ñ6‰I¸y¸kÈ&ÈÐ<RÑRð
ˆñ 
ð
 ×#Ñ#ˆØ�>‰>Ô × 5Ñ 5Ó 7¸&Ò @à×Ñ u°dÐÔ;Ø Ð à×!Ñ!¨%Ð!Ó0Ð0ùó
s   Á%Cc               óÈ  — | j                  «       }| j                  }t        |||«      }|j                  j                  |¬«      }t	        |j
                  «       t        |j                  «       «      }	|t        |«         j                  «       j                  d¬«      }
||	   j                  «       j                  d¬«      }t        |j
                  «      j                  | j
                  «      j                  |«      }||   j                  |D �ci c]	  }||› |› �“Œ c}¬«      }||
    j                  ||    ||	dd|f¬«      }|j                  |||
   |g«      S c c}w )Nr´   r…   r0  Úouterr—  r˜  )rÃ   r€   r!   r   r"   rc   rï   r¶   Úisnar“  ÚsetÚintersectionÚ
differencerœ  Ú_concat_diagonal)re   rÚ   r™  rš  r�  r©   Úself_nativeÚright_on_mapperÚother_nativeÚright_suffixedÚleft_null_maskÚright_null_maskÚ	to_renamer+   Úright_null_rowsÚjoin_results                   rj   Ú
_join_fullzPandasLikeDataFrame._join_full‚  sj  € ð ×(Ñ(Ó*ˆØ—k‘kˆÜ/°¸À6ÓJˆØ—|‘|×*Ñ*°?Ð*ÓCˆÜ% l×&:Ñ&:Ô;Ü˜o×4Ñ4Ó6Ó7ˆà$¤T¨'£]Ñ3×8Ñ8Ó:×>Ñ>ÀAÐ>ÓFˆØ& ~Ñ6×;Ñ;Ó=×AÑAÀqÐAÓIˆô ˜Ÿ™Ó&×3Ñ3°D·L±LÓA×LÑLÈXÓVˆ	Ø& Ñ7×>Ñ>Ø6?Ö@¨s�S˜S˜E & Ð*Ñ*Ò@ð ?ó 
ˆð " > /Ñ2×8Ñ8Ø˜/Ð)Ñ*ØØ#ØØ˜&�\ð 9ó 
ˆð ×"Ñ"Ø˜+ nÑ5°ÐGó
ð 	
ùò As   ÄEc               ó\  — | j                   }|j                  «       }|j                  «       s%|j                  «       s|j	                  «       r·|dk  r²t        dg | j                  ¢|j                  ¢­¬«      } | j                  j                  di |di¤Žj                   |j                  j                  di |di¤Žd||d|f¬«      }|j	                  «       r|dk  r|j                  |d	¬
«       |S |j                  |¬«      S | j                  j                  |j                  dd|f¬«      S )N)r…   é   é   ©Ún_bytesrc   r   r–  r—  r¡  r¢  Tr¤  r´   Úcross)r•  r›  r‡   )ra   ru   rt   rx   rr   r$   rc   r€   Úassignrœ  ri  )re   rÚ   r�  rª  Úbackend_versionÚ	key_tokenr¦  s          rj   Ú_join_crosszPandasLikeDataFrame._join_cross¢  s  € Ø×#Ñ#ˆØ×/Ñ/Ó1ˆØ�M‰MŒO˜tŸ|™|œ~Ø�N‰NÔ °6Ò!9ä6ØÐ#B T§\¡\Ð#B°E·M±MÑ#BôˆIð /˜DŸK™K×.Ñ.Ñ@°)¸Q°Ñ@×FÑFØ#�—‘×#Ñ#Ñ5 y°! nÑ5ØØ!Ø"Ø˜f˜ð Gó ˆMð �~‰~Ô O°fÒ$<à×"Ñ"¨9¸dÐ"ÔCØ$Ð$Ø ×%Ñ%¨iÐ%Ó8Ð8à�{‰{× Ñ  §¡°7ÀbÈ&À\Ð ÓRÐRrl   c               óÆ   — | j                  |t        |«      t        t        ||d¬«      «      ¬«      }| j                  j                  |d¬«      j                  |d||¬«      S )NFrŽ   ©rÚ   Úcolumns_to_selectÚcolumns_mappingr“  r”  r–  ©r•  r™  rš  )Ú_join_filter_renamerï   r  r˜   r€   r3  rœ  )re   rÚ   r™  rš  rµ  s        rj   Ú
_join_semizPandasLikeDataFrame._join_semiº  sl   € ð ×/Ñ/ØÜ" 8›nÜ ¤ X¨w¸uÔ!EÓFð 0ó 
ˆð
 �{‰{×!Ñ!¨°eÐ!Ó<×BÑBØ˜g¨wÀð Có 
ð 	
rl   c               óš  ‡— | j                   }|j                  «       r:| j                  j                  |j                  j	                  |d¬«      d||¬«      S t        dg | j                  ¢|j                  ¢­¬«      Š| j                  |t        |«      t        t        ||d¬«      «      ¬	«      }| j                  j                  |j	                  |d¬«      |j                  «       rd
nd‰||¬«      j                  ˆfd„   }|j                  «       r(|j                  «       dk  r|j                  ‰d¬«       |S |j                  ‰¬«      S )Nr“  r”  ÚleftantirË  r¿  rÀ  TrŽ   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   r¢  r¤  r´   )ra   rx   r€   rœ  r3  r$   rc   rÌ  rï   r  r˜   rr   r  ru   ri  )re   rÚ   r™  rš  rª  rµ  r¦  rÔ  s          @rj   Ú
_join_antizPandasLikeDataFrame._join_antiÆ  sH  ø€ ð ×#Ñ#ˆà�<‰<Œ>Ø—;‘;×$Ñ$Ø—‘×#Ñ#¨7¸Ð#Ó>ØØØ!ð	 %ó ð ô 9ØÐ> §¡Ð>°·±Ñ>ô
ˆð ×/Ñ/ØÜ" 8›nÜ ¤ X¨w¸tÔ!DÓEð 0ó 
ˆð
 Ÿ™×)Ñ)Ø×Ñ w°EÐÓ:àŸ.™.Ô*‘°Ø%ØØð *ó 
÷ ‰#Ó9ñ;ˆð �>‰>Ô × 5Ñ 5Ó 7¸&Ò @à×Ñ ÀÐÔEØ Ð à×!Ñ!¨/Ð!Ó:Ð:rl   c                ó~   — | j                   }t        t        |j                  ||¬«      ||¬«      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.
        )r$  rg   rf  )ra   r   r   r€   Údrop_duplicates)re   rÚ   rÉ  rÊ  rg   s        rj   rÌ  z'PandasLikeDataFrame._join_filter_renameì  sC   € ð ×-Ñ-ˆÜÜ"Ø—‘Ø.Ø-ôð
 $Ø)ô
÷ ‰/Ó
ð	rl   c               ó–  — |dk(  r| j                  ||¬«      }n |�|€t        ||«      ‚|dk(  r| j                  ||||¬«      }nu|dk(  r| j                  |||¬«      }n[|dk(  r| j	                  |||¬«      }nA|dk(  r| j                  ||||¬«      }n&|d	k(  r| j                  ||||¬«      }nt        |«       | j                  «      S )
NrÂ  )rÚ   r�  r–  )rÚ   r™  rš  r�  Úanti)rÚ   r™  rš  Úsemir   Úfull)	rÆ  rŠ  rž  rÖ  rÍ  r«  r¼  r   rÓ   )re   rÚ   r•  r™  rš  r�  Úresults          rj   ÚjoinzPandasLikeDataFrame.join   s÷   € ð �'Š>Ø×%Ñ%¨E¸&Ð%ÓA‰Fàˆ_ Ð 0Ü˜W hÓ/Ð/à�GŠ^Ø×%Ñ%Ø W°xÈð &ó ‰Fð �FŠ]Ø—_‘_¨5¸'ÈH�_ÓU‰FØ�FŠ]Ø—_‘_¨5¸'ÈH�_ÓU‰FØ�FŠ]Ø—_‘_Ø W°xÈð %ó ‰Fð �FŠ]Ø—_‘_Ø W°xÈð %ó ‰Fô ˜Ôà× Ñ  Ó(Ð(rl   c               óž   — | j                  «       }| j                  |j                  | j                  |j                  |||||d|f¬«      «      S )Nr—  )r™  rš  Úleft_byÚright_byÚ	directionr›  )rÊ   rÓ   Ú
merge_asofr€   )	re   rÚ   r™  rš  Úby_leftÚby_rightÚstrategyr�  r8  s	            rj   Ú	join_asofzPandasLikeDataFrame.join_asof$  sZ   € ð ×'Ñ'Ó)ˆØ× Ñ Ø�N‰NØ—‘Ø—‘ØØ!ØØ!Ø"Ø˜f˜ð ó 	ó
ð 	
rl   c                óZ   — | j                  | j                  j                  |«      d¬«      S rô   )rÓ   r€   r{  ©re   Úns     rj   r{  zPandasLikeDataFrame.head?  ó'   € Ø× Ñ  §¡×!1Ñ!1°!Ó!4ÈEÐ ÓRÐRrl   c                óZ   — | j                  | j                  j                  |«      d¬«      S rô   )rÓ   r€   Útailré  s     rj   rí  zPandasLikeDataFrame.tailB  rë  rl   )Úmaintain_orderc               óü  — dddœj                  ||«      }|r| j                  |«      x}r|‚|rÒ|rÐt        d| j                  «      } | j	                  |d ¬«      j
                  |dddœŽj                  j                  |xs | j                  |¬«      j                  |«      }| j                  j                  «       r1| j                  j                  «       dk  r|j                  |d	¬
«       n}|j                  |¬«      }nj|r= | j
                  |dddœŽj                  j                  |xs | j                  |¬«      }n+| j                  j                  |xs | j                  |¬«      }| j                  |d¬«      S )NFrm  )Únoner“  r¿  )rF  )rr  rq  ©Úkeepr¢  Tr¤  r´   rÐ   )ÚgetÚ_check_columns_existr$   rc   rU  ru  r€   rØ  rp  ra   rr   ru   ri  rÓ   )	re   r7  rò  rî  rF  Úmapped_keepÚerrorÚtokenÚress	            rj   ÚuniquezPandasLikeDataFrame.uniqueE  s\  € ð  %¨WÑ5×9Ñ9¸$ÀÓEˆÙ × 9Ñ 9¸&Ó AÐA�uÐAØˆKÙ™Ü2°1°d·l±lÓCˆEð�×#Ñ# E°DÐ#Ó9ß‘�x¨E¸eòEç‘Ÿ™¨Ò(>°$·,±,À[˜ÓQß‘˜UÓ#ð	 ð ×$Ñ$×.Ñ.Ô0Ø×(Ñ(×9Ñ9Ó;¸fÒDà—‘ °�Õ5à—h‘h u�hÓ-‘ÙØ�$—)‘)Ø e¸òç‰f—_‘_ VÒ%;¨t¯|©|À+�_ÓNñ ð —+‘+×-Ñ-¨fÒ.D¸¿¹È;Ð-ÓWˆCØ× Ñ  ¸EÐ ÓBÐBrl   )Úsessionc               ó  — | j                  «       }|€| S |t        j                  u r.dd l}ddlm}  ||j                  d«      d| j                  ¬«      S |t        j                  u r=dd l	}ddl
m}  | |j                  |«      j                  «       d| j                  ¬«      S |t        j                  u r0dd lm} ddlm}	  |	|j                  |«      d| j                  ¬«      S |t        j&                  u r:dd l}
dd	lm}  ||
j/                  || j0                  ¬
«      d| j                  ¬«      S |j3                  «       r:ddlm} |€d}t9        |«      ‚ ||j;                  |«      | j                  |d¬«      S t<        ‚)Nr   )ÚDuckDBLazyFrameÚ	pandas_dfTr‚  )ÚPolarsLazyFrame)ÚDaskLazyFrame)rf   r]   rh   )ÚIbisLazyFramer´   )r]   rh   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)rh   rg   r]   )rs   r   ÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframerü  Útablerb   r‡  Úpolarsrˆ  rþ  Úfrom_pandasÚlazyÚDASKÚdask.dataframeÚ	dataframeÚnarwhals._dask.dataframerÿ  ÚIBISÚibisÚnarwhals._ibis.dataframer   Úmemtablerc   Úis_spark_likeÚnarwhals._spark_like.dataframer  rŠ  ÚcreateDataFramer{   )re   r¤   rú  rý  r  rü  Úplrþ  Úddrÿ  r  r   r  r‚   s                 rj   r  zPandasLikeDataFrame.lazyj  sd  € ð —N‘NÓ$ˆ	Øˆ?ØˆKØ”n×+Ñ+Ñ+ÛåBá"Ø—<‘< Ó,Ø)-ØŸ™ôð ð
 ”n×+Ñ+Ñ+ÛåBá"Ø!�2—>‘> )Ó,×1Ñ1Ó3Ø)-ØŸ™ôð ð
 ”n×)Ñ)Ñ)Ý'å>á Ø!#§¡°	Ó!:Ø)-ØŸ™ôð ð
 ”n×)Ñ)Ñ)Ûå>á Ø—‘˜i°·±�Ó>Ø)-ØŸ™ôð ð × Ñ Ô"ÝIàˆØM�Ü  “oÐ%á%Ø×'Ñ'¨	Ó2ØŸ™Ø&Ø)-ô	ð ô Ðrl   c                ó.   — | j                   j                  S r_   )r€   Úshaper¼   s    rj   r  zPandasLikeDataFrame.shape¬  s   € à�{‰{× Ñ Ð rl   c               óÂ   — |r=| j                   D �ci c]'  }|t        j                  | j                  |   | ¬«      “Œ) c}S | j                  j	                  d¬«      S c c}w )Nrp   rï   r  )rc   r   r|   r€   r  )re   Ú	as_seriesr+   s      rj   r  zPandasLikeDataFrame.to_dict°  sa   € Ùð  Ÿ<™<öàð Ô%×1Ñ1°$·+±+¸cÑ2BÈDÔQÑQòð ð �{‰{×"Ñ"¨&Ð"Ó1Ð1ùò	s   ‘,Ac          
     ó   — | j                   j                  }|€| j                  t        j                  u }|j                  t        «      j                  «       r;|�| j                   j                  ||¬«      S | j                   j                  |¬«      S | j                  j                  j                  }| j                  j                  «       D ��cg c]  \  }}t        ||«      r|j                  �|‘Œ! }}}|ri| j                   | j!                  «       j"                  |Ž j$                  j'                  d«      j$                  j)                  d «      «      j                   }n| j                   }|�|j                  ||¬«      S |D ]k  }	t+        |	«      t,        v sŒt/        j0                  | j2                  D �
cg c]+  }
| j5                  |
«      j                  |d ¬«      d d …d f   ‘Œ- c}
«      }|c S  |j                  |¬«      S c c}}w c c}
w )Nré   ræ   ÚUTC)rç   r£   )r€   r•   ra   r   rÇ   ÚisinrY   rS  rê   rb   ÚDatetimerš   r’   r“   Ú	time_zonerd  rÃ   r+   ÚdtÚconvert_time_zoneÚreplace_time_zoneÚstrr   rá   Úhstackrc   rå   )re   r£   rç   r   Údtype_datetimer¢   ÚvalÚ
to_convertrÒ   Ú	col_dtyper+   Úarrs               rj   rê   zPandasLikeDataFrame.to_numpy¸  sâ  € ØŸ™×*Ñ*ˆàˆ<à×'Ñ'¬>×+>Ñ+>Ð>ˆDà×ÑÔ4Ó5×9Ñ9Ô;àÐ Ø—{‘{×+Ñ+°%¸dÐ+ÓCÐCØ—;‘;×'Ñ'¨TÐ'Ó2Ð2àŸ™×-Ñ-×6Ñ6ˆð !ŸK™K×-Ñ-Ó/÷
á��SÜ˜#˜~Ô.°3·=±=Ð3Lò ð
ˆ
ñ 
ñ
 Ø×"Ñ"ð�×+Ñ+Ó-ß‘�jð"ç‘×%Ñ% eÓ,ß‘×%Ñ% dÓ+ó	÷
 ‰fñ ð —‘ˆBàÐØ—;‘; U°�;Ó6Ð6ð 'ò 	ˆIÜ�9‹~Ô!>Ò>ÜŸ9™9ð $(§<¡<öàð Ÿ™¨Ó,×5Ñ5¸4ÀtÐ5ÓLÊQÐPTÈWÓUòó�ð ’
ð	ð �{‰{ ˆ{Ó%Ð%ùó?
ùò2s   Ã$HÆ70H
c                ó^  — | j                   t        j                  u r| j                  S | j                   t        j                  u r| j                  j                  «       S | j                   t        j                  u r| j                  j                  «       S d| j                   › �}t        |«      ‚)NzUnknown implementation: )	ra   r   rÅ   r€   rÇ   rs   rÆ   Ú
_to_pandasr{   rÉ   s     rj   rs   zPandasLikeDataFrame.to_pandasç  sŒ   € Ø×Ñ¤>×#8Ñ#8Ñ8Ø—;‘;ÐØ×Ñ¤>×#6Ñ#6Ñ6Ø—;‘;×(Ñ(Ó*Ð*Ø×Ñ¤>×#7Ñ#7Ñ7Ø—;‘;×)Ñ)Ó+Ð+Ø(¨×)=Ñ)=Ð(>Ð?ˆÜ˜SÓ!Ð!rl   c                óJ   — dd l } |j                  | j                  «       «      S rß   )r  r  rs   )re   r  s     rj   r‰  zPandasLikeDataFrame.to_polarsñ  s   € Ûàˆr�~‰~˜dŸn™nÓ.Ó/Ð/rl   c                ó:   — | j                   j                  |«       y r_   )r€   Ú
to_parquet©re   Úfiles     rj   Úwrite_parquetz!PandasLikeDataFrame.write_parquetö  s   € Ø�‰×Ñ˜tÕ$rl   c                 ó   — y r_   r‡   r.  s     rj   Ú	write_csvzPandasLikeDataFrame.write_csvù  s   € Ø,/rl   c                 ó   — y r_   r‡   r.  s     rj   r2  zPandasLikeDataFrame.write_csvü  s   € Ø=@rl   c                ó<   — | j                   j                  |d¬«      S )NFr  )r€   Úto_csvr.  s     rj   r2  zPandasLikeDataFrame.write_csvÿ  s   € Ø�{‰{×!Ñ! $¨eÐ!Ó4Ð4rl   c                óf   — t        j                  | j                  j                  d¬«       | ¬«      S )NFrñ  rp   )r   r|   r€   Ú
duplicatedr¼   s    rj   Ú	is_uniquezPandasLikeDataFrame.is_unique  s/   € Ü×+Ñ+Ø�[‰[×#Ñ#¨Ð#Ó/Ð/¸ô
ð 	
rl   c                ó0  — |€<|€:| j                   x}dk7  rd|›�}t        |«      ‚| j                  j                  d   S |�|€d}t        |«      ‚t	        |t
        «      r| j                  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`)r  rŠ  r€   rð   r“   r"  rc   rØ   )re   r  Úcolumnr  r‚   Ú_cols         rj   ÚitemzPandasLikeDataFrame.item  s¢   € Øˆ;˜6˜>ØŸ™Ð#�¨Ò.ð=Ø=B¸IðGð ô ! “oÐ%Ø—;‘;×#Ñ# DÑ)Ð)àˆ;˜&˜.ØLˆCÜ˜S“/Ð!ä-7¸ÄÔ-Dˆt�|‰|×!Ñ! &Ô)È&ˆØ�{‰{×Ñ  T 	Ñ*Ð*rl   c                óX   — | j                  | j                  j                  «       d¬«      S rô   )rÓ   r€   rç   r¼   s    rj   ÚclonezPandasLikeDataFrame.clone  s%   € Ø× Ñ  §¡×!1Ñ!1Ó!3È5Ð ÓQÐQrl   c                ó\   — | j                  | j                  j                  |d |…   d¬«      S rô   rÿ   )re   rê  Úoffsets      rj   Úgather_everyz PandasLikeDataFrame.gather_every  s.   € Ø× Ñ  §¡×!1Ñ!1°&°)¸!°)Ñ!<ÐTYÐ ÓZÐZrl   c               óv   — |xs |rt        | h |£|£«      nt        | |«      }|xs t        | h |£|£«      }||fS r_   )r#   )re   ÚonrØ   r¶   s       rj   Ú_pivot_into_index_valuesz,PandasLikeDataFrame._pivot_into_index_values  sX   € ð ò 
áô !  ~¨ ~¨f ~Ô6ä% d¨BÓ/ð 	ð
 ÒDÔ/°°m¸°m¸U°mÓDˆØ�fˆ}Ðrl   c               óH   — d\  }}}dj                  | «      }|› |› |› |› |› �S )N)ú{ú}ú"z",")rÞ  )Úunique_valuesÚLBÚRBÚQÚbodys        rj   Ú_pivot_multi_on_namez(PandasLikeDataFrame._pivot_multi_on_name.  s6   € à!‰	ˆˆB�Ø�z‰z˜-Ó(ˆØ��a�S˜˜˜q˜c " Ð&Ð&rl   c               ó    — |dkD  r-| D �cg c]!  }|j                  |«      j                  «       ‘Œ# c}S | D �cg c]  }|d   ‘Œ	 c}S c c}w c c}w )Nr…   éÿÿÿÿ)rÞ  Ústrip)r$  Ún_valuesÚ	separatorr+   s       rj   Ú_pivot_single_on_namesz*PandasLikeDataFrame._pivot_single_on_names4  sL   € ð �aŠ<Ø;GÖH°C�I—N‘N 3Ó'×-Ñ-Õ/ÒHÐHØ#/Ö0˜C��B“Ò0Ð0ùò IùÚ0s
   Š&A·Ac             #  óÀ   K  — |dkD  r7|D ]1  }|| d  }|d   }|j                  || j                  |«      f«      –— Œ3 y |D ]  }| j                  || d  «      –— Œ y ­w)Nr…   r   )rÞ  rN  )re   r$  Ún_onrR  rS  r+   ÚnamesÚprefixs           rj   Ú_pivot_multi_on_namesz)PandasLikeDataFrame._pivot_multi_on_names<  s   è ø€ ð �aŠ<Ø#ò Q�Ø˜T˜E˜F˜�Ø˜Q™�Ø—n‘n f¨d×.GÑ.GÈÓ.NÐ%OÓPÓPñQð
 $ò =�Ø×/Ñ/°°T°E°F°Ó<Ó<ñ=ùs   ‚AAc               ól   — |dk(  r| j                  |||«      S t        | j                  ||||«      «      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ï   rY  )re   r$  rV  rR  rS  s        rj   Ú_pivot_remap_column_namesz-PandasLikeDataFrame._pivot_remap_column_namesM  s<   € ð �1Š9Ø×.Ñ.¨|¸XÀyÓQÐQÜ�D×.Ñ.¨|¸TÀ8ÈYÓWÓXÐXrl   c          	     óŠ   — | j                   t        j                  u ri nddi} | j                  j                  d||||ddœ|¤ŽS )NÚobservedTF)r¶   rØ   rc   ÚaggfuncÚmarginsr‡   )ra   r   rÇ   r€   Úpivot_table)re   rC  rØ   r¶   Úaggregate_functionrŒ  s         rj   Ú_pivot_tablez PandasLikeDataFrame._pivot_tableY  s`   € ð ×&Ñ&¬.×*=Ñ*=Ñ=‰BÀJÐPTÐCUð 	ð 'ˆt�{‰{×&Ñ&ð 
ØØØØ&Øñ
ð ñ
ð 	
rl   c               ó   — |€| j                   j                  |||¬«      S |dk(  rV| j                   j                  g |¢|¢d¬«      j                  t        j                  |d«      «      j                  |||¬«      S | j                  ||||«      S )N)rc   rØ   r¶   r—   F)Úas_indexÚsize)r€   ÚpivotÚgroupbyÚaggr  Úfromkeysrb  )re   rC  rØ   r¶   ra  s        rj   Ú_pivotzPandasLikeDataFrame._pivoto  s‘   € ð Ð%Ø—;‘;×$Ñ$¨R°uÀVÐ$ÓLÐLØ Ò&à—‘×#Ñ# M b M¨5 M¸EÐ#ÓBß‘”T—]‘] 6¨6Ó2Ó3ß‘˜r¨°v�Ó>ðð
 × Ñ   U¨FÐ4FÓGÐGrl   c               ó  ‡ — ‰ j                   }|j                  «       rd}t        |«      ‚‰ j                  |||«      \  }}‰ j	                  ||||«      }	|rˆ fd„|D «       n
ˆ fd„|D «       }
t        t        |gt        |
«      ¢­Ž «      }|	j                  d d …|f   }	|	j                  }‰ j                  |t        |«      t        |«      |¬«      }||	_	        dg|	j                  _        ‰ j                  |	j                  «       «      S )Nzcpivot is not supported for Modin backend due to https://github.com/modin-project/modin/issues/7409.c              3  óš   •K  — | ]B  }‰j                  |«      j                  «       j                  d d ¬«      j                  «       –— ŒD y­w)F)rq  rr  N)rå   rù  ru  Úto_list©r‰   r+   re   s     €rj   r‹   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>•  sE   øè ø€ ò ð
 ð	 —‘ Ó$ß‘“ß‘ °5�Ó9ß‘“óñùs   ƒAAc              3  óx   •K  — | ]1  }‰j                  |«      j                  «       j                  «       –— Œ3 y ­wr_   )rå   rù  rm  rn  s     €rj   r‹   z,PandasLikeDataFrame.pivot.<locals>.<genexpr>�  s,   øè ø€ ÒH¸c�$—/‘/ #Ó&×-Ñ-Ó/×7Ñ7×9ÑHùs   ƒ7:)rV  rR  rS  r—  )ra   rt   ÚNotImplementedErrorrD  rj  rï   r
   r	   r  rc   r[  r—   rW  rÓ   Úreset_index)re   rC  rØ   r¶   ra  Úsort_columnsrS  rg   r‚   rÝ  ÚuniquesÚordered_colsrc   Úremappeds   `             rj   rf  zPandasLikeDataFrame.pivot�  s	  ø€ ð ×-Ñ-ˆØ×"Ñ"Ô$ØwˆCÜ% cÓ*Ð*à×5Ñ5°b¸%ÀÓH‰ˆˆvØ—‘˜R ¨Ð0BÓCˆñ óð
 õó IÀRÔHð 	ô œG FÐ<¬U°7«^Ò<Ó=ˆØ—‘šA˜|˜OÑ,ˆØ—.‘.ˆØ×1Ñ1Øœ#˜b›'¬C°«KÀ9ð 2ó 
ˆð "ˆŒØ "˜tˆ�‰ÔØ× Ñ  ×!3Ñ!3Ó!5Ó6Ð6rl   c                óÄ   — | j                   t        j                  u r| j                  j	                  d¬«      S dd l}|j                  j                  | j                  «      S )NF)Úpreserve_indexr   )ra   r   rÇ   r€   r†  ÚpyarrowÚTabler  )re   Úpas     rj   r†  zPandasLikeDataFrame.to_arrow©  sJ   € Ø×Ñ¤>×#6Ñ#6Ñ6Ø—;‘;×'Ñ'°uÐ'Ó=Ð=ãà�x‰x×#Ñ# D§K¡KÓ0Ð0rl   c               ób   — | j                  | j                  j                  ||||¬«      d¬«      S )N)rê  ÚfracÚreplaceÚrandom_stateFrÐ   )rÓ   r€   Úsample)re   rê  ÚfractionÚwith_replacementÚseeds        rj   r  zPandasLikeDataFrame.sample±  sB   € ð × Ñ Ø�K‰K×ÑØ˜(Ð,<È4ð ó ð #(ð	 !ó 
ð 	
rl   c                ó^   — | j                  | j                  j                  ||||¬«      «      S )N)Úid_varsÚ
value_varsÚvar_nameÚ
value_name)rÓ   r€   Úmelt)re   rC  rØ   Úvariable_namer‡  s        rj   ÚunpivotzPandasLikeDataFrame.unpivotÀ  s:   € ð × Ñ Ø�K‰K×ÑØØØ&Ø%ð	 ó ó
ð 	
rl   c                ó,  ‡‡— | j                   j                  }| j                  «       }|D ]'  }||   }||j                  k7  sŒd|› d�}t	        |«      ‚ t        |«      dk(  r/| j                  | j                  j                  |d   «      d¬«      S | j                  Š‰|d      j                  j                  «       Št        ˆˆfd„|dd  D «       «      sd}t        |«      ‚| j                  }|D �cg c]	  }||vsŒ|‘Œ }	}‰g |	¢|d   ‘   j                  |d   «      }
|dd  D �cg c]#  }‰|   j                  «       j                  «       ‘Œ% }}| j                  «       }| j                  |j                  |
g|¢d¬	«      |   d¬«      S c c}w c c}w )
Nz-`explode` operation not supported for dtype `z`, expected List typer…   r   FrÐ   c              3  óz   •K  — | ]2  }‰|   j                   j                  «       ‰k(  j                  «       –— Œ4 y ­wr_   )rï   r—   rS  )r‰   Úcol_nameÚanchor_seriesÚnative_frames     €€rj   r‹   z.PandasLikeDataFrame.explode.<locals>.<genexpr>å  s;   øè ø€ ò 
àð ˜(Ñ#×(Ñ(×,Ñ,Ó.°-Ñ?×DÑD×Fñ
ùs   ƒ8;z2exploded columns must have matching element countsr0  )rb   r•   r"  ÚListr)   r—   rÓ   r€   Úexploderï   rS  r*   rc   Úto_framerÊ   Úconcat)re   rc   r•   rš   Úcol_to_exploder£   r‚   Úoriginal_columnsÚcÚother_columnsÚexploded_framer�  Úexploded_seriesr8  rŽ  r�  s                 @@rj   r‘  zPandasLikeDataFrame.explodeÐ  sÖ  ù€ Ø—‘×%Ñ%ˆà×$Ñ$Ó&ˆØ%ò 	1ˆNØ˜>Ñ*ˆEà˜Ÿ™Ó#àCÀEÀ7ð K)ð )ð ô ,¨CÓ0Ð0ð	1ô ˆw‹<˜1ÒØ×$Ñ$Ø—‘×#Ñ# G¨A¡JÓ/Àuð %ó ð ð —{‘{ˆØ$ W¨Q¡ZÑ0×5Ñ5×9Ñ9Ó;ˆäô 
à# A B˜Kô
ô 
ð GˆCÜ˜S“/Ð!àŸ<™<ÐØ$4ÖI˜q¸ÀÒ8HšÐIˆÐIà%Ð&B¨Ð&B°w¸q±zÐ&BÑC×KÑKÈGÐTUÉJÓWˆàHOÐPQÐPRÈö
Ø<DˆL˜Ñ"×*Ñ*Ó,×5Ñ5Õ7ð
ˆð 
ð ×'Ñ'Ó)ˆØ× Ñ Ø�J‰J˜Ð9¨Ð9ÀˆJÓBÐCSÑTØ"'ð !ó 
ð 	
ùò Jùò
s   Ã3	FÃ=FÄ((F)rf   r   rg   r   rh   r=   ri   rW   r]   rW   ÚreturnÚNone)r~   r:   rq   r>   rš  r0   )r~   zMapping[str, Any]rq   r>   rš   ú.IntoSchema | Mapping[str, DType | None] | Nonerš  r0   )r~   zSequence[Mapping[str, Any]]rq   r>   rš   rœ  rš  r0   )r¬   r   rš  zTypeIs[Any])r~   r   rq   r>   rš  r0   )r~   rI   rq   r>   rš   z!IntoSchema | Sequence[str] | Nonerš  r0   )rš  r0   )rš  r8   )rš  r.   )rš  Úint)rh   r=   rš  r0   )rÒ   r   ri   rW   rš  r0   )rÚ   r   rš  úpd.Series[Any])rž   r"  rš  r   r_   )r£   r   rç   úbool | Nonerš  rI   )rñ   ú'SizedMultiIndexSelector[pd.Series[Any]]rš  r0   )rñ   ú_SliceIndex | rangerš  r0   )rc   rK   rš  r0   )rc   r¡  rš  r0   )rc   r   rš  r0   )rc   z&SizedMultiNameSelector[pd.Series[Any]]rš  r0   )rš  ú	list[str])r  zLiteral[True]rš  zlist[dict[str, Any]])r  zLiteral[False]rš  zlist[tuple[Any, ...]])r  rW   rš  z,list[tuple[Any, ...]] | list[dict[str, Any]])rš  zIterator[PandasLikeSeries])r  rW   r  r�  rš  z4Iterator[tuple[Any, ...]] | Iterator[dict[str, Any]])rš  zdict[str, DType])r$  r"  rš  r0   )r*  r4   rš  r0   )r7  úSequence[str] | Nonerš  r0   )r=  rG   rš  zint | float)rž   r"  rF  r£  rš  r0   )rØ   r�  rš  ztuple[Any, ...])r[  r4   rš  r0   )rg  zMapping[str, str]rš  r0   )rc   úSequence[str]r�   rW   rš  r0   )rs  r"  rq  úbool | Sequence[bool]rr  rW   rš  r0   )r|  r�  rs  úIterable[str]r}  r¥  rš  r0   )r¤   z_EagerAllowedImpl | Noner‹  r   rš  r2   )r·   z(Sequence[str] | Sequence[PandasLikeExpr]r�  rW   rš  r6   )
rÚ   r0   r™  r¤  rš  r¤  r�  r"  rš  úpd.DataFrame)rÚ   r0   r�  r"  rš  r§  )rÚ   r0   r™  r¤  rš  r¤  rš  r§  )rÚ   r0   rÉ  r¢  rÊ  zdict[str, str]rš  r§  )rÚ   r0   r•  rC   r™  r£  rš  r£  r�  r"  rš  r0   )rÚ   r0   r™  r"  rš  r"  rä  r£  rå  r£  ræ  r@   r�  r"  rš  r0   )rê  r�  rš  r0   )
r7  r£  rò  rH   rî  rŸ  rF  r£  rš  r0   )r¤   z_LazyAllowedImpl | Nonerú  zSparkSession | Nonerš  r3   )rš  ztuple[int, int])r  rW   rš  zdict[str, Any])rš  r§  )rš  zpl.DataFrame)r/  zstr | Path | BytesIOrš  r›  )r/  r›  rš  r"  )r/  zstr | Path | BytesIO | Nonerš  z
str | None)rš  r   )r  ú
int | Noner:  zint | str | Nonerš  r   )rê  r�  r@  r�  rš  r0   )rC  r¤  rØ   r£  r¶   r£  rš  z#tuple[Sequence[str], Sequence[str]])rI  ztuple[str, ...]rš  r"  )r$  r¦  rR  r�  rS  r"  rš  r¢  )
r$  zIterable[tuple[str, ...]]rV  r�  rR  r�  rS  r"  rš  zIterator[str])
r$  zIterable[Any]rV  r�  rR  r�  rS  r"  rš  r¢  )
rC  r¤  rØ   r¤  r¶   r¤  ra  z?Literal['min', 'max', 'first', 'last', 'sum', 'mean', 'median']rš  r   )
rC  r¤  rØ   r¤  r¶   r¤  ra  úPivotAgg | Nonerš  r§  )rC  r¤  rØ   r£  r¶   r£  ra  r©  rr  rW   rS  r"  rš  r0   )rš  r   )
rê  r¨  r€  zfloat | Noner�  rW   r‚  r¨  rš  r0   )
rC  r£  rØ   r£  r‰  r"  r‡  r"  rš  r0   )rc   r¤  rš  r0   )XÚ__name__Ú
__module__Ú__qualname__rk   Úclassmethodro   r”   rª   Ústaticmethodr­   r|   rº   r½   rÀ   rÃ   rÊ   rÌ   rÏ   rÓ   rÝ   Úpropertyrâ   rå   rë   rò   rù   rý   r  r  r  rc   r   rñ   r  Ú_iter_columnsr  rš   r"  r%  r.  r:  rA  rU  r  r6  rd  r   ri  ru  r~  r�  r‘  rž  r«  r¼  rÆ  rÍ  rÖ  rÌ  rÞ  rç  r{  rí  rù  r  r  r  rê   rs   r‰  r0  r2  r8  r<  r>  rA  rD  rN  rT  rY  r[  rb  rj  rf  r†  r  rŠ  r‘  r‡   rl   rj   r[   r[   f   sF  „ ð */ñ-àð-ð 'ð	-ð
 ð-ð  $ð-ð #'ð-ð 
ó-ð" ò8ó ð8ð. ð-8àð-8ð
 !ð-8ð ?ð-8ð 
ò-8ó ð-8ð^ ð 8à)ð 8ð
 !ð 8ð ?ð 8ð 
ò 8ó ð 8ðD ò-ó ð-ð ò
ó ð
ð ð8àð8ð
 !ð8ð 2ð8ð 
ò8ó ð8ó0óóPó
	"ó ó
ð FJõ 
óð  ñ9ó ð9óMð5À$õ 5ó=ó
ó
ó 
ð

Ø>ð
à	ó
ó>ð ò,ó ð,ð ÚHó ØHàÚJó ØJàÚWó ØWó	5óEð !€Mð
>Øð
>Ø+.ð
>à	=ó
>ð ò
ó ð
óó
ó
Aó!ó*ó1ó(9ó
óBó(
ó

ó

ó

ð'Ø/ð'Ø;>ð'à	ó'ðTLØ<ðLØQUðLà	óLð	
Øð	
Ø'4ð	
Ø@Mð	
ØWZð	
à	ó	
ð1Øð1Ø'4ð1Ø@Mð1ØWZð1à	ó1ð.
Øð
Ø'4ð
Ø@Mð
ØWZð
à	ó
ó@Sð0

Øð

Ø'4ð

Ø@Mð

à	ó

ð$;Øð$;Ø'4ð$;Ø@Mð$;à	ó$;ðLØðØ.7ðØJXðà	óð(")àð")ð ð	")ð
 &ð")ð 'ð")ð ð")ð 
ó")ðH
àð
ð ð	
ð
 ð
ð &ð
ð 'ð
ð #ð
ð ð
ð 
ó
ó6SóSð '+ñ"Cà$ð"Cð !ð	"Cð
 $ð"Cð 'ð"Cð 
ó"CðN ,0ð@ð (,ñ	@à(ð@ð %ð	@ð
 
ó@ðD ò!ó ð!ó2ð-&Àõ -&ó^"ó0ó
%ð Ú/ó Ø/àÚ@ó Ø@ó5ó
ó
+ó"Ró[ðàðð $ðð %ð	ð 
-óð ò'ó ð'ð
 ð1Ø#ð1Ø/2ð1Ø?Bð1à	ò1ó ð1ð=à/ð=ð ð=ð ð	=ð
 ð=ð 
ó=ð"
YØ)ð
YØ47ð
YØCFð
YØSVð
Yà	ó
Yð
àð
ð ð
ð ð	
ð

ð
ð 
ó
ð,HàðHð ðHð ð	Hð
 ,ðHð 
óHð$&7àð&7ð $ð	&7ð
 %ð&7ð ,ð&7ð ð&7ð ð&7ð 
ó&7óP1ð
àð
ð ð	
ð
 ð
ð ð
ð 
ó
ð
à ð
ð $ð
ð ð	
ð
 ð
ð 
ó
ô (
rl   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+   rL  Úior,   Úpathlibr-   Útypesr.   r/   ÚpandasÚpdr  r  Ú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   rz   rL   Ú__annotations__Ú	frozensetr£   rY   r[   r‡   rl   rj   ú<module>rÌ     s  ðÞ "ç KÕ Kß $ß >Õ >ã å .ß X÷÷ ÷ ñ õ 1÷	÷ 	ó 	õ ;ß AÝ ,áÝÝÝ Ý ãÛß.çWÝ9Ý@ÝCÝ7Ý2ßDß8Ý%÷÷ ÷ ó ð & c¨2¯<©<Ð&7Ñ8€K�Ó8ñ 4=àˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�ÓØˆ�‰�Ó!Øˆ�‰Ð!Ó"Øˆ�‰Ð!Ó"Øˆ�‰Ð!Ó"Øˆ�‰Ð!Ó"Øˆ�‰Ð"Ó#Øˆ�‰Ð"Ó#Øˆ�‰Ð"Ó#Øˆ�‰�Óð)ó4Ð Ð0ó ô4R
ØÐPÑQõR
rl   