
    -PhN                    j   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Zd dlmZ d dlmZ d dlmZ d dl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# 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. d dl/m0Z0 d dl1m2Z2 erhd dl3m4Z4 d dl5Z6d dl7Z8d dl9m:Z:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d dl(mKZKmLZL d dlMmNZN d dlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] e
d+d            Z^e
d,d             Z^e
d-d#            Z^e
d.d&            Z^d/d'Z^ G d( d)e%d*                   Z_dS )0    )annotations)TYPE_CHECKINGAnyIterableIteratorMappingSequencecastoverloadNArrowSeriesCatNamespaceArrowSeriesDateTimeNamespaceArrowSeriesListNamespaceArrowSeriesStringNamespaceArrowSeriesStructNamespace)	cast_for_truedivchunked_arrayextract_nativefloordiv_compatlitnarwhals_to_native_dtypenative_to_narwhals_dtype
nulls_like
pad_series)EagerSeries)ExprKind)Implementationgenerate_temporary_column_name
is_list_ofnot_implementedrequiresvalidate_backend_version)is_numpy_array_1dInvalidOperationError)
ModuleType)SelfTypeIsArrowDataFrameArrowNamespace)
ArrayAnyArrayOrChunkedArrayArrayOrScalarChunkedArrayAny
IncompleteNullPlacementOrder
TieBreaker	_AsPyType_BasicDataType)Version_FullContext)DType)ClosedIntervalFillNullStrategyInto1DArray	IntoDTypeNonNestedLiteralNumericLiteralPythonLiteral
RankMethodRollingInterpolationMethodSizedMultiIndexSelectorTemporalLiteral_1DArray_2DArray_SliceIndexvalue$pa.Scalar[_BasicDataType[_AsPyType]]return_py_scalarboolreturnr9   c                    d S N rL   rN   s     V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/narwhals/_arrow/series.pymaybe_extract_py_scalarrV   Y   s	         pa.Scalar[pa.StructType]list[dict[str, Any]]c                    d S rR   rS   rT   s     rU   rV   rV   `   s	     3rW   1pa.Scalar[pa.ListType[_BasicDataType[_AsPyType]]]list[_AsPyType]c                    d S rR   rS   rT   s     rU   rV   rV   g   s	     crW   pa.Scalar[Any] | Anyr   c                    d S rR   rS   rT   s     rU   rV   rV   n   s	     #rW   c                z     t           r                                 S |r t           d fd                      S  S )Nas_pyc                      S rR   rS   )rL   s   rU   <lambda>z)maybe_extract_py_scalar.<locals>.<lambda>y   s    u rW   )r   ra   getattrrT   s   ` rU   rV   rV   u   sF     {{}} 85wug}}}}55777LrW   c                  b    e Zd ZddZedd            ZddZddddZeddddd            Z	d fd"Z
edd&            Zedd'dd(            Zedd*            Zdd,Zdd/Zdd0Zdd1Zdd2Zdd3Zdd4Zdd5Zdd6Zdd7Zdd8Zdd9Zdd:Zdd;Zdd<Zdd=Zdd>Zdd?Z dd@Z!ddAZ"ddBZ#ddCZ$ddDZ%ddEZ&ddFZ'ddGZ(eddI            Z)dJdKddNZ*ddQZ+dJdKddSZ,dJdKddTZ-dJdKddUZ.dJdKddVZ/dJdKddWZ0dJdKddXZ1dJdKddYZ2ddZZ3dd\Z4dJdKd d^Z5dJdKd d_Z6dJdKddaZ7dJdKddbZ8dJdKddcZ9ddeZ:eddf            Z;ddiZ<ddkZ=ddoZ>ddqZ?dddrd	dvZ@dddrd	dwZAd
dxZBeddz            ZCdd{ZDdd}ZEddZFddZGdJdKddZHdJdKddZIddZJddZKddZLddZMdJdKddZNddZOddZPddZQddZRdddZSddZTddZUddZVddZWddZXddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_ddZ`ddZaddZbdJdKddZcd d!dZdd"dĄZed#dƄZfddǄZgddȄZhddɄZi ejjk        dʦ          dd˄            Zl ejjk        dʦ          dd̄            Zm ejjk        dʦ          dd̈́            Znd$dфZod$d҄Zpd%dӄZqd%dԄZrd&dׄZs ejjk        dʦ          d'd܄            Ztd(dބZud)d߄Zvd*dZwddZxed+d            Zyed,d            Zzed-d            Z{ed.d            Z|ed/d            Z} e~            Z xZS (0  ArrowSeriesnative_seriesr4   namestrbackend_versiontuple[int, ...]versionr;   rP   Nonec                   || _         || _        t          j        | _        || _        || _        t          | j        | j                   d| _        d S )NF)	_name_native_seriesr!   PYARROW_implementation_backend_version_versionr&   
_broadcast)selfrg   rh   rj   rl   s        rU   __init__zArrowSeries.__init__~   sN     
/<-5 / !5t7LMMMrW   c                    | j         S rR   )rp   rv   s    rU   nativezArrowSeries.native   s    ""rW   r+   c                R    |                      | j        | j        | j        |          S N)rh   rj   rl   )	__class__rz   ro   rs   )rv   rl   s     rU   _with_versionzArrowSeries._with_version   s0    ~~K 1	  
 
 	
rW   Fpreserve_broadcastseriesr3   r   rO   c               v    |                      t          |          | j        |           }|r| j        |_        |S Nrh   context)from_nativer   rh   ru   )rv   r   r   results       rU   _with_nativezArrowSeries._with_native   s@     !!-"7"7diQU!VV 	0 $FrW    N)rh   dtypedataIterable[Any]r   r<   r   IntoDType | Nonec                   |j         }|rt          ||          nd }|                     t          |g|          ||          S r   )rt   r   r   r   )clsr   r   rh   r   rl   dtype_pas          rU   from_iterablezArrowSeries.from_iterable   sT     "?DN+E7;;;$4&(++$  
 
 	
rW   rL   r   c                    | j         dk     r$t          |d          r|                                }t                                          |          S )N   ra   )rs   hasattrra   super_from_scalar)rv   rL   r}   s     rU   r   zArrowSeries._from_scalar   sE     5((WUG-D-D(KKMMEww##E***rW   objChunkedArrayAny | AnyTypeIs[ChunkedArrayAny]c                6    t          | t          j                  S rR   )
isinstancepaChunkedArray)r   s    rU   
_is_nativezArrowSeries._is_native   s    #r///rW   rh   c              4     | ||j         |j        |          S )N)rj   rl   rh   )rs   rt   )r   r   r   rh   s       rU   r   zArrowSeries.from_native   s/     s#4$	
 
 
 	
rW   r@   c              T    |                      t          |          r|n|g|          S )N)r   )r   r'   )r   r   r   s      rU   
from_numpyzArrowSeries.from_numpy   s7      %d++7DD$ ! 
 
 	
rW   r0   c                <    ddl m}  || j        | j                  S )Nr   r/   )rj   rl   )narwhals._arrow.namespacer0   rs   rt   )rv   r0   s     rU   __narwhals_namespace__z"ArrowSeries.__narwhals_namespace__   s7    <<<<<<~ 14=
 
 
 	
rW   otherobjectc                    t          d|          }t          | |          \  }}|                     t          j        ||                    S Nz"PythonLiteral | ArrowSeries | None)r
   r   r   pcequalrv   r   serrhss       rU   __eq__zArrowSeries.__eq__   sE    95AA!$..S  #s!3!3444rW   c                    t          d|          }t          | |          \  }}|                     t          j        ||                    S r   )r
   r   r   r   	not_equalr   s       rU   __ne__zArrowSeries.__ne__   sE    95AA!$..S  c3!7!7888rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   greater_equalrv   r   r   s      rU   __ge__zArrowSeries.__ge__   s6    #D%00
U  !1#u!=!=>>>rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   greaterr   s      rU   __gt__zArrowSeries.__gt__   s5    #D%00
U  C!7!7888rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   
less_equalr   s      rU   __le__zArrowSeries.__le__   5    #D%00
U  sE!:!:;;;rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   lessr   s      rU   __lt__zArrowSeries.__lt__   s5    #D%00
U  e!4!4555rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   r   
and_kleener   s      rU   __and__zArrowSeries.__and__   r   rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   s      rU   __rand__zArrowSeries.__rand__   s5    #D%00
U  uc!:!:;;;rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   r   	or_kleener   s      rU   __or__zArrowSeries.__or__   s5    #D%00
U  c5!9!9:::rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   s      rU   __ror__zArrowSeries.__ror__   s5    #D%00
U  eS!9!9:::rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   addr   s      rU   __add__zArrowSeries.__add__   s5    #D%00
U  U!3!3444rW   c                    | |z   S rR   rS   rv   r   s     rU   __radd__zArrowSeries.__radd__       e|rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   subtractr   s      rU   __sub__zArrowSeries.__sub__  5    #D%00
U  S%!8!8999rW   c                    | |z
  dz  S )NrS   r   s     rU   __rsub__zArrowSeries.__rsub__  s    u$$rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   )r   r   r   multiplyr   s      rU   __mul__zArrowSeries.__mul__
  r   rW   c                    | |z  S rR   rS   r   s     rU   __rmul__zArrowSeries.__rmul__  r   rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   r   powerr   s      rU   __pow__zArrowSeries.__pow__  s5    #D%00
U  #u!5!5666rW   c                x    t          | |          \  }}|                     t          j        ||                    S rR   r   r   s      rU   __rpow__zArrowSeries.__rpow__  s5    #D%00
U  %!5!5666rW   c                n    t          | |          \  }}|                     t          ||                    S rR   r   r   r   r   s      rU   __floordiv__zArrowSeries.__floordiv__  s3    #D%00
U  e!<!<===rW   c                n    t          | |          \  }}|                     t          ||                    S rR   r   r   s      rU   __rfloordiv__zArrowSeries.__rfloordiv__  s3    #D%00
U  !<!<===rW   c                    t          | |          \  }}|                     t          j        t	          ||                     S rR   r   r   r   divider   r   s      rU   __truediv__zArrowSeries.__truediv__!  s;    #D%00
U  ,<S%,H,H!IJJJrW   c                    t          | |          \  }}|                     t          j        t	          ||                     S rR   r   r   s      rU   __rtruediv__zArrowSeries.__rtruediv__%  s;    #D%00
U  ,<UC,H,H!IJJJrW   c                    | |z  j         }t          | |          \  }}t          j        |t          j        ||                    }|                     |          S rR   rz   r   r   r   r   r   rv   r   	floor_divr   ress        rU   __mod__zArrowSeries.__mod__)  sR    U]*	#D%00
Uk#r{9e<<==  %%%rW   c                    || z  j         }t          | |          \  }}t          j        |t          j        ||                    }|                     |          S rR   r   r   s        rU   __rmod__zArrowSeries.__rmod__/  sR    d]*	#D%00
Uk%Y!<!<==  %%%rW   c                Z    |                      t          j        | j                            S rR   )r   r   invertrz   ry   s    rU   
__invert__zArrowSeries.__invert__5  s"      4;!7!7888rW   pa.DataTypec                    | j         j        S rR   )rz   typery   s    rU   _typezArrowSeries._type8  s    {rW   T)_return_py_scalarr  intc               F    t          t          | j                  |          S rR   )rV   lenrz   rv   r  s     rU   r  zArrowSeries.len<  s    &s4;'7'79JKKKrW   	predicateArrowSeries | list[bool | None]c                    t          |t                    st          | |          \  }}n|}|                     | j                            |                    S rR   )r#   rO   r   r   rz   filter)rv   r  _other_natives       rU   r	  zArrowSeries.filter?  sR    )T** 	%,T9==OA||$L  !3!3L!A!ABBBrW   floatc               P    t          t          j        | j                  |          S rR   )rV   r   meanrz   r  s     rU   r  zArrowSeries.meanG  s    &rwt{';';=NOOOrW   c                   ddl m} | j                                        sd} ||          t	          t          j        | j                  |          S )Nr   r(   z<`median` operation not supported for non-numeric input type.)narwhals.exceptionsr)   r   
is_numericrV   r   approximate_medianrz   )rv   r  r)   msgs       rU   medianzArrowSeries.medianJ  se    ======z$$&& 	-PC'',,,&!$+..0A
 
 	
rW   c               P    t          t          j        | j                  |          S rR   )rV   r   minrz   r  s     rU   r  zArrowSeries.minU      &rvdk':':<MNNNrW   c               P    t          t          j        | j                  |          S rR   )rV   r   maxrz   r  s     rU   r  zArrowSeries.maxX  r  rW   c                   t          j        | j        t          j        | j                            }t	          ||          S rR   )r   indexrz   r  rV   )rv   r  	index_mins      rU   arg_minzArrowSeries.arg_min[  2    HT["&*=*=>>	&y2CDDDrW   c                   t          j        | j        t          j        | j                            }t	          ||          S rR   )r   r  rz   r  rV   )rv   r  	index_maxs      rU   arg_maxzArrowSeries.arg_max_  r  rW   c               T    t          t          j        | j        d          |          S Nr   	min_count)rV   r   sumrz   r  s     rU   r&  zArrowSeries.sumc  +    &F4;!,,,.?
 
 	
rW   c                Z    |                      | j                                                  S rR   )r   rz   	drop_nullry   s    rU   
drop_nullszArrowSeries.drop_nullsh  s$      !6!6!8!8999rW   nc                <   |dk    r't          ||           g| j        d |          j        }nI|dk     r)g | j        | d          j        t          | |           }n|                     | j                  S |                     t	          j        |                    S Nr   )r   rz   chunksr   r   concat_arrays)rv   r+  arrayss      rU   shiftzArrowSeries.shiftk  s    q55 D))DDK!,<,CDFFUUEt{A233'.E
A2t0D0DEFF$$T[111  !1&!9!9:::rW   ddofc               T    t          t          j        | j        |          |          S N)r2  )rV   r   stddevrz   rv   r2  r  s      rU   stdzArrowSeries.stdt  s+    &Idk---/@
 
 	
rW   c               T    t          t          j        | j        |          |          S r4  )rV   r   variancerz   r6  s      rU   varzArrowSeries.vary  s+    &K$///1B
 
 	
rW   float | Nonec          	     t   | j                                         }t          |          dk    rd S t          |          dk    rt          d          S t          |          dk    rdS t	          j        |t	          j        |                    }t	          j        t	          j        |t          d                              }t	          j        t	          j        |t          d                              }t	          j	        |t	          j        |t          d                              }t          ||          S )Nr      nan   g           g      ?)rz   r)  r  r  r   r   r  r   r   r   rV   )rv   r  ser_not_nullmm2m3biased_population_skewnesss          rU   skewzArrowSeries.skew~  s    {,,..|!!4!##<<!##3L"',*?*?@@A!SVV,,--B!SVV,,--B)+2rxCHH7M7M)N)N&*+EGXYYYrW   c               P    t          t          j        | j                  |          S rR   )rV   r   countrz   r  s     rU   rH  zArrowSeries.count  s    &rx'<'<>OPPPrW   c               x    t          t          j        | j                                        d          |          S )Nall)mode)rV   r   rH  rz   uniquer  s     rU   n_uniquezArrowSeries.n_unique  s7    &HT[''))6668I
 
 	
rW   r*   c                    | j         t          j        u r| j                                         S dt	          | j                    }t          |          )NzExpected pyarrow, got: )rr   r!   rq   to_native_namespacer   AssertionError)rv   r  s     rU   __native_namespace__z ArrowSeries.__native_namespace__  sN    >#999';;===DT-A(B(BDDS!!!rW   c                    | j         S rR   )ro   ry   s    rU   rh   zArrowSeries.name  s
    zrW   rows(SizedMultiIndexSelector[ChunkedArrayAny]c                <   t          |          dk    r.|                     | j                            dd                    S | j        dk     r$t          |t                    rt          |          }|                     | j                            |                    S )Nr   )   )	r  r   rz   slicers   r   tuplelisttake)rv   rS  s     rU   _gatherzArrowSeries._gather  s    t99>>$$T[%6%6q!%<%<=== 5((Ze-D-D(::D  !1!1$!7!7888rW   _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   r=  z4Slicing with step is not supported on PyArrow tables)startstopr  rz   stepNotImplementedErrorr   rW  )rv   rS  r^  r_  r  s        rU   _gather_slicezArrowSeries._gather_slice  s    
a I1tyys4;7G7G199$$u,E!88t{##d*D9 TY!^^HC%c***  !2!25$,!G!GHHHrW   indicesint | Sequence[int]valuesc           	        dd l }t          |t                    r+t          j        |g          }t          j        |g          }nZt          j        |          }t          || j                  r|j                                        }nt          j        } ||          }t          j	        |          }|
                    |          }|
                    |          }|                    |                                 t                    }d||<   t          j        }	|                      |	| j        ||
                    |                              S )Nr   )r   T)numpyr   r  r   arrayr}   rz   combine_chunksr   sort_indicesrZ  zerosr  rO   replace_with_maskr   )
rv   rc  re  npindices_nativevalues_nativepa_arraysorting_indicesmaskpc_replace_with_masks
             rU   scatterzArrowSeries.scatter  s9    gs## 	1Xwi00NHfX..MM  Xg..N&$.11 1 & < < > > (*x ( 0 0/.99',,_==%**?;;$((**D99#^ ,.+?    dM4F4F~4V4VWW
 
 	
rW   	list[Any]c                4    | j                                         S rR   )rz   	to_pylistry   s    rU   to_listzArrowSeries.to_list  s    {$$&&&rW   )copyry  bool | NonerI   c               :    | j                             ||          S )N)r   ry  )rz   	__array__rv   r   ry  s      rU   r|  zArrowSeries.__array__  s    {$$5t$<<<rW   c               4    | j                                         S rR   )rz   to_numpyr}  s      rU   r  zArrowSeries.to_numpy  s    {##%%%rW   c                n    |                      | j        || j        | j                  }| j        |_        |S r|   )r}   rz   rs   rt   ru   )rv   rh   r   s      rU   aliaszArrowSeries.alias  s>    K 1M	   
 
 !OrW   r=   c                @    t          | j        j        | j                  S rR   )r   rz   r   rt   ry   s    rU   r   zArrowSeries.dtype  s    '(8$-HHHrW   c                Z    |                      t          j        | j                            S rR   )r   r   absrz   ry   s    rU   r  zArrowSeries.abs  "      !4!4555rW   reversec                   t           j        }|s || j        d          n# || j        d d d         d          d d d         }|                     |          S NT)
skip_nullsr   )r   cumulative_sumrz   r   )rv   r  cum_sumr   s       rU   r  zArrowSeries.cum_sum  sp    # CGGDKD1111TTrT*t<<<TTrTB 	
   (((rW   decimalsc                `    |                      t          j        | j        |d                    S )Nhalf_towards_infinity)
