§
    Šhþh’t  ã                  ó.  — U d dl mZ d dlmZmZ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 d dlmZmZmZ d dlmZ d dlmZ d d	lmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& d d
l'm(Z( d dl)m*Z* er“d dlm+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2Z3d dl4Z5d dl6m7Z7m8Z8m9Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZI d dlJmKZKmLZL d dlmZmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZ e
d         Z[de\d<    G d„ d ed!         ¦  «        Z]dS )"é    )Úannotations)Ú
CollectionÚIteratorÚMappingÚSequence)ÚTYPE_CHECKINGÚAnyÚLiteralÚcastÚoverloadN)ÚArrowSeries)Úconcat_tablesÚnative_to_narwhals_dtypeÚrepeat)ÚEagerDataFrame)ÚExprKind)
ÚImplementationÚVersionÚcheck_column_names_are_uniqueÚconvert_str_slice_to_int_sliceÚgenerate_temporary_column_nameÚnot_implementedÚparse_columns_to_dropÚscale_bytesÚsupports_arrow_c_streamÚ
zip_strict)Úis_numpy_array_1d)Ú
ShapeError)ÚIterable)ÚBytesIO)ÚPath)Ú
ModuleType)ÚSelfÚ	TypeAliasÚTypeIs)Ú	ArrowExpr©ÚArrowGroupBy©ÚArrowNamespace)ÚChunkedArrayAnyÚOrder)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)r   Ú_LimitedContext)ÚDType)
Ú
IntoSchemaÚJoinStrategyÚSizedMultiIndexSelectorÚSizedMultiNameSelectorÚSizeUnitÚUniqueKeepStrategyÚ_1DArrayÚ_2DArrayÚ_SliceIndexÚ
_SliceName)ú	left semiz
right semiú	left antiz
right antiÚinnerú
left outerzright outerú
full outerr$   ÚJoinTypec                  ó°  — e Zd Zej        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)œdÑd+„ZedÒd-„¦   «         ZdÓd/„ZdÔd2„ZedÕd6„¦   «         ZedÖd9„¦   «         Zed×d;„¦   «         Zd×d<„ZdØd>„ZeZdÙdA„ZdÚdE„ZdÛdJ„ZdÜdM„Z dÝdO„Z!dÞdR„Z"dßdS„Z#dàdT„Z$dádV„Z%edâdX„¦   «         Z&dâdY„Z'dãd]„Z( e)¦   «         Z*edäd_„¦   «         Z+dåda„Z,dædd„Z-dçdg„Z.dædh„Z/dèdm„Z0dédt„Z1 e)¦   «         Z2dêdw„Z3dëdy„Z4dìd~„Z5díd‚„Z6dîd„„Z7dïd†„Z8dðd‡dˆœdÛd‰„Z9edñdŒ„¦   «         Z:edòdŽ„¦   «         Z:dód�„Z:dôd’„Z;dõd”„Z<död–„Z=död—„Z>	 dðd‡d˜œd÷dž„Z?død¢„Z@dÏd£„ZAdùd¨„ZBdúd«„ZCdûd®„ZDedüd¯„¦   «         ZEedûd°„¦   «         ZEdýd³„ZEdþd´„ZFd‡dµœdÿd¹„ZG�d d»„ZH�dd¼„ZI�ddÁ„ZJ�ddÅ„ZK e)¦   «         ZLd‡S (  ÚArrowDataFrameF)Úvalidate_backend_versionÚnative_dataframeúpa.TableÚversionr   Úvalidate_column_namesÚboolrG   ÚreturnÚNonec               óz   — |rt          |j        ¦  «         |r|                      ¦   «          || _        || _        d S ©N)r   Úcolumn_namesÚ_validate_backend_versionÚ_native_frameÚ_version)ÚselfrH   rJ   rK   rG   s        úP/var/www/histauto/venv/lib/python3.11/site-packages/narwhals/_arrow/dataframe.pyÚ__init__zArrowDataFrame.__init__Q   sL   € ð !ð 	IÝ)Ð*:Ô*GÑHÔHÐHØ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ø-ˆÔØˆŒˆˆó    Údatar0   Úcontextr3   r#   c              ó¬  — |j                              ¦   «         }|                      |¦  «        r|}n�|dk    st          |t          ¦  «        rt          j        |¦  «        }n]t          |¦  «        r'dt          |¦  «        j	        ›d�}t          |¦  «        ‚dt          |¦  «        j	        ›d�}t          |¦  «        ‚|                      ||¬¦  «        S )N)é   zB'pyarrow>=14.0.0' is required for `from_arrow` for object of type ú.z1`from_arrow` is not supported for object of type ©rZ   )Ú_implementationÚ_backend_versionÚ
_is_nativeÚ
isinstancer   ÚpaÚtabler   ÚtypeÚ__name__ÚModuleNotFoundErrorÚ	TypeErrorÚfrom_native)ÚclsrY   rZ   Úbackend_versionÚnativeÚmsgs         rV   Ú
from_arrowzArrowDataFrame.from_arrow`   sÐ   € à!Ô1×BÒBÑDÔDˆØ�>Š>˜$ÑÔð 		!ØˆFˆFØ Ò%Ð%­°D½*Ñ)EÔ)EÐ%Ý”X˜d‘^”^ˆFˆFÝ$ TÑ*Ô*ð 	!ØoÕW[Ð\`ÑWaÔWaÔWjÐoÐoÐoˆCÝ% cÑ*Ô*Ð*à^ÅdÈ4ÁjÄjÔFYÐ^Ð^Ð^ˆCÝ˜C‘.”.Ð Ø�Š˜v¨wˆÑ7Ô7Ð7rX   úMapping[str, Any]ÚschemaúIntoSchema | Nonec              óò   — ddl m} |� ||¦  «                             ¦   «         n|}|r|s|                     ¦   «         }n!t          j                             ||¬¦  «        }|                      ||¬¦  «        S ©Nr   ©ÚSchema©rp   r^   )Únarwhals.schemaru   Úto_arrowÚempty_tablerc   ÚTableÚfrom_pydictri   ©rj   rY   rZ   rp   ru   Ú	pa_schemarl   s          rV   Ú	from_dictzArrowDataFrame.from_dicto   ó�   € ð 	+Ð*Ð*Ð*Ð*Ð*à17Ð1C�F�F˜6‘N”N×+Ò+Ñ-Ô-Ð-Èˆ	Øð 	B˜Tð 	BØ×*Ò*Ñ,Ô,ˆFˆFå”X×)Ò)¨$°yÐ)ÑAÔAˆFØ�Š˜v¨wˆÑ7Ô7Ð7rX   úSequence[Mapping[str, Any]]c              óò   — ddl m} |� ||¦  «                             ¦   «         n|}|r|s|                     ¦   «         }n!t          j                             ||¬¦  «        }|                      ||¬¦  «        S rs   )rw   ru   rx   ry   rc   rz   Úfrom_pylistri   r|   s          rV   Ú
from_dictszArrowDataFrame.from_dicts�   r   rX   Úobjúpa.Table | AnyúTypeIs[pa.Table]c                ó6   — t          | t          j        ¦  «        S rP   )rb   rc   rz   )r„   s    rV   ra   zArrowDataFrame._is_native“   s   € å˜#�rœxÑ(Ô(Ð(rX   c              ó(   —  | ||j         d¬¦  «        S )NT©rJ   rK   )rT   )rj   rY   rZ   s      rV   ri   zArrowDataFrame.from_native—   s   € àˆs�4 Ô!1ÈÐNÑNÔNÐNrX   r<   ú!IntoSchema | Sequence[str] | Nonec              ón  — ddl m} d„ |j        D ¦   «         }t          |t          |f¦  «        r=t
          j                             | ||¦  «                             ¦   «         ¬¦  «        }n4t
          j                             ||  	                    ||¦  «        ¦  «        }|  
                    ||¬¦  «        S )Nr   rt   c                ó6   — g | ]}t          j        |¦  «        ‘ŒS © )rc   Úarray)Ú.0Úvals     rV   ú
<listcomp>z-ArrowDataFrame.from_numpy.<locals>.<listcomp>¦   s    € Ð2Ð2Ð2 C•"”(˜3‘-”-Ð2Ð2Ð2rX   rv   r^   )rw   ru   ÚTrb   r   rc   rz   Úfrom_arraysrx   Ú_numpy_column_namesri   )rj   rY   rZ   rp   ru   Úarraysrl   s          rV   Ú
from_numpyzArrowDataFrame.from_numpy›   s±   € ð 	+Ð*Ð*Ð*Ð*Ð*à2Ð2¨4¬6Ð2Ñ2Ô2ˆÝ�f�w¨Ð/Ñ0Ô0ð 	YÝ”X×)Ò)¨&¸¸À¹¼×9PÒ9PÑ9RÔ9RÐ)ÑSÔSˆFˆFå”X×)Ò)¨&°#×2IÒ2IÈ$ÐPVÑ2WÔ2WÑXÔXˆFØ�Š˜v¨wˆÑ7Ô7Ð7rX   r*   c                ó0   — ddl m}  || j        ¬¦  «        S )Nr   r)   )rJ   )Únarwhals._arrow.namespacer*   rT   )rU   r*   s     rV   Ú__narwhals_namespace__z%ArrowDataFrame.__narwhals_namespace__­   s)   € Ø<Ð<Ð<Ð<Ð<Ð<àˆ~ d¤mÐ4Ñ4Ô4Ð4rX   r"   c                ó¦   — | j         t          j        u r| j                              ¦   «         S dt	          | j         ¦  «        › �}t          |¦  «        ‚)NzExpected pyarrow, got: )r_   r   ÚPYARROWÚto_native_namespacere   ÚAssertionError)rU   rm   s     rV   Ú__native_namespace__z#ArrowDataFrame.__native_namespace__²   sN   € ØÔ¥>Ô#9Ð9Ð9ØÔ'×;Ò;Ñ=Ô=Ð=àD­¨TÔ-AÑ(BÔ(BÐDÐDˆÝ˜SÑ!Ô!Ð!rX   c                ó   — | S rP   r�   ©rU   s    rV   Ú__narwhals_dataframe__z%ArrowDataFrame.__narwhals_dataframe__¹   ó   € ØˆrX   c                ó   — | S rP   r�   r    s    rV   Ú__narwhals_lazyframe__z%ArrowDataFrame.__narwhals_lazyframe__¼   r¢   rX   c                ó<   — |                       | j        |d¬¦  «        S )NFr‰   )Ú	__class__rl   )rU   rJ   s     rV   Ú_with_versionzArrowDataFrame._with_version¿   s   € Ø�~Š~˜dœk°7ÐRWˆ~ÑXÔXÐXrX   T©rK   Údfc               ó<   — |                       || j        |¬¦  «        S )Nr‰   )r¦   rT   )rU   r©   rK   s      rV   Ú_with_nativezArrowDataFrame._with_nativeÂ   s'   € Ø�~Š~Ø˜œÐ=Rð ñ 
ô 
ð 	
rX   útuple[int, int]c                ó   — | j         j        S rP   )rl   Úshaper    s    rV   r®   zArrowDataFrame.shapeÇ   s   € àŒ{Ô Ð rX   Úintc                ó*   — t          | j        ¦  «        S rP   )Úlenrl   r    s    rV   Ú__len__zArrowDataFrame.__len__Ë   s   € Ý�4”;ÑÔÐrX   Úindexútuple[Any, ...]c                óh   ‡— t          ˆfd„| j                             ¦   «         D ¦   «         ¦  «        S )Nc              3  ó(   •K  — | ]}|‰         V — Œd S rP   r�   )r�   Úcolr³   s     €rV   ú	<genexpr>z%ArrowDataFrame.row.<locals>.<genexpr>Ï   s'   øè è € ÐEÐE C�S˜”ZÐEÐEÐEÐEÐEÐErX   )Útuplerl   Úitercolumns)rU   r³   s    `rV   ÚrowzArrowDataFrame.rowÎ   s4   ø€ ÝÐEÐEÐEÐE¨4¬;×+BÒ+BÑ+DÔ+DÐEÑEÔEÑEÔEÐErX   ÚnamedúLiteral[True]úlist[dict[str, Any]]c               ó   — d S rP   r�   ©rU   r¼   s     rV   ÚrowszArrowDataFrame.rowsÑ   s   € ØEHÀSrX   úLiteral[False]úlist[tuple[Any, ...]]c               ó   — d S rP   r�   rÀ   s     rV   rÁ   zArrowDataFrame.rowsÔ   s   € ØGJÀsrX   ú,list[tuple[Any, ...]] | list[dict[str, Any]]c               ó   — d S rP   r�   rÀ   s     rV   rÁ   zArrowDataFrame.rows×   s   € ØTWÐTWrX   c               ó€   — |s$t          |                      dd¬¦  «        ¦  «        S | j                             ¦   «         S )NFi   )r¼   Úbuffer_size)ÚlistÚ	iter_rowsrl   Ú	to_pylistrÀ   s     rV   rÁ   zArrowDataFrame.rowsÚ   s=   € Øð 	FÝ˜Ÿš¨UÀ˜ÑDÔDÑEÔEÐEØŒ{×$Ò$Ñ&Ô&Ð&rX   úIterator[ArrowSeries]c              #  ó    K  — t          | j        | j                             ¦   «         ¦  «        D ]\  }}t	          j        || |¬¦  «        V — Œd S )N©rZ   Úname)r   Úcolumnsrl   rº   r   ri   )rU   rÏ   Úseriess      rV   Úiter_columnszArrowDataFrame.iter_columnsß   sb   è è € Ý& t¤|°T´[×5LÒ5LÑ5NÔ5NÑOÔOð 	Kð 	K‰LˆD�&ÝÔ)¨&¸$ÀTÐJÑJÔJÐJÐJÐJÐJð	Kð 	KrX   rÈ   ú4Iterator[tuple[Any, ...]] | Iterator[dict[str, Any]]c             #  óH  K  — | j         }|j        }|sVt          d||¦  «        D ]B}||||z   …                              ¦   «                              ¦   «         }t          |Ž E d {V —† ŒCd S t          d||¦  «        D ]'}||||z   …                              ¦   «         E d {V —† Œ(d S ©Nr   )rl   Únum_rowsÚrangeÚ	to_pydictÚvaluesr   rË   )rU   r¼   rÈ   r©   rÖ   ÚirÁ   s          rV   rÊ   zArrowDataFrame.iter_rowså   sê   è è € ð Œ[ˆØ”;ˆàð 	?Ý˜1˜h¨Ñ4Ô4ð -ð -�Ø˜!˜a +™oÐ-Ô.×8Ò8Ñ:Ô:×AÒAÑCÔC�Ý% tÐ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ð-ð -õ ˜1˜h¨Ñ4Ô4ð ?ð ?�Ø˜a ! k¡/Ð1Ô2×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð?ð ?rX   rÏ   Ústrr   c                ó²   — t          |t          ¦  «        s!dt          |¦  «        › �}t          |¦  «        ‚t	          j        | j        |         | |¬¦  «        S )NzExpected str, got: rÎ   )rb   rÛ   re   rh   r   ri   rl   )rU   rÏ   rm   s      rV   Ú
get_columnzArrowDataFrame.get_columnó   sR   € Ý˜$¥Ñ$Ô$ð 	!Ø4­¨T©
¬
Ð4Ð4ˆCÝ˜C‘.”.Ð ÝÔ& t¤{°4Ô'8À$ÈTÐRÑRÔRÐRrX   Údtyper	   Úcopyúbool | Nonec               ó:   — | j                              ||¬¦  «        S )N©rß   )rl   Ú	__array__)rU   rÞ   rß   s      rV   rã   zArrowDataFrame.__array__ù   s   € ØŒ{×$Ò$ U°Ð$Ñ6Ô6Ð6rX   rÁ   ú(SizedMultiIndexSelector[ChunkedArrayAny]c                ó<  — t          |¦  «        dk    r.|                      | j                             dd¦  «        ¦  «        S | j        dk     r$t          |t          ¦  «        rt          |¦  «        }|                      | j                             |¦  «        ¦  «        S )Nr   )é   )	r±   r«   rl   Úslicer`   rb   r¹   rÉ   Útake)rU   rÁ   s     rV   Ú_gatherzArrowDataFrame._gatherü   sƒ   € Ýˆt‰9Œ9˜Š>ˆ>Ø×$Ò$ T¤[×%6Ò%6°q¸!Ñ%<Ô%<Ñ=Ô=Ð=ØÔ  5Ò(Ð(­Z¸½eÑ-DÔ-DÐ(Ý˜‘:”:ˆDØ× Ò  ¤×!1Ò!1°$Ñ!7Ô!7Ñ8Ô8Ð8rX   ú_SliceIndex | rangec                ót  — |j         pd}|j        �|j        nt          | j        ¦  «        }|dk     rt          | j        ¦  «        |z   }|dk     rt          | j        ¦  «        |z   }|j        �|j        dk    rd}t          |¦  «        ‚|                      | j                             |||z
  ¦  «        ¦  «        S )Nr   é   z4Slicing with step is not supported on PyArrow tables)ÚstartÚstopr±   rl   ÚstepÚNotImplementedErrorr«   rç   )rU   rÁ   rí   rî   rm   s        rV   Ú_gather_slicezArrowDataFrame._gather_slice  s²   € Ø”
