§
    cŠtjðz  ã                  ó@  — 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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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&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l/m0Z0 d dlm1Z1 d dl2Z3d dl4Z5d dl6m7Z7m8Z8 d dl9m:Z: d dl;m<Z< d dl=m>Z> d dl?m@Z@mAZA d dlBmCZCmDZD d dlEmFZF d dlGmHZH d dlImJZJmKZK d dlmLZLmMZM d dlNmOZO d dlPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[ ed         Z\de]d<   dZ^d e]d!<    G d"„ d#ed$         ¦  «        Z_dS )%é    )Úannotations)Ú
CollectionÚIteratorÚMappingÚSequence)ÚTYPE_CHECKINGÚAnyÚFinalÚLiteralÚcastÚoverloadN)ÚArrowSeries)ÚarangeÚconcat_tablesÚnarwhals_to_native_dtypeÚnative_to_narwhals_dtypeÚrepeat)ÚEagerDataFrame)ÚImplementationÚ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)Úis_numpy_array_1d)Ú
ShapeError)ÚIterable)ÚBytesIO)ÚPath)Ú
ModuleType)Ú	TypeAlias)ÚSelfÚTypeIs)Ú	ArrowExpr©ÚArrowGroupBy©ÚArrowNamespace)ÚChunkedArrayAnyÚOrder)ÚCompliantDataFrameAnyÚCompliantLazyFrameAny)ÚSparkSession)ÚIntoArrowTable)Ú_EagerAllowedImplÚ_LazyAllowedImpl)ÚVersionÚ_LimitedContext)ÚDType)Ú	IntoDTypeÚ
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#   ÚJoinTypeFr
   ÚMYPYc                  ó¬  — 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¹„ZGdþd»„ZHdÿd¼„ZI�d d¿„ZJ�ddÃ„ZK e)¦   «         ZLd‡S (  ÚArrowDataFrameF)Úvalidate_backend_versionÚnative_dataframeúpa.TableÚversionr3   Úvalidate_column_namesÚboolrJ   ÚreturnÚNonec               óz   — |rt          |j        ¦  «         |r|                      ¦   «          || _        || _        d S ©N)r   Úcolumn_namesÚ_validate_backend_versionÚ_native_frameÚ_version)ÚselfrK   rM   rN   rJ   s        úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/_arrow/dataframe.pyÚ__init__zArrowDataFrame.__init__X   sL   € ð !ð 	IÝ)Ð*:Ô*GÑHÔHÐHØ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ø-ˆÔØˆŒˆˆó    Údatar0   Úcontextr4   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 ©r]   )Ú_implementationÚ_backend_versionÚ
_is_nativeÚ
isinstancer   ÚpaÚtabler   ÚtypeÚ__name__ÚModuleNotFoundErrorÚ	TypeErrorÚfrom_native)Úclsr\   r]   Úbackend_versionÚnativeÚmsgs         rY   Ú
from_arrowzArrowDataFrame.from_arrowg   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Ð7r[   úMapping[str, Any]Úschemaú%Mapping[str, IntoDType | None] | Nonec              ó$  ‡‡— |s+‰s)|                       t          j        i ¦  «        ‰¬¦  «        S |s)|                       t          j        ‰¦  «        ‰¬¦  «        S t          d„ |                     ¦   «         D ¦   «         ¦  «        s‚ddlm}  |t          d|¦  «        ¦  «                             ¦   «         }|r‰s| 	                    ¦   «         }n!t          j
                             ‰|¬¦  «        }|                       |‰¬¦  «        S ‰j                             ¦   «         dk     rd}t          |¦  «        ‚t          j        ˆˆfd	„|                     ¦   «         D ¦   «         ¦  «        }|                       t          j        |¦  «        ‰¬¦  «        S )
Nrb   c              3  ó   K  — | ]}|d u V — Œ	d S rS   © ©Ú.0Údtypes     rY   ú	<genexpr>z+ArrowDataFrame.from_dict.<locals>.<genexpr>ƒ   s&   è è € Ð>Ð> U�5˜D�=Ð>Ð>Ð>Ð>Ð>Ð>r[   r   ©ÚSchemar7   ©rt   r_   z8Passing `None` dtype in `from_dict` requires PyArrow>=14c           
     óŠ   •— i | ]?\  }}|t          j        ‰r‰|         ng g|�t          |‰j        ¬¦  «        nd ¬¦  «        “Œ@S )N©rM   ©ri   )rg   Úchunked_arrayr   rW   )rz   ÚnameÚnw_dtyper]   r\   s      €€rY   ú
<dictcomp>z,ArrowDataFrame.from_dict.<locals>.<dictcomp>�   sw   ø€ ð ð ð ñ #�D˜(ð •bÔ&Ø#'Ð/�T˜$”Z�Z¨RÐ0àÐ+õ 2°(ÀGÔDTÐUÑUÔUÐUàð	ñ ô ðð ð r[   )rm   rg   rh   ÚanyÚvaluesÚnarwhals.schemar~   r   Úto_arrowÚempty_tableÚTableÚfrom_pydictrc   rd   ÚNotImplementedErrorÚitems)	rn   r\   r]   rt   r~   Ú	pa_schemarp   rq   Úress	    ``      rY   Ú	from_dictzArrowDataFrame.from_dictv   s¡  øø€ ð ð 	B˜dð 	BØ—?’?¥2¤8¨B¡<¤<¸�?ÑAÔAÐAØð 	DØ—?’?¥2¤8¨D¡>¤>¸7�?ÑCÔCÐCÝÐ>Ð>¨f¯mªm©o¬oÐ>Ñ>Ô>Ñ>Ô>ð 	<Ø.Ð.Ð.Ð.Ð.Ð.à˜�t L°&Ñ9Ô9Ñ:Ô:×CÒCÑEÔEˆIØð F ð FØ"×.Ò.Ñ0Ô0��åœ×-Ò-¨d¸9Ð-ÑEÔE�Ø—?’? 6°7�?Ñ;Ô;Ð;ØÔ"×3Ò3Ñ5Ô5¸Ò=Ð=ØLˆCÝ% cÑ*Ô*Ð*ÝŒhðð ð ð ð ð '-§l¢l¡n¤nðñ ô ñ

ô 

ˆð �Š�rœx¨™}œ}°gˆÑ>Ô>Ð>r[   úSequence[Mapping[str, Any]]c              óŠ  — ddl m} |r<t          d„ |                     ¦   «         D ¦   «         ¦  «        rd}t	          |¦  «        ‚|�+ |t          d|¦  «        ¦  «                             ¦   «         n|}|r|s|                     ¦   «         }n!t          j	         
                    ||¬¦  «        }|                      ||¬¦  «        S )Nr   r}   c              3  ó   K  — | ]}|d u V — Œ	d S rS   rx   ry   s     rY   r|   z,ArrowDataFrame.from_dicts.<locals>.<genexpr>§   s&   è è € ÐEÐE¨E˜% 4˜-ÐEÐEÐEÐEÐEÐEr[   zR`from_dicts` with `schema` where any dtype is `None` is not supported for PyArrow.r7   r   rb   )r‰   r~   r‡   rˆ   rŽ   r   rŠ   r‹   rg   rŒ   Úfrom_pylistrm   )rn   r\   r]   rt   r~   rq   r�   rp   s           rY   Ú