round_mode)r   r   roundrz   )rv   r  s     rU   r  zArrowSeries.round  s1      HT[(7NOOO
 
 	
rW   c                ~    |                      t          j        | j                                                            S rR   )r   r   pairwise_diffrz   ri  ry   s    rU   diffzArrowSeries.diff  s/      !1$+2L2L2N2N!O!OPPPrW   c               T    t          t          j        | j        d          |          S r#  )rV   r   anyrz   r  s     rU   r  zArrowSeries.any   r'  rW   c               T    t          t          j        | j        d          |          S r#  )rV   r   rJ  rz   r  s     rU   rJ  zArrowSeries.all  r'  rW   lower_boundupper_boundclosedr>   c                   t          | |          \  }}t          | |          \  }}|dk    rJt          j        | j        |          }t          j        | j        |          }t          j        ||          }n|dk    rJt          j        | j        |          }t          j        | j        |          }	t          j        ||	          }n|dk    rJt          j        | j        |          }t          j        | j        |          }t          j        ||          }nW|dk    rJt          j        | j        |          }t          j        | j        |          }	t          j        ||	          }nt          | 	                    |          S )Nleftrightnoneboth)
r   r   r   rz   r   r   r   r   rP  r   )
rv   r  r  r  r
  geltr   gtles
             rU   