�˜aˆØ œIÐ1ˆtŒyˆyµs¸4¼;Ñ7GÔ7GˆØ�1Š9ˆ9Ý˜œÑ$Ô$ uÑ,ˆEØ�!Š8ˆ8Ý�t”{Ñ#Ô# dÑ*ˆDØŒ9Ð  T¤Y°!¢^ ^ØHˆCÝ% cÑ*Ô*Ð*Ø× Ò  ¤×!2Ò!2°5¸$À¹,Ñ!GÔ!GÑHÔHÐHrX   rÐ   r>   c                óª   — t          || j        ¦  «        \  }}}|                      | j                             | j        |||…         ¦  «        ¦  «        S rP   )r   rÐ   r«   rl   Úselect)rU   rÐ   rí   rî   rï   s        rV   Ú_select_slice_namez!ArrowDataFrame._select_slice_name  sK   € Ý:¸7ÀDÄLÑQÔQÑˆˆt�TØ× Ò  ¤×!3Ò!3°D´LÀÀtÈDÀÔ4QÑ!RÔ!RÑSÔSÐSrX   c                ó–   — |                       | j                             | j        |j        |j        |j        …         ¦  «        ¦  «        S rP   )r«   rl   ró   rÐ   rí   rî   rï   )rU   rÐ   s     rV   Ú_select_slice_indexz"ArrowDataFrame._select_slice_index  sA   € Ø× Ò ØŒK×Ò˜tœ|¨G¬M¸G¼LÈ7Ì<Ð,WÔXÑYÔYñ
ô 
ð 	
rX   c                ó"  — t          |t          j        ¦  «        r#t          d|                     ¦   «         ¦  «        }n&t          |¦  «        r|                     ¦   «         }n|}|                      | j         	                    |¦  «        ¦  «        S )NzSequence[int])
rb   rc   ÚChunkedArrayr   rË   r   Útolistr«   rl   ró   ©rU   rÐ   Úselectors      rV   Ú_select_multi_indexz"ArrowDataFrame._select_multi_index  s�   € õ �g�rœÑ/Ô/ð 	å˜O¨W×->Ò->Ñ-@Ô-@ÑAÔAˆHˆHõ ˜wÑ'Ô'ð 	Ø—~’~Ñ'Ô'ˆHˆHàˆHØ× Ò  ¤×!3Ò!3°HÑ!=Ô!=Ñ>Ô>Ð>rX   ú'SizedMultiNameSelector[ChunkedArrayAny]c                óÚ   — t          |t          j        ¦  «        r#t          d|                     ¦   «         ¦  «        }n|}|                      | j                             |¦  «        ¦  «        S )NúSequence[str])rb   rc   rø   r   rË   r«   rl   ró   rú   s      rV   Ú_select_multi_namez!ArrowDataFrame._select_multi_name'  s^   € õ �g�rœÑ/Ô/ð 	å˜O¨W×->Ò->Ñ-@Ô-@ÑAÔAˆHˆHàˆHà× Ò  ¤×!3Ò!3°HÑ!=Ô!=Ñ>Ô>Ð>rX   údict[str, DType]c                ó4   ‡ — ˆ fd„‰ j         j        D ¦   «         S )Nc                óP   •— i | ]"}|j         t          |j        ‰j        ¦  «        “Œ#S r�   )rÏ   r   re   rT   )r�   ÚfieldrU   s     €rV   ú
<dictcomp>z)ArrowDataFrame.schema.<locals>.<dictcomp>5  s<   ø€ ð 
ð 
ð 
àð ŒJÕ0°´¸T¼]ÑKÔKð
ð 
ð 
rX   )rl   rp   r    s   `rV   rp   zArrowDataFrame.schema3  s3   ø€ ð
ð 
ð 
ð 
àœÔ+ð
ñ 
ô 
ð 	
rX   c                ó   — | j         S rP   rv   r    s    rV   Úcollect_schemazArrowDataFrame.collect_schema:  ó
   € ØŒ{ÐrX   Úunitr9   úint | floatc                ó:   — | j         j        }t          ||¦  «        S rP   )rl   Únbytesr   )rU   r	  Úszs      rV   Úestimated_sizezArrowDataFrame.estimated_size=  s   € ØŒ[ÔˆÝ˜2˜tÑ$Ô$Ð$rX   ú	list[str]c                ó   — | j         j        S rP   )rl   rQ   r    s    rV   rÐ   zArrowDataFrame.columnsC  s   € àŒ{Ô'Ð'rX   rQ   c                óz   — |                       | j                             t          |¦  «        ¦  «        d¬¦  «        S ©NFr¨   )r«   rl   ró   rÉ   )rU   rQ   s     rV   Úsimple_selectzArrowDataFrame.simple_selectG  s<   € Ø× Ò ØŒK×Ò�t LÑ1Ô1Ñ2Ô2È%ð !ñ 
ô 
ð 	
rX   Úexprsr&   c                óB  —  | j         |Ž }|s4|                      | j        j                             g ¦  «        d¬¦  «        S d„ |D ¦   «         }|d         j        } ||Ž }t          j                             d„ |D ¦   «         |¬¦  «        }|                      |d¬¦  «        S )NFr¨   c                ó   — g | ]	}|j         ‘Œ
S r�   ©rÏ   ©r�   Úss     rV   r‘   z)ArrowDataFrame.select.<locals>.<listcomp>S  s   € Ð,Ð,Ð,˜A�”Ð,Ð,Ð,rX   r   c                ó   — g | ]	}|j         ‘Œ
S r�   ©rl   r  s     rV   r‘   z)ArrowDataFrame.select.<locals>.<listcomp>V  s   € Ð">Ð">Ð">° 1¤8Ð">Ð">Ð">rX   )ÚnamesT)Ú_evaluate_into_exprsr«   rl   r¦   r“   Ú_align_full_broadcastrc   rz   )rU   r  Ú
new_seriesr  ÚalignÚreshapedr©   s          rV   ró   zArrowDataFrame.selectL  s½   € Ø.�TÔ.°Ð6ˆ
Øð 	à×$Ò$Ø”Ô%×1Ò1°"Ñ5Ô5ÈUð %ñ ô ð ð -Ð, Ð,Ñ,Ô,ˆØ˜1”Ô3ˆØ�5˜*Ð%ˆÝŒX×!Ò!Ð">Ð">°XÐ">Ñ">Ô">ÀeÐ!ÑLÔLˆØ× Ò  ¸4Ð Ñ@Ô@Ð@rX   Úotherr+   c                ó   — t          | ¦  «        }|j        s4t          |¦  «        x}|k    rd|› d|› d�}t          |¦  «        ‚|j        S |j        d         }t	          j        t	          j        ||¦  «        g¦  «        S )NzExpected object of length z, got: r]   r   )r±   Ú
_broadcastr   rl   rc   Úchunked_arrayr   )rU   r"  ÚlengthÚ	len_otherrm   Úvalues         rV   Ú_extract_comparandz!ArrowDataFrame._extract_comparandY  s…   € Ý�T‘”ˆØÔð 	 Ý  ™ZœZÐ'�	¨FÒ2Ð2ØN°6ÐNÐNÀ)ÐNÐNÐN�Ý  ‘o”oÐ%Ø”<Ðà”˜Q”ˆÝÔ¥¤¨5°&Ñ!9Ô!9Ð :Ñ;Ô;Ð;rX   c                ó.  — | j         } | j        |Ž }| j        }|D ]d}|j        }|                      |¦  «        }||v r+|                     |                     |¦  «        ||¬¦  «        n|                     ||¬¦  «        }Œe|                      |d¬¦  «        S )N)ÚcolumnFr¨   )	rl   r  rÐ   rÏ   r)  Ú
set_columnr³   Úappend_columnr«   )rU   r  Únative_frameÚnew_columnsrÐ   Ú	col_valueÚcol_namer+  s           rV   Úwith_columnszArrowDataFrame.with_columnsd  s¹   € ð ”{ˆØ/�dÔ/°Ð7ˆØ”,ˆà$ð 	ð 	ˆIØ ”~ˆHØ×,Ò,¨YÑ7Ô7ˆFð ˜wÐ&Ð&ð ×'Ò'¨¯ª°hÑ(?Ô(?ÀÐRXÐ'ÑYÔYÐYà!×/Ò/°ÀÐ/ÑHÔHð ˆLð × Ò  ÀUÐ ÑKÔKÐKrX   Úkeysú#Sequence[str] | Sequence[ArrowExpr]Údrop_null_keysr(   c               ó*   — ddl m}  || ||¬¦  «        S )Nr   r'   )r5  )Únarwhals._arrow.group_byr(   )rU   r3  r5  r(   s       rV   Úgroup_byzArrowDataFrame.group_byv  s-   € ð 	:Ð9Ð9Ð9Ð9Ð9àˆ|˜D $°~ÐFÑFÔFÐFrX   Úhowr6   Úleft_onúSequence[str] | NoneÚright_onÚsuffixc          
     ó  — ddddddœ}|dk    �r,|                       ¦   «         }t          dg | j        ¢|j        ¢¬	¦  «        }|                      |                      |                     d
d ¦  «                             |¦  «                             t          j	        ¦  «        ¦  «        j
                             |                     |                     d
d ¦  «                             |¦  «                             t          j	        ¦  «        ¦  «        j
        ||d|¬¦  «                             |g¦  «        ¦  «        S |dk    }	|                      | j
                             |j
        |pg |||         ||	¬¦  «        ¦  «        S )Nr@   r?   rA   rB   rC   )ÚantiÚsemirA   ÚleftÚfullÚcrossé   ©Ún_bytesrÐ   r   )r3  Ú
right_keysÚ	join_typeÚright_suffixrB  )r3  rG  rH  rI  Úcoalesce_keys)r™   r   rÐ   r«   r2  ÚlitÚaliasÚ	broadcastr   ÚLITERALrl   ÚjoinÚdrop)
rU   r"  r9  r:  r<  r=  Úhow_to_join_mapÚplxÚ	key_tokenrJ  s
             rV   rO  zArrowDataFrame.join}  s•  € ð  ØØØ Ø ð0
ð 0
ˆð �'Š>‰>Ø×-Ò-Ñ/Ô/ˆCÝ6ØÐ#B T¤\Ð#B°E´MÐ#Bðñ ô ˆIð ×$Ò$Ø×!Ò!Ø—G’G˜A˜tÑ$Ô$×*Ò*¨9Ñ5Ô5×?Ò?ÅÔ@PÑQÔQñô ô ŸšØ×&Ò&ØŸš  4Ñ(Ô(×.Ò.¨yÑ9Ô9×CÒCÅHÔDTÑUÔUñô äØ"Ø(Ø%Ø!'ð ñ ô ÷ ’�y�kÑ"Ô"ñô ð ð  ˜všˆØ× Ò ØŒK×ÒØ”Ø�] Ø#Ø)¨#Ô.Ø#Ø+ð ñ ô ñ	
ô 	
ð 		
rX   rÿ   Ústrictc               ó„   — t          | ||¬¦  «        }|                      | j                             |¦  «        d¬¦  «        S )N©rT  Fr¨   )r   r«   rl   rP  )rU   rÐ   rT  Úto_drops       rV   rP  zArrowDataFrame.drop²  s@   € Ý'¨¨g¸fÐEÑEÔEˆØ× Ò  ¤×!1Ò!1°'Ñ!:Ô!:ÐRWÐ ÑXÔXÐXrX   Úsubsetc                ó  — |€.|                       | j                             ¦   «         d¬¦  «        S |                      ¦   «         }|                      |j        |Ž                      ¦   «         d¬¦  «         }|                      |¦  «        S )NFr¨   T)Úignore_nulls)r«   rl   Ú	drop_nullr™   Úany_horizontalr·   Úis_nullÚfilter)rU   rX  rR  Úmasks       rV   Ú
drop_nullszArrowDataFrame.drop_nulls¶  s‚   € Øˆ>Ø×$Ò$ T¤[×%:Ò%:Ñ%<Ô%<ÐTYÐ$ÑZÔZÐZØ×)Ò)Ñ+Ô+ˆØ×"Ò" 7 3¤7¨FÐ#3×#;Ò#;Ñ#=Ô#=ÈDÐ"ÑQÔQÐQˆØ�{Š{˜4Ñ Ô Ð rX   ÚbyÚ
descendingúbool | Sequence[bool]Ú
nulls_lastc               óú   ‡— t          |t          ¦  «        r|rdndŠˆfd„|D ¦   «         }nd„ t          ||¦  «        D ¦   «         }|rdnd}|                      | j                             ||¬¦  «        d¬	¦  «        S )
Nrb  Ú	ascendingc                ó   •— g | ]}|‰f‘ŒS r�   r�   ©r�   ÚkeyÚorders     €rV   r‘   z'ArrowDataFrame.sort.<locals>.<listcomp>À  ó   ø€ Ð/KÐ/KÐ/KÀ°°e°Ð/KÐ/KÐ/KrX   c                ó$   — g | ]\  }}||rd ndf‘ŒS )rb  rf  r�   )r�   ri  Úis_descendings      rV   r‘   z'ArrowDataFrame.sort.<locals>.<listcomp>Â  s:   € ð ð ð á&�C˜ð  mÐD�l�l¸ÐEðð ð rX   Úat_endÚat_start)Únull_placementFr¨   )rb   rL   r   r«   rl   Úsort_by)rU   rb  rd  ra  Úsortingrp  rj  s         @rV   ÚsortzArrowDataFrame.sort½  s®   ø€ Ý�j¥$Ñ'Ô'ð 	Ø+5ÐF˜<˜<¸;ˆEØ/KÐ/KÐ/KÐ/KÈÐ/KÑ/KÔ/KˆGˆGðð å*4°R¸Ñ*DÔ*Dðñ ô ˆGð
 &0Ð?˜˜°Zˆà× Ò ØŒK×Ò ¸ÐÑGÔGØ"'ð !ñ 
ô 
ð 	
rX   ÚkúIterable[str]Úreversec          	     ó  ‡— t          |t          ¦  «        r|rdndŠˆfd„|D ¦   «         }nd„ t          ||¦  «        D ¦   «         }|                      | j                             t          j        | j        ||¦  «        ¦  «        d¬¦  «        S )Nrf  rb  c                ó   •— g | ]}|‰f‘ŒS r�   r�   rh  s     €rV   r‘   z(ArrowDataFrame.top_k.<locals>.<listcomp>Ñ  rk  rX   c                ó$   — g | ]\  }}||rd ndf‘ŒS )rf  rb  r�   )r�   ri  Úis_ascendings      rV   r‘   z(ArrowDataFrame.top_k.<locals>.<listcomp>Ó  s:   € ð ð ð á%�C˜ð  \ÐC�k�k°|ÐDðð ð rX   Fr¨   )rb   rL   r   r«   rl   rè   ÚpcÚselect_k_unstable)rU   rt  ra  rv  rr  rj  s        @rV   Útop_kzArrowDataFrame.top_kÎ  s¬   ø€ Ý�g�tÑ$Ô$ð 	Ø*1ÐC˜;˜;°|ˆEØ/KÐ/KÐ/KÐ/KÈÐ/KÑ/KÔ/KˆGˆGðð å)3°B¸Ñ)@Ô)@ðñ ô ˆGð × Ò ØŒK×Ò�RÔ1°$´+¸qÀ'ÑJÔJÑKÔKØ"'ð !ñ 
ô 
ð 	
rX   úpd.DataFramec                ó4   — | j                              ¦   «         S rP   )rl   Ú	to_pandasr    s    rV   r€  zArrowDataFrame.to_pandasÜ  s   € ØŒ{×$Ò$Ñ&Ô&Ð&rX   úpl.DataFramec                ó4   — dd l } |j        | j        ¦  «        S rÕ   )Úpolarsrn   rl   )rU   Úpls     rV   Ú	to_polarszArrowDataFrame.to_polarsß  s"   € ØÐÐÐàˆrŒ}˜Tœ[Ñ)Ô)Ð)rX   Nrâ   c               ó`   — dd l }|                     d„ | j        j        D ¦   «         ¦  «        }|S )Nr   c                ó6   — g | ]}|                      ¦   «         ‘ŒS r�   )Úto_numpy)r�   r·   s     rV   r‘   z+ArrowDataFrame.to_numpy.<locals>.<listcomp>ç  s    € Ð#RÐ#RÐ#R°s C§L¢L¡N¤NÐ#RÐ#RÐ#RrX   )ÚnumpyÚcolumn_stackrl   rÐ   )rU   rÞ   rß   ÚnpÚarrs        rV   rˆ  zArrowDataFrame.to_numpyä  s8   € ØÐÐÐà—?’?Ð#RÐ#R¸d¼kÔ>QÐ#RÑ#RÔ#RÑSÔSˆØˆ
rX   Ú	as_seriesúdict[str, ArrowSeries]c               ó   — d S rP   r�   ©rU   r�  s     rV   Úto_dictzArrowDataFrame.to_dictê  s   € ØNQÈcrX   údict[str, list[Any]]c               ó   — d S rP   r�   r�  s     rV   r‘  zArrowDataFrame.to_dictí  s   € ØMPÈSrX   ú-dict[str, ArrowSeries] | dict[str, list[Any]]c               ó^   — |                       ¦   «         }|rd„ |D ¦   «         S d„ |D ¦   «         S )Nc                ó   — i | ]
}|j         |“ŒS r�   r  ©r�   Úsers     rV   r  z*ArrowDataFrame.to_dict.<locals>.<dictcomp>õ  s   € Ð0Ð0Ð0 c�C”H˜cÐ0Ð0Ð0rX   c                óB   — i | ]}|j         |                     ¦   «         “ŒS r�   )rÏ   Úto_listr—  s     rV   r  z*ArrowDataFrame.to_dict.<locals>.<dictcomp>ö  s$   € Ð6Ð6Ð6¨C�”˜#Ÿ+š+™-œ-Ð6Ð6Ð6rX   )rÒ   )rU   r�  Úits      rV   r‘  zArrowDataFrame.to_dictð  sE   € ð ×ÒÑ Ô ˆØð 	1Ø0Ð0¨RÐ0Ñ0Ô0Ð0Ø6Ð6°2Ð6Ñ6Ô6Ð6rX   Úorder_byc                ó"  — |                       ¦   «         }|€udd l}t          j        |                     t          | ¦  «        |j        ¬¦  «        ¦  «        }|j                             |j	         
                    || |¬¦  «        ¦  «        }n]|                     |d         ¦  «                             dd¬¦  «        }|                     g |¬¦  «        dz
                       |¦  «        }|                      ||                     ¦   «         ¦  «        S )	Nr   )rÞ   rÎ   ÚordinalF)rb  )Úpartition_byrœ  rì   )r™   r‰  rc   rŽ   Úaranger±   Úint64Ú_exprÚ_from_seriesÚ_seriesÚfrom_iterabler·   ÚrankÚoverrL  ró   Úall)rU   rÏ   rœ  rR  r‹  rY   Ú	row_indexr¦  s           rV   Úwith_row_indexzArrowDataFrame.with_row_indexø  sî   € Ø×)Ò)Ñ+Ô+ˆØÐØÐÐÐå”8˜BŸIšI¥c¨$¡i¤i°r´x˜IÑ@Ô@ÑAÔAˆDØœ	×.Ò.Ø”×)Ò)¨$¸À4Ð)ÑHÔHñô ˆIˆIð —7’7˜8 Aœ;Ñ'Ô'×,Ò,¨YÀ5Ð,ÑIÔIˆDØŸš°¸X˜ÑFÔFÈÑJ×QÒQÐRVÑWÔWˆIØ�{Š{˜9 c§g¢g¡i¤iÑ0Ô0Ð0rX   Ú	predicatec                ó    — |                       |¦  «        d         j        }|                      | j                             |¦  «        d¬¦  «        S ©Nr   Fr¨   )r  rl   r«   r^  )rU   r«  Úmask_natives      rV   r^  zArrowDataFrame.filter  sO   € à×/Ò/°	Ñ:Ô:¸1Ô=ÔDˆØ× Ò ØŒK×Ò˜{Ñ+Ô+À5ð !ñ 
ô 
ð 	
rX   Únc           
     óø   — | j         }|dk    r+|                      |                     d|¦  «        d¬¦  «        S |j        }|                      |                     dt	          d||z   ¦  «        ¦  «        d¬¦  «        S r­  )rl   r«   rç   rÖ   Úmax©rU   r¯  r©   rÖ   s       rV   ÚheadzArrowDataFrame.head  s|   € ØŒ[ˆØ�Š6ˆ6Ø×$Ò$ R§X¢X¨a°¡^¤^È5Ð$ÑQÔQÐQØ”;ˆØ× Ò Ø�HŠH�Q�˜A˜x¨!™|Ñ,Ô,Ñ-Ô-ÀUð !ñ 
ô 
ð 	
rX   c           	     ó  — | j         }|dk    rB|j        }|                      |                     t	          d||z
  ¦  «        ¦  «        d¬¦  «        S |                      |                     t          |¦  «        ¦  «        d¬¦  «        S r­  )rl   rÖ   r«   rç   r±  Úabsr²  s       rV   ÚtailzArrowDataFrame.tail  s‚   € ØŒ[ˆØ�Š6ˆ6Ø”{ˆHØ×$Ò$Ø—’�˜Q ¨1¡Ñ-Ô-Ñ.Ô.Àeð %ñ ô ð ð × Ò  §¢­#¨a©&¬&Ñ!1Ô!1ÈÐ ÑOÔOÐOrX   )ÚsessionÚbackendú_LazyAllowedImpl | Noner·  úSparkSession | Noner.   c               ó6  — |€| S |t           j        u r7dd l}ddlm} | j        } ||                     d¦  «        d| j        ¬¦  «        S |t           j        u rPdd l	}ddl
m}  |t          d |j        | j        ¦  «        ¦  «                             ¦   «         d| j        ¬¦  «        S |t           j        u rIdd lm} ddlm}	  |	|                     | j                             ¦   «         ¦  «        d| j        ¬¦  «        S |t           j        u r<dd l}
dd	lm}  ||
                     | j        | j        ¬