from_dictszArrowDataFrame.from_dictsœ   så   € ð 	+Ð*Ð*Ð*Ð*Ð*àð 	+•cÐEÐE°V·]²]±_´_ÐEÑEÔEÑEÔEð 	+ØfˆCÝ% cÑ*Ô*Ð*ð Ð!ð ˆF•4˜ fÑ-Ô-Ñ.Ô.×7Ò7Ñ9Ô9Ð9àð 	ð
 ð 	B˜Tð 	BØ×*Ò*Ñ,Ô,ˆFˆFå”X×)Ò)¨$°yÐ)ÑAÔAˆFØ�Š˜v¨wˆÑ7Ô7Ð7r[   Úobjúpa.Table | AnyúTypeIs[pa.Table]c                ó6   — t          | t          j        ¦  «        S rS   )rf   rg   rŒ   )r˜   s    rY   re   zArrowDataFrame._is_nativeµ   s   € å˜#�rœxÑ(Ô(Ð(r[   c              ó(   —  | ||j         d¬¦  «        S )NT©rM   rN   )rW   )rn   r\   r]   s      rY   rm   zArrowDataFrame.from_native¹   s   € àˆs�4 Ô!1ÈÐNÑNÔNÐNr[   r>   ú.Mapping[str, IntoDType] | Sequence[str] | Nonec              ón  — ddl m} d„ |j        D ¦   «         }t          |t          |f¦  «        r=t
          j                             | ||¦  «                             ¦   «         ¬¦  «        }n4t
          j                             ||  	                    ||¦  «        ¦  «        }|  
                    ||¬¦  «        S )Nr   r}   c                ó6   — g | ]}t          j        |¦  «        ‘ŒS rx   )rg   Úarray)rz   Úvals     rY   ú