is_betweenzArrowSeries.is_between
  sV    (k::;'k::;V!$+{;;Bk22B-B''CCwDK55Bt{K88B-B''CCvDK55Bk22B-B''CCv!$+{;;Bt{K88B-B''CC    %%%rW   c                ^    |                      | j                                        d          S NTr   )r   rz   is_nullry   s    rU   r  zArrowSeries.is_null#  s)      !4!4!6!64 PPPrW   c                ^    |                      t          j        | j                  d          S r  )r   r   is_nanrz   ry   s    rU   r  zArrowSeries.is_nan&  s'      4;!7!7D QQQrW   rA   c                    t          || j                  }|                     t          j        | j        |          d          S r  )r   rt   r   r   r
   rz   )rv   r   	data_types      rU   r
   zArrowSeries.cast)  s;    ,UDMBB	  i!@!@UY ZZZrW   c               6    t          | j        j        |          S rR   )rV   rz   
null_countr  s     rU   r  zArrowSeries.null_count-  s    &t{'=?PQQQrW   c           
        |dk    r.|                      | j                            d|                    S t          |           }|                      | j                            dt	          d||z                                 S r-  )r   rz   rW  r  r  rv   r+  num_rowss      rU   headzArrowSeries.head0  sp    66$$T[%6%6q!%<%<===4yyH$$T[%6%6q#aA:N:N%O%OPPPrW   c           	        |dk    rMt          |           }|                     | j                            t	          d||z
                                S |                     | j                            t          |                              S r-  )r  r   rz   rW  r  r  r  s      rU   tailzArrowSeries.tail7  sr    664yyH$$T[%6%6s1hl7K7K%L%LMMM$$T[%6%6s1vv%>%>???rW   c                    |                      |          r|}nt          j        |          }|                     t	          j        | j        |                    S )N)	value_set)r   r   rh  r   r   is_inrz   )rv   r   r  s      rU   r  zArrowSeries.is_in>  sO    ??5!! 	(-2III  $+!K!K!KLLLrW   c                x    dd l }|                    | j                  }|                     || j        |           S )Nr   r   )rg  flatnonzerorz   r   rh   )rv   rm  r   s      rU   arg_truezArrowSeries.arg_trueE  s>    nnT[))!!#DIt!DDDrW   r  