¦  «        d| j        ¬¦  «        S |                     ¦   «         r7ddlm} |€d}t?          |¦  «        ‚|                      | ||| j        ¬¦  «        S tB          ‚)Nr   )ÚDuckDBLazyFrameÚ_dfT©rG   rJ   )ÚPolarsLazyFramer�  )ÚDaskLazyFrame)ÚIbisLazyFrame)rÐ   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)r·  ÚimplementationrJ   )"r   ÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframer¼  rl   rd   rT   ÚPOLARSrƒ  Únarwhals._polars.dataframer¿  r   rn   ÚlazyÚDASKÚdask.dataframeÚ	dataframeÚnarwhals._dask.dataframerÀ  Úfrom_pandasr€  ÚIBISÚibisÚnarwhals._ibis.dataframerÁ  ÚmemtablerÐ   Úis_spark_likeÚnarwhals._spark_like.dataframerÂ  Ú
ValueErrorÚ_from_compliant_dataframer�   )rU   r¸  r·  rÅ  r¼  r½  r„  r¿  ÚddrÀ  rÐ  rÁ  rÂ  rm   s                 rV   rÉ  zArrowDataFrame.lazy  s&  € ð ˆ?ØˆKØ•nÔ+Ð+Ð+ØˆMˆMˆMàBÐBÐBÐBÐBÐBà”+ˆCØ"�?Ø—’˜UÑ#Ô#¸dÈDÌMðñ ô ð ð •nÔ+Ð+Ð+ØÐÐÐàBÐBÐBÐBÐBÐBà"�?Ý�^ ] R¤]°4´;Ñ%?Ô%?Ñ@Ô@×EÒEÑGÔGØ)-Øœðñ ô ð ð
 •nÔ)Ð)Ð)Ø'Ð'Ð'Ð'Ð'Ð'à>Ð>Ð>Ð>Ð>Ð>à �=Ø—’˜tœ{×4Ò4Ñ6Ô6Ñ7Ô7Ø)-Øœðñ ô ð ð
 •nÔ)Ð)Ð)ØˆKˆKˆKà>Ð>Ð>Ð>Ð>Ð>à �=Ø—’˜dœk°4´<�Ñ@Ô@Ø)-Øœðñ ô ð ð × Ò Ñ"Ô"ð 		ØIÐIÐIÐIÐIÐIàˆØM�Ý  ‘o”oÐ%à%×?Ò?Ø˜g°gÀtÄ}ð @ñ ô ð õ ÐrX   ú_EagerAllowedImpl | NoneÚkwargsr-   c                ó²  — |t           j        u s|€ddlm}  || j        | j        d¬¦  «        S |t           j        u r<ddlm}  || j         	                    ¦   «         t           j        d| j        d¬¦  «        S |t           j
        u r>dd l}ddlm}  |t          d	 |j        | j        ¦  «        ¦  «        d| j        ¬