<listcomp>z-ArrowDataFrame.from_numpy.<locals>.<listcomp>È   s    € Ð2Ð2Ð2 C•"”(˜3‘-”-Ð2Ð2Ð2r[   r   rb   )r‰   r~   ÚTrf   r   rg   rŒ   Úfrom_arraysrŠ   Ú_numpy_column_namesrm   )rn   r\   r]   rt   r~   Úarraysrp   s          rY   Ú
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Ð7r[   r*   c                ó0   — ddl m}  || j        ¬¦  «        S )Nr   r)   r�   )Únarwhals._arrow.namespacer*   rW   )rX   r*   s     rY   Ú__narwhals_namespace__z%ArrowDataFrame.__narwhals_namespace__Ï   s)   € Ø<Ð<Ð<Ð<Ð<Ð<àˆ~ d¤mÐ4Ñ4Ô4Ð4r[   r"   c                ó¦   — | j         t          j        u r| j                              ¦   «         S dt	          | j         ¦  «        › �}t          |¦  «        ‚)NzExpected pyarrow, got: )rc   r   ÚPYARROWÚto_native_namespaceri   ÚAssertionError)rX   rq   s     rY   Ú__native_namespace__z#ArrowDataFrame.__native_namespace__Ô   sN   € ØÔ¥>Ô#9Ð9Ð9ØÔ'×;Ò;Ñ=Ô=Ð=àD­¨TÔ-AÑ(BÔ(BÐDÐDˆÝ˜SÑ!Ô!Ð!r[   c                ó   — | S rS   rx   ©rX   s    rY   Ú__narwhals_dataframe__z%ArrowDataFrame.__narwhals_dataframe__Û   ó   € Øˆr[   c                ó   — | S rS   rx   r²   s    rY   Ú__narwhals_lazyframe__z%ArrowDataFrame.__narwhals_lazyframe__Þ   r´   r[   c                ó<   — |                       | j        |d¬¦  «        S )NFr�   )Ú	__class__rp   )rX   rM   s     rY   Ú_with_versionzArrowDataFrame._with_versioná   s   € Ø�~Š~˜dœk°7ÐRWˆ~ÑXÔXÐXr[   T©rN   Údfc               ó<   — |                       || j        |¬¦  «        S )Nr�   )r¸   rW   )rX   r»   rN   s      rY   Ú_with_nativezArrowDataFrame._with_nativeä   s'   € Ø�~Š~Ø˜œÐ=Rð ñ 
ô 
ð 	
r[   útuple[int, int]c                ó   — | j         j        S rS   )rp   Úshaper²   s    rY   rÀ   zArrowDataFrame.shapeé   s   € àŒ{Ô Ð r[   Úintc                ó*   — t          | j        ¦  «        S rS   )Úlenrp   r²   s    rY   Ú__len__zArrowDataFrame.__len__í   s   € Ý�4”;ÑÔÐr[   Úindexútuple[Any, ...]c                ó¦   — t          | j                             |g¦  «                             ¦   «         d                              ¦   «         ¦  «        S ©Nr   )Útuplerp   ÚtakeÚ	to_pylistrˆ   )rX   rÅ   s     rY   ÚrowzArrowDataFrame.rowð   s?   € Ý�T”[×%Ò% u gÑ.Ô.×8Ò8Ñ:Ô:¸1Ô=×DÒDÑFÔFÑGÔGÐGr[   ÚnamedúLiteral[True]úlist[dict[str, Any]]c               ó   — d S rS   rx   ©rX   rÍ   s     rY   ÚrowszArrowDataFrame.rowsó   s   € ØEHÀSr[   úLiteral[False]úlist[tuple[Any, ...]]c               ó   — d S rS   rx   rÑ   s     rY   rÒ   zArrowDataFrame.rowsö   s   € ØGJÀsr[   ú,list[tuple[Any, ...]] | list[dict[str, Any]]c               ó   — d S rS   rx   rÑ   s     rY   rÒ   zArrowDataFrame.rowsù   s   € ØTWÐTWr[   c               ó€   — |s$t          |                      dd¬¦  «        ¦  «        S | j                             ¦   «         S )NFi   )rÍ   Úbuffer_size)ÚlistÚ	iter_rowsrp   rË   rÑ   s     rY   rÒ   zArrowDataFrame.rowsü   s=   € Øð 	FÝ˜Ÿš¨UÀ˜ÑDÔDÑEÔEÐEØŒ{×$Ò$Ñ&Ô&Ð&r[   úIterator[ArrowSeries]c              #  ó¤   K  — t          | j        | j                             ¦   «         d¬¦  «        D ]\  }}t	          j        || |¬¦  «        V — Œd S )NT©Ústrict©r]   r„   )ÚzipÚcolumnsrp   Úitercolumnsr   rm   )rX   r„   Úseriess      rY   Úiter_columnszArrowDataFrame.iter_columns  sh   è è € Ý ¤¨d¬k×.EÒ.EÑ.GÔ.GÐPTÐUÑUÔUð 	Kð 	K‰LˆD�&ÝÔ)¨&¸$ÀTÐJÑJÔJÐJÐJÐJÐJð	Kð 	Kr[   rÙ   ú4Iterator[tuple[Any, ...]] | Iterator[dict[str, Any]]c             #  óN  K  — | j         }|j        }|sYt          d||¦  «        D ]E}||||z   …                              ¦   «                              ¦   «         }t          |ddiŽE d {V —† ŒFd S t          d||¦  «        D ]'}||||z   …                              ¦   «         E d {V —† Œ(d S )Nr   rß   T)rp   Únum_rowsÚrangeÚ	to_pydictrˆ   rá   rË   )rX   rÍ   rÙ   r»   rè   ÚirÒ   s          rY   rÛ   zArrowDataFrame.iter_rows  sò   è è € ð Œ[ˆØ”;ˆàð 	?Ý˜1˜h¨Ñ4Ô4ð 3ð 3�Ø˜!˜a +™oÐ-Ô.×8Ò8Ñ:Ô:×AÒAÑCÔC�Ý Ð2¨TÐ2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð3ð 3õ ˜1˜h¨Ñ4Ô4ð ?ð ?�Ø˜a ! k¡/Ð1Ô2×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð?ð ?r[   r„   Ústrr   c                ó²   — t          |t          ¦  «        s!dt          |¦  «        › �}t          |¦  «        ‚t	          j        | j        |         | |¬¦  «        S )NzExpected str, got: rà   )rf   rì   ri   rl   r   rm   rp   )rX   r„   rq   s      rY   Ú
get_columnzArrowDataFrame.get_column  sR   € Ý˜$¥Ñ$Ô$ð 	!Ø4­¨T©
¬
Ð4Ð4ˆCÝ˜C‘.”.Ð ÝÔ& t¤{°4Ô'8À$ÈTÐRÑRÔRÐRr[   r{   r	   Úcopyúbool | Nonec               ó:   — | j                              ||¬¦  «        S )N©rï   )rp   Ú	__array__)rX   r{   rï   s      rY   ró   zArrowDataFrame.__array__  s   € ØŒ{×$Ò$ U°Ð$Ñ6Ô6Ð6r[   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½   rp   Úslicerd   rf   rÉ   rÚ   rÊ   )rX   rÒ   s     rY   Ú_gatherzArrowDataFrame._gather  sƒ   € Ýˆt‰9Œ9˜Š>ˆ>Ø×$Ò$ T¤[×%6Ò%6°q¸!Ñ%<Ô%<Ñ=Ô=Ð=ØÔ  5Ò(Ð(­Z¸½eÑ-DÔ-DÐ(Ý˜‘:”:ˆDØ× Ò  ¤×!1Ò!1°$Ñ!7Ô!7Ñ8Ô8Ð8r[   ú_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Ã   rp   ÚsteprŽ   r½   r÷   )rX   rÒ   rü   rý   rq   s        rY   Ú_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ÐHr[   râ   r@   c                óª   — t          || j        ¦  «        \  }}}|                      | j                             | j        |||…         ¦  «        ¦  «        S rS   )r   râ   r½   rp   Úselect)rX   râ   rü   rý   rþ   s        rY   Ú_select_slice_namez!ArrowDataFrame._select_slice_name1  sK   € Ý:¸7ÀDÄLÑQÔQÑˆˆt�TØ× Ò  ¤×!3Ò!3°D´LÀÀtÈDÀÔ4QÑ!RÔ!RÑSÔSÐSr[   c                ó–   — |                       | j                             | j        |j        |j        |j        …         ¦  «        ¦  «        S rS   )r½   rp   r  râ   rü   rý   rþ   )rX   râ   s     rY   Ú_select_slice_indexz"ArrowDataFrame._select_slice_index5  sA   € Ø× Ò ØŒK×Ò˜tœ|¨G¬M¸G¼LÈ7Ì<Ð,WÔXÑYÔYñ
ô 
ð 	
r[   c                ó6  — t          |t          j        ¦  «        r#t          d|                     ¦   «         ¦  «        }n0t          |¦  «        r|                     ¦   «         }nt          r|}n|}|                      | j	         
                    |¦  «        ¦  «        S )NzSequence[int])rf   rg   ÚChunkedArrayr   rË   r   ÚtolistrG   r½   rp   r  ©rX   râ   Úselectors      rY   Ú_select_multi_indexz"ArrowDataFrame._select_multi_index:  s�   € õ �g�rœÑ/Ô/ð 
	å˜O¨W×->Ò->Ñ-@Ô-@ÑAÔAˆHˆHõ ˜wÑ'Ô'ð 	Ø—~’~Ñ'Ô'ˆHˆHÝð 	ØˆHˆHàˆHØ× Ò  ¤×!3Ò!3°HÑ!=Ô!=Ñ>Ô>Ð>r[   ú'SizedMultiNameSelector[ChunkedArrayAny]c                óÚ   — t          |t          j        ¦  «        r#t          d|                     ¦   «         ¦  «        }n|}|                      | j                             |¦  «        ¦  «        S )NúSequence[str])rf   rg   r  r   rË   r½   rp   r  r  s      rY   Ú_select_multi_namez!ArrowDataFrame._select_multi_nameK  s^   € õ �g�rœÑ/Ô/ð 	å˜O¨W×->Ò->Ñ-@Ô-@ÑAÔAˆHˆHàˆHà× Ò  ¤×!3Ò!3°HÑ!=Ô!=Ñ>Ô>Ð>r[   údict[str, DType]c                ó4   ‡ — ˆ fd„‰ j         j        D ¦   «         S )Nc                óP   •— i | ]"}|j         t          |j        ‰j        ¦  «        “Œ#S rx   )r„   r   ri   rW   )rz   ÚfieldrX   s     €rY   r†   z)ArrowDataFrame.schema.<locals>.<dictcomp>Y  s<   ø€ ð 
ð 
ð 
àð ŒJÕ0°´¸T¼]ÑKÔKð
ð 
ð 
r[   )rp   rt   r²   s   `rY   rt   zArrowDataFrame.schemaW  s3   ø€ ð
ð 
ð 
ð 
àœÔ+ð
ñ 
ô 
ð 	
r[   c                ó   — | j         S rS   r   r²   s    rY   Úcollect_schemazArrowDataFrame.collect_schema^  ó
   € ØŒ{Ðr[   Úunitr;   úint | floatc                ó:   — | j         j        }t          ||¦  «        S rS   )rp   Únbytesr   )rX   r  Úszs      rY   Úestimated_sizezArrowDataFrame.estimated_sizea  s   € ØŒ[ÔˆÝ˜2˜tÑ$Ô$Ð$r[   ú	list[str]c                ó   — | j         j        S rS   )rp   rT   r²   s    rY   râ   zArrowDataFrame.columnsg  s   € àŒ{Ô'Ð'r[   rT   c                óz   — |                       | j                             t          |¦  «        ¦  «        d¬¦  «        S ©NFrº   )r½   rp   r  rÚ   )rX   rT   s     rY   Úsimple_selectzArrowDataFrame.simple_selectk  s<   € Ø× Ò ØŒK×Ò�t LÑ1Ô1Ñ2Ô2È%ð !ñ 
ô 
ð 	
r[   Ú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 rx   ©r„   ©rz   Úss     rY   r£   z)ArrowDataFrame.select.<locals>.<listcomp>w  s   € Ð,Ð,Ð,˜A�”Ð,Ð,Ð,r[   r   c                ó   — g | ]	}|j         ‘Œ
S rx   ©rp   r%  s     rY   r£   z)ArrowDataFrame.select.<locals>.<listcomp>z  s   € Ð">Ð">Ð">° 1¤8Ð">Ð">Ð">r[   )ÚnamesT)Ú_evaluate_exprsr½   rp   r¸   r¥   Ú_align_full_broadcastrg   rŒ   )rX   r!  Ú
new_seriesr)  ÚalignÚreshapedr»   s          rY   r  zArrowDataFrame.selectp  s½   € Ø)�TÔ)¨5Ð1ˆ
Øð 	à×$Ò$Ø”Ô%×1Ò1°"Ñ5Ô5ÈUð %ñ ô ð ð -Ð, Ð,Ñ,Ô,ˆØ˜1”Ô3ˆØ�5˜*Ð%ˆÝŒX×!Ò!Ð">Ð">°XÐ">Ñ">Ô">ÀeÐ!ÑLÔLˆØ× Ò  ¸4Ð Ñ@Ô@Ð@r[   Ú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: ra   r   )rÃ   Ú
_broadcastr   rp   rg   rƒ   r   )rX   r/  ÚlengthÚ	len_otherrq   Úvalues         rY   Ú_extract_comparandz!ArrowDataFrame._extract_comparand}  s…   € Ý�T‘”ˆØÔð 	 Ý  ™ZœZÐ'�	¨FÒ2Ð2ØN°6ÐNÐNÀ)ÐNÐNÐN�Ý  ‘o”oÐ%Ø”<Ðà”˜Q”ˆÝÔ¥¤¨5°&Ñ!9Ô!9Ð :Ñ;Ô;Ð;r[   c                ó.  — | j         } | j        |Ž }| j        }|D ]d}|j        }|                      |¦  «        }||v r+|                     |                     |¦  «        ||¬¦  «        n|                     ||¬¦  «        }Œe|                      |d¬¦  «        S )N)ÚcolumnFrº   )	rp   r*  râ   r„   r5  Ú
set_columnrÅ   Úappend_columnr½   )rX   r!  Únative_frameÚnew_columnsrâ   Ú	col_valueÚcol_namer7  s           rY   Úwith_columnszArrowDataFrame.with_columnsˆ  s¹   € ð ”{ˆØ*�dÔ*¨EÐ2ˆØ”,ˆà$ð 	ð 	ˆIØ ”~ˆHØ×,Ò,¨YÑ7Ô7ˆFð ˜wÐ&Ð&ð ×'Ò'¨¯ª°hÑ(?Ô(?ÀÐRXÐ'ÑYÔYÐYà!×/Ò/°ÀÐ/ÑHÔHð ˆLð × Ò  ÀUÐ ÑKÔKÐKr[   Úkeysú#Sequence[str] | Sequence[ArrowExpr]Údrop_null_keysr(   c               ó*   — ddl m}  || ||¬¦  «        S )Nr   r'   )rA  )Únarwhals._arrow.group_byr(   )rX   r?  rA  r(   s       rY   Úgroup_byzArrowDataFrame.group_byš  s-   € ð 	:Ð9Ð9Ð9Ð9Ð9àˆ|˜D $°~ÐFÑFÔFÐFr[   Úhowr8   Úleft_onúSequence[str] | NoneÚright_onÚsuffixc          
     óØ  — ddddddœ}|dk    �r|                       ¦   «         }t          dg | j        ¢|j        ¢¬	¦  «        }|                      |                      |                     d
d ¦  «                             |¦  «                             ¦   «         ¦  «        j         	                    |                     |                     d
d ¦  «                             |¦  «                             ¦   «         ¦  «        j        ||d|¬¦  «         
                    |g¦  «        ¦  «        S |dk    }	|                      | j         	                    |j        |pg |||         ||	¬¦  «        ¦  «        S )NrB   rA   rC   rD   rE   )ÚantiÚsemirC   ÚleftÚfullÚcrossé   ©Ún_bytesrâ   r   )r?  Ú
right_keysÚ	join_typeÚright_suffixrN  )r?  rS  rT  rU  Úcoalesce_keys)r«   r   râ   r½   r>  ÚlitÚaliasÚ	broadcastrp   ÚjoinÚdrop)
rX   r/  rE  rF  rH  rI  Úhow_to_join_mapÚplxÚ	key_tokenrV  s
             rY   rZ  zArrowDataFrame.join¡  s„  € ð  ØØØ Ø ð0
ð 0
ˆð �'Š>‰>Ø×-Ò-Ñ/Ô/ˆCÝ6ØÐ#B T¤\Ð#B°E´MÐ#Bðñ ô ˆIð ×$Ò$Ø×!Ò! #§'¢'¨!¨TÑ"2Ô"2×"8Ò"8¸Ñ"CÔ"C×"MÒ"MÑ"OÔ"OÑPÔPÜŸšØ×&Ò&ØŸš  4Ñ(Ô(×.Ò.¨yÑ9Ô9×CÒCÑEÔEñô äØ"Ø(Ø%Ø!'ð ñ ô ÷ ’�y�kÑ"Ô"ñô ð ð ˜všˆØ× Ò ØŒK×ÒØ”Ø�] Ø#Ø)¨#Ô.Ø#Ø+ð ñ ô ñ	
ô 	
ð 		
r[   r  rß   c               ó„   — t          | ||¬¦  «        }|                      | j                             |¦  «        d¬¦  «        S )NrÞ   Frº   )r   r½   rp   r[  )rX   râ   rß   Úto_drops       rY   r[  zArrowDataFrame.dropÔ  s@   € Ý'¨¨g¸fÐEÑEÔEˆØ× Ò  ¤×!1Ò!1°'Ñ!:Ô!:ÐRWÐ ÑXÔXÐXr[   Úsubsetc                ó  — |€.|                       | j                             ¦   «         d¬¦  «        S |                      ¦   «         }|                      |j        |Ž                      ¦   «         d¬¦  «         }|                      |¦  «        S )NFrº   T)Úignore_nulls)r½   rp   Ú	drop_nullr«   Úany_horizontalÚcolÚis_nullÚfilter)rX   ra  r]  Úmasks       rY   Ú
drop_nullszArrowDataFrame.drop_nullsØ  s‚   € Øˆ>Ø×$Ò$ T¤[×%:Ò%:Ñ%<Ô%<ÐTYÐ$ÑZÔZÐZØ×)Ò)Ñ+Ô+ˆØ×"Ò" 7 3¤7¨FÐ#3×#;Ò#;Ñ#=Ô#=ÈDÐ"ÑQÔQÐQˆØ�{Š{˜4Ñ Ô Ð r[   ÚbyÚ
descendingúbool | Sequence[bool]Ú
nulls_lastc               ó�  ‡‡— t          |t          ¦  «        r|rdndŠˆfd„|D ¦   «         }nd„ t          ||d¬¦  «        D ¦   «         }|rdndŠ| j        d	k     r1|                      | j                             |‰¬
¦  «        d¬¦  «        S ˆfd„|D ¦   «         }|                      | j                             |¦  «        d¬¦  «        S )Nrl  Ú	ascendingc                ó   •— g | ]}|‰f‘ŒS rx   rx   ©rz   ÚkeyÚorders     €rY   r£   z'ArrowDataFrame.sort.<locals>.<listcomp>â  ó   ø€ Ð/KÐ/KÐ/KÀ°°e°Ð/KÐ/KÐ/Kr[   c                ó$   — g | ]\  }}||rd ndf‘ŒS )rl  rp  rx   )rz   rs  Úis_descendings      rY   r£   z'ArrowDataFrame.sort.<locals>.<listcomp>ä  s:   € ð ð ð á&�C˜ð  mÐD�l�l¸ÐEðð ð r[   TrÞ   Úat_endÚat_start)é   )Únull_placementFrº   c                ó    •— g | ]
\  }}||‰f‘ŒS rx   rx   )rz   rs  rt  r{  s      €rY   r£   z'ArrowDataFrame.sort.<locals>.<listcomp>ò  s$   ø€ ÐHÐHÐH±*°#°u�#�u˜nÐ-ÐHÐHÐHr[   )rf   rO   rá   rd   r½   rp   Úsort_by)rX   rl  rn  rk  ÚsortingÚkeyedr{  rt  s         @@rY   ÚsortzArrowDataFrame.sortß  s  øø€ Ý�j¥$Ñ'Ô'ð 	Ø+5ÐF˜<˜<¸;ˆEØ/KÐ/KÐ/KÐ/KÈÐ/KÑ/KÔ/KˆGˆGðð å*-¨b°*ÀTÐ*JÑ*JÔ*Jðñ ô ˆGð
 &0Ð?˜˜°ZˆàÔ  5Ò(Ð(Ø×$Ò$Ø”×#Ò# G¸NÐ#ÑKÔKØ&+ð %ñ ô ð ð IÐHÐHÐHÀÐHÑHÔHˆØ× Ò ØŒK×Ò Ñ&Ô&Ø"'ð !ñ 
ô 
ð 	
r[   ÚkúIterable[str]Úreversec          	     ó   ‡— t          |t          ¦  «        r|rdndŠˆfd„|D ¦   «         }nd„ t          ||d¬¦  «        D ¦   «         }|                      | j                             t          j        | j        ||¦  «        ¦  «        d¬¦  «        S )	Nrp  rl  c                ó   •— g | ]}|‰f‘ŒS rx   rx   rr  s     €rY   r£   z(ArrowDataFrame.top_k.<locals>.<listcomp>û  ru  r[   c                ó$   — g | ]\  }}||rd ndf‘ŒS )rp  rl  rx   )rz   rs  Úis_ascendings      rY   r£   z(ArrowDataFrame.top_k.<locals>.<listcomp>ý  s:   € ð ð ð á%�C˜ð  \ÐC�k�k°|ÐDðð ð r[   TrÞ   Frº   )rf   rO   rá   r½   rp   rÊ   ÚpcÚselect_k_unstable)rX   r�  rk  rƒ  r~  rt  s        @rY   Útop_kzArrowDataFrame.top_kø  s±   ø€ Ý�g�tÑ$Ô$ð 	Ø*1ÐC˜;˜;°|ˆEØ/KÐ/KÐ/KÐ/KÈÐ/KÑ/KÔ/KˆGˆGðð å),¨R°ÀÐ)FÑ)FÔ)Fðñ ô ˆGð × Ò ØŒK×Ò�RÔ1°$´+¸qÀ'ÑJÔJÑKÔKØ"'ð !ñ 
ô 
ð 	
r[   úpd.DataFramec                ó4   — | j                              ¦   «         S rS   )rp   Ú	to_pandasr²   s    rY   r�  zArrowDataFrame.to_pandas  s   € ØŒ{×$Ò$Ñ&Ô&Ð&r[   úpl.DataFramec                ó4   — dd l } |j        | j        ¦  «        S rÈ   )Úpolarsrr   rp   )rX   Úpls     rY   Ú	to_polarszArrowDataFrame.to_polars	  s"   € ØÐÐÐàˆrŒ}˜Tœ[Ñ)Ô)Ð)r[   Nrò   c               ó`   — dd l }|                     d„ | j        j        D ¦   «         ¦  «        }|S )Nr   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rx   )Úto_numpy)rz   rf  s     rY   r£   z+ArrowDataFrame.to_numpy.<locals>.<listcomp>  s    € Ð#RÐ#RÐ#R°s C§L¢L¡N¤NÐ#RÐ#RÐ#Rr[   )ÚnumpyÚcolumn_stackrp   râ   )rX   r{   rï   ÚnpÚarrs        rY   r•  zArrowDataFrame.to_numpy  s8   € ØÐÐÐà—?’?Ð#RÐ#R¸d¼kÔ>QÐ#RÑ#RÔ#RÑSÔSˆØˆ
r[   Ú	as_seriesúdict[str, ArrowSeries]c               ó   — d S rS   rx   ©rX   rš  s     rY   Úto_dictzArrowDataFrame.to_dict  s   € ØNQÈcr[   údict[str, list[Any]]c               ó   — d S rS   rx   r�  s     rY   rž  zArrowDataFrame.to_dict  s   € ØMPÈSr[   ú-dict[str, ArrowSeries] | dict[str, list[Any]]c               ó^   — |                       ¦   «         }|rd„ |D ¦   «         S d„ |D ¦   «         S )Nc                ó   — i | ]
}|j         |“ŒS rx   r$  ©rz   Úsers     rY   r†   z*ArrowDataFrame.to_dict.<locals>.<dictcomp>  s   € Ð0Ð0Ð0 c�C”H˜cÐ0Ð0Ð0r[   c                óB   — i | ]}|j         |                     ¦   «         “ŒS rx   )r„   Úto_listr¤  s     rY   r†   z*ArrowDataFrame.to_dict.<locals>.<dictcomp>   s$   € Ð6Ð6Ð6¨C�”˜#Ÿ+š+™-œ-Ð6Ð6Ð6r[   )rå   )rX   rš  Úits      rY   rž  zArrowDataFrame.to_dict  sE   € ð ×ÒÑ Ô ˆØð 	1Ø0Ð0¨RÐ0Ñ0Ô0Ð0Ø6Ð6°2Ð6Ñ6Ô6Ð6r[   Úorder_byc                ó¢  — |                       ¦   «         }t          dt          | ¦  «        d¦  «        }|€]|j                             |j                             || |¬¦  «        ¦  «        }|                      ||                     ¦   «         ¦  «        S t          j
        | j        d„ |D ¦   «         ¦  «        }| j        dk     r(|                     t          j
        |¦  «        ¦  «        }n9t          j        ||                     t!          j        ¦   «         ¦  «        ¦  «        }|                      | j                             d||¦  «        ¦  «        S )Nr   rû   rà   c                ó   — g | ]}|d f‘ŒS )rp  rx   )rz   rk  s     rY   r£   z1ArrowDataFrame.with_row_index.<locals>.<listcomp>*  s   € Ð/UÐ/UÐ/UÀb°°[Ð0AÐ/UÐ/UÐ/Ur[   )é   )r«   r   rÃ   Ú_exprÚ_from_seriesÚ_seriesÚfrom_iterabler  Úallrˆ  Úsort_indicesrp   rd   rÊ   Úscatterr   rg   Úint64r½   Ú