int | Nonec                    |Qt          |           dk    r"dt          |            d}t          |          t          | j        d         d          S t          | j        |         d          S )Nr=  zlcan only call '.item()' if the Series is of length 1, or an explicit index is provided (Series is of length )r   TrN   )r  
ValueErrorrV   rz   )rv   r  r  s      rU   itemzArrowSeries.itemK  s~    =4yyA~~[NQRVii[ [ [  !oo%*4;q>DQQQQ&t{5'9DQQQQrW   sortparallel
str | None	normalizer.   c          	        ddl m} | j        dn| j        }|p|rdnd}t          j        | j                  }|                    d          }	t          d|                    d	                    }
|r1|	t          j        t          |
t          j
        |
                     g}n|	|
g}t          j                            |||g
          }|r|                    |dfg          } ||| j        | j        d          S )z-Parallel is unused, exists for compatibility.r   r-   Nr  
proportionrH  re  r4   countsnames
descendingTrj   rl   validate_column_names)narwhals._arrow.dataframer.   ro   r   value_countsrz   fieldr
   r   r   r&  r   Tablefrom_arrayssort_byrs   rt   )rv   r  r  rh   r  r.   index_name_value_name_
val_countsre  r  r0  	val_counts                rU   r  zArrowSeries.value_countsV  s"    	=<<<<<!%!3ggFyE||g_T[11
!!(++')9)9()C)CDD 	&bi)9&"&..)Q)QRSFFf%FH(([7Q(RR	 	I!))K+F*GHHI~ 1M"&	
 
 
 	
rW   rr  c                    |j                                         }|                     t          j        || j         |j                             S rR   )rz   ri  r   r   if_else)rv   rr  r   conds       rU   zip_withzArrowSeries.zip_witht  s;    {))++  D$+u|!L!LMMMrW   fractionwith_replacementseedc               @   dd l }t          |           }||t          ||z            }|j                            |          }|                    d|          }|                    |||          }	|                     | j        	                    |	                    S )Nr   )r  )sizereplace)
rg  r  r  randomdefault_rngarangechoicer   rz   rZ  )
rv   r+  r  r  r  rm  r  rngidxrr  s
             rU   samplezArrowSeries.samplex  s     	t999-Hx'((Ai###..ii8$$zz#A/?z@@  !1!1$!7!7888rW   Self | NonNestedLiteralstrategyFillNullStrategy | Nonelimitc                ,  	 dd l 	d	fd
}|.t          | |          \  }}t          j        | j        |          }nC|/|dk    rt          j        nt          j        } || j                  }n || j        ||          }|                     |d          S )Nr   arrr4   r  r  	directionr  rP   r1   c                   t          j        |           }t          j                            t          |                     t          j                              }|dk    r5j                            	                    ||d                    }||z
  }n\j
                            	                    |d d d         |d d d         t          |                               d d d         }||z
  }t          j        t          j        t          j        |           t          j        |t          |                              |                     |          |           S )Nr   forwardr   )r   is_validr   rh  r  r  int64maximum