¦  «        S d|› �}t!          |¦  «        ‚)Nr   )rF   Fr‰   )ÚPandasLikeDataFrameT)rÃ  rG   rJ   rK   )ÚPolarsDataFramer�  r¾  zUnsupported `backend` value: )r   r›   Únarwhals._arrow.dataframerF   rl   rT   ÚPANDASÚnarwhals._pandas_like.dataframerÛ  r€  rÇ  rƒ  rÈ  rÜ  r   rn   r�   )rU   r¸  rÙ  rF   rÛ  r„  rÜ  rm   s           rV   ÚcollectzArrowDataFrame.collect\  s1  € ð •nÔ,Ð,Ð,°°Ø@Ð@Ð@Ð@Ð@Ð@à!�>Ø” T¤]È%ðñ ô ð ð •nÔ+Ð+Ð+ØKÐKÐKÐKÐKÐKà&Ð&Ø”×%Ò%Ñ'Ô'Ý-Ô4Ø)-ØœØ&+ðñ ô ð ð •nÔ+Ð+Ð+ØÐÐÐàBÐBÐBÐBÐBÐBà"�?Ý�^ ] R¤]°4´;Ñ%?Ô%?Ñ@Ô@Ø)-Øœðñ ô ð ð 8¨gÐ7Ð7ˆÝ˜SÑ!Ô!Ð!rX   c                ó:   — |                       | j        d¬¦  «        S r  ©r«   rl   r    s    rV   ÚclonezArrowDataFrame.clone  s   € Ø× Ò  ¤ÀEÐ ÑJÔJÐJrX   r»   ú
int | Noner+  úint | str | Nonec                ób  — ddl m} |€D|€B| j        dk    rd| j        ›�}t          |¦  «        ‚ || j        d         d         d¬¦  «        S |�|€d}t          |¦  «        ‚t          |t          ¦  «        r| j                             |¦  «        n|} || j        |         |         d¬¦  «        S )Nr   )Úmaybe_extract_py_scalar)rì   rì   zycan only call `.item()` if the dataframe is of shape (1, 1), or if explicit row/col values are provided; frame has shape T)Úreturn_py_scalarz8cannot call `.item()` with only one of `row` or `column`)	Únarwhals._arrow.seriesrç  r®   rÕ  rl   rb   rÛ   rÐ   r³   )rU   r»   r+  rç  rm   Ú_cols         rV   ÚitemzArrowDataFrame.item‚  sØ   € ØBÐBÐBÐBÐBÐBàˆ;˜6˜>ØŒz˜VÒ#Ð#ð7à(,¬
ð7ð 7ð õ
 ! ‘o”oÐ%Ø*Ð*¨4¬;°q¬>¸!Ô+<ÈtÐTÑTÔTÐTàˆ;˜&˜.ØLˆCÝ˜S‘/”/Ð!å-7¸ÅÑ-DÔ-DÐPˆtŒ|×!Ò! &Ñ)Ô)Ð)È&ˆØ&Ð& t¤{°4Ô'8¸Ô'=ÐPTÐUÑUÔUÐUrX   ÚmappingúMapping[str, str]c                ó¼   ‡— | j         dk    rt          d‰¦  «        }nˆfd„| j        D ¦   «         }|                      | j                             |¦  «        ¦  «        S )N)é   zdict[str, str]c                ó<   •— g | ]}‰                      ||¦  «        ‘ŒS r�   )Úget)r�   Úcrì  s     €rV   r‘   z)ArrowDataFrame.rename.<locals>.<listcomp>›  s'   ø€ Ð=Ð=Ð=¨1�W—[’[  AÑ&Ô&Ð=Ð=Ð=rX   )r`   r   rÐ   r«   rl   Úrename_columns)rU   rì  r  s    ` rV   ÚrenamezArrowDataFrame.rename–  sb   ø€ àÔ  EÒ)Ð)ÝÐ)¨7Ñ3Ô3ˆEˆEà=Ð=Ð=Ð=°´Ð=Ñ=Ô=ˆEØ× Ò  ¤×!;Ò!;¸EÑ!BÔ!BÑCÔCÐCrX   Úfileústr | Path | BytesIOc                óH   — dd l m} |                     | j        |¦  «         d S rÕ   )Úpyarrow.parquetÚparquetÚwrite_tablerl   )rU   rõ  Úpps      rV   Úwrite_parquetzArrowDataFrame.write_parquetž  s0   € Ø$Ð$Ð$Ð$Ð$Ð$à