add_column)rX   r„   r©  r]  r\   Ú	row_indexÚindicesÚnew_cols           rY   Úwith_row_indexzArrowDataFrame.with_row_index"  s  € Ø×)Ò)Ñ+Ô+ˆÝ�a�˜T™œ AÑ&Ô&ˆØÐØœ	×.Ò.Ø”×)Ò)¨$¸À4Ð)ÑHÔHñô ˆIð —;’;˜y¨#¯'ª'©)¬)Ñ4Ô4Ð4Ý”/ $¤+Ð/UÐ/UÈHÐ/UÑ/UÔ/UÑVÔVˆØÔ  5Ò(Ð(Ø—i’i¥¤°Ñ 8Ô 8Ñ9Ô9ˆGˆGå”j  w§|¢|µB´H±J´JÑ'?Ô'?Ñ@Ô@ˆGØ× Ò  ¤×!7Ò!7¸¸4ÀÑ!IÔ!IÑJÔJÐJr[   Ú	predicatec                ó”   — |                       |¦  «        j        }|                      | j                             |¦  «        d¬¦  «        S r  )Ú_evaluate_single_output_exprrp   r½   rh  )rX   rº  Úmask_natives      rY   rh  zArrowDataFrame.filter1  sJ   € Ø×7Ò7¸	ÑBÔBÔIˆØ× Ò ØŒK×Ò˜{Ñ+Ô+À5ð !ñ 
ô 
ð 	
r[   Únc           
     óø   — | j         }|dk    r+|                      |                     d|¦  «        d¬¦  «        S |j        }|                      |                     dt	          d||z   ¦  «        ¦  «        d¬¦  «        S ©Nr   Frº   )rp   r½   r÷   rè   Úmax©rX   r¾  r»   rè   s       rY   ÚheadzArrowDataFrame.head7  s|   € ØŒ[ˆØ�Š6ˆ6Ø×$Ò$ R§X¢X¨a°¡^¤^È5Ð$ÑQÔQÐQØ”;ˆØ× Ò Ø�HŠH�Q�˜A˜x¨!™|Ñ,Ô,Ñ-Ô-ÀUð !ñ 
ô 
ð 	
r[   c           	     ó  — | j         }|dk    rB|j        }|                      |                     t	          d||z
  ¦  «        ¦  «        d¬¦  «        S |                      |                     t          |¦  «        ¦  «        d¬¦  «        S rÀ  )rp   rè   r½   r÷   rÁ  ÚabsrÂ  s       rY   ÚtailzArrowDataFrame.tail@  s‚   € ØŒ[ˆØ�Š6ˆ6Ø”{ˆHØ×$Ò$Ø—’�˜Q ¨1¡Ñ-Ô-Ñ.Ô.Àeð %ñ ô ð ð × Ò  §¢­#¨a©&¬&Ñ!1Ô!1ÈÐ ÑOÔOÐOr[   )Ú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©rJ   rM   )ÚPolarsLazyFramerŽ  )ÚDaskLazyFrame)ÚIbisLazyFrame)râ   )ÚSparkLikeLazyFramez5Spark like backends require `session` to be not None.)rÇ  ÚimplementationrM   )"r   ÚDUCKDBÚduckdbÚnarwhals._duckdb.dataframerÌ  rp   rh   rW   ÚPOLARSr�  Únarwhals._polars.dataframerÏ  r   rr   Ú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¯   )rX   rÈ  rÇ  rÕ  rÌ  rÍ  r‘  rÏ  ÚddrÐ  rà  rÑ  rÒ  rq   s                 rY   rÙ  zArrowDataFrame.lazyI  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Ä}ð @ñ ô ð õ Ðr[   ú_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   )rI   Fr�   )ÚPandasLikeDataFrameT)rÓ  rJ   rM   rN   )ÚPolarsDataFramerŽ  rÎ  zUnsupported `backend` value: )r   r­   Únarwhals._arrow.dataframerI   rp   rW   ÚPANDASÚnarwhals._pandas_like.dataframerë  r�  r×  r�  rØ  rì  r   rr   r¯   )rX   rÈ  ré  rI   rë  r‘  rì  rq   s           rY   Ú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Ñ!Ô!Ð!r[   c                ó:   — |                       | j        d¬¦  «        S r  ©r½   rp   r²   s    rY   ÚclonezArrowDataFrame.clone©  s   € Ø× Ò  ¤ÀEÐ ÑJÔJÐJr[   rÌ   ú
int | Noner7  úint | str | Nonec                ó\  — ddl m} |€A|€?| j        x}dk    rd|›�}t          |¦  «        ‚ || j        d         d         d¬¦  «        S |�|€d}t          |¦  «        ‚t          |t          ¦  «        r| j                             |¦  «        n|} || j        |         |         d¬¦  «        S )Nr   )Úmaybe_extract_py_scalar)rû   rû   zfcan only call `.item()` without "row" or "column" values if the DataFrame has a single element; shape=T)Úreturn_py_scalarz8cannot call `.item()` with only one of `row` or `column`)	Únarwhals._arrow.seriesr÷  rÀ   rå  rp   rf   rì   râ   rÅ   )rX   rÌ   r7  r÷  rÀ   rq   Ú_cols          rY   ÚitemzArrowDataFrame.item¬  sÞ   € ØBÐBÐBÐBÐBÐBàˆ;˜6˜>ØœÐ#�¨Ò.Ð.ðGØ=BðGð Gð õ ! ‘o”oÐ%Ø*Ð*¨4¬;°q¬>¸!Ô+<ÈtÐTÑTÔTÐTàˆ;˜&˜.ØLˆCÝ˜S‘/”/Ð!å-7¸ÅÑ-DÔ-DÐPˆtŒ|×!Ò! &Ñ)Ô)Ð)È&ˆØ&Ð& t¤{°4Ô'8¸Ô'=ÐPTÐUÑUÔUÐUr[   Ú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 rx   )Úget)rz   Úcrü  s     €rY   r£   z)ArrowDataFrame.rename.<locals>.<listcomp>Ä  s'   ø€ Ð=Ð=Ð=¨1�W—[’[  AÑ&Ô&Ð=Ð=Ð=r[   )rd   r   râ   r½   rp   Úrename_columns)rX   rü  r)  s    ` rY   ÚrenamezArrowDataFrame.rename¿  sb   ø€ àÔ  EÒ)Ð)ÝÐ)¨7Ñ3Ô3ˆEˆEà=Ð=Ð=Ð=°´Ð=Ñ=Ô=ˆEØ× Ò  ¤×!;Ò!;¸EÑ!BÔ!BÑCÔCÐCr[   Úfileústr | Path | BytesIOc                óH   — dd l m} |                     | j        |¦  «         d S rÈ   )Úpyarrow.parquetÚparquetÚwrite_tablerp   )rX   r  Úpps      rY   Úwrite_parquetzArrowDataFrame.write_parquetÇ  s0   € Ø$Ð$Ð$Ð$Ð$Ð$à
�Š�t”{ DÑ)Ô)Ð)Ð)Ð)r[   c                ó   — d S rS   rx   ©rX   r  s     rY   Ú	write_csvzArrowDataFrame.write_csvÌ  s   € Ø,/¨Cr[   c                ó   — d S rS   rx   r  s     rY   r  zArrowDataFrame.write_csvÏ  s   € Ø=@¸Sr[   ústr | Path | BytesIO | Noneú
str | Nonec                ó  — dd l m} |€ft          j        ¦   «         }|                     | j        |¦  «         |                     ¦   «                              ¦   «                              ¦   «         S |                     | j        |¦  «         d S rÈ   )	Úpyarrow.csvÚcsvrg   ÚBufferOutputStreamr  rp   ÚgetvalueÚ
to_pybytesÚdecode)rX   r  Úpa_csvÚ
csv_buffers       rY   r  zArrowDataFrame.write_csvÒ  s†   € Ø$Ð$Ð$Ð$Ð$Ð$àˆ<ÝÔ.Ñ0Ô0ˆJØ×Ò˜Tœ[¨*Ñ5Ô5Ð5Ø×&Ò&Ñ(Ô(×3Ò3Ñ5Ô5×<Ò<Ñ>Ô>Ð>Ø×Ò˜œ dÑ+Ô+Ð+Øˆtr[   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   rP  rQ  ÚminrÁ  Ú_minÚ_maxrb   )r–  r   râ   rg   r¡   r   rÃ   rp   r9  rD  Ú	aggregaterƒ   rˆ  Úand_Úis_inr   rm   )rX   r˜  Ú	col_tokenr¶  Úkeep_idxrp   s         rY   Ú	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Ð<Ñ<Ô<Ð<r[   )Ú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   >   r‡   ÚlastÚfirstr'   rP  rQ  )r©  F)rn  rl  )ra  r'  r&  r©  )rl  rn  rÞ   Ú_rº   )r–  Ú_check_columns_existrÚ   râ   rC  r(   Ú_REMAP_UNIQUEr   r¹  r€  Úuniquer[  rp   r9  rg   r¡   r   rÃ   rD  r   r7  r½   rÊ   r   r%  r«   rh  r­  r®  )rX   ra  r'  r&  r©  r˜  Úerrorr(   Úagg_funcr#  Ú	idx_tokenr»   rp   Úkeep_idx_nativer$  r]  s                   rY   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°(Ñ;Ô;Ñ<Ô<Ð<r[   Úoffsetc                óL   — |                       | j        |d |…         d¬¦  «        S r  rò  )rX   r¾  r3  s      rY   Úgather_everyzArrowDataFrame.gather_every!  s(   € Ø× Ò  ¤¨V¨Y°Q¨YÔ!7ÈuÐ ÑUÔUÐUr[   c                ó   — | j         S rS   r(  r²   s    rY   rŠ   zArrowDataFrame.to_arrow$  r  r[   Úwith_replacementÚseedc          	     ó>  — dd l }|j                             |¬¦  «        }|                     |                     |¦  «        ||¬¦  «        }|                      | j                             t          j	        |t          j
        ¦   «         ¬¦  «        ¦  «        d¬¦  «        S )Nr   )r8  )ÚsizeÚreplacer‚   Frº   )r–  ÚrandomÚdefault_rngÚchoicer   r½   rp   rÊ   rg   r¡   Úuint64)rX   r¾  r7  r8  r˜  Úrngr·  s          rY   ÚsamplezArrowDataFrame.sample'  s�   € ØÐÐÐàŒi×#Ò#¨Ð#Ñ.Ô.ˆØ—*’*˜RŸYšY q™\œ\°Ð;K�*ÑLÔLˆØ× Ò ØŒK×Ò�RœX gµB´I±K´KÐ@Ñ@Ô@ÑAÔAØ"'ð !ñ 