accumulatewhereminimumr  and_r  r   r   rZ  )r  r  r  
valid_maskrc  valid_indexdistancerm  s          rU   fill_auxz'ArrowSeries.fill_null.<locals>.fill_aux  s+    S))JhryyS22DDDGI%% j33BHHZRT4U4UVV"[0 j33HHZ"-wttt}c#hhGG $B$ '0:
3xU)L)LMM%%  rW   r  Tr   )r  r4   r  r  r  r  rP   r1   )rg  r   r   	fill_nullrz   fill_null_forwardfill_null_backwardr   )
rv   rL   r  r  r  r
  native_valuer   	fill_funcrm  s
            @rU   r  zArrowSeries.fill_null  s     		 	 	 	 	 	, ,T599OA|$&Ll$K$KFF](0I(=(=$$2CX  Yt{++FFXdk5(;;F  D AAArW   c                    ddl m} t          j                            | j        g| j        g          } ||| j        | j        d          S )Nr   r-   r  Fr  )	r  r.   r   r  r  rz   rh   rs   rt   )rv   r.   dfs      rU   to_framezArrowSeries.to_frame  s`    <<<<<<X!!4;-	{!CC~ 1M"'	
 
 
 	
rW   pd.Series[Any]c                B    dd l } |j        | j        | j                  S )Nr   r   )pandasSeriesrz   rh   )rv   pds     rU   	to_pandaszArrowSeries.to_pandas  s)    ry495555rW   	pl.Seriesc                P    dd l }t          d |j        | j                            S )Nr   r	  )polarsr
   
from_arrowrz   )rv   pls     rU   	to_polarszArrowSeries.to_polars  s,    Kt{!;!;<<<rW   c                ~    |                                                                                      | j                  S rR   )r  	is_uniquer  rh   ry   s    rU   r  zArrowSeries.is_unique  s,    }}((**00;;;rW   c                   dd l }t          j        |                    t	          |                               }t          d| j        g          }t          j                            | j	        g| j        g          
                    ||                              | j                                      |dfg                              | d          }|                     t          j        ||                    S )Nr      n_bytescolumnsr  r  _minrg  r   rh  r  r  r"   rh   r  r  rz   append_columngroup_by	aggregatecolumnr   r   r  )rv   rm  
row_number	col_tokenfirst_distinct_indexs        rU   is_first_distinctzArrowSeries.is_first_distinct  s    XbiiD		2233
21tykRRR	H  $+tyk BB]9j11Xdi  YE*+,,Vy&&&'' 	   *6J!K!KLLLrW   c                   dd l }t          j        |                    t	          |                               }t          d| j        g          }t          j                            | j	        g| j        g          
                    ||                              | j                                      |dfg                              | d          }|                     t          j        ||                    S )Nr   r  r  r  r  _maxr  )rv   rm  r  r  last_distinct_indexs        rU   is_last_distinctzArrowSeries.is_last_distinct  s    XbiiD		2233
21tykRRR	H  $+tyk BB]9j11Xdi  YE*+,,Vy&&&'' 	   *6I!J!JKKKrW   r  c                  t          |t                    s!dt          |           }t          |          |rBt	          j        t	          j        | j        d d         | j        dd                              }nAt	          j        t	          j        | j        d d         | j        dd                              }t          |d          S )Nz/argument 'descending' should be boolean, found r   r=  Tr  )
r   rO   r   	TypeErrorr   rJ  r   rz   r   rV   )rv   r  r  r   s       rU   	is_sortedzArrowSeries.is_sorted  s    *d++ 	!VDDTDTVVCC..  	NVB,T["-=t{122OOPPFFVBM$+crc*:DKOLLMMF&vEEEErW   maintain_orderc               Z    |                      | j                                                  S rR   )r   rz   rL  )rv   r'  s     rU   rL  zArrowSeries.unique  s$      !3!3!5!5666rW   old!Sequence[Any] | Mapping[Any, Any]newSequence[Any]return_dtypec                  t          j        | j        t          j        |                    }t          j        t          j        |          |          }|(|                    t          || j                             | 	                    |          }|
                                                                | 
                                                                k    rud|                     | 
                                 |
                                z                                d                                           }t          |          |S )NzYreplace_strict did not replace all non-null values.

The following did not get replaced: F)r'  )r   index_inrz   r   rh  rZ  r
   r   rt   r   r  r&  r	  rL  rx  r  )rv   r)  r+  r-  idxsresult_nativer   r  s           rU   replace_strictzArrowSeries.replace_strict  s    {4;66t44#7dmTTUUU""=11>>!!T\\^^%7%7%9%999l;;1A1AABBIIY^I__ggiil l 
 S//!rW   
nulls_lastc                   |rdnd}|rdnd}t          j        | j        ||          }|                     | j                            |                    S )Nr  	ascendingat_endat_start)ordernull_placement)r   array_sort_indicesrz   r   rZ  )rv   r  r3  r8  r9  sorted_indicess         rU   r  zArrowSeries.sort  sd    '1B||{4>(NJ.Ku^
 
 
   !1!1.!A!ABBBrW   	separator
drop_firstc                 	
 dd l }ddlm} | j        	| j                                                            d          }|                    t          |j	                  t          |          f|j
                  }d||j        |                    t          |                    f<   	  d	  dc
	
fd|j	        D             }|v r3gt          fd|D                       t          |          d          n#t          |          t          |          d          }  |t          j                            ||	          | j        | j        d
          j        | S )Nr   r-   encoder=  rm   nullc                X    g | ]&}i                       |   |           'S rS   )get).0vrh   null_col_panull_col_plr<  s     rU   
<listcomp>z*ArrowSeries.to_dummies.<locals>.<listcomp>#  se     
 
 
  +&**''A''D)@))@Q)@)@ 
 
 
rW   c                     g | ]
}|k    |S rS   rS   )rC  crF  s     rU   rG  z*ArrowSeries.to_dummies.<locals>.<listcomp>-  s#    ===qA,<,<,<,<,<rW   r  Tr  )rg  r  r.   ro   rz   ri  dictionary_encoderk  r  
dictionaryint8rc  r  sortedr  r   r  r  rs   rt   simple_select)rv   r<  r=  rm  r.   dar  colsoutput_orderrh   rE  rF  s    `       @@@rU   
to_dummieszArrowSeries.to_dummies  s   <<<<<<z3355GGQQHHc"-&8&8#b''%BBGLL23
BIIc"gg.../&*#;I#;#;#;=Ui=U=U=U [
 
 
 
 
 
 
 ]	
 
 
 d"" ====D===>>s:?P?PQ 
 c*oo//0 	~~H   55 1M"&	
 
 

 ' 	'rW   quantileinterpolationrF   c               b    t          t          j        | j        ||          d         |          S )N)qrT  r   )rV   r   rS  rz   )rv   rS  rT  r  s       rU   rS  zArrowSeries.quantile9  s4     'Kx}MMMaP
 
 	