�Š�t”{ DÑ)Ô)Ð)Ð)Ð)rX   c                ó   — d S rP   r�   ©rU   rõ  s     rV   Ú	write_csvzArrowDataFrame.write_csv£  s   € Ø,/¨CrX   c                ó   — d S rP   r�   rþ  s     rV   rÿ  zArrowDataFrame.write_csv¦  s   € Ø=@¸SrX   ústr | Path | BytesIO | Noneú
str | Nonec                ó  — dd l m} |€ft          j        ¦   «         }|                     | j        |¦  «         |                     ¦   «                              ¦   «                              ¦   «         S |                     | j        |¦  «         d S rÕ   )	Úpyarrow.csvÚcsvrc   ÚBufferOutputStreamrÿ  rl   ÚgetvalueÚ
to_pybytesÚdecode)rU   rõ  Úpa_csvÚ
csv_buffers       rV   rÿ  zArrowDataFrame.write_csv©  s†   € Ø$Ð$Ð$Ð$Ð$Ð$àˆ<ÝÔ.Ñ0Ô0ˆJØ×Ò˜Tœ[¨*Ñ5Ô5Ð5Ø×&Ò&Ñ(Ô(×3Ò3Ñ5Ô5×<Ò<Ñ>Ô>Ð>Ø×Ò˜œ dÑ+Ô+Ð+ØˆtrX   c                ó   — dd l }t          d| j        ¬¦  «        }t          j        |                     t          | ¦  «        ¦  «        ¦  «        }| j                             ||¦  «         	                    | j        ¦  «         
                    |df|dfg¦  «        }t          j        t          j        t          j        |||› d�         ¦  «        t          j        |||› d�         ¦  «        ¦  «        ¦  «        }t          j        || ¬¦  «        S )	Nr   rD  rE  Úminr±  Ú_minÚ_maxr^   )r‰  r   rÐ   rc   rŽ   r   r±   rl   r-  r8  Ú	aggregater%  r{  Úand_Úis_inr   ri   )rU   r‹  Ú	col_tokenr©  Úkeep_idxrl   s         rV   Ú	is_uniquezArrowDataFrame.is_unique³  sý   € ØÐÐÐå2¸1ÀdÄlÐSÑSÔSˆ	Ý”H˜RŸYšY¥s¨4¡y¤yÑ1Ô1Ñ2Ô2ˆ	àŒK×%Ò% i°Ñ;Ô;ßŠX�d”lÑ#Ô#ßŠY˜ EÐ*¨Y¸Ð,>Ð?Ñ@Ô@ð 	õ
 Ô!ÝŒGÝ”˜ H°	Ð-?Ð-?Ð-?Ô$@ÑAÔAÝ”˜ H°	Ð-?Ð-?Ð-?Ô$@ÑAÔAñô ñ