ô 
ð 	
r[   Ú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 rS   rx   )rz   r  rÅ   s     €rY   r|   z)ArrowDataFrame.unpivot.<locals>.<genexpr><  s'   øè è € Ð9Ð9�Q¨!°5¨.¨.ˆq¨.¨.¨.¨.Ð9Ð9r[   c              3  óš   •K  — | ]E}‰                      ‰t          |‰¦  «        ¦  «                              ‰ ‰|¦  «        ¦  «        V — ŒFd S rS   )r9  r   )rz   r„   r7  Ú
index_colsr¾  rD  rC  s     €€€€€rY   r|   z)ArrowDataFrame.unpivot.<locals>.<genexpr>?  sn   øè è € ð 
ð 
ð ð ×$Ò$ ]µF¸4À±O´OÑDÔD×RÒRØ˜F˜F 4™LœLñô ð
ð 
ð 
ð 
ð 
ð 
r[   Ú
permissive)	rÃ   rÚ   râ   Úiterrp   r  r7  r½   r   )
rX   rB  rÅ   rC  rD  Úon_Útablesr7  rH  r¾  s
     ```  @@@rY   ÚunpivotzArrowDataFrame.unpivot1  sÑ   øøøøøø€ õ �‰IŒIˆØ�m��­¨e©¬ˆØ=?¸ZÐ9Ð9Ð9Ð9˜$œ,Ð9Ñ9Ô9Ð9ÍTÐRTÉXÌXˆØ”[×'Ò'¨Ñ.Ô.ˆ
Ø”Ô#ˆð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð ð	
ñ 
ô 
ˆð × Ò ¥¨v°|Ñ!DÔ!DÑEÔEÐEr[   )
rK   rL   rM   r3   rN   rO   rJ   rO   rP   rQ   )r\   r0   r]   r4   rP   r$   )r\   rs   r]   r4   rt   ru   rP   r$   )r\   r“   r]   r4   rt   ru   rP   r$   )r˜   r™   rP   rš   )r\   rL   r]   r4   rP   r$   )r\   r>   r]   r4   rt   rž   rP   r$   )rP   r*   )rP   r"   )rP   r$   )rM   r3   rP   r$   )r»   rL   rN   rO   rP   r$   )rP   r¾   )rP   rÁ   )rÅ   rÁ   rP   rÆ   )rÍ   rÎ   rP   rÏ   )rÍ   rÓ   rP   rÔ   )rÍ   rO   rP   rÖ   )rP   rÜ   )rÍ   rO   rÙ   rÁ   rP   ræ   )r„   rì   rP   r   )r{   r	   rï   rð   rP   r>   )rÒ   rô   rP   r$   )rÒ   rù   rP   r$   )râ   r@   rP   r$   )râ   rù   rP   r$   )râ   rô   rP   r$   )râ   r  rP   r$   )rP   r  )r  r;   rP   r  )rP   r  )rT   rì   rP   r$   )r!  r&   rP   r$   )r/  r   rP   r+   )r?  r@  rA  rO   rP   r(   )r/  r$   rE  r8   rF  rG  rH  rG  rI  rì   rP   r$   )râ   r  rß   rO   rP   r$   )ra  rG  rP   r$   )rk  rì   rl  rm  rn  rO   rP   r$   )r�  rÁ   rk  r‚  rƒ  rm  rP   r$   )rP   r‹  )rP   rŽ  rS   )rš  rÎ   rP   r›  )rš  rÓ   rP   rŸ  )rš  rO   rP   r¡  )r„   rì   r©  rG  rP   r$   )rº  r&   rP   r$   )r¾  rÁ   rP   r$   )rÈ  rÉ  rÇ  rÊ  rP   r.   )rÈ  rè  ré  r	   rP   r-   )rÌ   rô  r7  rõ  rP   r	   )rü  rý  rP   r$   )r  r  rP   rQ   )r  rQ   rP   rì   )r  r  rP   r  )rP   r   )
ra  rG  r'  r<   r&  rð   r©  rG  rP   r$   )r¾  rÁ   r3  rÁ   rP   r$   )rP   rL   )r¾  rÁ   r7  rO   r8  rô  rP   r$   )
rB  rG  rÅ   rG  rC  rì   rD  rì   rP   r$   )Mrj   Ú
__module__Ú__qualname__r   r­   rc   rZ   Úclassmethodrr   r’   r—   Ústaticmethodre   rm   r¨   r«   r°   r³   r¶   r¹   r½   ÚpropertyrÀ   rÄ   rÌ   r   rÒ   rå   Ú_iter_columnsrÛ   rî   ró   rø   rÿ   r  r  r
  r  rt   r  r  r   Úexploderâ   r   r  r5  r>  rD  rZ  Ú	join_asofr[  rj  r€  rŠ  r�  r’  r•  rž  r¹  rh  rÃ  rÆ  rÙ  rð  ró  rû  r  r  r  r%  r.  r5  rŠ   rA  rM  Úpivotrx   r[   rY   rI   rI   S   sÔ  € € € € € ð %Ô,€Oð */ð ð  ð  ð  ð  ð  ð ð8ð 8ð 8ñ „[ð8ð ð#?ð #?ð #?ñ „[ð#?ðJ ð8ð 8ð 8ñ „[ð8ð0 ð)ð )ð )ñ „\ð)ð ðOð Oð Oñ „[ðOð ð8ð 8ð 8ñ „[ð8ð"5ð 5ð 5ð 5ð
"ð "ð "ð "ðð ð ð ðð ð ð ðYð Yð Yð Yð KOð 
ð 
ð 
ð 
ð 
ð 
ð
 ð!ð !ð !ñ „Xð!ð ð  ð  ð  ðHð Hð Hð Hð Ø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ð/
ð /
ð /
ð /
ðb  �Ñ!Ô!€IðYð Yð Yð Yð!ð !ð !ð !ð
ð 
ð 
ð 
ð2
ð 
ð 
ð 
ð'ð 'ð 'ð 'ð*ð *ð *ð *ð
Àð ð ð ð ð ð ð ØQÐQÐQñ „XØQàØPÐPÐPñ „XØPð7ð 7ð 7ð 7ðKð Kð Kð Kð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð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ðð ð ð ñ
ð 
ð 
ð 
ñFð Fð Fð Fð, ˆOÑÔ€E€E€Er[   rI   )r   r&   rL   r+   )`Ú
__future__r   Úcollections.abcr   r   r   r   Útypingr   r	   r
   r   r   r   Úpyarrowrg   Úpyarrow.computeÚcomputerˆ  rù  r   Únarwhals._arrow.utilsr   r   r   r   r   Únarwhals._compliantr   Únarwhals._utilsr   r   r   r   r   r   r   r   Únarwhals.dependenciesr   Únarwhals.exceptionsr   r   Úior    Úpathlibr!   Útypesr"   r#   ÚpandasÚpdr�  r‘  Útyping_extensionsr$   r%   Únarwhals._arrow.exprr&   rC  r(   rª   r*   Únarwhals._arrow.typingr+   r,   Únarwhals._compliant.typingr-   r.   Únarwhals._spark_like.utilsr/   Únarwhals._translater0   Únarwhals._typingr1   r2   r3   r4   Únarwhals.dtypesr5   Únarwhals.typingr6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rF   Ú__annotations__rG   rI   rx   r[   rY   ú<module>rq     sò  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eà Ð Ð Ð Ø Ð Ð Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ð ð ð /Ð .Ð .Ð .Ð .Ð .ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 4Ð 3Ð 3Ð 3Ð 3Ð 3Ø *Ð *Ð *Ð *Ð *Ð *àð /Ø(Ð(Ð(Ð(Ð(Ð(ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àÐÐÐØÐÐÐØ.Ð.Ð.Ð.Ð.Ð.Ð.Ð.à.Ð.Ð.Ð.Ð.Ð.Ø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ð 	ð 	ð 	ñ 	ð €Ð Ð Ð Ñ ðtð tð tð tð tØÐLÔMñtô tð tð tð tr[   