rW   r   offsetc                H    |                      | j        |d |                   S rR   )r   rz   )rv   r+  rW  s      rU   gather_everyzArrowSeries.gather_everyE  s#      VYQY!7888rW   .Self | NumericLiteral | TemporalLiteral | Nonec                   |rt          | |          nd\  }}|rt          | |          nd\  }}|-|                     t          j        | j        |                    S |-|                     t          j        | j        |                    S |                     t          j        t          j        | j        |          |                    S )N)NN)r   r   r   min_element_wiserz   max_element_wise)rv   r  r  r
  loweruppers         rU   clipzArrowSeries.clipH  s    
 9DU>$44458CU>$4445=$$R%8e%L%LMMM=$$R%8e%L%LMMM   3DK G GOO
 
 	
rW   r1   c                4    | j                                         S rR   )rz   ri  ry   s    rU   to_arrowzArrowSeries.to_arrowX  s    {))+++rW   c                   |                                  }t          d| j        g          }|                     |ddd          }|                    |                    |          |                    |                                                              t          j	                  k              
                    | j                  S )Nr  r  F)rh   r  r  r  )kind)r   r"   rh   r  r	  colr  	broadcastr    AGGREGATION
get_column)rv   plxr  r  s       rU   rK  zArrowSeries.mode[  s    ))++21tykRRR	""e%% # 
 
 }}GGIwwy!!%%''11x7K1LLM
 
 *TY

	 rW   c                Z    |                      t          j        | j                            S rR   )r   r   	is_finiterz   ry   s    rU   rk  zArrowSeries.is_finitef  s"      dk!:!:;;;rW   c                   | j         j        }|                                                      |                                                              |          S )Nr  )rt   dtypesr  r
   UInt32r  )rv   r  rn  s      rU   	cum_countzArrowSeries.cum_counti  sC    %%%fmmoo66>>w>OOOrW   r   c                   |st          j        | j        d          n,t          j        | j        d d d         d          d d d         }|                     |          S r  )r   cumulative_minrz   r   rv   r  r   s      rU   cum_minzArrowSeries.cum_minm  j     MBdkd;;;;"4;ttt#4FFFtttL 	
   (((rW   c                   |st          j        | j        d          n,t          j        | j        d d d         d          d d d         }|                     |          S r  )r   cumulative_maxrz   r   rs  s      rU   cum_maxzArrowSeries.cum_maxv  ru  rW   c                   |st          j        | j        d          n,t          j        | j        d d d         d          d d d         }|                     |          S r  )r   cumulative_prodrz   r   rs  s      rU   cum_prodzArrowSeries.cum_prod  sj     NBt{t<<<<#DK"$5$GGG"M 	
   (((rW   window_sizemin_samplescenterc               8   ||n|}t          | ||          \  }}|                    d                              d dd           }|dk    r.||                    |                              dd d           z
  n|}|                    d          }||                    |                              dd d           z
  }	|                     t          j        |	|k    j        |j        d                     }
|
	                    t          |d                     S Nr|  r~  Frm  r  rL   r  r  r   r   r  r  r1  rp  r   r   r  rz   rb  rW  rv   r|  r}  r~  padded_seriesrW  r  rolling_sumvalid_countcount_in_windowr   s              rU   r  zArrowSeries.rolling_sum  sM   %0%<kk+ *4[QW X X Xv'''66@@$ A 
 
 a mmK((22TQU2VVW W 	 	 $--e-<<%(9(9+(F(F(P(Pd$ )Q )
 )
 
 ""J;6>@RTXYY
 
 ##E&$$7$7888rW   c               >   ||n|}t          | ||          \  }}|                    d                              d dd           }|dk    r.||                    |                              dd d           z
  n|}|                    d          }||                    |                              dd d           z
  }	|                     t          j        |	|k    j        |j        d                     |	z  }
|
	                    t          |d                     S r  r  r  s              rU   rolling_meanzArrowSeries.rolling_mean  s_   %0%<kk+ *4[QW X X Xv'''66@@$ A 
 
 a mmK((22TQU2VVW W 	 	 $--e-<<%(9(9+(F(F(P(Pd$ )Q )
 )
 

 
$3;[=OQU  
  	 ##E&$$7$7888rW   c                  ||n|}t          | ||          \  }}|                    d                              d dd           }|dk    r.||                    |                              dd d           z
  n|}t	          |d                              d                              d dd           }	|dk    r.|	|	                    |                              dd d           z
  n|	}
|                    d          }||                    |                              dd d           z
  }|                     t          j        ||k    j	        |
|dz  |z  z
  j	        d                     |                     t          j
        ||z
  j	        d                    z  }|                    t          |d d                     S )Nr  Frm  r  r  r   r?  )r   r  r  r1  powrp  r   r   r  rz   r]  rb  rW  )rv   r|  r}  r~  r2  r  rW  r  r  