ô 
ˆõ Ô& v°tÐ<Ñ<Ô<Ð<rX   )Úmaintain_orderÚkeepr:   r  c          
     ó.  — dd l }|r|                      |¦  «        x}r|‚t          |p| j        ¦  «        }|dv �rddlm} |j        |         }t          d| j        ¬¦  «        }	|r„|r‚t          dg | j        ¢|	‘¬¦  «        }
 |                      |
d ¬¦  «        j	        |dddœŽ 
                    ||dd ¬	¦  «        }| 	                    |
dd¬
¦  «                             |
gd¬¦  «        S |r | j	        |dddœŽj        }n| j        }|                     |	t          j        |                     t#          | ¦  «        ¦  «        ¦  «        ¦  «                             |¦  «                             |	|fg¦  «                             |	› d|› �¦  «        }|                      |                     |¦  «        d¬¦  «        S  | j        |Ž                      ¦   «         }|                      ¦   «         }|                      |j                             |¦  «        ¦  «        S )Nr   >   ÚanyÚlastÚfirstr'   rD  rE  )rœ  F)rd  rb  )rX  r  r  rœ  )rb  rd  rV  Ú_r¨   )r‰  Ú_check_columns_existrÉ   rÐ   r7  r(   Ú_REMAP_UNIQUEr   rª  rs  ÚuniquerP  rl   r-  rc   rŽ   r   r±   r8  r  r+  r«   rè   r  r  r™   r^  r¢  r£  )rU   rX  r  r  rœ  r‹  Úerrorr(   Úagg_funcr  Ú	idx_tokenr©   rl   Úkeep_idx_nativer  rR  s                   rV   r  zArrowDataFrame.uniqueÅ  sg  € ð 	ÐÐÐàð 	 × 9Ò 9¸&Ñ AÔ AÐA�uð 	ØˆKÝ�fÐ, ¤Ñ-Ô-ˆàÐ+Ð+Ñ+Ø=Ð=Ð=Ð=Ð=Ð=à#Ô1°$Ô7ˆHÝ6¸qÈ$Ì,ÐWÑWÔWˆIØð ˜Nð Ý:ØÐ'A¨¬Ð'A°yÐ'Aðñ ô �	ð�D×'Ò'¨	¸DÐ'ÑAÔAÜ˜8°À%ðIð Ið Iç’V 6°ÀUÐUY�VÑZÔZð ð
 —w’w˜y°UÀu�wÑMÔM×RÒRØ�K¨ð Sñ ô ð ð ð %Ø"˜œ H¸È5ÐQÐQÐQÔX��àœ�à×$Ò$ Yµ´¸¿ºÅ3ÀtÁ9Ä9Ñ9MÔ9MÑ0NÔ0NÑOÔOß’˜&Ñ!Ô!ß’˜Y¨Ð1Ð2Ñ3Ô3ß’˜9Ð1Ð1 xÐ1Ð1Ñ2Ô2ð	 ð ×$Ò$Ø—’˜OÑ,Ô,ÀEð %ñ ô ð ð &�4Ô% vÐ.×8Ò8Ñ:Ô:ˆØ×)Ò)Ñ+Ô+ˆØ�{Š{˜3œ9×1Ò1°(Ñ;Ô;Ñ<Ô<Ð<rX   Úoffsetc                óL   — |                       | j        |d |…         d¬¦  «        S r  râ  )rU   r¯  r$  s      rV   Úgather_everyzArrowDataFrame.gather_everyø  s(   € Ø× Ò  ¤¨V¨Y°Q¨YÔ!7ÈuÐ ÑUÔUÐUrX   c                ó   — | j         S rP   r  r    s    rV   rx   zArrowDataFrame.to_arrowû  r  rX   Úfractionúfloat | NoneÚwith_replacementÚseedc               óB  — dd l }t          | ¦  «        }|€|�t          ||z  ¦  «        }|j                             |¬¦  «        }|                     |¦  «        }|                     |||¬¦  «        }	|                      | j         	                    |	¦  «        d¬¦  «        S )Nr   )r+  )ÚsizeÚreplaceFr¨   )
r‰  r±   r¯   ÚrandomÚdefault_rngr   Úchoicer«   rl   rè   )
rU   r¯  r(  r*  r+  r‹  rÖ   ÚrngÚidxr_  s
             rV   ÚsamplezArrowDataFrame.sampleþ  s¡   € ð 	ÐÐÐå�t‘9”9ˆØˆ9˜Ð-Ý�H˜xÑ'Ñ(Ô(ˆAØŒi×#Ò#¨Ð#Ñ.Ô.ˆØ�iŠi˜Ñ!Ô!ˆØ�zŠz˜# AÐ/?ˆzÑ@Ô@ˆØ× Ò  ¤×!1Ò!1°$Ñ!7Ô!7ÈuÐ ÑUÔUÐUrX   ÚonÚvariable_nameÚ
value_namec                óP  ‡‡‡‡‡‡	— t          | ¦  «        Š	‰€g nt          ‰¦  «        Š|€ˆfd„| j        D ¦   «         nt          |¦  «        }| j                             ‰¦  «        Š| j        j        Šˆˆˆ	ˆˆfd„|D ¦   «         }|                      t          |d¦  «        ¦  «        S )Nc              3  ó$   •K  — | ]
}|‰v¯|V — Œd S rP   r�   )r�   rò  r³   s     €rV   r¸   z)ArrowDataFrame.unpivot.<locals>.<genexpr>  s'   øè è € Ð9Ð9�Q¨!°5¨.¨.ˆq¨.¨.¨.¨.Ð9Ð9rX   c              3  óš   •K  — | ]E}‰                      ‰t          |‰¦  «        ¦  «                              ‰ ‰|¦  «        ¦  «        V — ŒFd S rP   )r-  r   )r�   rÏ   r+  Ú
index_colsr¯  r7  r6  s     €€€€€rV   r¸   z)ArrowDataFrame.unpivot.<locals>.<genexpr>  sn   øè è € ð 
ð 
ð ð ×$Ò$ ]µF¸4À±O´OÑDÔD×RÒRØ˜F˜F 4™LœLñô ð
ð 
ð 
ð 
ð 
ð 
rX   Ú
permissive)	r±   rÉ   rÐ   Úiterrl   ró   r+  r«   r   )
rU   r5  r³   r6  r7  Úon_Útablesr+  r;  r¯  s
     ```  @@@rV   ÚunpivotzArrowDataFrame.unpivot  sÑ   øøøøøø€ õ �‰IŒIˆØ�m��­¨e©¬ˆØ=?¸ZÐ9Ð9Ð9Ð9˜$œ,Ð9Ñ9Ô9Ð9ÍTÐRTÉXÌXˆØ”[×'Ò'¨Ñ.Ô.ˆ
Ø”Ô#ˆð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð ð	
ñ 
ô 
ˆð × Ò ¥¨v°|Ñ!DÔ!DÑEÔEÐErX   )
rH   rI   rJ   r   rK   rL   rG   rL   rM   rN   )rY   r0   rZ   r3   rM   r#   )rY   ro   rZ   r3   rp   rq   rM   r#   )rY   r€   rZ   r3   rp   rq   rM   r#   )r„   r…   rM   r†   )rY   rI   rZ   r3   rM   r#   )rY   r<   rZ   r3   rp   rŠ   rM   r#   )rM   r*   )rM   r"   )rM   r#   )rJ   r   rM   r#   )r©   rI   rK   rL   rM   r#   )rM   r¬   )rM   r¯   )r³   r¯   rM   r´   )r¼   r½   rM   r¾   )r¼   rÂ   rM   rÃ   )r¼   rL   rM   rÅ   )rM   rÌ   )r¼   rL   rÈ   r¯   rM   rÓ   )rÏ   rÛ   rM   r   )rÞ   r	   rß   rà   rM   r<   )rÁ   rä   rM   r#   )rÁ   rê   rM   r#   )rÐ   r>   rM   r#   )rÐ   rê   rM   r#   )rÐ   rä   rM   r#   )rÐ   rý   rM   r#   )rM   r  )r	  r9   rM   r
  )rM   r  )rQ   rÛ   rM   r#   )r  r&   rM   r#   )r"  r   rM   r+   )r3  r4  r5  rL   rM   r(   )r"  r#   r9  r6   r:  r;  r<  r;  r=  rÛ   rM   r#   )rÐ   rÿ   rT  rL   rM   r#   )rX  r;  rM   r#   )ra  rÛ   rb  rc  rd  rL   rM   r#   )rt  r¯   ra  ru  rv  rc  rM   r#   )rM   r~  )rM   r�  rP   )r�  r½   rM   rŽ  )r�  rÂ   rM   r’  )r�  rL   rM   r”  )rÏ   rÛ   rœ  r;  rM   r#   )r«  r&   rM   r#   )r¯  r¯   rM   r#   )r¸  r¹  r·  rº  rM   r.   )r¸  rØ  rÙ  r	   rM   r-   )r»   rä  r+  rå  rM   r	   )rì  rí  rM   r#   )rõ  rö  rM   rN   )rõ  rN   rM   rÛ   )rõ  r  rM   r  )rM   r   )
rX  r;  r  r:   r  rà   rœ  r;  rM   r#   )r¯  r¯   r$  r¯   rM   r#   )rM   rI   )
r¯  rä  r(  r)  r*  rL   r+  rä  rM   r#   )
r5  r;  r³   r;  r6  rÛ   r7  rÛ   rM   r#   )Mrf   Ú
__module__Ú__qualname__r   r›   r_   rW   Úclassmethodrn   r~   rƒ   Ústaticmethodra   ri   r–   r™   rž   r¡   r¤   r§   r«   Úpropertyr®   r²   r»   r   rÁ   rÒ   Ú_iter_columnsrÊ   rÝ   rã   ré   rñ   rô   rö   rü   r   rp   r  r  r   ÚexploderÐ   r  ró   r)  r2  r8  rO  Ú	join_asofrP  r`  rs  r}  r€  r…  rˆ  r‘  rª  r^  r³  r¶  rÉ  rà  rã  rë  rô  rü  rÿ  r  r  r&  rx   r4  r@  Úpivotr�   rX   rV   rF   rF   L   sÓ  € € € € € ð %Ô,€Oð */ð ð  ð  ð  ð  ð  ð ð8ð 8ð 8ñ „[ð8ð ð8ð 8ð 8ñ „[ð8ð" ð8ð 8ð 8ñ „[ð8ð" ð)ð )ð )ñ „\ð)ð ðOð Oð Oñ „[ðOð ð8ð 8ð 8ñ „[ð8ð"5ð 5ð 5ð 5ð
"ð "ð "ð "ðð ð ð ðð ð ð ðYð Yð Yð Yð KOð 
ð 
ð 
ð 
ð 
ð 
ð
 ð!ð !ð !ñ „Xð!ð ð  ð  ð  ðFð Fð Fð Fð ØHÐHÐHñ „XØHàØJÐJÐJñ „XØJàØWÐWÐWñ „XØWð'ð 'ð 'ð 'ð
Kð Kð Kð Kð !€Mð?ð ?ð ?ð ?ðSð Sð Sð Sð7ð 7ð 7ð 7ð9ð 9ð 9ð 9ð
Ið 
Ið 
Ið 
IðTð Tð Tð Tð
ð 
ð 
ð 
ð
?ð ?ð ?ð ?ð
?ð 
?ð 
?ð 
?ð ð
ð 
ð 
ñ „Xð
ðð ð ð ð%ð %ð %ð %ð ˆoÑÔ€Gàð(ð (ð (ñ „Xð(ð
ð 
ð 
ð 
ð
Að Að Að Að	<ð 	<ð 	<ð 	<ðLð Lð Lð Lð$Gð Gð Gð Gð1
ð 1
ð 1
ð 1
ðf  �Ñ!Ô!€IðYð Yð Yð Yð!ð !ð !ð !ð
ð 
ð 
ð 
ð"
ð 
ð 
ð 
ð'ð 'ð 'ð 'ð*ð *ð *ð *ð
Àð ð ð ð ð ð ð ØQÐQÐQñ „XØQàØPÐPÐPñ „XØPð7ð 7ð 7ð 7ð1ð 1ð 1ð 1ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ðPð Pð Pð Pð ,0ð;ð (,ð	;ð ;ð ;ð ;ð ;ð ;ðz!"ð !"ð !"ð !"ðFKð Kð Kð KðVð Vð Vð Vð(Dð Dð Dð Dð*ð *ð *ð *ð
 Ø/Ð/Ð/ñ „XØ/àØ@Ð@Ð@ñ „XØ@ðð ð ð ð=ð =ð =ð =ð. '+ð1=ð 1=ð 1=ð 1=ð 1=ð 1=ñfVð Vð Vð Vñð ð ð ñVð Vð Vð Vñ$Fð Fð Fð Fð, ˆOÑÔ€E€E€ErX   rF   )r   r&   rI   r+   )^Ú
__future__r   Úcollections.abcr   r   r   r   Útypingr   r	   r
   r   r   Úpyarrowrc   Úpyarrow.computeÚcomputer{  ré  r   Únarwhals._arrow.utilsr   r   r   Únarwhals._compliantr   Únarwhals._expression_parsingr   Únarwhals._utilsr   r   r   r   r   r   r   r   r   r   Únarwhals.dependenciesr   Únarwhals.exceptionsr   r   Úior    Úpathlibr!   Útypesr"   ÚpandasÚpdrƒ  r„  Útyping_extensionsr#   r$   r%   Únarwhals._arrow.exprr&   r7  r(   r˜   r*   Únarwhals._arrow.typingr+   r,   Únarwhals._compliant.typingr-   r.   Únarwhals._spark_like.utilsr/   Únarwhals._translater0   Únarwhals._typingr1   r2   r3   Únarwhals.dtypesr4   Únarwhals.typingr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   rD   Ú__annotations__rF   r�   rX   rV   ú<module>re     s¿  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à Ð Ð Ð Ø Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ø QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ .Ð .Ð .Ð .Ð .Ð .Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ø *Ð *Ð *Ð *Ð *Ð *àð -Ø(Ð(Ð(Ð(Ð(Ð(ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð àÐÐÐØÐÐÐØ9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9à.Ð.Ð.Ð.Ð.Ð.Ø5Ð5Ð5Ð5Ð5Ð5Ø8Ð8Ð8Ð8Ð8Ð8ðð ð ð ð ð ð ð ð XÐWÐWÐWÐWÐWÐWÐWØ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Ø%Ð%Ð%Ð%Ð%Ð%ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð "ð	ô	€Hð 	ð 	ð 	ñ 	ðZð Zð Zð Zð ZØÐLÔMñZô Zð Zð Zð ZrX   