cum_sum_sqrolling_sum_sqr  r  r   s                 rU   rolling_varzArrowSeries.rolling_var  s    &1%<kk+ *4[QW X X Xv'''66@@$ A 
 
 a mmK((22TQU2VVW W 	 	 q!!WUW##YTITYBB 	 a {++55ATX5YYZ Z 	 	 $--e-<<%(9(9+(F(F(P(Pd$ )Q )
 )
 
 ""J K/7;>O#CDL 
 
 b1?T3I2QSTUUVVW ##E&$$=$=>>>rW   c               :    |                      ||||          dz  S )N)r|  r}  r~  r2        ?)r  )rv   r|  r}  r~  r2  s        rU   rolling_stdzArrowSeries.rolling_std  s5     '[VZ    	
rW   methodrE   c               z   |dk    rd}t          |          |rdnd}|dk    rdn|}| j        dk     r| j                                        }n| j        }t	          j        |          }t	          j        |||          }t	          j        |t          d |j	                  |          }	| 
                    |	          S )	Naveragez`rank` with `method='average' is not supported for pyarrow backend. The available methods are {'min', 'max', 'dense', 'ordinal'}.r  r5  ordinalfirst)   r   r   )	sort_keys
tiebreaker)r  rs   rz   ri  r   r  rankr  r   r   r   )
rv   r  r  r  r  r  rg   	null_maskr  r   s
             rU   r  zArrowSeries.rank  s    YP  S//!+5F<<;	,2i,?,?V
  :-- K6688MM KMJ}--	w}	jQQQIs41C'D'DdKK  (((rW   binslist[float | int] | None	bin_countinclude_breakpointc                   dd l ddlm} d fd}d fdt          j        t          j        t          j        t          j         j                  t          j	         j                                      
                    t          j                              d	          }|^t          |          d
k     rg g }}n=|t          j        dt          j                              k    r1                    t          |          dz
            }|dd          }nt          |          d
k    rt          j        t          j        t          j         j        t'          t)          |d                                       t          j         j        t'          t)          |d                                                 
                    t          j                                        g}|d         g}n |          \  }}n||dk    rg g }}n|t          j        dt          j                              k    r8                    |                              dd|dz             dd          }}n|dk    rbt          j         j                  }	|	d         |	d         }}
|
|k    r,|gt          j        |t          j        d                    g}}n'|g|g}}n  ||          \  }}nd}t3          |          i }|r||d<   ||d<    |t          j                            |           j         j        d          S )Nr   r-   r  r  c                   t          j        j                  }|d                                         |d                                         }}||k    r
|dz  }|dz  }                    ||| dz             } |          S )Nr  r  r  r=  )r   min_maxrz   ra   linspace)r  dr^  r_  r  _hist_from_binsrm  rv   s        rU   _hist_from_bin_countz.ArrowSeries.hist.<locals>._hist_from_bin_count  s}    
4;''AU8>>++QuX^^-=-=5E~~;;ueY];;D"?4(((rW   r  Sequence[int | float]c           	                             | j        d          }t          j        t          j        j        t          | d                             d|          }                    |d          \  }}                    dt          |                     }	                    |          }|
                    ||                   |
                    ||          <   | dd          }||fS )Nr  )sider   r=  T)return_counts)searchsortedrz   r   r  r   r   rL  r  r  
zeros_likeisin)	r  bin_indicesobs_cats
obs_countsobj_catsr  	bin_rightrm  rv   s	          rU   r  z)ArrowSeries.hist.<locals>._hist_from_bins  s    //$&/IIK*c$q'll33Q K
 $&99[9#M#M HjyyCII..H]]8,,F2<RWWXx=X=X2YF2778X../QRRI9$$rW   r$  r?  r  r=  r   r  r  r  z)must provide one of `bin_count` or `bins`
breakpointrH  Tr  )r  r  )r  r  )rg  r  r.   r   r&  r   or_r  rz   r  r
   r   uint8r  scalaruint64rk  r  r   r   r  r   r  r  r   r)   r  from_pydictrs   rt   )rv   r  r  r  r.   r  
data_countr  r  r  r^  r_  r  r   r  rm  s   `             @@rU   histzArrowSeries.hist
  sY    	<<<<<<	) 	) 	) 	) 	) 	) 	) 	)	% 	% 	% 	% 	% 	% 	%$ VIbfRYt{33RZ5L5LMMNNSS

  	
 
 

 4yy1}}$&	ry=====#d))a-00 H		TaF,T[#eDGnn:M:MNNM$+s5a>>7J7JKK  $rxzz**	  ""XJ		$3OD$9$9!		"A~~$&	ry=====HHY''KK1i!m44QRR8 " aJt{++ x5uE>>)3rveRYs^^7T7T6UIFF)3ugIFF$8$8$C$C!		 >C',,,! 	+!*DW~H  && 1M"&	
 
 
 	
rW   Iterator[Any]c              #  D   K   | j         D ]}t          |d          V  d S )NTr  )rz   rV   )rv   xs     rU   __iter__zArrowSeries.__iter__o  sA       	D 	DA)!dCCCCCCC	D 	DrW   c                2   ddl m}m}m} 	 |t	          |          nt	          d | j                  }t          t          j        || j	                  d          S # |||f$ r2}ddl
m} dt          |           d| j         d	} ||          |d }~ww xY w)
Nr   )ArrowInvalidArrowNotImplementedErrorArrowTypeErrorr  Tr  r(   z Unable to compare other of type z with series of type .)pyarrowr  r  r  r   r   rV   r   r  rz   r  r)   r   r   )	rv   r   r  r  r  other_excr)   r  s	            rU   __contains__zArrowSeries.__contains__s  s    	
 	
 	
 	
 	
 	
 	
 	
 	
 	
		6#(#4SZZZ#d:T:T:TF*--    6G 	6 	6 	6AAAAAAdT%[[ddW[WadddC'',,#5		6s   AA B$-BBbasec                v    |                      t          j        | j        t	          |                              S rR   )r   r   logbrz   r   )rv   r  s     rU   logzArrowSeries.log  s*      c$ii!@!@AAArW   c                Z    |                      t          j        | j                            S rR   )r   r   exprz   ry   s    rU   r  zArrowSeries.exp  r  rW   r   c                     t          |           S rR   r   ry   s    rU   dtzArrowSeries.dt  s    +D111rW   r   c                     t          |           S rR   r   ry   s    rU   catzArrowSeries.cat  s    &t,,,rW   r   c                     t          |           S rR   r   ry   s    rU   ri   zArrowSeries.str      )$///rW   r   c                     t          |           S rR   r   ry   s    rU   rY  zArrowSeries.list  s    '---rW   r   c                     t          |           S rR   r   ry   s    rU   structzArrowSeries.struct  r  rW   )
rg   r4   rh   ri   rj   rk   rl   r;   rP   rm   )rP   r4   )rl   r;   rP   r+   )r   r3   r   rO   rP   r+   )
r   r   r   r<   rh   ri   r   r   rP   r+   )rL   r   rP   r+   )r   r   rP   r   )r   r4   r   r<   rh   ri   rP   r+   )r   r@   r   r<   rP   r+   )rP   r0   )r   r   rP   r+   )r   r   rP   r+   )rP   r+   )rP   r   )r  rO   rP   r  )r  r  rP   r+   )r  rO   rP   r  )r  rO   rP   r   )r+  r  rP   r+   )r2  r  r  rO   rP   r  )r  rO   rP   r;  )rP   r*   )rP   ri   )rS  rT  rP   r+   )rS  r\  rP   r+   )rc  rd  re  r   rP   r+   )rP   ru  rR   )r   r   ry  rz  rP   rI   )rh   ri   rP   r+   )rP   r=   )r  rO   rP   r+   )r  r  rP   r+   )r  rO   rP   rO   )r  r   r  r   r  r>   rP   r+   )r   rA   rP   r+   )r  r  rP   r   )
r  rO   r  rO   rh   r  r  rO   rP   r.   )rr  r+   r   r+   rP   r+   )
r+  r  r  r;  r  rO   r  r  rP   r+   )rL   r  r  r  r  r  rP   r+   )rP   r.   )rP   r  )rP   r	  )rP   rf   )r  rO   rP   rO   )r'  rO   rP   r+   )r)  r*  r+  r,  r-  r   rP   r+   )r  rO   r3  rO   rP   r+   )r<  ri   r=  rO   rP   r.   )rS  r  rT  rF   r  rO   rP   r  )r   )r+  r  rW  r  rP   r+   )r  rZ  r  rZ  rP   r+   )rP   r1   )r|  r  r}  r  r~  rO   rP   r+   )
r|  r  r}  r  r~  rO   r2  r  rP   r+   )r  rE   r  rO   rP   r+   )r  r  r  r  r  rO   rP   r.   )rP   r  )r   r   rP   rO   )r  r  rP   r+   )rP   r   )rP   r   )rP   r   )rP   r   )rP   r   )__name__
__module____qualname__rw   propertyrz   r~   r   classmethodr   r   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r  r!  r&  r*  r1  r7  r:  rF  rH  rM  rQ  rh   r[  rb  rt  rx  r|  r  r  r   r  r  r  r  r  rJ  r  r  r  r
   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r&  rL  r2  r  rR  rS  rY  r`  rb  rK  rk  rp  r%   rj   rt  rx  r{  r  r  r  r  r  r  r  r  r  r  r  r  ri   rY  r  r$   ewm_mean__classcell__)r}   s   @rU   rf   rf   }   s_                # # # X#
 
 
 
 DI       "&
 
 
 
 
 [
+ + + + + +
 0 0 0 \0 MO
 
 
 
 
 [
 
 
 
 [


 
 
 
5 5 5 5
9 9 9 9
? ? ? ?9 9 9 9< < < <6 6 6 6< < < << < < <; ; ; ;; ; ; ;5 5 5 5   : : : :% % % %: : : :   7 7 7 77 7 7 7> > > >> > > >K K K KK K K K& & & && & & &9 9 9 9       X  04 L L L L L LC C C C 15 P P P P P P 37 	
 	
 	
 	
 	
 	
 04 O O O O O O 04 O O O O O O 48 E E E E E E 48 E E E E E E 04 
 
 
 
 
 

: : : :; ; ; ; ;? 
 
 
 
 
 

 ;? 
 
 
 
 
 

 15 Z Z Z Z Z Z 26 Q Q Q Q Q Q 59 
 
 
 
 
 

" " " "    X9 9 9 9
I 
I 
I 
I 
  
  
  
D' ' ' '=$ = = = = = =& & & & & & &    I I I XI6 6 6 6) ) ) )
 
 
 

Q Q Q Q 04 
 
 
 
 
 

 04 
 
 
 
 
 

& & & &2Q Q Q QR R R R[ [ [ [ 7; R R R R R RQ Q Q Q@ @ @ @M M M ME E E E	R 	R 	R 	R 	R
 
 
 
<N N N N9 9 9 9&(B (B (B (BT	
 	
 	
 	
6 6 6 6
= = = =
< < < <M M M ML L L LF F F F7 7 7 7   ,C C C C '  '  '  'N #'

 

 

 

 

 

9 9 9 9 9
 
 
 
 , , , ,	  	  	  	 < < < <P P P P Xe$$) ) ) %$) Xe$$) ) ) %$) Xe$$) ) ) %$)9 9 9 909 9 9 9:)? )? )? )?V
 
 
 
) ) ) )0 Xe$$b
 b
 b
 %$b
HD D D D6 6 6 6$B B B B6 6 6 6 2 2 2 X2 - - - X- 0 0 0 X0 . . . X. 0 0 0 X0   HHHHHrW   rf   r4   )rL   rM   rN   rO   rP   r9   )rL   rX   rN   rO   rP   rY   )rL   r[   rN   rO   rP   r\   )rL   r^   rN   rO   rP   r   )rL   r   rN   rO   rP   r   )`
__future__r   typingr   r   r   r   r   r	   r
   r   r  r   pyarrow.computecomputer   narwhals._arrow.series_catr   narwhals._arrow.series_dtr   narwhals._arrow.series_listr   narwhals._arrow.series_strr   narwhals._arrow.series_structr   narwhals._arrow.utilsr   r   r   r   r   r   r   r   r   narwhals._compliantr   narwhals._expression_parsingr    narwhals._utilsr!   r"   r#   r$   r%   r&   narwhals.dependenciesr'   r  r)   typesr*   r  r  r  r  typing_extensionsr+   r,   r  r.   r   r0   narwhals._arrow.typingr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   narwhals.dtypesr=   narwhals.typingr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rV   rf   rS   rW   rU   <module>r     s   " " " " " "	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	           > > > > > > B B B B B B @ @ @ @ @ @ A A A A A A D D D D D D
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 , + + + + + 1 1 1 1 1 1                4 3 3 3 3 3 5 5 5 5 5 5 &      ........888888888888                        65555555%%%%%%                               ( 
   
 
   
 
   
 
   
   b! b! b! b! b!+/0 b! b! b! b! b!rW   